BOHICA-LABS / BOHICA-LABS/vsdd-factory
process-gap(story-writer): vp_traces frontmatter claim with no body evidence — VP appears in trace list but no AC/test/prose references it
- Dominant language
- Rust
- Stars
- 2
- Forks
- 1
- Avg merge
- 6h 43m
- Merged PRs (30d)
- 29
Description
## Summary
Story frontmatter `vp_traces: [VP-NNN]` lists a VP the story ostensibly proves, but the story body contains **no reference at all** to that VP — no AC anchors it, no test name mentions it, no obligation prose describes it. The frontmatter claim is unfalsifiable from within the story.
## Concrete evidence (switchboard-blue Wave-6 Tranche B)
`S-BL.ROUTER-ADDR` rev 1.1 frontmatter listed `vp_traces: [VP-047, VP-062]`, but VP-062 appeared nowhere in the story body — no AC cited it, no test carried its name, no prose described its obligation. RULING-W6TB-K removed VP-062 from `vp_traces` at rev 1.2 because it had never been story-covered.
This is distinct from #376 (which is `sprint-state.yaml` vs `story.frontmatter` field drift) — this is `story.frontmatter` vs `story.body` intra-artifact incoherence. It's also distinct from #150 (self-containment across specs) — here the claim is inside one file and self-contradicts.
## Why existing gates miss it
- consistency-validator checks story↔VP-INDEX cross-doc coherence but not story-body evidence for a story-frontmatter claim
- spec-reviewer reads specs individually; the VP body doesn't back-reference the story until the story cites it, so there's no lever to notice absence
- adversary Ln pins VP anchoring to \"real branch coverage\" (#364) but not \"vp_traces claim ⟹ story body evidence exists\"
## Proposed remediation
consistency-validator adds a rule:
> For every VP-NNN in `story.frontmatter.vp_traces`, the story body MUST contain at least one of: (a) an AC that names VP-NNN in its trace field, (b) a test-name obligation that includes `TestVP_...` or a mapped label, or (c) prose explicitly citing VP-NNN as the property the story proves.
story-writer prompt gains an explicit step: \"when you add a VP to vp_traces, add either an AC trace or a test-name obligation in the same edit.\"
## Cross-references
- #150 — self-containment (broader family)
- #376 — sprint-state ↔ story vp_traces drift (adjacent field-sync issue)
- #364 — test-name vs assertion branch mismatch (adjacent evidence-discipline issue)
## Severity
MEDIUM. Silent overclaiming of proof coverage; erodes trust in the trace matrix at scale.
Contributor guide
Assessment
This issue has not been assessed yet.