v0.5.0 — Turn lifecycle diagnostics
Turn lifecycle diagnostics
- Add
survey --lifecycle: bounded evidence rows for completed, aborted,
missing-terminal, and conflicting turns, with compaction counts and later
turn starts. Full evidence remains insurvey --jsonandaudit. - Deduplicate native lifecycle and compaction replays across pages while
keeping parent/child identities separate. Respect time-window boundaries;
missing or contradictory evidence stays explicit. - Keep the same bounded, privacy-preserving, offline reader. No budgets,
wait settings, task state, or hook admission policy are changed. - Use a prebuilt timestamp index for later-turn lookup instead of quadratic
scanning. Context and lifecycle model disagreements stay unknown.
Validation
92 tests pass on Python 3.10, 3.11, 3.12, and 3.13 in
CI.
A fixed 101-page cohort reproduced 143 turns and 97 unique compactions;
the six pre-existing aggregate fields matched v0.4.2 exactly.
An isolated desktop Codex 0.153.4 canary completed, was interrupted during
a bounded test command, then completed a later turn; transcript read-back
matched those native statuses.
Missing endings do not prove a task is running or stuck. Later turns do not
prove same-work recovery. Durations are not CPU time or token savings.
See validation evidence
and lifecycle interpretation.
Use the retention-aware updater with other tasks idle. Review the new hook
pin when prompted; the runtime changed only its package version member.
Start a new task to pick up the updated skill.