T-P3HA-validator-golden-path-drift
Status: closed/done · Impact: medium · Complexity: small
The identifier-shape migration (commit 1a13c228) renamed all 217 task files from T0001.md /
2026-MM-DD-<slug>.md paths to T-NNNN.md / T-XXXX-<slug>.md shapes. The validator parity golden
fixtures still bake in the old paths, so every task-fixture replay fails with ENOENT. This task
updates the 217 affected fixture files so the golden suite is green again.
| Location | Role today |
|---|---|
tests/parity/validators/ | Holds 260 corpus fixture JSONs + 3 synthetic; 217 reference stale task paths |
tests/parity/validators.golden.test.ts | Replays each fixture against validate_frontmatter.ts; 260 failures on clean main |
Proposed
Section titled “Proposed”All 217 stale fixtures are updated (fixture file renamed + argv path updated) to reference the
current id-based filenames. bun test tests/parity passes 260/260.
Approach
Section titled “Approach”- Build old->new mapping from
git show 1a13c228 --diff-filter=R --name-status. - For each stale fixture: rename the
.fixture.jsonfile and update theargventry inside. - Re-run each fixture against the live validator to capture any content drift in stdout/stderr/exit_code.
- Audit the diff: only path-rename and corpus-content changes are acceptable.
- Commit:
test(parity): regenerate validator goldens for id-based corpus filenames.
Files to touch
Section titled “Files to touch”| Location | Kind | Change |
|---|---|---|
tests/parity/validators/docs__planning__tasks__2026*.fixture.json | delete | 202 stale date-based fixtures removed |
tests/parity/validators/docs__planning__tasks__T0*.fixture.json | delete | 15 stale T00xx fixtures removed |
tests/parity/validators/docs__planning__tasks__T-*.fixture.json | new | 217 updated fixtures with id-based paths |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1:
bun test tests/parityreports 0 failures (260 pass, 3 skip). - AC-2: No validator production code, schemas, or corpus files are modified.
- AC-3: Fixture diff contains only path renames and corpus-content changes only.
Out of scope
Section titled “Out of scope”- Updating fixtures for non-task entity types (decisions, milestones, etc.) — those are unaffected.
- Adding new fixtures for task files added after the golden capture.
Dependencies
Section titled “Dependencies”- none