Map for zero tokens
Codna builds a dependency and blast-radius graph deterministically — no LLM, no embeddings, ~60ms per repo. It knows what a change touches before any model reads a line.
CodeRabbit reads a pull request and tells you what is wrong. Codna takes the next step: it fixes it. One reviews the diff; the other maps the repo deterministically and ships a patch your tests already passed.
The problem
CodeRabbit is a strong AI reviewer. The moment a PR opens, it reads the diff in context, writes a plain-English walkthrough, and leaves line-by-line comments on bugs, security, and performance — often with a one-click fix suggestion. That shortens the review loop. But it is review-first by design: the findings land on a diff that already exists, the model can suggest a fix that is wrong or incomplete, and a developer still has to judge it, apply it, and confirm nothing broke. The review tells you what is wrong; closing the loop is still on you.
How Codna fixes it
Codna builds a dependency and blast-radius graph deterministically — no LLM, no embeddings, ~60ms per repo. It knows what a change touches before any model reads a line.
The agent gets a ~600-token bundle — suspect files, call paths, the failing test — and writes the patch, instead of commenting on one you have to apply yourself.
The patch must pass your own suite before it becomes a pull request. A fix that fails tests never ships — at roughly $0.04 per verified fix.
codna fix . --issue "the null check CodeRabbit flagged in checkout"
What you get
Codna maps your repo into a deterministic dependency and blast-radius graph in about 60ms per repo — no embeddings, no RAG, no LLM tokens. A diff review reasons over the patch it can see; Codna sees every caller and dependency the change touches before a model reads a line.
CodeRabbit comments on the diff and can suggest a fix you still have to apply and judge. Codna writes the patch and gates it on a passing run of your own test suite, so a fix that fails never becomes a PR — verified, not suggested.
Codna fixes from a ~600-token evidence bundle, about $0.04 per verified fix at public model rates, and is bring-your-own-key. You self-host with fail-closed egress and no training on your code.
The proof
No — it layers after it. Keep CodeRabbit reviewing your pull requests; when a finding needs a real change, hand it to Codna. Codna maps the repo, writes the patch, and verifies it against your test suite before it ships. Review and repair are different jobs.
CodeRabbit is an AI PR review bot: when a pull request opens, it reads the diff in context and leaves line-by-line comments, sometimes with a suggested fix. Codna is a deterministic understanding layer plus a test-gated fix agent — it builds a dependency and blast-radius graph of the whole repo for zero LLM tokens, then fixes from that map and proves the patch with your tests. One reads the diff; the other repairs and verifies.
Yes. They sit at different points in the loop, so most teams run both. CodeRabbit flags what is wrong on the PR, and you pass the findings that need a real change to Codna to fix and verify. Codna ships as a CLI, an MCP server, and a native GitHub App, so it drops into the workflow you already have.
A review reasons over the diff it can see. Codna's graph shows the full blast radius of a change — every caller and dependency the diff touches — so the fix accounts for code outside the patch, computed in about 60ms for zero LLM tokens. That is the difference between commenting on a diff and changing the code behind it correctly.
Every patch is gated on a passing run of your own test suite; if it fails, it never becomes a PR. The agent works from a ~600-token evidence bundle rather than the whole repo, which in a measured head-to-head against Cursor — every fix verified by a passing test — used 5× fewer tokens and ran 1.7× faster. That is a suggested fix versus a verified one.
Codna self-hosts with fail-closed egress, is bring-your-own-key, and never trains on your code. It is model-agnostic, so you bring your own provider and language coverage comes from the source graph rather than a per-language integration. Because a fix runs from a ~600-token bundle, it costs about $0.04 per verified fix at public model rates.
Related