A fix-round commit amend permanently strands the pipeline run — no documented recovery path

Author: jaime-oviedoCreated Aug 2, 2026Updated Sep 21, 2026
Labelsbugready-for-pr

Discovered 2026-07-30 during a review-fix round on a live run. A review-fix agent amended its commit instead of appending a new one, producing a head that is not a descendant of the run's preserved pipeline head.

Once that happens the run is permanently unrecoverable through every documented path:

  • axi abort --run <id> is a no-op on a terminal (failed) run — nothing to abort.
  • axi sync --recover refuses with safety=blocked_recover_gate_diverged.
  • axi sync --recover --keep-local hits the identical refusal, because the guard checks gate-branch == recorded-head before honoring --keep-local.

The only way out we found was manually moving the gate repo's branch ref or clearing the run's custody record inside the shared ~/.no-mistakes state — which is outside what a task worker (or its supervisor) should improvise. We worked around it that time by publishing the already-locally-verified branch directly, bypassing the pipeline for that one PR.

Requesting either: (a) make the fix-round agent's commit step append-only so this divergence can't occur, or (b) give axi sync --recover a real escape hatch for this exact divergence shape (gate branch diverged from recorded head, but the diverging commits are a superset/valid continuation).