Assemble and close map #425: final cleanup sweep and verification #433

Closed
opened 2026-08-18 18:44:58 +00:00 by jared · 1 comment
Owner

Parent

#425
Map: #425

What to build

The assembly/contract step for map #425, runnable only when #426–#432 are all closed: sweep for stale files and code left behind by the migration (brief-file rendering remnants, retired recovery/test-cluster leftovers, dead hooks-manifest entries), verify no orphaned references with ast-grep, run bin/refresh-plugins if any plugin source changed, then close #425 via os-backlog close with done/evidence/follow-ups.

Acceptance criteria

  • No references remain to deleted recovery-cluster code, brief files, or the async_launched guard (ast-grep verified)
  • Full runner test suite green
  • #425 closed via os-backlog close with all three resolution parts

Blocked by

Origin

  • Trigger: /to-tickets follow-up setup
  • Improvised this session: none
  • Chain: assembly/contract task for map #425 ← user-requested assembly ticket 2026-08-18
  • Root candidate: none
## Parent #425 Map: #425 ## What to build The assembly/contract step for map #425, runnable only when #426–#432 are all closed: sweep for stale files and code left behind by the migration (brief-file rendering remnants, retired recovery/test-cluster leftovers, dead hooks-manifest entries), verify no orphaned references with ast-grep, run bin/refresh-plugins if any plugin source changed, then close #425 via os-backlog close with done/evidence/follow-ups. ## Acceptance criteria - [ ] No references remain to deleted recovery-cluster code, brief files, or the async_launched guard (ast-grep verified) - [ ] Full runner test suite green - [ ] #425 closed via os-backlog close with all three resolution parts ## Blocked by - #426, #427, #428, #429, #430, #431, #432 ## Origin - Trigger: /to-tickets follow-up setup - Improvised this session: none - Chain: assembly/contract task for map #425 ← user-requested assembly ticket 2026-08-18 - Root candidate: none
Author
Owner

Resolution

Done: Assembly for map #425: stale-code sweep (pipeline-state-investigate caveat dropped + confirmed handoffs schema; superseded-status banners on docs/os-sdlc-rebuild dispatch-hook/runner/architecture captures; hooks.json verified no dead entries; legacy ticket pipeline explicitly judged KEEP — intake/resume still serve ticket-driven runs); live SubagentStop event schema verified against primary hooks docs and the hook's assumed handoff_content corrected to last_assistant_message; end-to-end dogfood of the round pipeline through the real hook scripts (round-open → SubagentStart → SubagentStop against a scratch project DB): dispatch stamped with both lifecycle timestamps, handoff row recorded with real message content, test+lint step_results exit 0, implementation completed — async-style completion advanced the pipeline, the core #425 behavior. Status-leaf history row added; map workbench file retired per its own contract. bin/refresh-plugins run.

Evidence: commits 1bb6700 (sweep + field fix) and b9a0b99 (records); full runner suite 276 runs/594 assertions 0 failures; ast-grep/grep sweeps empty for recovery classes, recover command, async_launched rejection; dogfood DB rows verified via Sequel; SubagentStop schema quoted from code.claude.com/docs/en/hooks.md

Follow-ups: two, verdicts attached: (1) dogfood used synthetic event piping through the real hook scripts because this harness session cannot register the new SubagentStart/Stop hooks mid-session — payload shape is doc-verified, but a fresh live session should observe the hooks firing naturally before heavy reliance (root-vs-symptom: harness lifecycle, not code; monitor in production IRL sessions, no ticket); (2) legacy ticket pipeline + tickets.state + the PostToolUse pipeline_agent? two-state-model gate remain by judged choice — retiring them is a future map if/when ticket-driven runs move to rounds (deliberate deferral, not orphaned work; captured in #430/#431 close comments, no ticket until the direction is decided)

## Resolution **Done:** Assembly for map #425: stale-code sweep (pipeline-state-investigate caveat dropped + confirmed handoffs schema; superseded-status banners on docs/os-sdlc-rebuild dispatch-hook/runner/architecture captures; hooks.json verified no dead entries; legacy ticket pipeline explicitly judged KEEP — intake/resume still serve ticket-driven runs); live SubagentStop event schema verified against primary hooks docs and the hook's assumed handoff_content corrected to last_assistant_message; end-to-end dogfood of the round pipeline through the real hook scripts (round-open → SubagentStart → SubagentStop against a scratch project DB): dispatch stamped with both lifecycle timestamps, handoff row recorded with real message content, test+lint step_results exit 0, implementation completed — async-style completion advanced the pipeline, the core #425 behavior. Status-leaf history row added; map workbench file retired per its own contract. bin/refresh-plugins run. **Evidence:** commits 1bb6700 (sweep + field fix) and b9a0b99 (records); full runner suite 276 runs/594 assertions 0 failures; ast-grep/grep sweeps empty for recovery classes, recover command, async_launched rejection; dogfood DB rows verified via Sequel; SubagentStop schema quoted from code.claude.com/docs/en/hooks.md **Follow-ups:** two, verdicts attached: (1) dogfood used synthetic event piping through the real hook scripts because this harness session cannot register the new SubagentStart/Stop hooks mid-session — payload shape is doc-verified, but a fresh live session should observe the hooks firing naturally before heavy reliance (root-vs-symptom: harness lifecycle, not code; monitor in production IRL sessions, no ticket); (2) legacy ticket pipeline + tickets.state + the PostToolUse pipeline_agent? two-state-model gate remain by judged choice — retiring them is a future map if/when ticket-driven runs move to rounds (deliberate deferral, not orphaned work; captured in #430/#431 close comments, no ticket until the direction is decided)
jared closed this issue 2026-08-18 21:50:49 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#433
No description provided.