Use case

From Sentry alert to fix PR with Codna

Paste the alert into codna fix, or label the GitHub issue codna-fix. Codna follows the call paths the trace names and opens a pull request with root cause attached.

The problem

A stack trace points at a line. The cause is upstream.

Codna builds a dependency and blast-radius graph of the repository from its import patterns. No model call, zero tokens. The frames in the trace are nodes in that graph, so the agent follows the call paths back to the cause instead of patching the line that threw.

How Codna fixes it

How Codna fixes it

1

Start from the alert

Use the title and stack trace as the issue text. On GitHub, add the codna-fix label to the issue and the App picks it up.

2

Follow the call paths

Codna builds a dependency and blast-radius graph of the repository from its import patterns. No model call, zero tokens. 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

Open the pull request

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 https://github.com/org/repo --issue "Sentry CHECKOUT-1421: TypeError in session handler" --open-pr

What you get

What you get

The whole trace is the issue

Paste as much of the trace as you have; Codna uses it to localize.

Root cause in the PR

The pull request states the issue, the root cause, the symbols touched and a confidence score.

Blast radius before you merge

Codna reports regression risk and blast radius on the fix.

The proof

Fewer tokens. Faster. Verified.

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

Frequently asked

Give it the alert as the issue. Codna builds a dependency and blast-radius graph of the repository from its import patterns. No model call, zero tokens. 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. 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 trace names the frames; the graph knows what they depend on. The agent works from that evidence, not the whole repository.

Paste what you have. More frames help localization; the title alone is enough to start.

Codna reports blast radius and regression risk on every fix and runs a risk gate before anything is applied. Add --tests --apply to re-run your tests.

Yes. Issue, root cause, symbols touched and a confidence score, with a request to review before merging.

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.

Understand. Fix. Evolve.