IW-712: review-state card location: route on the key kind, report pointer read errors, keep the routing pure #774
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli!774
Loading…
Reference in a new issue
No description provided.
Delete branch "IW-712"
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
iw review-state path,write,updateandiw ci-gatenow find the review-state card with one pure rule,ReviewStateLocation.cardLocations(core/model). The rule routes on the key kind (issue or effort),--sliceand the.active-slicepointer. The cwd is no longer an input.Changes
write/update --issue-id <effort-slug>always use the effort's active slice card. When there is no active slice, they exit 1 and do not writeissues/<slug>.json..active-slicethat exists but cannot be read gives "Cannot read project-management/.active-slice: " and a remedy, not "missing or empty".ci-gate --issue-idwithout--inputparses the key in the same way asreview-state(iw-42→IW-42; a value that is not a key exits 1). With--input, the behavior does not change.pathsubcommand moves to its own object (ReviewStatePathCommand). Its CLI contract (stdout, stderr, exit codes, docs) does not change.WorktreeKeyResolver.fromFlagOrBranchholds the shared key parsing.Out of scope, filed: the dashboard's own copy of the rule (#773); four small core fixes (comment on #762).
Testing
cardLocationstests inReviewStateLocationTest.ReviewStateHarnessTest, 3 inCiGateCommandHarnessTest.test/review-state.bats.Review packet:
project-management/issues/IW-712/review-packet.md.Release notes
Jedno pravidlo pro nalezení karty stavu práce
Issue: IW-712
Datum: 2026-10-08
Příkazy
iw review-state write,iw review-state update,iw review-state pathaiw ci-gatehledaly kartu stavu práce každý trochu jinak. Výsledek mohl záviset i na tom, v jakém adresáři byl příkaz spuštěn. Nyní všechny čtyři používají jedno společné pravidlo, které se řídí pouze klíčem práce (číslo úkolu, nebo název efortu) a případně zadaným dílem (slice).Co se mění pro uživatele:
write,updateaci-gates--issue-id <název-efortu>vždy použijí kartu aktivního dílu tohoto efortu. Pokud pro daný efort není nalezen aktivní díl, příkaz skončí chybou (exit 1). Už nikdy nezapíše kartuissues/<název-efortu>.json..active-slice, který existuje, ale nejde přečíst, se nově hlásí jako „Cannot read project-management/.active-slice“ i s důvodem, ne jako „missing or empty“.ci-gate --issue-idbez--inputse zpracuje stejně jako vreview-state:iw-42se změní naIW-42a hodnota, která není klíčem, skončí chybouInvalid --issue-id(exit 1). S--inputse nic nemění.iw review-state pathse navenek nemění: výstup, chybová hlášení a návratové kódy zůstávají stejné, takže nástroje, které karty čtou přes něj (kanon, dev-docs#439), fungují beze změny.Closes #712
🤖 Generated with Claude Code
Issue: IW-712 Phase: 1 - Card location: one pure rule + path command object This commit marks the checkpoint for phase 1 context generation. Use wf-implement IW-712 to return to this point. Context review decisions applied to analysis.md: forKey replaces resolveFrom (ci-gate handles --input itself); WorktreeKey.md documents fromFlagOrBranch instead of a separate WorktreeKeyResolver.md page; the issue + --slice case now reports a state-root failure first. 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Card location: one pure rule + path command object Artifacts: - phase-01-tasks.md 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>