You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Harden wave-pattern reliability (gate-block + stall fixes from Plan #581 Main debrief), tighten pre-flight hygiene to prevent recurrence, evolve WAVE_AXIOMS with the structural rework + Axiom 9 ("User attention is the cost"), and complete the wave-pattern feature surface (sanctioned-fidget tool, observability daemon, /wave skill, classic-mode removal).
No regressions surfaced in cc-workflow main-branch CI
Plan-level retrospective comment filed on this issue with lessons captured in principle_* / lesson_* memory files
Phases
Phase 1 — Wave-pattern reliability fixes
Goal: resolve the three autonomy-breaking bugs from Plan #581 Main that required manual recovery (gate-block manual MR creation, hand-merging stalled flights). Without these, Beta's own campaign would replicate Main's incidents.
DoD:
mcp-server-sdlc#415 wave_finalize succeeds after per-wave cleanup; MR body assembled from durable state (phases-waves.json + state.json) instead of ephemeral wavebus
cc-workflow#606 Prime sub-agent emits canonical OK / BLOCKED / FAIL line under long CI; regression test in place
cc-workflow#600 /wavemachine post-wave handoff is single-tool-use; no inter-wave narration on a 3-wave verification campaign
Phase 2 — Pre-flight & sandbox hygiene
Goal: prevent the recurring incident shapes (sandbox cross-talk, lost doc updates, context-rot from same-session prep+execute) by tightening pre-flight checks.
DoD:
cc-workflow#603 /prepwaves refuses on dirty working tree with a clear error listing offending files; explicit --force-dirty override exists
cc-workflow#604 /devspec finalize creates a commit on the active feature branch for its doc updates with the canonical docs(devspec): finalize Dev Spec for Plan #N title; refuses on protected branch
cc-workflow#602 /prepwaves output ends with a paste-ready /clear + /wavemachine seed block
Phase 3 — WAVE_AXIOMS V2 + drift mitigation
Goal: evolve the constitutional rules layer based on Main's learnings; mitigate the late-campaign drift observed during Plan #581.
DoD:
cc-workflow#605 WAVE_AXIOMS.md has 9 axioms (Axiom 9 = "User attention is the cost") with consistent rule/why/how-to-apply structure
cc-workflow#605 /wavemachine, /nextwave, /prepwaves, /assesswaves skill bodies cross-reference axioms by number instead of restating; single source of truth
cc-workflow#601 Per-wave drift instrumentation emits wave_message_length_main, wave_stop_hook_blocks, wave_concerns_posts events; one mitigation mechanism implemented and measured against a 6-wave baseline
Phase 4 — Wave-pattern feature completion
Goal: ship the new tools/skills the autonomy contract has been calling for since v2.
DoD:
mcp-server-sdlc#414 wave_wait_for_signal MCP tool registered, schema valid, returns within 5s of artifact appearance, times out cleanly with partial_matches populated
cc-workflow#579 /wave skill wraps wave_show with conversation-friendly output; included in skills index
cc-workflow#578 wave-watcher standalone daemon aggregates active wave-pattern state across the fleet; runs cleanly under systemd-equivalent
Phase 5 — Operational polish
Goal: clean up legacy paths and tighten observability ahead of any Plan: Gamma scope.
DoD:
cc-workflow#577 /dod reads Plan-issue DoD body instead of devspec (per 2026-04-26 Plan/Phase/Epic taxonomy lock); fallback to devspec only when no Plan exists
cc-workflow#580 /wavemachine Classic mode removed; Kahuna sandbox is the only execution shape; legacy code paths deleted
cc-workflow#550 /precheck logs vox-invocation failures via mcp-log instead of swallowing with || true
cc-workflow#551 vox script emits structured mcp-log events on every announcement (success and failure)
Plan: Beta — Wave-pattern reliability + autonomy hardening
Goal
Harden wave-pattern reliability (gate-block + stall fixes from Plan #581 Main debrief), tighten pre-flight hygiene to prevent recurrence, evolve WAVE_AXIOMS with the structural rework + Axiom 9 ("User attention is the cost"), and complete the wave-pattern feature surface (sanctioned-fidget tool, observability daemon,
/waveskill, classic-mode removal).Scope
In scope
wave_finalizereturnsno_artifactsafter wavebus cleanup (mcp-server-sdlc#415)/prepwavesrefuses on dirty tree (cc-workflow#603)/devspec finalizecommits its doc updates (cc-workflow#604)/prepwavesemits/clearseed prompt (cc-workflow#602)wave_wait_for_signalMCP tool — sanctioned anxiety outlet (mcp-server-sdlc#414)pr_wait_cishort-circuit on empty rollup (mcp-server-sdlc#416)/waveskill wrappingwave_show(cc-workflow#579)wave-watcherstandalone daemon (cc-workflow#578)/dodreads Plan-issue DoD instead of devspec (cc-workflow#577)/wavemachineClassic mode (cc-workflow#580)/prechecklog vox-invocation failures (cc-workflow#550)mcp-loginstrumentation (cc-workflow#551)Out of scope
Plan-level Definition of Done
principle_*/lesson_*memory filesPhases
Phase 1 — Wave-pattern reliability fixes
Goal: resolve the three autonomy-breaking bugs from Plan #581 Main that required manual recovery (gate-block manual MR creation, hand-merging stalled flights). Without these, Beta's own campaign would replicate Main's incidents.
DoD:
wave_finalizesucceeds after per-wave cleanup; MR body assembled from durable state (phases-waves.json + state.json) instead of ephemeral wavebusOK / BLOCKED / FAILline under long CI; regression test in placePhase 2 — Pre-flight & sandbox hygiene
Goal: prevent the recurring incident shapes (sandbox cross-talk, lost doc updates, context-rot from same-session prep+execute) by tightening pre-flight checks.
DoD:
--force-dirtyoverride existsdocs(devspec): finalize Dev Spec for Plan #Ntitle; refuses on protected branch/clear+/wavemachineseed blockPhase 3 — WAVE_AXIOMS V2 + drift mitigation
Goal: evolve the constitutional rules layer based on Main's learnings; mitigate the late-campaign drift observed during Plan #581.
DoD:
WAVE_AXIOMS.mdhas 9 axioms (Axiom 9 = "User attention is the cost") with consistent rule/why/how-to-apply structurewave_message_length_main,wave_stop_hook_blocks,wave_concerns_postsevents; one mitigation mechanism implemented and measured against a 6-wave baselinePhase 4 — Wave-pattern feature completion
Goal: ship the new tools/skills the autonomy contract has been calling for since v2.
DoD:
wave_wait_for_signalMCP tool registered, schema valid, returns within 5s of artifact appearance, times out cleanly with partial_matches populatedpr_wait_cishort-circuits on empty status-check rollup; existing non-empty-rollup behavior unchanged (regression-tested)/waveskill wrapswave_showwith conversation-friendly output; included in skills indexwave-watcherstandalone daemon aggregates active wave-pattern state across the fleet; runs cleanly under systemd-equivalentPhase 5 — Operational polish
Goal: clean up legacy paths and tighten observability ahead of any Plan: Gamma scope.
DoD:
/dodreads Plan-issue DoD body instead of devspec (per 2026-04-26 Plan/Phase/Epic taxonomy lock); fallback to devspec only when no Plan existsmcp-loginstead of swallowing with|| truemcp-logevents on every announcement (success and failure)References
principle_user_attention_is_the_cost.md— basis for Axiom 9principle_cost_asymmetry_continue_vs_exit.md— basis for sandbox-clean prerequisite reasoningpattern_sanctioned_fidget_tool.md— basis forwave_wait_for_signalpattern_exhaustive_legal_exits.md— axiom skeleton structurepattern_concerns_channel.md— non-halt-when-unsettled mechanismdecision_plan_phase_epic_taxonomy.md— Plan body/comments splitdocs/phase-epic-taxonomy-devspec.md§5.1.2 (canonical Plan body)docs/plan-issue-template.md.status-panel.htmlsnapshot at merge time