Deterministic rule engine Rule engine

Query verification: bolvrk explain

available
CLI · your own database · every plan

Read-only EXPLAIN of the migration's own queries against the connected schema — sequential scans of large tables, nested loops over sequential scans, large sorts. Never executes a statement.

bolvrk explain takes the UPDATE, DELETE and SELECT statements in a migration and runs each through EXPLAIN (FORMAT JSON) against a database you point it at. Never EXPLAIN ANALYZE, never executed: the whole session is a read-only transaction that is rolled back. Deterministic plan rules — the EX family — then judge the plan: sequential scans of large tables, nested loops over sequential scans, large sorts.

Findings arrive in the same contract as check, so the same policy, the same JSON and the same SARIF apply.

npx bolvrk explain migrations/0042_backfill.sql --db=$SHADOW_DB

Your machine, your credentials

explain runs where the CLI runs. The hosted service never executes a statement of yours and never sees the connection string. Point it at a replica or a shadow database, and use the read-only role from the setup guide — the CLI warns when the role it connected with could write.

Try it on your next migration

The CLI is open source and needs no account: npx bolvrk check migration.sql

Also in Deterministic rule engine