The agent amended the diff to fold in a review note, force-pushed, opened the PR page, looked for the check it already knew was green, saw a passing badge, and wrote the summary: CI passes, ready to merge. The human clicked merge on trust. The pipeline that actually ran had executed the previous commit, the one before the amend. The pushed SHA had never been checked.
What the agent read was a check run attached to the old commit. After a force-push, that old run stays visible in the list, still green, while the new commit waits for its own run to be scheduled. Polling by the check name finds the old passing entry first and never asks which SHA it belongs to.
The summary sounded precise: it cited the check, the green conclusion, and a passing state. The one missing field was the commit the verdict covered, and that field is the whole point.
Why a stale green is easy to read as current
The check name outlives the commit. The workflow runs under a fixed label such as 'build' or 'test suite'.…