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

Open
#403 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.