docs(work): decompose binder-wrap-helper PRD into epic + 8 stories

Output from `pnpm work decompose 2026-05-13-binder-wrap-helper
--execute` — sandcastle ran the decomposer agent with subscription
auth (after the macOS keychain workaround + Dockerfile fix from
prior commits). The agent wrote files but hit `Max iterations: 1`
before committing, so this commit carries its output unchanged.

Epic: docs/work/binder-wrap-helper/
  - _epic.md links to PRD 2026-05-13-binder-wrap-helper
  - features: [core-shared, auth, blog, media, marketing-pages,
    navigation, tooling]

Stories (8 total, with dependency edges):
  01-wire-use-case-helper           prereq (blocks 02..07)
    Goal: helper at core-shared/conformance/wire-use-case.ts +
    tests covering brand stacking, span/capture/audit composition,
    idempotent bind. depends-on: [], blocks 02..07.
  02-migrate-auth-binders           depends-on [01]
  03-migrate-blog-binders           depends-on [01]
  04-migrate-media-binders          depends-on [01]
  05-migrate-marketing-pages-       depends-on [01]
    binders
  06-migrate-navigation-binders     depends-on [01]
  07-update-feature-generator       depends-on [01]
  08-holistic-validation            depends-on [02..07], blocks: []
    Final gate suite + fallow dupes check to verify the 5 binder-
    pair clone groups have disappeared.

After 01 lands, stories 02..07 are parallelisable; 08 collects them.

Pre-commit hook regenerates _state.json + re-stages it so `pnpm
work next` immediately surfaces the new ready story.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-13 18:10:31 +02:00
parent 9d4b801909
commit 6f18075593
10 changed files with 598 additions and 3 deletions

View File

@@ -0,0 +1,60 @@
---
id: 08-holistic-validation
epic: binder-wrap-helper
title: Holistic validation — green gates + fallow clone-group check
type: technical-story
status: todo
feature: core-shared
depends-on:
[
02-migrate-auth-binders,
03-migrate-blog-binders,
04-migrate-media-binders,
05-migrate-marketing-pages-binders,
06-migrate-navigation-binders,
07-update-feature-generator,
]
blocks: []
---
## Goal
Run all cross-cutting success criteria from the PRD in one pass to confirm the migration is complete, all gates are green, and the five top-ten fallow clone groups have disappeared.
## Why
Per-feature stories verify individual binders in isolation; this story verifies the workspace-wide gates that can only be confirmed after all migrations are merged. The PRD's success criteria are explicitly cross-cutting: `pnpm fallow dupes`, `pnpm conformance`, `pnpm coverage:diff`, and a full `pnpm dev` boot.
## Done when
- `pnpm typecheck` green across the entire workspace.
- `pnpm test` green across the entire workspace (all per-feature L0 bands hold).
- `pnpm lint` green (no ESLint errors introduced by the migration).
- `pnpm conformance` green (no orphan event consumers).
- `pnpm fallow:audit` green.
- `pnpm fallow dupes` no longer shows the five binder-pair clone groups in the top-ten output.
- `pnpm coverage:diff` reports `pass` against `origin/main`.
- `pnpm dev` boots without `assertFeatureConformance` throwing for any feature.
## In scope
- Running the full gate suite and fixing any cross-cutting issues surfaced (e.g., a missed import, a stale type reference) that were not caught by per-feature tests.
- Updating `coverage/summary.json` if `pnpm coverage:aggregate` is needed for L2 trend.
## Out of scope
- New feature work or use-case implementations — this story is validation only.
- Resolving `pnpm fallow` issues unrelated to the binder migration (e.g., the `init-client.ts` / `init-client-react.ts` clone noted in the PRD's deferred section).
## Tasks
- [ ] Run `pnpm typecheck` — fix any workspace-wide type errors introduced by the migration
- [ ] Run `pnpm test` — confirm all per-feature test suites pass
- [ ] Run `pnpm lint` — confirm no ESLint regressions
- [ ] Run `pnpm conformance` — confirm no orphan event consumers
- [ ] Run `pnpm fallow:audit` — confirm AI-change audit is clean
- [ ] Run `pnpm fallow dupes` — confirm the five binder-pair clone groups are absent from top-ten output; document remaining top-ten for baseline reference
- [ ] Run `pnpm coverage:diff` — confirm `pass` against `origin/main`
- [ ] Run `pnpm coverage:aggregate` — commit updated `coverage/summary.json` for L2 trend
- [ ] Boot `pnpm dev` (or simulate with `assertFeatureConformance` unit tests) — confirm all features pass boot assertion
- [ ] Flip PRD status to `shipped` via `pnpm work prd-ship 2026-05-13-binder-wrap-helper` once all checks pass