BOHICA-LABS / BOHICA-LABS/vsdd-factory
enhancement(orchestrator): make spec-reviewer cross-eye mandatory post-spec-burst (consistency-validator alone misses critical defects)
- Dominant language
- Rust
- Stars
- 2
- Forks
- 1
- Avg merge
- 6h 43m
- Merged PRs (30d)
- 29
Description
## Summary
In switchboard-blue Wave 3 pre-implementation, both consistency-validator and spec-reviewer were dispatched in parallel. The spec-reviewer caught **3 CRITICAL defects** that consistency-validator did not surface at CRITICAL severity:
1. **VP-058 proof harness wouldn't compile.** The published proof skeleton called `ks.Register(svtnID, nodeAddr)` — a method that does not exist on `admission.AdmittedKeySet`. The real API requires `RegisterKey(svtnID, pubkey, role)` + `GenerateChallenge` + `AdmitNode`. consistency-validator missed this entirely; it audited cross-file traceability, not API correctness.
2. **ADR-009 had 3 internal contradictions:**
- "HMAC before admitted" sequential vs "merged into one acquisition" non-sequential — incompatible
- Function signature `verifyFrameHMAC(...) error` vs actual code's `(...) bool`
- Auth key location cited as `admitted_key_set[svtn_id][node_addr]` vs actual `Router.forwardingTable[svtnID][nodeAddr].FrameAuthKey`
consistency-validator surfaced one of these (signature) as MEDIUM, not CRITICAL.
3. **S-3.03 had hidden cross-story coupling** — its read-only enforcement ACs required touching upstream-receive code paths owned by S-3.02, but S-3.02's task list had no `Authorizer` interface hook. Would have caused undeclared file edits in the S-3.03 PR.
## Why consistency-validator missed them
consistency-validator's design lens is cross-document traceability: do BC ↔ AC ↔ test references resolve? Do file paths exist? Are version bumps consistent? These are necessary but not sufficient checks.
spec-reviewer's design lens is internal logical consistency: are the BCs testable? Do ADRs contradict themselves? Do story tasks list all the files they'll actually touch? This is the perpendicular axis.
The two are complementary but not redundant. **Running only consistency-validator at the pre-impl gate is insufficient.**
## Mitigation suggestions
- Make spec-reviewer dispatch MANDATORY before launching any story worktree post-spec-burst.
- Treat spec-reviewer's CRITICAL findings as auto-block (not just "informational").
- Document the lens difference explicitly in the orchestrator agent prompt.
## Reproduction
Switchboard-blue session `b8690230-7b5d-4e57-b71c-8b9ffeee3d9a`. Wave 3 pre-impl burst.
- consistency-validator report: `.factory/cycles/cycle-1/wave-3/pre-impl-consistency-report.md`
- spec-reviewer report: `.factory/cycles/cycle-1/wave-3/pre-impl-spec-review.md`
- 3 CRITICALs landed via fix burst at `5b60374` (PO/VP-058), `d0fa581` (architect/ADR-009), `15f944a` (story-writer/S-3.03 coupling).
## Related (this batch)
- drbothen/vsdd-factory#272 — P19: architect hallucinated internal/ packages
- drbothen/vsdd-factory#273 — P20: parallel agent burst commit co-mingling
- drbothen/vsdd-factory#274 — P21: ADR amendment + code update drift across revisions
- drbothen/vsdd-factory#275 — P22: parallel agents make contradictory architectural decisions
Contributor guide
Assessment
This issue has not been assessed yet.