diff --git a/docs/work/_state.json b/docs/work/_state.json index e74ddfa..bfe0403 100644 --- a/docs/work/_state.json +++ b/docs/work/_state.json @@ -1,5 +1,5 @@ { - "updated_at": "2026-05-13T06:32:59.719Z", + "updated_at": "2026-05-13T06:47:32.677Z", "epics": { "agent-workflow-docs-v1": { "status": "done", @@ -202,6 +202,56 @@ } } }, + "fallow-integration-v1": { + "status": "in-progress", + "title": "Fallow integration v1 — whole-codebase static analysis as 5th gate", + "stories": { + "01-fallow-install": { + "status": "in-progress", + "title": "Install fallow + create .fallowrc.json", + "ac_total": 4, + "ac_completed": 0, + "depends_on": [], + "blocks": [ + "02-pnpm-turbo-wiring" + ] + }, + "02-pnpm-turbo-wiring": { + "status": "todo", + "title": "pnpm script + turbo task wiring", + "ac_total": 4, + "ac_completed": 0, + "depends_on": [ + "01-fallow-install" + ], + "blocks": [ + "03-ci-integration" + ] + }, + "03-ci-integration": { + "status": "todo", + "title": "CI workflow runs pnpm fallow", + "ac_total": 2, + "ac_completed": 0, + "depends_on": [ + "02-pnpm-turbo-wiring" + ], + "blocks": [ + "04-docs-and-prompts" + ] + }, + "04-docs-and-prompts": { + "status": "todo", + "title": "Docs + agent prompt updates", + "ac_total": 5, + "ac_completed": 0, + "depends_on": [ + "03-ci-integration" + ], + "blocks": [] + } + } + }, "frontend-conformance-v1": { "status": "done", "title": "Frontend conformance rules v1", @@ -359,6 +409,37 @@ } } }, - "ready": [], - "blocked": [] + "ready": [ + { + "epic": "fallow-integration-v1", + "story": "01-fallow-install", + "title": "Install fallow + create .fallowrc.json" + } + ], + "blocked": [ + { + "epic": "fallow-integration-v1", + "story": "02-pnpm-turbo-wiring", + "title": "pnpm script + turbo task wiring", + "waiting_on": [ + "fallow-integration-v1/01-fallow-install" + ] + }, + { + "epic": "fallow-integration-v1", + "story": "03-ci-integration", + "title": "CI workflow runs pnpm fallow", + "waiting_on": [ + "fallow-integration-v1/02-pnpm-turbo-wiring" + ] + }, + { + "epic": "fallow-integration-v1", + "story": "04-docs-and-prompts", + "title": "Docs + agent prompt updates", + "waiting_on": [ + "fallow-integration-v1/03-ci-integration" + ] + } + ] } diff --git a/docs/work/fallow-integration-v1/01-fallow-install/_story.md b/docs/work/fallow-integration-v1/01-fallow-install/_story.md new file mode 100644 index 0000000..a69c9e9 --- /dev/null +++ b/docs/work/fallow-integration-v1/01-fallow-install/_story.md @@ -0,0 +1,17 @@ +--- +id: 01-fallow-install +epic: fallow-integration-v1 +title: Install fallow + create .fallowrc.json +type: technical-story +status: in-progress +feature: tooling +depends-on: [] +blocks: [02-pnpm-turbo-wiring] +--- + +## Tasks + +- [ ] Story scaffold +- [ ] Add fallow to root devDependencies +- [ ] Create .fallowrc.json with monorepo-aware config +- [ ] Verify `pnpm exec fallow --version` works diff --git a/docs/work/fallow-integration-v1/02-pnpm-turbo-wiring/_story.md b/docs/work/fallow-integration-v1/02-pnpm-turbo-wiring/_story.md new file mode 100644 index 0000000..3016153 --- /dev/null +++ b/docs/work/fallow-integration-v1/02-pnpm-turbo-wiring/_story.md @@ -0,0 +1,17 @@ +--- +id: 02-pnpm-turbo-wiring +epic: fallow-integration-v1 +title: pnpm script + turbo task wiring +type: technical-story +status: todo +feature: tooling +depends-on: [01-fallow-install] +blocks: [03-ci-integration] +--- + +## Tasks + +- [ ] pnpm fallow script (runs all) +- [ ] pnpm fallow:audit script (runs `fallow audit --base main`) +- [ ] turbo.json task entry for fallow +- [ ] Run `pnpm fallow` against current repo, capture findings, tune config diff --git a/docs/work/fallow-integration-v1/03-ci-integration/_story.md b/docs/work/fallow-integration-v1/03-ci-integration/_story.md new file mode 100644 index 0000000..631fcc5 --- /dev/null +++ b/docs/work/fallow-integration-v1/03-ci-integration/_story.md @@ -0,0 +1,15 @@ +--- +id: 03-ci-integration +epic: fallow-integration-v1 +title: CI workflow runs pnpm fallow +type: technical-story +status: todo +feature: ci +depends-on: [02-pnpm-turbo-wiring] +blocks: [04-docs-and-prompts] +--- + +## Tasks + +- [ ] Add `pnpm fallow` step after `pnpm conformance` in ci.yml +- [ ] Use --format annotations for inline GH PR comments diff --git a/docs/work/fallow-integration-v1/04-docs-and-prompts/_story.md b/docs/work/fallow-integration-v1/04-docs-and-prompts/_story.md new file mode 100644 index 0000000..7cd200b --- /dev/null +++ b/docs/work/fallow-integration-v1/04-docs-and-prompts/_story.md @@ -0,0 +1,18 @@ +--- +id: 04-docs-and-prompts +epic: fallow-integration-v1 +title: Docs + agent prompt updates +type: technical-story +status: todo +feature: agent-prompts +depends-on: [03-ci-integration] +blocks: [] +--- + +## Tasks + +- [ ] Update CLAUDE.md conformance-system section to list Fallow as 5th gate +- [ ] Update docs/guides/conformance-quickref.md with Fallow row +- [ ] Update .sandcastle/implementer.prompt.md: run `fallow audit` before commit +- [ ] Update .sandcastle/reviewer.prompt.md: verify implementer ran fallow audit +- [ ] Final verification + closeout diff --git a/docs/work/fallow-integration-v1/_epic.md b/docs/work/fallow-integration-v1/_epic.md new file mode 100644 index 0000000..65c68f7 --- /dev/null +++ b/docs/work/fallow-integration-v1/_epic.md @@ -0,0 +1,28 @@ +--- +id: fallow-integration-v1 +prd: null +title: Fallow integration v1 — whole-codebase static analysis as 5th gate +type: epic +status: in-progress +features: [tooling, ci, agent-prompts] +created: 2026-05-13 +--- + +## Goal + +Wire Fallow as the 5th conformance gate: install, configure, pnpm script, +turbo task, CI step, docs update, agent prompt update. + +## Why + +Fallow catches what file-local lint, type-check, manifest assertions, and +conformance event closure cannot — dead code, dupes, circular deps, +complexity hotspots, and AI-change drift. `fallow audit --base main` is +purpose-built for AI agents to self-validate before submission. + +## Stories + +- [ ] [01 — Install fallow + .fallowrc.json](01-fallow-install/_story.md) +- [ ] [02 — pnpm + turbo wiring](02-pnpm-turbo-wiring/_story.md) +- [ ] [03 — CI workflow integration](03-ci-integration/_story.md) +- [ ] [04 — Docs + agent prompt updates](04-docs-and-prompts/_story.md)