bigpowers / rules
danielvm-git/bigpowers/.cursor/rules/trace-requirement.mdc
Link story IDs from specs/release-plan.yaml + epic capsule directories to the implementing code and tests. Produces specs/TRACEABILITY_LATEST.md. Use when you want to verify coverage of a release plan, audit which stories are implemented, or find \"dark\" stories with no code.
Cursor rule240 starsChanged 30 days ago
--- description: "Link story IDs from specs/release-plan.yaml + epic capsule directories to the implementing code and tests. Produces specs/TRACEABILITY_LATEST.md. Use when you want to verify coverage of a release plan, audit which stories are implemented, or find \"dark\" stories with no code." alwaysApply: false --- # Trace Requirement Build a traceability matrix from `specs/release-plan.yaml + epic capsule directories` to implementing code and tests. Surfaces gaps in both directions: stories with no code, and code with no story. ## Pre-flight > **HARD GATE** — `specs/release-plan.yaml + epic capsule directories` must exist. If it doesn't, run `plan-release` first. → verify: `test -f specs/release-plan.yaml && test -d specs/epics` Read `specs/release-plan.yaml + epic capsule directories` fully before proceeding. ## Process ### 1. Extract story IDs From release-plan.yaml, collect all story IDs (e.g. `1.1`, `1.2`, `2.1`). → verify: `grep -rho 'e[0-9]\+s[0-9]\+' specs/release-plan.yaml specs/epics/*/epic.yaml 2>/dev/null | sort -u | head -1 | grep -q .` ### 2. Search for story tags in code Look for `// story: X.Y` or `# story: X.Y` comments in source files and tests: ``` grep -rn "story: " . --include="*.ts" --include="*.js" --include="*.py" --include="*.sh" | grep -v node_modules ``` → verify: `[ "$(grep -rl "story: " . --include="*.ts" --include="*.sh" --include="*.py" 2>/dev/null | wc -l | tr -d " ")" -gt 0 ]` ### 3. Build the matrix For each story ID: - **Implemented**: list files that contain `// story: X.Y` - **Tested**: list test files that contain `// story: X.Y` - **Dark**: story has no tag in any file — flag as unimplemented For each tagged file with no matching story ID in release-plan.yaml: - **Orphan**: code exists but story was removed or never planned — flag for cleanup ### 4. Write specs/TRACEABILITY_LATEST.md ``` ## Story Coverage | Story | Title | Files | Tests | Status | |-------|--------------------|-------|-------|-----------| | 1.1 | [title] | 2 | 1 | Covered | | 1.2 | [title] | 0 | 0 | Dark | ## Orphan Code (no story tag) - [file]: contains untagged implementation ## Gaps (dark stories) - Story 1.2: no implementation found → run plan-work ## Coverage summary Stories: [X] covered / [Y] dark / [Z] total ``` → verify: `grep -c "Covered\|Dark" specs/TRACEABILITY_LATEST.md` Suggest `plan-work` for each dark story found.
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

