Commit Graph

9 Commits

Author SHA1 Message Date
3fc5c0f1ca feat(work): auto-tick epic story bullets when a story finishes
- 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).
2026-05-14 21:05:06 +02:00
52af9f1fdd chore(work): finish epic 2026-05-13-binder-wrap-helper 2026-05-13 20:41:18 +02:00
9800fed068 chore(work): finish 02-migrate-feature-binders 2026-05-13 20:25:08 +02:00
57e9d9805d chore(work): tick task in 02-migrate-feature-binders 2026-05-13 20:06:21 +02:00
78a561ac60 chore(work): tick task in 02-migrate-feature-binders 2026-05-13 20:01:32 +02:00
0867efbaae chore(work): tick task in 02-migrate-feature-binders 2026-05-13 19:57:28 +02:00
7406171b0b chore(work): tick task in 02-migrate-feature-binders 2026-05-13 19:53:46 +02:00
e08e0a10c0 chore(work): finish 01-wire-use-case-helper
Catches up the story's checkbox + frontmatter status to reflect that
the slice shipped in commit 1bbe866. The V1 orchestrator landed the
implementer's slice commit on main but had no state-mutation step,
so the bullet stayed unticked and `pnpm work next` would have
redundantly re-dispatched the implementer for a no-op slice.

Bookkeeping-only — no code changes.
2026-05-13 19:43:45 +02:00
317ec518aa docs(work): re-decompose binder-wrap-helper into vertical-slice stories
Re-decomposes the approved binder-wrap-helper PRD after the previous
8-story attempt (dropped in 71c04f5) 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).
2026-05-13 19:17:10 +02:00