Fast code, blind merges, expensive incidents.
We’re about to be on the receiving end of a tsunami of AI-generated code consequences. We built tools that generate code so fast we can no longer keep up with what it does. Understanding our systems — their boundaries, contracts, dependencies, the implicit patterns that hold them together — is still manual effort. Ad-hoc. Tribal knowledge concentrated in the heads of our most expensive engineers. Code generation became fast. The comprehension didn't.
Every AI coding tool on the market optimises for the same thing: developer throughput. Copilot, Cursor, Kiro, Windsurf. They generate code well. But they generally don't model what that code does to the rest of the system once it lands. They see the file, not the boundary it crossed, the contract it violated, or the service three repos away that depends on the interface that just changed. Locally correct, systemically risky, at a pace that overwhelms human review.
PR review is where this hits. Your senior engineers are drowning. Each review is archaeology: what does this touch, who owns it, does it match the patterns the rest of the codebase uses, did they update the docs? The reviewer knows they should check. They also have eight more PRs in the queue. Quality drops. Reviews become rubber stamps. Drift accumulates until something breaks.
There are three moments where this compounds. Same pattern each time: decisions made without structural understanding of the system they affect. That’s the consequence gap.
Developer time. Before commit. This is where drift starts. A developer reaches for a pattern from another service, unaware this module has different constraints. They change a function signature without knowing three other modules call it through an interface they've never seen. If the developer had structural context at decision time, the wrong code never gets written. Prevention is always cheaper than detection.
Merge time. When the PR is open. Where most tools operate, and where the limits show up fast. Reviewing a diff in isolation is like reading one clause of a contract and declaring the deal safe. The diff is local; the consequence is systemic. Blast radius, dependency propagation, test gaps, historical risk — these require a model of the system, not just a view of the change.
Issue time. After something breaks. The investigation is the same archaeology that made PR review slow, except now it's 2am and production is down. Trace from symptom to root cause through the dependency graph. The people who can do this are the same overwhelmed seniors. Same bottleneck, different time of day, higher stakes.
The principle we're building around: write local, reason global. Generate code fast, but evaluate it against the whole system before it lands. Locally correct, systemically correct.
That's what Superpositional does. We index your codebase into a live structural model, entities, relationships, dependencies, change history, updated continuously. When a developer explores consequences in the IDE, when a PR opens, when an incident fires, the system activates the relevant context and reasons about impact at the system level. Not the diff level. Not the file level. The system.
We're opening private beta by end of June. If you ship fast and feel the gap between velocity and understanding growing, that's the problem we built this to close.
The teams that win won't write code fastest. They'll be the ones that still understand what they've built six months from now.