Addresses state safety issues found during #1062 deep dive: 1. completed-units.json writes in auto-worktree.ts and auto-worktree-sync.ts used plain writeFileSync which could produce truncated/corrupt files on crash, losing completion keys and causing unit re-dispatch. Switched to atomicWriteSync (temp file + rename) for crash safety. 2. Plan file checkbox reconciliation in auto-worktree.ts also switched to atomicWriteSync to prevent partial PLAN.md writes on crash. 3. db-writer.ts functions (saveDecisionToDb, updateRequirementInDb, saveArtifactToDb) wrote markdown files via saveFile() without invalidating caches afterward. Added targeted cache invalidation (state + path + parse) so deriveState() always sees fresh data. Uses individual invalidation functions rather than invalidateAllCaches() to avoid clearing the artifacts table that was just written to. |
||
|---|---|---|
| .. | ||
| agents | ||
| extensions | ||
| skills | ||
| GSD-WORKFLOW.md | ||