FAQ
FAQ

Can Codowave Fix CI Failures Automatically?

Yes — Codowave reads failing CI logs, diagnoses the cause, pushes a fix to the PR branch, and re-runs checks. Here's how the autofix loop works and where it stops.

4 min read

Can Codowave Fix CI Failures Automatically?

Yes. When a Codowave PR fails CI, the agent reads the failing job logs, diagnoses the cause, pushes a fix to the same PR branch, and lets the checks re-run — the same loop a careful engineer would run, without you re-assigning the work. It's not magic, and it has clear limits, which this page is honest about.

Start your 5-day trial

How the Autofix Loop Works

  1. Detect — Codowave watches the PR's check runs. A failed job (lint, typecheck, unit tests, build) triggers the loop.
  2. Read the logs — it pulls the failing job's logs and isolates the error, not just the exit code.
  3. Diagnose — it maps the error back to the diff and the surrounding code to find the real cause.
  4. Fix — it pushes a commit to the existing PR branch. No new PR, no lost review thread.
  5. Re-run — CI runs again on the new commit. If it's green, the loop ends. If not, it re-diagnoses.
  6. Stop — after a configured number of attempts, or if it hits the cost ceiling, it stops and flags the PR for a human instead of thrashing.

The important part is step 6. Autofix that never gives up is how you get a runaway bill and a 40-commit PR. Codowave's loop is bounded by attempt count and the hard per-run cost ceiling.


What It Handles Well

  • Lint and format failures — the most common and most mechanical to fix.
  • Type errors — a missing annotation, a wrong import, a changed signature.
  • Failing unit tests — when the fix is in the code under test or an obviously stale assertion.
  • Build breaks — missing exports, bad paths, a dependency the diff forgot.

These are the failures that turn a finished PR into a half-hour of context-switching. They're exactly the kind of mechanical, well-signposted work an autonomous agent is good at.


Where It Stops

Codowave deliberately does not push through every failure:

  • Flaky tests — it can retry, but a genuinely non-deterministic test is flagged, not "fixed" by deleting it.
  • Failures that need a product decision — if the right fix is a judgment call, the agent surfaces it rather than guessing.
  • Infrastructure failures — a CI runner that can't reach a service isn't a code problem; the agent says so.
  • Repeated failure on the same cause — after N attempts it stops and hands off, with the diagnosis attached.

A good autofix loop knows when not to keep going. Deleting a failing test to make CI green is the kind of thing watch-only mode and review exist to catch.


PR-Comment Amendments

CI isn't the only trigger. If a reviewer comments @codowave on the PR with a change request, Codowave picks it up as an amendment to the same task, pushes the requested change, and re-runs checks. So the loop covers both machine feedback (CI) and human feedback (review comments) on the same PR.


Frequently asked questions