Use case

Fix CI failures with Codna

A red check suite on a pull request triggers Codna. It triages the failure first, then opens a fix on the pull request branch with root cause attached.

The problem

A red build is a log to read before it is a bug to fix.

Codna reads it for you. The GitHub App triages a failing check suite: a head that moved or a suite re-run green ends neutral; an infrastructure failure ends neutral and costs nothing; a code failure hands the failing step and its log to the agent.

How Codna fixes it

How Codna fixes it

1

Triage the red suite

Network, runner, disk and registry failures are recognised and end neutral, with one automatic re-run when the App has actions permission. Nothing is spent.

2

Fix from the log

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

3

Open the fix on the branch

The pull request opens against the branch that failed. 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. One CI-failure fix per pull request head per day.

codna fix . --from-junit reports/junit.xml --apply
# or let the GitHub App act on the red check suite

What you get

What you get

Infrastructure failures cost nothing

Triage runs before any model call.

The Action for your own CI

thyn-ai/codna-action@v1 runs codna fix on your runners with your key and opens a pull request. It never merges.

JUnit in, fix out

codna fix --from-junit reads failing tests from a JUnit report in the terminal.

The proof

Fewer tokens. Faster. Verified.

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

Frequently asked

Install the GitHub App. A failing check suite on a pull request is triaged and, when it is a code failure, fixed on the branch. In the terminal, codna fix --from-junit reads the failing tests from the report.

Yes. 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.

thyn-ai/codna-action@v1 runs codna fix, review or secure in your CI with the same commands you run locally. Fix mode needs contents and pull-requests write.

Nothing. A red default branch never triggers a fix; the App acts on pull request check suites.

Codna reports blast radius and regression risk and runs a risk gate before anything is pushed. Your required checks run on the fix PR like any other.

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. A linked account includes a managed-model allowance of about $5 a month for GitHub App fixes.

Understand. Fix. Evolve.