Context
Lifecycle: create .json.partial at start, update counts per item, atomic rename to .json on finalize. On startup, orphan .partial files are marked aborted and counts are recomputed from JSONL by sessionId.
Acceptance criteria
Files to touch (estimate)
best-effort estimate; agent refines during implementation
Implementation notes
- JSONL is authoritative; manifest is derived.
Dependencies
Safety checklist
See .github/ISSUE_TEMPLATE/task.yml — tick applicable invariants in the issue if any destructive path is touched.
Definition of Done
Context
Lifecycle: create
.json.partialat start, update counts per item, atomic rename to.jsonon finalize. On startup, orphan.partialfiles are markedabortedand counts are recomputed from JSONL bysessionId.Acceptance criteria
.partial, then reconcile yieldsstatus=abortedand correct counts.Files to touch (estimate)
best-effort estimate; agent refines during implementation
Implementation notes
Dependencies
Safety checklist
See
.github/ISSUE_TEMPLATE/task.yml— tick applicable invariants in the issue if any destructive path is touched.Definition of Done