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.
This commit is contained in:
2026-05-14 21:10:34 +02:00
parent 3fc5c0f1ca
commit 90fc2853f2
31 changed files with 139 additions and 9 deletions

View File

@@ -6,7 +6,10 @@
# 1. lint-staged: format + lint staged files
pnpm exec lint-staged || exit 1
# 2. If any docs/work/ markdown is staged, regenerate _state.json + re-stage it
# 2. Stamp the `updated:` frontmatter field on every staged docs/work/ md file.
node scripts/work/bump-updated-timestamps.mjs || exit 1
# 3. If any docs/work/ markdown is staged, regenerate _state.json + re-stage it
if git diff --cached --name-only | grep -qE '^docs/work/.*\.md$'; then
pnpm work rebuild-state
git add docs/work/_state.json