docs(work): record baseline waiver, add repair story, tick task 01.1

First dispatched slice surfaced two pre-existing baseline gate failures
(turbo lint cycle via demo features; missing @vitest/coverage-v8 in 9
packages). Founder waived both with expiry conditions (lint until story
03's final deletion; L0 until new story 00 lands) — recorded in the
epic. Story 01 task 1 landed as 4d1d534, reviewer-approved.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
This commit is contained in:
2026-07-12 13:16:17 +02:00
parent 4d1d53432e
commit 1d00c23604
5 changed files with 70 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
{ {
"updated_at": "2026-07-12T10:28:27.450Z", "updated_at": "2026-07-12T11:16:19.871Z",
"epics": { "epics": {
"binder-wrap-helper": { "binder-wrap-helper": {
"status": "done", "status": "done",
@@ -542,11 +542,19 @@
"title": "Platform retrofit — repurpose template-vertical as the Veect monorepo", "title": "Platform retrofit — repurpose template-vertical as the Veect monorepo",
"prd": "docs/work/prds/platform-retrofit.prd.md", "prd": "docs/work/prds/platform-retrofit.prd.md",
"stories": { "stories": {
"00-baseline-repair": {
"status": "todo",
"title": "Baseline repair — L0 coverage tooling and documented command",
"ac_total": 1,
"ac_completed": 0,
"depends_on": [],
"blocks": []
},
"01-commit-product-docs": { "01-commit-product-docs": {
"status": "in-progress", "status": "in-progress",
"title": "Commit the product spec and design references under docs/product/", "title": "Commit the product spec and design references under docs/product/",
"ac_total": 3, "ac_total": 3,
"ac_completed": 0, "ac_completed": 1,
"depends_on": [], "depends_on": [],
"blocks": [ "blocks": [
"08-rewrite-agent-docs" "08-rewrite-agent-docs"
@@ -976,6 +984,11 @@
} }
}, },
"ready": [ "ready": [
{
"epic": "platform-retrofit",
"story": "00-baseline-repair",
"title": "Baseline repair — L0 coverage tooling and documented command"
},
{ {
"epic": "platform-retrofit", "epic": "platform-retrofit",
"story": "01-commit-product-docs", "story": "01-commit-product-docs",

View File

@@ -0,0 +1,40 @@
---
id: 00-baseline-repair
epic: platform-retrofit
title: Baseline repair — L0 coverage tooling and documented command
type: technical-story
status: todo
feature: tooling
depends-on: []
blocks: []
created: 2026-07-12T11:25:00Z
updated: 2026-07-12T11:16:19.512Z
---
## Goal
The L0 coverage layer runs clean across the whole workspace: every package that runs vitest has the `@vitest/coverage-v8` provider, and the documented full-coverage invocation actually parses (turbo requires an extra `--` to forward `--coverage` to vitest).
## Why
The first dispatched slice discovered (and the orchestrator verified) that the template snapshot's baseline is broken in two ways nobody had exercised — this repo's history is a single squashed initial commit, so CI never ran on it. This story fixes the L0 half. The other half — `pnpm lint` aborting at turbo task-graph construction on the committed `core-trpc → core-api → {blog, navigation, marketing-pages} → core-trpc` package cycle — is deliberately NOT fixed here: story 03's deletions remove the only edges that close the cycle (verified: `auth` carries no `core-trpc` dependency), so the founder-approved waiver in `_epic.md` covers `pnpm lint` until story 03's final deletion slice lands.
## Done when
- All 9 packages that previously failed the L0 run (cms, core-audit, core-cms, core-eslint, core-testing, core-trpc, turbo-generators, web-next, web-tanstack) carry `@vitest/coverage-v8` as a devDependency and their coverage run passes. (web-tanstack gets its devDep too even though story 03 deletes it — gates stay meaningful until then.)
- Every documented occurrence of the broken `pnpm test -- --coverage` form (`.sandcastle/implementer.prompt.md`, `docs/guides/coverage.md`, CLAUDE.md quick-start if present) shows the invocation turbo actually forwards.
- `pnpm typecheck && pnpm test && pnpm conformance && pnpm fallow:audit && pnpm coverage:diff` green (lint excluded per the epic's baseline waiver).
## In scope
- The `@vitest/coverage-v8` devDependency additions + lockfile update.
- Correcting the documented L0 invocation everywhere it appears in repo docs/prompts.
## Out of scope
- Breaking the `core-trpc → core-api` package cycle (resolved structurally by story 03's deletions; waiver until then).
- Any coverage-threshold or manifest band changes.
## Tasks
- [ ] Add `@vitest/coverage-v8` to the 9 packages missing it (cms, core-audit, core-cms, core-eslint, core-testing, core-trpc, turbo-generators, web-next, web-tanstack), update the lockfile, and correct the documented L0 invocation in `.sandcastle/implementer.prompt.md` + `docs/guides/coverage.md` (+ CLAUDE.md if it repeats the broken form) — one commit; the full L0 run passes across all coverage-capable packages.

View File

@@ -8,6 +8,7 @@ feature: docs
depends-on: [] depends-on: []
blocks: [08-rewrite-agent-docs] blocks: [08-rewrite-agent-docs]
created: 2026-07-12T10:22:00Z created: 2026-07-12T10:22:00Z
updated: 2026-07-12T11:16:19.512Z
--- ---
## Goal ## Goal
@@ -43,6 +44,6 @@ Sandcastle implementers run in git worktrees, which contain only committed files
## Tasks ## Tasks
- [ ] Migrate the spec bundle `.proto/veect-product-docs/``docs/product/` (top level, filenames preserved) and delete the stray `veect-product-docs.zip` at the repo root — spec docs committed and greppable; all gates pass on this commit. - [x] Migrate the spec bundle `.proto/veect-product-docs/``docs/product/` (top level, filenames preserved) and delete the stray `veect-product-docs.zip` at the repo root — spec docs committed and greppable; all gates pass on this commit. _(landed 4d1d534, reviewer-approved; zip was already absent — verified no-op; gates green under the epic's baseline waiver)_
- [ ] Migrate the design references from `.proto/design/``docs/product/reference/` (HTML prototypes as-is, `veect-codebase/` prototype, upload PNGs and remaining bundle files), add `docs/product/reference/` to the fallow/lint ignore lists so whole-codebase auditors skip reference material, and delete the emptied `.proto/` — one commit, all gates pass. - [ ] Migrate the design references from `.proto/design/``docs/product/reference/` (HTML prototypes as-is, `veect-codebase/` prototype, upload PNGs and remaining bundle files), add `docs/product/reference/` to the fallow/lint ignore lists so whole-codebase auditors skip reference material, and delete the emptied `.proto/` — one commit, all gates pass.
- [ ] Amend `docs/product/README.md`: prepend a short "Repo supersessions" section linking ADR-027/028/029 and add the `Veect.dc.html` ground-truth row to the authority table (ADR-029 §5) — one commit, all gates pass. - [ ] Amend `docs/product/README.md`: prepend a short "Repo supersessions" section linking ADR-027/028/029 and add the `Veect.dc.html` ground-truth row to the authority table (ADR-029 §5) — one commit, all gates pass.

View File

@@ -8,6 +8,7 @@ feature: web-tanstack, blog, media, marketing-pages, navigation
depends-on: [02-single-version-release-please] depends-on: [02-single-version-release-please]
blocks: [04-web-next-shell, 08-rewrite-agent-docs] blocks: [04-web-next-shell, 08-rewrite-agent-docs]
created: 2026-07-12T10:22:00Z created: 2026-07-12T10:22:00Z
updated: 2026-07-12T11:16:19.512Z
--- ---
## Goal ## Goal
@@ -25,7 +26,7 @@ The demo content blocks the package map: the Veect features (workspaces, project
- `docs/glossary.md` Packages-section terms describing each deleted feature were pruned in the same slice that deleted the feature (no orphaned glossary terms); `auth` entries stay. - `docs/glossary.md` Packages-section terms describing each deleted feature were pruned in the same slice that deleted the feature (no orphaned glossary terms); `auth` entries stay.
- The `auth` feature's manifest, tests, and coverage bands are untouched (regression canary — ADR-027 §4). - The `auth` feature's manifest, tests, and coverage bands are untouched (regression canary — ADR-027 §4).
- ESLint/turbo boundary configs and the generators survived the deletions (spot-check: `pnpm turbo gen feature` still scaffolds; any config a deletion breaks is fixed inside that same slice). - ESLint/turbo boundary configs and the generators survived the deletions (spot-check: `pnpm turbo gen feature` still scaffolds; any config a deletion breaks is fixed inside that same slice).
- `pnpm typecheck && pnpm lint && pnpm test && pnpm conformance && pnpm fallow:audit && pnpm coverage:diff` pass on EVERY slice — no big-bang broken middle. - `pnpm typecheck && pnpm lint && pnpm test && pnpm conformance && pnpm fallow:audit && pnpm coverage:diff` pass on EVERY slice — no big-bang broken middle. (Exception per the epic's baseline waiver: `pnpm lint` is waived UNTIL the final deletion slice of this story — deleting blog/navigation/marketing-pages removes the only edges closing the `core-trpc → core-api` package cycle, so the final deletion slice and everything after MUST pass `pnpm lint`.)
## In scope ## In scope

View File

@@ -16,6 +16,7 @@ features:
core-realtime, core-realtime,
] ]
created: 2026-07-12T10:22:00Z created: 2026-07-12T10:22:00Z
updated: 2026-07-12T11:16:19.512Z
--- ---
## Goal ## Goal
@@ -26,8 +27,18 @@ Turn the `template-vertical` starter into a clean, truthful Veect monorepo: comm
Three concrete pains (PRD): dispatch agents in worktrees cannot read the untracked `.proto/` spec bundle; `pnpm work status`, CLAUDE.md/AGENTS.md, and release-please all describe a blog/CMS starter that no longer reflects the product; and the demo features occupy the workspace, router/CMS composition, and versioning config that the Veect features (workspaces, projects, design-doc, discovery, ai) need. ADR-027/028/029 are the decision baseline; this epic implements their repo-level consequences only. Three concrete pains (PRD): dispatch agents in worktrees cannot read the untracked `.proto/` spec bundle; `pnpm work status`, CLAUDE.md/AGENTS.md, and release-please all describe a blog/CMS starter that no longer reflects the product; and the demo features occupy the workspace, router/CMS composition, and versioning config that the Veect features (workspaces, projects, design-doc, discovery, ai) need. ADR-027/028/029 are the decision baseline; this epic implements their repo-level consequences only.
## Baseline gate waiver (founder-approved 2026-07-12)
The template snapshot's baseline (single squashed initial commit — CI never ran on it) is broken in two ways discovered by the first dispatched slice and verified by the orchestrator:
1. **`pnpm lint` aborts at turbo task-graph construction** — committed package cycle `core-trpc → core-api → {blog, navigation, marketing-pages} → core-trpc` with `lint.dependsOn: ["^lint"]`. No ESLint rule ever runs. **Waived for this epic's commits until story 03's final deletion slice lands** — deleting the three demo features removes the only edges closing the cycle (`auth` has no `core-trpc` dependency), so the waiver expires there and `pnpm lint` becomes mandatory again.
2. **The L0 full-coverage run fails** — 9 packages lack `@vitest/coverage-v8`, and the documented invocation doesn't parse under turbo. **Waived until story 00 lands** (the repair story).
All other gates (`typecheck`, `test`, `conformance`, `fallow:audit`, `coverage:diff`, `coverage:aggregate`) remain mandatory on every slice — no exceptions.
## Stories ## Stories
- [ ] [00 — Baseline repair: L0 coverage tooling and documented command](00-baseline-repair/_story.md)
- [ ] [01 — Commit the product spec and design references under docs/product/](01-commit-product-docs/_story.md) - [ ] [01 — Commit the product spec and design references under docs/product/](01-commit-product-docs/_story.md)
- [ ] [02 — Rewrite release-please to a single root product version](02-single-version-release-please/_story.md) - [ ] [02 — Rewrite release-please to a single root product version](02-single-version-release-please/_story.md)
- [ ] [03 — Delete web-tanstack and the four demo content features](03-delete-demo-apps-and-features/_story.md) - [ ] [03 — Delete web-tanstack and the four demo content features](03-delete-demo-apps-and-features/_story.md)