Schema-aware escalation
Rules escalate on large tables and silence themselves on provably tiny or empty ones — table sizes, foreign keys, and indexes from the catalogs. Hosted, Startup and above.
Without a database, a rule knows an ALTER takes ACCESS EXCLUSIVE and has to assume the worst. With a snapshot of your catalogs it knows the table has twelve rows, or twelve million. Rules read row estimates, relation sizes, foreign-key graphs, column types and index shapes and escalate or silence accordingly: a lock rule fires hard on a large table and goes quiet on one it can prove is tiny or empty.
This is the single biggest false-positive reducer in the product. Connect a shadow or replica database before muting anything.
Structure only
The snapshot is built from information_schema and pg_catalog: names, types, counts, sizes, usage counters. Never rows, never values. --show-payload prints exactly what would be sent, and a test plants a secret row value and asserts it can never appear in a snapshot.
The CLI is open source and needs no account: npx bolvrk check migration.sql