Skip to content

P0 ship: the runner dies on a read-record 404 after a review verdict, stranding an approved unit mid-pipeline #2236

Description

@justinhelmer

A unit reached round 1's review verdict and the runner then failed outright on an internal read, leaving the work stranded.

Verbatim (permalink, 2026-09-22 20:49:04Z, nominal#3634):

The runner failed after round 1's review verdict (U1/1/review/read/1): the bot did not answer read-record: HTTP 404 — not_found

The unit remains bound to this thread; the next reply continues it, and a pull request already approved with green checks resumes at the checks step, never at a fresh coding round.

Why this is P0. The verdict existed. The work existed. The pipeline died between producing a verdict and reading its own record, on a 404 from its own store. The recovery sentence is decent, but it still puts the next move on the person, and this unit had already cost four exchanges before reaching this point.

The shape to investigate. U1/1/review/read/1 is a durable step identity. A 404 from read-record after a verdict means either the record was never written under the identity the read used, or the read raced the write, or the run rolled between them. Each has a different fix and the card cannot tell them apart, which is itself part of the defect: the message names the transport failure rather than which of those happened.

Related but not the same. #2185 is the runner acting on a stale snapshot; this is the runner unable to read its record at all. #2197 is a completed child misread as unfinished; this one never got that far.

Receipt runnable when: worker:bot at or past the fix, and a review verdict is followed by a read-record failure — the runner retries or resumes rather than failing the unit, and the card names which of the three causes occurred.

Found during the prompting-thread audit, 2026-09-22.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions