PLAN — SDLC Workflow Evaluation + Hardening (Task ID-48 · {48.2})
PLAN — SDLC Workflow Evaluation + Hardening (Task ID-48 · {48.2})
Section titled “PLAN — SDLC Workflow Evaluation + Hardening (Task ID-48 · {48.2})”Input: RESEARCH.md ({48.1}). PRODUCT/TECH skipped (dev-infra, no end-user surface —
ID-47 rationale; confirm OQ-E). This PLAN = the decomposition into sibling-only
implementation Subtasks {48.3}–{48.13}, written as records into
docs/reference/task-list.json under ID-48. Sequencing + the dependency graph + the gating
that does not fit per-Subtask details live here.
Sequencing principle
Section titled “Sequencing principle”- Independent-first. Conventions + retro ledger + evaluator role have no ID-23 overlap → they run first (and unblock the retro habit).
- Shared-file edits gate on ID-23.
{48.7–48.10}edit the same SDLC role/skill files as ID-23’s pending impl subtasks. Sibling-only deps cannot express a cross-Task gate — that is surfaced as OQ-C (escalated, not bent). The ID-23 collision is recorded in each affected Subtask’sdetails; the parent O-of-O sequences them. - Same-file (intra-ID-48) collisions serialise via sibling deps.
workflow-orchestration/SKILL.mdis touched by{48.6, 48.9, 48.13}→ chained6→9→13.session-driver-cmux/SKILL.mdby{48.12, 48.13}→13deps12.
Dependency graph (sibling-only, integer ids)
Section titled “Dependency graph (sibling-only, integer ids)”48.3 retro ledger surface deps [] [OQ-A] Wave 148.4 conventions + 2 renames deps [] [OQ-B] Wave 148.5 workflow-evaluator combo deps [3] [OQ-D] Wave 248.6 retro habit + harness seeding deps [5] Wave 348.7 Checker hardening deps [] [ID-23 ⟂ 23.12] Wave 1*48.8 Executor/impl-subtask hardening deps [] [ID-23 ⟂ 23.8/9] Wave 1*48.9 workflow-orch quality gates deps [6,7] [ID-23 ⟂ 23.4] Wave 448.10 spec-skill cross-refs (OQ-3) deps [] [ID-23 ⟂ 23.6/7] Wave 1*48.11 Hook 1 (sentinel-gated edits) deps [] Wave 148.12 Hook 2 + prettier pre-commit deps [11] Wave 248.13 efficiency guards + dedup notes deps [9,12] Wave 5* = no intra-ID-48 dep, but externally gated on ID-23 (OQ-C) → not truly Wave 1 until
the parent sequences against ID-23.
Cluster → Subtask map
Section titled “Cluster → Subtask map”- Conventions + ledger (independent): 48.3, 48.4
- Evaluator role (independent): 48.5
- Retro habit wiring: 48.6
- Net-new Sub-type-B guardrails (shared, ID-23-gated): 48.7, 48.8, 48.9
- Sub-type-A cross-ref propagation (shared, ID-23-gated): 48.10
- Hooks/config (independent): 48.11, 48.12
- Ergonomics + efficiency guards: 48.6 (harness seeding folded in), 48.9 (/code-review folded into quality gates), 48.13
Each Subtask maps to a verifiable outcome
Section titled “Each Subtask maps to a verifiable outcome”Per-Subtask testStrategy carries the one-line acceptance criterion. The Checker-mandate
matrix (RESEARCH §6) applies: 48.3/48.5/48.11/48.12 are dev-infra (Orchestrator-gated +
guard test where one exists); 48.7–48.10 are role/skill-file edits (verified by a
freshness/guard test + a manual read against RESEARCH §2 anchors); 48.6/48.13/48.14-class
ergonomics are Orchestrator-gated.
Not started this session
Section titled “Not started this session”This session authored {48.1} + {48.2} only (worker-branch-only cadence; OQ-gated clusters). Implementation ({48.3+}) is a future session after Liam resolves OQ-A…E and the parent sequences the ID-23 collisions.
ADDENDUM — S271 re-scope (2026-05-27)
Section titled “ADDENDUM — S271 re-scope (2026-05-27)”Liam’s ID-48 review redirected the evaluator architecture + retro-handling model. The full
revision is in RESEARCH.md §13 (authoritative where it conflicts with §3/§5/§11 and
the records below). Summary of the impact on this decomposition:
Revised build sequence (Liam directive)
Section titled “Revised build sequence (Liam directive)”Additional research → Cluster 4 → Cluster 1 → Cluster 2. This reverses the “independent-first” ordering above (which ran Cluster 1 first). The §11 cluster numbers are canonical (RESEARCH §13.6 maps them to the live subtasks):
0. additional research (RESEARCH §13 + any follow-up)1. Cluster 4 {48.7, 48.8, 48.9} guardrails [still ID-23 fold-in gated per S266 note]2. Cluster 1 {48.3, 48.4} ledger + conventions3. Cluster 2 {48.5, 48.14*, 48.15*} evaluator role + evaluate-findings + corpus archival (Clusters 3/5/6/7 follow per existing deps.)* = NEW subtasks proposed below.Caveats (RESEARCH §13.6): Cluster 4 is shared-file + ID-23-gated, so “first” means folded
into the ID-23 edit pass first, not a clean standalone wave (OQ-S271-2). {48.15}
(corpus archival, dep []) should be pulled forward to run alongside Cluster 4 so the
session corpus starts accumulating before the evaluator is built.
Subtask deltas (PROSE — NOT applied to task-list.json; apply at build)
Section titled “Subtask deltas (PROSE — NOT applied to task-list.json; apply at build)”- {48.3} CHANGE — add the soft-delete/adjudication field set
(
deprecated,deprecation_reason,superseding_record_id,last_conflict_check) toRetroRecordSchemafrom the outset (RESEARCH §13.4). Cheap now, expensive to retrofit. - {48.5} CHANGE — re-scope
workflow-evaluatorto triggered / async (not a blocking session-end step); narrowevaluate-workflowto efficiency-metrics + recurring-finding surfacing; it no longer writes the retro record (O-of-Ohandoffowns authoring). - {48.14} NEW (
evaluate-findingsskill) — the findings-gating adjudication playbook (candidate-select → similarity-pair → 3-verdict forced choice → recency guard → staged writes → soft-delete/supersede → batch-stamp). Modelled ondocs/research/memory-transcript.md. Deps[3]+ {48.15}. Cluster 2. - {48.15} NEW (worker-corpus archival) — promote the {48.2} S266 fold-in #2: a
--archive <dir>flag onstop-worker.sharchiving{events.jsonl, oq-pending.md, final_report.yaml, meta.json}todocs/workflow-evaluation/sessions/S<NNN>/<worker>/before the teardownrm -rf. Deps[]. Cluster 2 data dependency. Pull forward. - {48.6} CHANGE — decouple the retro habit from session-end-blocking: O-of-O authors
via
handoff;start-session(or a periodic trigger) flags pending un-adjudicated findings for the next evaluator sweep rather than running the gate inline. - {48.7}–{48.13} UNCHANGED by the addendum (their ID-23 fold-in mapping still governs).
Build-phase constraints (RECORD ONLY — RESEARCH §13.7)
Section titled “Build-phase constraints (RECORD ONLY — RESEARCH §13.7)”- Skill-informed order when building the evaluator:
prompt-engineering→agent-development→create-skill. - CRITICAL: any edit to a
.claude/{agents,skills}/file in the build phase MUST invoke the related authoring skill (agent-development/create-skill/update-skill) — copying patterns by hand is NOT acceptable (Hook 1 / {48.11} backstops this). - One task-executor per skill invoked, sequential — no fan-out across multiple agent/skill files in a single executor. Affects Cluster 2 ({48.5}+{48.14}+{48.15}) and the Cluster 4/5 role-skill edits ({48.7}–{48.10}).
New OQs (RESEARCH §13.8)
Section titled “New OQs (RESEARCH §13.8)”OQ-S271-1 gate autonomy (auto-deprecate-existing vs always-flag-for-human); OQ-S271-2 Cluster-4-first vs ID-23 fold-in timing; OQ-S271-3 schema granularity (per-record vs per-finding); OQ-S271-4 similarity mechanism (keyword heuristic vs Mempalace semantic surface).