Skip to content

Reopen Stage 8 (Recording & Playback): four new completion criteria - #83

Merged
AdamClemens merged 2 commits into
mainfrom
docs/reopen-stage-8
Sep 9, 2026
Merged

Reopen Stage 8 (Recording & Playback): four new completion criteria#83
AdamClemens merged 2 commits into
mainfrom
docs/reopen-stage-8

Conversation

@AdamClemens

Copy link
Copy Markdown
Owner

Summary

An audit found Stage 8 was scoped ad-hoc -- opened and fully built in a
single day, with its own completion criteria written the same day as
its first task rather than independently derived from the Goal. The
Goal's own "scrubbed to any point" clause shipped with no
operationalised criterion or mechanism at all.

  • Adds Completion Criteria 6-9 to Stage 8 (live scrub, combined
    solved-velocity + declared-field playback, checkpoint retention,
    partial-overlap cache reuse), updates its discharge map, and reopens
    its Status section (5/9 criteria met).
  • Drafts TASK-048/049/050/051 with their settled design decisions ahead
    of implementation, and sanctions Status: Not started, drafted <date>
    as a valid task-entry status in stage-specification.md now that
    check_stages.py's own TASK_DONE marker already handles it
    correctly.
  • Fixes an unrelated latent bug found while validating the above:
    Stage 0's 11 tasks never carried the per-task **Status: Done**
    marker every later stage's tasks use (they predate that convention),
    so check_stages.py always read Stage 0 as opened with 0/11 done.
    Fixed by adding the marker to each entry (dates from the stage's own
    existing summary table) rather than special-casing Stage 0 in the
    checker.

Test plan

  • make lint, make check-stages, make check-status,
    make check-documents, make check-references, make check-dates,
    make check-duplicate-blocks, make check-graph, make check-docs,
    make check-docs-index, make check-manifest, make check-inventory,
    make check-dependency-tree all clean
  • make test -- 1151 passed, 21 skipped, exit 0
  • New regression test (test_the_real_roadmap_reports_stage_0_as_complete)
    written first, confirmed red, then green after the fix

🤖 Generated with Claude Code

AdamClemens and others added 2 commits September 9, 2026 11:22
An audit found this stage was scoped ad-hoc -- opened and fully built
in one day with its own criteria written the same day as its first
task -- and that its Goal's own "scrubbed to any point" clause shipped
with no operationalised criterion or mechanism at all. Adds Completion
Criteria 6-9 (live scrub, combined solved-velocity + declared-field
playback, checkpoint retention, partial-overlap cache reuse), drafts
TASK-048/049/050/051 with their settled design decisions ahead of
implementation, and sanctions "Status: Not started, drafted <date>" as
a valid task-entry status in stage-specification.md now that
check_stages.py's own TASK_DONE marker already handles it correctly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…uses

check_stages.py's lifecycle computation greps each task for an inline
**Status: Done** marker, which Stage 0's tasks never carried -- they
predate that convention and only ever recorded completion in the
stage's own summary table. That made Stage.lifecycle read "opened" with
0/11 done, silently wrong since Stage 0 closed on 2026-08-19. Fixed by
adding the marker to each task entry (dates from the existing summary
table; TASK-008 marked Done with no date, since none was ever recorded)
rather than special-casing Stage 0 in the checker, so the one general
mechanism stays correct for every stage. Regression test added and
confirmed red before the fix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant