template-jj/cmd/planctl/testdata/inline-code-exclusion/tasks.md

14 lines
526 B
Markdown
Raw Permalink Normal View History

feat(planctl): end-to-end fixtures + golden-file test harness * main_test.go: TestGoldenFixtures sweeps testdata/{clean,dirty,inline-code-exclusion,multi}/**; compares stdout against expected.golden and exit against expected.exit. --update flag regenerates sidecars. Per-fixture invocation overrides via optional args.txt (with FIXTURE substitution) and cwd-rel.txt. Handles flat-layout fixtures (prd.md at class root) and multi-plan layouts (dev/plans/ subtree). * CRLF normalisation on both sides of the golden compare per design §7.4's Windows-CI contract. * Clean fixtures: simple-plan (prd+tasks), with-design-plan (prd+design+tasks, full coverage). * Dirty single-class fixtures: orphan-requirement, orphan-design, uncovered-requirement, uncovered-design, tag-syntax, tag-unclosed, ears-violation, missing-closeout-file. Each isolates one diagnostic class; ears-violation-strict and ears-violation-no-ears share the plan via args.txt overrides. * tag-unclosed-with-recovery fixture: codex R1 regression guard for design §3.3 recovery — the recovery line uniquely cites D§2.2 so broken recovery would surface as uncovered-design. * inline-code-exclusion fixture: decoys cite an undeclared R9.9 so any masking leak would trip orphan-requirement. * Multi-plan fixtures: case-c (repo root with dev/plans/{alpha,beta, archive/retired}/, Case C upward walk + archive skip); case-b (deeply-nested cwd inside a plan dir, Case B resolution). * Perf fixture testdata/perf/big-plan/ — synthetic 5-file plan (~90 KB) with 36 R-ids, 18 D§ sections, 72 tasks (all covered). Parent 8 wires Benchmark_Lint_BigPlan. Parent task 7.0 from dev/plans/26172-planctl/tasks.md. Codex code-review session: 019db2ed-d621-7bc0-90f2-05feb5e2fe50 (2 rounds).
2026-04-21 19:36:24 -06:00
# Tasks — inline-code-exclusion fixture
Tag-like tokens inside inline code or fenced blocks must NOT extract per
R1.5. The decoy tags below cite R9.9, which is NOT declared in prd.md —
so if masking breaks and a decoy is extracted, cross-reference would
emit an `orphan-requirement` diagnostic and this test would fail. The
real task-line tag covers R1.1 cleanly.
- [ ] 1.0 The tag `_Requirements: R9.9_` inside backticks must not extract. _Requirements: R1.1_
```
- [ ] 2.0 Decoy inside fence _Requirements: R9.9_
```