Re-decomposes the approved binder-wrap-helper PRD after the previous 8-story attempt (dropped in71c04f5) sliced horizontally — its "write test" / "write impl" splits would have left intermediate commits red. The new shape obeys slice = task = PR = commit: - 01-wire-use-case-helper — 1 task: ship the wireUseCase helper (factory composition + container bind + brand stack) with its unit tests and barrel export in one green commit. Blocks 02 + 03. - 02-migrate-feature-binders — 5 tasks, one per feature (auth, blog, media, marketing-pages, navigation). Each task migrates that feature's bind-production.ts + bind-dev-seed.ts together and keeps all gates green. - 03-update-generator-templates — 1 task: update the feature generator's bind-*.hbs so future scaffolds emit wireUseCase directly instead of inline withSpan + withCapture. Output of the now-fixed sandcastle decompose dispatch — depends on the completionSignal + maxIterations wiring (eadbb7e,26aa97f).
1.2 KiB
1.2 KiB
id, prd, title, type, status, features, created
| id | prd | title | type | status | features | created | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-05-13-binder-wrap-helper | docs/work/prds/2026-05-13-binder-wrap-helper.prd.md | Collapse binder duplication via wireUseCase helper | epic | in-progress |
|
2026-05-13 |
Goal
Introduce a wireUseCase(...) helper in @repo/core-shared/conformance/ that encapsulates the withSpan + withCapture (+ optional withAudit) composition. Refactor all five features' binders to call the helper. Update the feature generator templates to emit the new call shape by default.
Why
Five of pnpm fallow's top-ten clone groups come from binder pairs across features. The inline wrapping runs 30–79 duplicated lines per binder pair. The helper becomes the single source of truth for the wrapping shape; per-feature binders shrink to their decision content plus a list of wireUseCase calls.