Context. In the consumer pilot, ~30% of remediation (1,702 lines) was "needed-but-unspecced" integration the feature required but no requirement ID covered. Starkest case: a ~295-line boot/bring-up integration file that zero pipeline PRs touched — every in-sandbox run failed until it was written in remediation. The spec's per-unit "Affected areas" never named the launch/integration seam; the plan planned units, not the seam between them. The operator had to notice mid-run (one unit's investigation found two modes handled identically) and hand-file an integration task after dispatch.
Problem. Units are planned and owned; the wiring that makes units add up to a runnable feature is owned by no one. Plan quality was otherwise excellent (1:1 task→PR, dependency edges, file:line reuse anchors) — the gap is structural, not sloppy.
Fix. sdd-triage/plan must emit, per feature, a mandatory integration deliverable — either:
- a dedicated "wiring + e2e demo" task depending on all leaf units, or
- a per-unit integration criterion in "Affected areas" naming the seam (launch path, boot/init, daemon bring-up) each unit plugs into.
Materialization refuses a multi-unit plan with no integrating task/criterion.
Acceptance criteria:
Relates to: #272 (unit sizing). Root cause of the "needed-but-unspecced" remediation class; its proof artifact is shared with the demoability gate #334.
Context. In the consumer pilot, ~30% of remediation (1,702 lines) was "needed-but-unspecced" integration the feature required but no requirement ID covered. Starkest case: a ~295-line boot/bring-up integration file that zero pipeline PRs touched — every in-sandbox run failed until it was written in remediation. The spec's per-unit "Affected areas" never named the launch/integration seam; the plan planned units, not the seam between them. The operator had to notice mid-run (one unit's investigation found two modes handled identically) and hand-file an integration task after dispatch.
Problem. Units are planned and owned; the wiring that makes units add up to a runnable feature is owned by no one. Plan quality was otherwise excellent (1:1 task→PR, dependency edges,
file:linereuse anchors) — the gap is structural, not sloppy.Fix. sdd-triage/plan must emit, per feature, a mandatory integration deliverable — either:
Materialization refuses a multi-unit plan with no integrating task/criterion.
Acceptance criteria:
/dispatch.Relates to: #272 (unit sizing). Root cause of the "needed-but-unspecced" remediation class; its proof artifact is shared with the demoability gate #334.