Comparison

Codna vs Windsurf

Windsurf is an agentic editor. Codna maps the repository deterministically for zero tokens, fixes from evidence, and reports root cause, confidence and regression risk on every fix.

The problem

A summary of the codebase is not the codebase.

Codna does not describe your repository; it computes it. The dependency and blast-radius graph comes from the import structure itself, so the agent works from facts about which code affects which.

How Codna fixes it

How Codna works

1

Map for zero tokens

Codna builds a dependency and blast-radius graph of the repository from its import patterns. No model call, zero tokens.

2

Hand over evidence, not the repo

The agent receives an evidence bundle scoped to the issue: the suspect files, the call paths, the failing test. Codna prints the raw-to-bundle token size on every run.

3

Report, gate, open the PR

Every fix reports root cause, confidence, blast radius and regression risk, and passes a risk gate before it is applied or a pull request opens. With --open-pr, or through the GitHub App, the pull request states the issue, the root cause, the symbols touched and a confidence score, and asks for review before merging. Codna never merges.

codna fix . --issue "the checkout test is failing"

What you get

What you get

Computed, not described

Codna builds a dependency and blast-radius graph of the repository from its import patterns. No model call, zero tokens.

Understanding for zero tokens

codna triage prints suspect files and the raw-to-bundle context size without a model call.

Every fix explained

Every fix reports root cause, confidence, blast radius and regression risk, and passes a risk gate before it is applied or a pull request opens.

The proof

Fewer tokens. Faster. Verified.

Codna16K
Cursor81K
Average tokens per fix on 87 matched bug-fix cases: Codna and Cursor.

Frequently asked

The only measured head-to-head Codna publishes is against Cursor: 87 matched bug-fix cases on identical checkouts, 5× fewer tokens, 1.7× faster, 87 of 87 verified, about $0.02 per fix. Everything else on this page describes Codna's own behaviour, not Windsurf's internals.

Alongside. Keep your editor; run codna fix from the terminal, use the GitHub Action in CI, or install the GitHub App to review pull requests and open fix PRs.

No. The CLI runs in any terminal and the GitHub App works on the pull request. MCP install helpers exist for Cursor and Claude today.

Yes. Codna is a CLI, an MCP server, a GitHub Action and a GitHub App. Add it where it helps and keep the rest of your workflow.

Bring a key from Anthropic, OpenAI, Google Gemini, Groq, Mistral, OpenRouter or xAI, stored in your OS keychain with codna key set, or sign in and use the managed allowance. The repository map is built from import patterns, so it is not tied to one language. On-device recall covers Python, JavaScript, TypeScript, Go, Rust, Java, C, C++, C#, PHP and Ruby. Your own test command verifies the fix.

Understanding runs on your machine and spends no tokens. Only the evidence bundle or the diff reaches your model provider, with your key from the OS keychain. Set privacy.egress to fail-closed in codna.yaml and Codna runs your tests only under kernel-level network denial. Secret redaction is always on. On 87 matched bug-fix cases against Cursor, Codna averaged 16,159 total tokens and about $0.02 of model spend per verified fix, 5× fewer tokens and 1.7× faster. With your own key you pay your provider directly.

Understand. Fix. Evolve.