Developer tooling for schema integrity · Patent pending

Catch schema drift before it merges. No database required.

Gravitar finds the disagreements between your data models and your migration history that linters, type checkers and tests miss. It runs from your source code alone, so it fits on every pull request as a required check.

gravitar — check — 112×34
$ gravitar check
gravitar: drift detected — 4 findings
 
error missing_column orders.discount_code
model declares column, no migration adds it
→ add a migration: alembic revision --autogenerate -m "add orders.discount_code"
id: 02877b4cf308
 
error type_mismatch orders.total
model: numeric(10,2)
migration: integer
→ decide which is authoritative, then align the other
id: 700e2cb770df
 
error nullability_mismatch users.email
model: nullable=False
migration: nullable=True
→ decide which is authoritative, then align the other
id: 3c51a1e3756a
 
warning broken_chain
revision '0001' contains raw SQL (op.execute) that Gravitar cannot analyze; any table may be affected
→ review this migration by hand to confirm it doesn't introduce undetected drift
id: af49fe4e6557
 
summary: 3 errors, 1 warnings across 2 tables
Exit code 1. The pull request check fails and the merge waits.

Your models and your migrations disagree. You find out in production.

Someone adds a column to a model and forgets the migration. Someone hand-edits a migration and the type no longer matches. Two branches change the same table. The code compiles, the tests pass, and the schema falls out of sync until it fails against a real database. AI-assisted development speeds this up, because schemas now change faster than reviewers can cross-check them.

The product

Gravitar

Gravitar compares what your models declare against what your migration history builds and reports every disagreement before it merges. It needs no live database, no throwaway container and no credentials in CI. That is why it can run on every pull request in seconds.

What it catches

  • Missing tables and columns: a model declares something no migration creates
  • Type mismatches between a model and its migrations
  • Nullability mismatches between a model and its migrations
  • Orphaned columns: a migration builds something no model references
  • Broken migration chains: gaps, cycles and branches that disagree

Why teams trust it

  • No database connection. Most drift tools need a live or temporary database to compare against. Gravitar works from code.
  • It shows its confidence. Every finding carries a confidence score and the evidence behind it, available as JSON for your CI.
  • It fails closed. When it cannot fully analyze something, such as hand-written SQL, it flags it for a human instead of passing it.
  • It learns your codebase. Confirm or dismiss a finding and Gravitar adjusts its confidence for similar findings in that repository.

Patent pending. The no-database approach is the core of Gravitar.

Get early access

What it runs on today

  • 01SQLAlchemy models with Alembic migrations, on PostgreSQL
  • 02Django projects, in preview
  • 03Command line and GitHub Actions
  • 04Text or JSON output with CI-friendly exit codes

Gravitar is in active development. Early-access members get it first.

Where Gravitar is going

Gravitar starts as a check you run. It is built to become how your organization governs schema change.

More databases and frameworks

The core is not tied to one ORM, and broader coverage is the next step.

Inside the pull request

Findings posted where review already happens, plus a pre-commit hook.

Across every repository

Drift monitoring for the whole organization, cheap to run because it needs no database.

From detection to governance

Policy, enforcement and audit for how schema change happens.

Direction, not commitments.

Get early access to Gravitar

Join the list. We email when there is something real: access, a milestone, or a question where your answer shapes the product.

Want help putting it in place?

Some teams want the guardrails installed now, with Gravitar as one of them. Vektor Paradox offers two engagements alongside the product.

Pipeline Throughput Audit

Seven days, fixed fee, read-only access. A five-page scorecard of where delivery velocity dies, with a roadmap to fix it.

Advisory Sprint

Twelve weeks. We install the gates, guardrails and architectural discipline that separate output from outcome, schema-drift gating included. Your team keeps the tooling.

Book an audit
Step 01 / 03About you

Vektor Paradox was founded as an engineering advisory helping teams diagnose where velocity actually dies in their pipeline and install the discipline that separates output from outcome.

Vektor Paradox builds Gravitar and publishes The Commercially Aligned Engineer on Substack.