What we do
AI now writes a large and growing share of the code we ship. It is fast, it is usually plausible, and every so often it is quietly wrong in a way your test suite never notices.
That last part is the problem. A change can compile, pass every existing test, and read perfectly, and still break a guarantee the whole system depends on.
The gap your tests do not cover
Think about the guarantees that hold your software together. A balance that should never go negative. An endpoint that should be idempotent, so a retried request never double-charges a customer. An authorization check that must run before every mutation, on every path.
Now picture a refactor that drops that check on a single branch, or a new code path that lets the balance dip below zero under the right sequence of calls. It compiles. The tests stay green, because the tests cover the examples a human wrote down. They do not cover the guarantee itself.
Tests assert that specific inputs produce specific outputs. Invariants are the properties that must hold for all inputs, on every path, forever. Most codebases depend on hundreds of them, and almost none are written down.
Delta is the invariant layer
Delta mines the invariants your codebase depends on, hosts them, and enforces them on every pull request. You do not author the properties. You do not stand up any infrastructure. You get a gate that knows what your system promises and blocks any change that breaks a promise.
How it works
- Mine. Delta reads your code and proposes candidate invariants: the properties that hold today, written as executable checks.
- Prove. Delta does not trust a proposal. It mutates your code, runs the candidate against the mutation, and keeps only the invariants that catch a real regression. We ship proofs, not opinions.
- Enforce. Ratified invariants run as a required CI gate on every pull request. Violate one and the gate blocks the merge and hands back a concrete counterexample: the exact input that breaks the promise.
- Stay fresh. Delta tracks whether each invariant is still exercised by your code and flags the ones that have gone stale, so the set never rots into noise you learn to ignore.
What you get
- Regressions caught at the gate, before they reach main, with a counterexample you can paste straight into a test.
- A live dashboard of what is holding, what is violated, and what has gone stale, across every repo.
- No keys to manage. Delta provides model access, so there is nothing for you to provision or meter.
- A gate that costs nothing per pull request. Mining is a one-time spend; enforcement is just running the checks.
Why this matters now
As agents write more of the code, the scarce thing stops being the lines. It becomes confidence that the lines still keep the promises your product depends on. The guarantees matter more than the volume, and they need a layer that watches them.
Delta is the layer that holds. Property-based testing is the engine underneath: if you want to see how it works, read what property-based testing is.
Want this running on your repositories? Request access.