Keep the review-state card out of version control #702
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#702
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Problem
The review-state card (
project-management/issues/<id>/review-state.json, or the active slice's card in an effort worktree) is committed on the feature branch. It is workflow status, not a product of the work:Committing it costs:
chore(<ID>): update review-state ..., and the file changed 169 times.last_updatedandgit_shachange on every write, so every write is a diff.PhaseMerge.stateOnlyGatedShaexists because a card-only commit lands after a green gate. It merges that head without a verdict of its own (unjudgedHead). With the card outside the tree, the head the gate proved is the head that merges.WorkflowStatePaths.partitionmust treat the card as state-owned so the workflow can auto-commit it.Proposal
Store the card in the repository's git directory, not in the working tree. Git does not version it, and every process on the machine that knows the worktree can find it.
ReviewStatePathresolves to the new location for issue keys and effort (slice) keys.--pathkeeps working.review-state write|update --commit,phase-prandphase-mergestop committing the card.ReviewStateService) reads the card from the new location.stateOnlyGatedShaand theunjudgedHeadtrade go away, if nothing else needs them.git rm --cached) the first time a command touches it, or by a documented command.Keep the content as it is for now. Reducing what the card stores (derivable artifact list, display text) is a separate question.
Decide during analysis
git rev-parse --git-dir, removed with the worktree) or the common dir (git rev-parse --git-common-dir, survives removal)? The per-worktree dir matches "no one reads it after the merge", but a redo in a new worktree then losesphase_checkpoints.<effort>/<NN>-<slice>).ci-gateor any other command read the card from a commit (e.g.git show <sha>:...) rather than from the working tree? Such a reader breaks.Consumers outside iw-cli
kanon reads and writes the card by path: the
phase-startandphase-prgate hooks,batch-implement(Preflight,PhaseRecovery,BatchImplementation),autonomous-bootstrap, and thereview_state_*blueprint snippets that pass--commit. They need a follow-up in kanon once the core resolves the new location; kanon should reach the card only throughiw review-state/ReviewStatePath, never by a literal path.Type: feature
Filed from:
/home/mph/Devel/iw/iw-clion branchmain