IW-718: review-state update --drop-checkpoints-after N #722
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!722
Loading…
Reference in a new issue
No description provided.
Delete branch "IW-718"
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 update --drop-checkpoints-after Nremoves everyphase_checkpointsentry whose phase is greater than N, in the same merge and the same write as the other flags of the call. kanonag-revert(DEVDOCS-439) needs this to bring a card back to phase N in one update.Changes
ReviewStateUpdater: the drop runs after the checkpoint merge mode, so it also removes entries that--checkpointadds in the same call. Keys compare as numbers (toIntOption):"02"is phase 2,"10"is after"9".--clear-checkpointswins; no refusal.--checkpoint/--append-checkpointnow say they add to the list (they union); newupdateexample.docs/review-state-cards.md"Array Merge Modes";docs/commands/review-state.mdregenerated.Testing
ReviewStateUpdaterTest9,ReviewStateCliParserTest8); harness: 7 (ReviewStateHarnessTest, incl. single-write and--help);ReviewStateSchemaTestfixture names the new field.test/review-state.bats.Follow-ups filed: #492 (two spellings of one phase key), #707 (card write is not crash-atomic).
Review packet:
project-management/issues/IW-718/review-packet.mdRelease notes
Když se práce na úkolu vrací k dřívější fázi, musí se k ní vrátit i karta, která stav práce zaznamenává a kterou ukazuje přehled (dashboard). Karta si pamatuje body návratu pro jednotlivé fáze. Po návratu k fázi N už body návratu pozdějších fází ukazují na práci, která v historii neexistuje, a případný další návrat k nim by skončil na ztraceném stavu. Nově stačí jeden příkaz: ten zároveň nastaví nový stav karty a odstraní body návratu všech fází po fázi N. Body návratu fází 1 až N zůstanou beze změny.
Dosud bylo nutné kartu nejdřív vymazat a potom do ní body návratu znovu zapsat, a to ve dvou samostatných zápisech. Pokud druhý zápis selhal, karta zůstala úplně bez bodů návratu. Teď proběhne vše v jediném zápisu, takže taková mezera už nevzniká.
Čísla fází se porovnávají jako čísla, nikoli jako text: „02“ je druhá fáze a „10“ následuje po „9“. Hodnota 0 odstraní všechny body návratu a u karty, která žádné body návratu nemá, příkaz nic nezmění. Neplatnou hodnotu, například záporné číslo nebo text, příkaz odmítne a kartu nezmění. Pokud karta obsahuje bod návratu, jehož fáze není číslo, příkaz ho ponechá, protože k takové fázi se vrátit nelze.
Opravili jsme také nápovědu příkazu. Ta dříve tvrdila, že zápis bodu návratu nahradí celý seznam, ačkoli ve skutečnosti nový bod k seznamu přidá. Pro všechny ostatní způsoby práce s kartou zůstává chování stejné jako dosud.
🤖 Generated with Claude Code
https://claude.ai/code/session_01SnaPBgNE2C9y2EbP2A3du5
Closes #718