v0.13.0
Auto-maintained state.md
A bound task's state.md now materializes and stays fresh on its own — the common bind → /spec (or /slice) → /clear flow produces a complete state.md (docs footer and prose) even when handoff is never run.
Highlights
- New
trace statecommand group owns state freshness portably:trace state checkreturns a neutral seed/refresh/no-op verdict and idempotently reconciles the docs-manifest footer;trace state reflectstamps the prose-fingerprint marker. - Footer as a projection of the docs directory — reconciled render-on-read in the CLI and eagerly at the bind seam, so
state.mdexists with a correct footer the moment a task has a real doc. Idempotent, so board polling causes no mtime churn. - Claude
Stophook consumes the verdict: when the doc set has drifted from what the prose last reflected, it sends the still-warm agent back once to seed or refresh the prose. No drift → no-op, so ordinary turns never block. All staleness logic stays in the CLI, keeping the brain portable. - Re-entry as the cross-platform tier — the re-entry manifest now carries a
stateFreshnessblock, so agents on read-only or fire-and-forget platforms still see and repair drift when they bind.
UI
- The task page badges stale state prose with a quiet "docs changed since this was saved" crumb, so unrepaired drift is visible to a human.
Skills / docs
- Renamed the
handoffskill totrace-statewith dual triggers. - README documents the state.md freshness tiers.