Understand once, deterministically
130 repos across 110 languages mapped in 9.2 seconds, 0 LLM tokens.
The Gemini CLI reads your repository through the model to find a bug. Codna already knows where the bug lives — it mapped the repo deterministically before the first prompt.
The problem
Most of an agent run is spent orienting: opening files, following imports, re-reading. The Gemini CLI does this inside the model, so a single fix can cost hundreds of thousands of tokens and minutes of wall-clock — repeated for every task.
How Codna fixes it
130 repos across 110 languages mapped in 9.2 seconds, 0 LLM tokens.
Triage hands over a small evidence bundle, so the agent reasons over ~600 tokens, not 100k.
Every patch is verified by your tests before it becomes a pull request.
codna triage . codna fix . --issue "race condition in session handling"
What you get
Across 8 verified bug-fix scenarios on identical checkouts, Codna fixed the same bugs with up to 9.6x fewer tokens and up to 9x faster than the Gemini CLI (9.2x on aggregate). Every one of the 8 fixes passed an oracle test.
The Gemini CLI reads your repo through the model. Codna maps it deterministically first — 130 repos across 110 languages in 9.2 seconds for 0 LLM tokens — so the agent starts from a dependency graph, not a token budget. No embeddings, no RAG.
Codna proposes a patch only after it passes your own test suite, so the failing test is the oracle. A verified fix costs about $0.04 because the agent reasons over a ~600-token evidence bundle instead of 100k+ tokens of source.
The proof
Up to 9x faster end-to-end across the measured scenarios, 9.2x on aggregate, with up to 9.6x fewer tokens. The comparison is a head-to-head on 8 bug-fix scenarios run on identical checkouts, and every fix was verified by a passing oracle test. The Gemini CLI explores the repo inside the model on each run; Codna maps it once, deterministically, before the first prompt.
Either way. Codna is the deterministic understanding layer plus a test-gated fix agent, so it can run on its own or feed its evidence bundles to the Gemini CLI through the MCP server. Many teams keep the Gemini CLI for open-ended work and let Codna handle verified bug fixes.
The Gemini CLI is an open-source terminal agent that reads your repository through the model to locate a bug. Codna builds a deterministic dependency and blast-radius graph of the repo first — no embeddings, no LLM tokens — then hands the agent a ~600-token evidence bundle of suspect files, call paths, and the failing test. The model reasons over facts about your code rather than re-reading the repo every task.
Yes. Codna is model-agnostic via bring-your-own-key, so you can point it at Gemini, another frontier model, or a managed option. The deterministic understanding layer is the same regardless of which model writes the patch.
The deterministic engine mapped 130 repositories across 110 languages in the measured benchmark, at 100% ecosystem accuracy and about 59ms per repo. The head-to-head bug fixes spanned Python and TypeScript projects, including never-before-seen repos.
Yes. Codna is bring-your-own-key and can self-host with fail-closed egress, and it never trains on your code. You can run it as the CLI, the MCP server, or the GitHub App, and choose exactly which model, if any, sees your source.
Related