- New scripts/work/bump-updated-timestamps.mjs stamps the `updated:`
frontmatter field to the current ISO 8601 UTC timestamp on every
staged docs/work/**/*.md file. Idempotent; adds the field after
`created:` if missing.
- .husky/pre-commit invokes the bump script as step 2 (before
rebuild-state) so _state.json sees the fresh timestamp.
- Backfill all existing work docs (4 PRDs + 3 epics + 21 stories):
* created: promoted from \`YYYY-MM-DD\` -> ISO timestamp using
git log --diff-filter=A on each file (first-commit date for
stories that had no \`created:\` line, midnight UTC for PRDs
and epics that had date-only created).
* updated: added from \`git log -1 --format=%aI\` on each file
(last-commit timestamp); will be re-stamped to "now" by the
pre-commit hook on this commit.
Stories that had no \`created:\` line now get one.
1.2 KiB
1.2 KiB
id, prd, title, type, status, features, created, updated
| id | prd | title | type | status | features | created | updated | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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-13T00:00:00Z | 2026-05-14T19:10:35.370Z |
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.