diff --git a/docs/work/_system/_state.json b/docs/work/_system/_state.json index 9d7259a..6dd1d92 100644 --- a/docs/work/_system/_state.json +++ b/docs/work/_system/_state.json @@ -1,5 +1,5 @@ { - "updated_at": "2026-07-12T14:32:07.701Z", + "updated_at": "2026-07-12T15:21:32.450Z", "epics": { "binder-wrap-helper": { "status": "done", @@ -629,6 +629,14 @@ "ac_completed": 0, "depends_on": [], "blocks": [] + }, + "09-template-snapshot": { + "status": "todo", + "title": "Snapshot the clean slate as an orphan template branch", + "ac_total": 1, + "ac_completed": 0, + "depends_on": [], + "blocks": [] } } }, @@ -1009,6 +1017,11 @@ "story": "08-rewrite-agent-docs", "title": "Rewrite CLAUDE.md and AGENTS.md for Veect" }, + { + "epic": "platform-retrofit", + "story": "09-template-snapshot", + "title": "Snapshot the clean slate as an orphan template branch" + }, { "epic": "walking-skeleton", "story": "01-vite-kitchen-fixture", diff --git a/docs/work/epics/platform-retrofit/09-template-snapshot/_story.md b/docs/work/epics/platform-retrofit/09-template-snapshot/_story.md new file mode 100644 index 0000000..a41835d --- /dev/null +++ b/docs/work/epics/platform-retrofit/09-template-snapshot/_story.md @@ -0,0 +1,45 @@ +--- +id: 09-template-snapshot +epic: platform-retrofit +title: Snapshot the clean slate as an orphan template branch +type: technical-story +status: todo +feature: tooling +depends-on: + [00-baseline-repair, 03-delete-demo-apps-and-features, 04-web-next-shell] +blocks: [] +created: 2026-07-12T14:55:00Z +updated: 2026-07-12T15:21:32.164Z +--- + +## Goal + +An orphan branch `template/clean-slate` exists in this repo holding a curated, product-agnostic snapshot of the post-story-04 tree — a reusable "template-vertical v2" so future projects start from a demo-free, gates-green baseline instead of repeating this epic's retrofit (founder request, 2026-07-12). + +## Why + +The retrofit surfaced defects that were template bugs, not Veect bugs (broken turbo lint graph via the demo-feature cycle, missing `@vitest/coverage-v8` in 9 packages, an L0 invocation turbo can't parse) — every future project would rediscover them. The post-story-04 tree is the maximally generic moment: demo content gone, auth-only reference feature, web-next a clean shell, all gates green including live lint — and stories 05–08 haven't yet made Veect-specific choices. An orphan branch preserves that state durably in-repo (no remote is configured; pushing it to a standalone template repo is a later founder action). + +## Done when + +- Branch `template/clean-slate` exists with a single root commit (orphan — no shared history with main) containing the curated tree. +- Veect-specifics are ABSENT from the snapshot: `docs/product/` (spec bundle + reference prototypes), ADR-027/028/029, the "Veect product domain" section of `docs/glossary.md`, `docs/work/prds/{platform-retrofit,walking-skeleton}.prd.md`, `docs/work/epics/{platform-retrofit,walking-skeleton}/`, `docs/work/archive/` (if it exists by then), and any Veect naming introduced by landed slices (grep `-i veect` on the snapshot must return only this story's provenance note). +- Generic repairs are PRESENT: coverage provider devDeps, root `test:coverage` script + corrected doc invocations, calibrated coverage excludes, live-lint fixes from story 03's final slice, the web-next shell + boot smoke from story 04, gen anchors + generators intact. +- Root-only release-please config is kept as the template default, with a note in the snapshot's README that hybrid per-feature versioning is a documented alternative (the pre-retrofit config remains greppable in main's history). +- A short `TEMPLATE.md` at the snapshot root records: provenance (source repo + main-commit SHA), what was curated out, the baseline defects fixed relative to the original template, and how to start a project from the branch. +- The snapshot tree passes the full gate set (`pnpm install && pnpm typecheck && pnpm lint && pnpm test && pnpm conformance && pnpm fallow:audit`) when checked out standalone — verified before the branch is declared done. +- Main is untouched by this story (the orphan branch is the only ref created). + +## In scope + +- Curating the tree, authoring TEMPLATE.md, creating the orphan branch, standalone gate verification. + +## Out of scope + +- Pushing to any remote / creating a separate template repository (founder action; no remote configured). +- Back-porting later Veect fixes to the template branch (one-time snapshot; refresh is a future decision). +- Renaming the root package (`template-vertical` stays — it IS the template again on this branch). + +## Tasks + +- [ ] Create orphan branch `template/clean-slate` from the post-story-04 tree: curate out the Veect-specifics listed in Done-when, keep the generic repairs, author `TEMPLATE.md` (provenance, curation list, fixed baseline defects, usage), verify the full gate set passes on a standalone checkout of the branch — one orphan commit; main untouched. diff --git a/docs/work/epics/platform-retrofit/_epic.md b/docs/work/epics/platform-retrofit/_epic.md index 68325ee..d3c0ef0 100644 --- a/docs/work/epics/platform-retrofit/_epic.md +++ b/docs/work/epics/platform-retrofit/_epic.md @@ -16,7 +16,7 @@ features: core-realtime, ] created: 2026-07-12T10:22:00Z -updated: 2026-07-12T11:16:19.512Z +updated: 2026-07-12T15:21:32.164Z --- ## Goal @@ -47,6 +47,7 @@ All other gates (`typecheck`, `test`, `conformance`, `fallow:audit`, `coverage:d - [ ] [06 — Archive the shipped template work tree](06-archive-template-work/_story.md) - [ ] [07 — Library traces for @xyflow/react and zustand](07-editor-library-traces/_story.md) - [ ] [08 — Rewrite CLAUDE.md and AGENTS.md for Veect](08-rewrite-agent-docs/_story.md) +- [ ] [09 — Snapshot the clean slate as an orphan template branch](09-template-snapshot/_story.md) _(founder request 2026-07-12)_ ## Out of scope (from PRD)