Captures the brainstorm convergence (2026-05-13) into a draft PRD that seeds the implementation epic. Decisions captured: - 4-layer coverage architecture (L0 vitest thresholds, L1 diff coverage, L2 aggregate summary.json, L3 mutation testing on entities + use-cases) - Manifest-driven coverage band as the single source of truth — vitest config, assertFeatureConformance boot check, and pnpm coverage:diff all derive expectations from feature.manifest.ts - Cover-the-diff (every changed line exercised) not cover-the-new-code - Aggregate trend committed as coverage/summary.json; no SaaS dep - Stryker for mutation, on-demand only, NOT in default pnpm test L0 verification findings (also captured in the PRD): - auth / blog / marketing-pages: green (100% layer bands hold) - navigation: real test gaps in entities + controllers (~86%) - media: missing @vitest/coverage-v8 dep + vitest.config has no coverage block at all (entirely absent — the most extreme case of the duplication problem the manifest-driven keystone eliminates) Status remains draft until the human review pass. Decomposer will refuse to run on draft. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
22 lines
512 B
JSON
22 lines
512 B
JSON
{
|
|
"updated_at": "2026-05-13T11:37:22.767Z",
|
|
"epics": {
|
|
"template-reset-v1": {
|
|
"status": "done",
|
|
"title": "Template reset — strip setup-process noise + archive history",
|
|
"stories": {
|
|
"01-template-reset": {
|
|
"status": "done",
|
|
"title": "Strip setup refs + archive history + rename ADR-012",
|
|
"ac_total": 12,
|
|
"ac_completed": 12,
|
|
"depends_on": [],
|
|
"blocks": []
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ready": [],
|
|
"blocked": []
|
|
}
|