run.veric.dev

/catalogue

Property catalogue

Browse 50 starter properties across five domain pillars. Or paste a fragment of your codebase and let veric suggest properties that fit its shape.

Catalogue entries are templates, not deployed property libraries. AI-suggests-from-codebase is illustrated here using a fixture matched to the input fragment's first identifying token; live codebase scanning ships with the IDE integration in Q3 2026.

Suggest properties for my codebase

AI-assist · mocked

Paste 30+ lines of code or describe your project shape. We'll propose five properties calibrated to its first identifying token.

Mock: matches the input's first identifying token (e.g. dbt, pragma solidity, import torch, kyc, isr) to a domain bucket.

Browse catalogue

Fifty starter properties across five domains.

PII does not flow to marketing

PII columns must never reach marketing-facing exports.

forall row in mart_marketing_export. row.email is not pii

Freshness ≤ 6 hours

Every fact table is loaded within the last six hours.

forall t in fact_*. now() - t.loaded_at <= 6h

dim_* are SCD2

All dimension tables follow the slowly-changing type-2 schema.

forall t in dim_*. has_columns(t, [valid_from, valid_to, current_flag])

Numeric fact columns are not null

Numeric measures on fact tables never carry NULL.

forall t in fact_*, c in numeric_columns(t). not_null(c)

Referential integrity

Every foreign key resolves to an existing primary key.

forall fk in foreign_keys. exists pk in primary_keys. fk.value = pk.value

Surrogate keys are unique

Every dimension's surrogate key is unique within the table.

forall t in dim_*. unique(t.surrogate_key)

No late-arriving facts in mart_*

Mart-tier facts never have event_time after load_time.

forall row in mart_*. row.event_time <= row.loaded_at

All PII columns are tagged

Any column that holds PII carries the 'pii' tag.

forall c in columns. is_pii(c) -> has_tag(c, 'pii')

Sensitive columns encrypted at rest

Anything tagged sensitive is encrypted on disk.

forall c in columns where has_tag(c, 'sensitive'). encrypted_at_rest(c)

Snapshot tests pass

Every defined snapshot test is passing in the most recent run.

forall s in snapshots. last_run(s).status = 'pass'

Downstream owners declared

Every mart-tier table has a declared owner in metadata.

forall t in mart_*. t.meta.owner != null

No unresolved TODOs in production models

Production-tier models have no leftover TODO markers.

forall m in models where m.tier = 'prod'. not contains(m.sql, 'TODO')