IW-601: The phase gate reads and writes cards that do not belong to the head under test #609
No reviewers
Labels
No labels
agent-ready
bug
contract
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-human
needs-input
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli!609
Loading…
Reference in a new issue
No description provided.
Delete branch "IW-601"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The phase gate gives each CI verdict about one commit. Four places in
phase-prandphase-mergebroke that rule. This branch fixes all four, one phase each.Defects fixed
ReviewStateUpdaterhas oneclearCiWaitflag in place of the hand-set pairclearCiWaitStarted/clearCiWaitSha. A card can only lose both wait fields together.phase-prwrites the card to disk. It commits nothing and pushes nothing, the same as the green path from IW-491. A false red can no longer produce a green head with aci_failedcard.phase-mergejudges a reading, it compares the pull request head with the pushed sha. A stale reading after a recovery push makes it wait and read again. It does not use up a--max-retriesattempt.ci_gated_shaand has no green reading, the merged card gets a "Phase NN: CI not judged" badge and a message that names the unjudged head and the proved head. This is the settled trade from 2026-09-21.Testing
core/test, and the git adapter contract is intest/contract/git_adapter_contract.bats.Release notes
See
project-management/issues/IW-601/release-notes.md(Czech).Closes #601
🤖 Generated with Claude Code
Issue: IW-601 Phase: 3 - A stale reading after a recovery push uses up a retry This commit marks the checkpoint for phase 3 context generation. Use dx-fix IW-601 to return to this point. 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>A stale reading after a recovery push uses up a retry Artifacts: - phase-03-tasks.md 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>Issue: IW-601 Phase: 4 - The state-only merge does not say what it did not judge This commit marks the checkpoint for phase 4 context generation. Use dx-fix IW-601 to return to this point. The "CI not judged" badge names its phase, so it stays true after later phases (no command removes a badge). analysis.md carries the same form. 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>The state-only merge does not say what it did not judge Artifacts: - phase-04-tasks.md 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>