BOHICA-LABS / BOHICA-LABS/vsdd-factory

enhancement(orchestrator): make spec-reviewer cross-eye mandatory post-spec-burst (consistency-validator alone misses critical defects)

Open
#276 1 comment 0 reactions 0 assignees View on GitHub
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

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.