Review the change, not the diff.
Agents write more code than anyone can read, so we need abstractions to stay in control.
- Python
- Go
- TypeScript
- JavaScript
- Java
- Svelte
- React
Catch bugs at every level of abstraction.
The small ones are precise; the expensive ones take reasoning.
Checks capacity and inserts in two queries. Two sign-ups at once overbook.
Opens its own transaction inside closeInvoice's. A rollback leaves the credit applied.
Now returns nil for closed accounts. All three callers dereference it unchecked.
Now returns 20 instead of 0.2. Checkout still multiplies the total by it.
Skips the ledger, so revenue reports keep counting refunded orders.
Frees the seat but not the member's API tokens, so they keep access.
Built to be tuned up, not turned down.
Every codebase is different. At Abstraction, the review grows with you.
Personal data reaches a log line in one place today. I drafted a check for it.
- api/invites.ts email Email
- → mail/queue.ts job.payload
- → log/logger.ts info(job) Logger
- Abstraction · Entrypoints reach an auth check
- Abstraction · Money is never a float
- Abstraction · Jobs are dispatched via the queue
- Abstraction · Refunds go through the ledger
- Abstraction · Webhooks verify their signature
- Abstraction · No secrets in logs
- Abstraction · Database access goes through repositories
- Abstraction · Public responses use the shared envelope
- Abstraction · Tests stay isolated
Context for preferences. Checks for requirements.
Each check runs as a GitHub check, so branch protection can require it.
A reviewer you can talk to.
Discuss findings with our agent at any time.
The comprehension layer for your codebase.
Our semantic model also answers your team's questions and documents your system.
Agent
Ask anything about your codebase in the app, in Slack, on a pull request or from your coding agent.
Concepts
Document your code once and it's kept up-to-date, verifiable and read into context on demand.
Diagrams
Business logic and architecture as diagrams, compiled from source so that it never drifts.
The Technology
Our code semantic model that powers our tools.
Our evals show that a coding agent can answer questions about code structure several times faster, at a fraction of the cost when using Abstraction. Here's how we measured it
Frequently Asked Questions
Learn more about Abstraction and how it works.
Most review agents read the changed lines and guess at the rest. Abstraction reviews each change against a semantic model of your whole codebase: every changed function together with its callers, callees and the data it touches. You can talk any finding through with our agent and add checks of your own.
A rule in a prompt is weighed against the task, and nothing fails when an agent trades it away. A check passes or fails, for every agent and every person on the team, on every pull request. Keep preferences in context and put requirements in checks: agents can fix what they can verify. How checks work
Algorithmically. Every pull request is split into its changed functions, each reviewed on its own, so the review scales to any size of PR, with no cap.
Yes. A workspace compiles all its repositories into one model, so a pull request in one repo is reviewed against the callers and types in the others. Calls between services over HTTP or gRPC are not linked yet.
Your code and its analysis are stored in the EU. Model providers process it under zero data retention, and we never train on it. Sign-in goes through GitHub or Google, nobody sees code they don't have access to, everything is encrypted at rest and in transit. On-premise deployment is available for teams that need full control. How we handle your code
We're onboarding teams in waves. Request access and we'll reach out when your spot opens.
Review your next pull request with Abstraction.
We are onboarding teams in waves. Request access and we will reach out when your spot opens.
ABSTRACTION
2026
Abstr AB · Org. no. 559512-2739
contact@abstraction.com