Commit Graph

3 Commits

Author SHA1 Message Date
90fc2853f2 feat(work): add ISO timestamps + auto-bump on staged work-doc changes
- 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.
2026-05-14 21:10:34 +02:00
799daa8db5 docs(prds): approve binder-wrap-helper PRD
Status: draft -> approved. Ready for `pnpm work decompose
2026-05-13-binder-wrap-helper --execute` to invoke sandcastle's
decomposer agent.
2026-05-13 17:46:54 +02:00
32002194ca docs(prds): seed binder-wrap-helper PRD (architecture candidate 1)
Materialises the output of the improve-codebase-architecture skill's
grilling loop on Candidate 1 (binder duplication), sub-shape (a)
(helper-inside-binder).

Captured decisions:
  - New wireUseCase helper at @repo/core-shared/conformance/
  - Composes the existing withSpan + withCapture (+ optional
    withAudit) wrappers; doesn't replace them
  - Per-feature binders shrink to decision content + N wireUseCase
    calls instead of N x ~12 lines of inline wrapping
  - All 5 features migrated (10 binder files, ~24 inline wrap sites)
  - Brand attachment stays in the existing wrappers
  - Generator template emits the new shape so future scaffolds
    don't regress

Sub-shape (b) (pre-wired factory exports) explicitly rejected in
favour of (a) — keeps the wrapping a binder concern, preserves
ADR-008's per-feature DI isolation.

Status: draft. Will not pass through pnpm work decompose until a
human reviewer flips status to approved. Expected to land as one
mid-sized epic with the helper + per-feature migrations as separate
stories.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 17:40:35 +02:00