IW-715: review-state update creates the card when none exists #717
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!717
Loading…
Reference in a new issue
No description provided.
Delete branch "IW-715"
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 updatecreates the card when the default card does not exist. A workflow step now says only what state it wants; it does not choose betweenupdateandwrite, and it needs no path.Changes
updatecreates a missing default card — it merges onto an empty valid card (version 2,issue_id,artifacts: [],last_updated) and writes it, parent directories included. Output sayscreatedorupdated.--inputthat does not exist still fails — exit 1, names--input, writes nothing.--append-artifactis keyed bypath— a second append of the same path replaces the entry in place. The key lives in the sharedmerge, sophase-start,phase-pr,phase-merge,phase-advanceandci-gatededupe the same way. This closes the artifacts part of #200.updateandwritedeclaration texts, regenerateddocs/commands/review-state.md, anddocs/review-state-cards.md.Main files:
core/commands/ReviewState.scala(applyUpdate,writeCard),core/model/ReviewStateUpdater.scala(baseCard, path key).Testing
ReviewStateUpdaterTest(+4, 1 changed).ReviewStateHarnessTest(+6, tracked-card move test extended).test/review-state.bats(+1 create-on-fresh-repo, 1 extended).Review packet:
project-management/issues/IW-715/review-packet.md.Release notes
Úkol: IW-715
Datum: 5. 10. 2026
Zaznamenat stav práce na stavové kartě úkolu je teď jeden krok. Dosud musel každý krok pracovního postupu nejprve zjistit, zda karta už existuje, a podle toho zvolit, zda ji vytvoří, nebo upraví. Od doby, kdy karta neleží v pracovním adresáři, to ale krok spolehlivě zjistit nemohl. Při chybném odhadu mohl kartu přepsat celou a ztratit záznamy o dokončených fázích, odkazy na dokumenty i štítky. Nástroj teď o tomto rozhoduje sám: krok jen řekne, jaký stav chce zapsat.
Příkaz
iw review-state updatenyní kartu vytvoří, když pro daný úkol ještě žádná neexistuje. Nová karta obsahuje jen základní údaje o úkolu a k nim zadané změny, takže ji kontrola formátu přijme bez dalších úprav. Když karta už existuje, změny se do ní doplní jako dosud a vše ostatní na ní zůstane beze změny. Pokud větev ještě drží kartu ve starém umístění v pracovním adresáři, nástroj ji nejprve přesune a změny doplní do ní, takže se nic neztratí. Výpis po dokončení rozlišuje, zda byla karta vytvořena, nebo upravena.Opakované přidání téhož dokumentu na kartu už nevytváří duplicitní záznamy. Dokument se pozná podle své cesty: když už na kartě je, jeho záznam se nahradí na stejném místě. Totéž platí pro kroky, které zakládají, odevzdávají a slučují jednotlivé fáze.
Pokud uživatel výslovně zadá cestu ke kartě a soubor na ní neexistuje, příkaz dál skončí chybou a nic nezapíše. Taková cesta se vždy použije přesně tak, jak byla zadána, a vytváří se jen výchozí karta úkolu. Příkaz pro úplné přepsání karty zůstává beze změny a slouží jen k nahrazení celé karty. Postupy, které dosud volily mezi vytvořením a úpravou karty, mohou tuto volbu vynechat a používat jen úpravu.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Peyjx7A56osGtX8LFGzakJ
Closes #715