Open source free path

Prevent risky Postgres DDL from shipping

Deterministic checks on proposed schema changes using your estate snapshot (table sizes), lock class awareness, and a lock_timeout policy - and it never applies migrations.

Try free now

Use the CLI to check migrations locally and in CI.

Copy and run:
npx @nockhq/cli@0.1.1 check --sql migrations/001.sql --estate .nock/estate.json --format json

Free modes: bring your own estate / sync estate yourself (CLI / Action / MCP).

Get updates

Platform and SRE leaders, optional updates on releases and design partner calls.

We’ll only use this to contact you with Nock updates.

What breaks in production

AI made schema change faster - locks didn't get kinder.

What teams see in prod

Postgres DDL isn’t just a migration. A bad ALTER or index build can take locks that queue behind live traffic and stall control surfaces while apps keep running. Seen in public postmortems (e.g., Railway-style Oct/Dec 2025) - details vary, the locking story repeats.

  • Locks cascade on busy systems
  • Connection pools get exhausted
  • Control plane stalls under backpressure

AI accelerates DDL

  • Coding agents and copilots generate migrations/diffs faster than humans review them.
  • Schema churn rises; shared intuition about hot tables, lock risk, lock_timeout, and sizes does not.
  • More DDL proposals from more people (and agents).
Outcome: more change, same physics of locks.
AI is accelerating schema change. Postgres still punishes a bad lock. Nock is approve/block governance so risky DDL doesn’t ship unchecked.

What Nock does

Nock is a Postgres migration safety gate: deterministic approve/block on schema-change DDL before merge using your estate snapshot (table sizes), lock class, and a lock_timeout policy. It never applies migrations. Not a pattern or style linter - pattern tools catch shapes, Nock catches unsafe on your data.

How the gate decides

  • Estate snapshot (table sizes): evaluates DDL against your latest estate snapshot.
  • Lock class awareness: predicts which locks a change will take and where they block.
  • lock_timeout policy: enforces safe timeouts so production does not stall.
  • Plain-language guidance: pragmatic for platform and SRE leads.

Free path today

Free: local and CI checks with your estate. Bring your own estate and sync yourself (CLI / GitHub Action / MCP).

Team: hosted estate plus policy and audit - same engine, ops convenience. Coming soon for design partners.