- Add tickStoryBulletInEpic(workRoot, epic, story) helper that finds the bullet in the parent epic's `## Stories` section linking to the given story folder and flips `- [ ]` to `- [x]`. Idempotent. - applyApprovedState now ticks the parent epic bullet whenever a story flips to status: done (alongside the existing per-task tick and epic-status flip). Epic file gets staged on either ticked-or- flipped, not just flipped. - Backfill all 3 existing epics: 21 bullets ticked to match their already-done story statuses (binder-wrap-helper x3, library- evaluation-policy x9, ci-security-and-supply-chain x9).
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 | done |
|
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.