BOHICA-LABS / BOHICA-LABS/vsdd-factory

enhancement(phase-1d): document relaxed-convergence alternative path with known-issues sign-off

Open
#217 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

The orchestrator's Phase 1d convergence policy is documented as: "always 3 clean passes minimum" (where "clean" = 0 critical + 0 high findings). This presumes the spec corpus has bounded latent drift — that with enough passes and remediation, eventually three consecutive passes will produce zero criticals + zero highs.

Empirically, for moderately-sized spec packages (200+ files), this is not achievable in finite time. Each fresh-context adversarial pass attacks a different region of the spec and finds genuinely-novel content defects, even after lint coverage closes the recurring drift classes.

Observed trajectory from the ftc-blue Phase 1d cycle (5 passes this session, never converged):

```
Pass Total c+h
5 11 4
6 16 5
7 19 9
8 12 5
9 15 4
```

Floor: 4 critical+high. Never reached 0. Trajectory non-monotonic. The adversary's own "Novelty Assessment" was MEDIUM-HIGH every pass — fresh content drift was real, not retreading.

The current policy provides no graceful exit. The orchestrator can keep dispatching passes indefinitely, accumulating token cost without convergence, and there is no documented criterion for "good enough."

## Proposed change

Document an explicit "relaxed convergence" alternative path in the orchestrator's Phase 1d policy:

**Strict convergence (current)**: 3 consecutive clean passes (0c/0h) required before human gate.

**Relaxed convergence (new)**: After N consecutive non-converging passes (e.g., N=2) with c+h ≤ K (e.g., K=5), the orchestrator may propose:

1. An enumerated known-issues list (the remaining c+h findings).
2. A proposed routing of those findings to Phase 2/3 (fix-as-discovered during story decomposition or implementation).
3. A human gate sign-off where the human accepts the relaxed convergence terms in exchange for proceeding.

The relaxed-convergence path is opt-in: the human chooses to accept it via the gate review questions. It's not an automatic fallback.

The orchestrator's gate-review skill should generate the known-issues table automatically from the most recent adversary report, with severity, route, proposed phase, and one-line summary per finding.

## Applies to

- `agents/orchestrator/AGENTS.md` — Phase 1d convergence policy
- `agents/orchestrator/orchestrator.md` — gate review questions for Phase 1d
- `skills/phase-1d-adversarial-spec-review/SKILL.md` — exit criteria
- `templates/known-issues-list-template.md` (new)

## Acceptance criteria

- [ ] AGENTS.md documents both convergence paths with criteria
- [ ] Gate review presents both options to the human at the appropriate pass-count threshold
- [ ] Known-issues table template is canonical and automated from adversary reports
- [ ] Phase 2/3 workflows include a "consult Phase 1d known-issues list" step for fix-as-discovered work

## Found during

ftc-blue Phase 1d adversarial cycle (2026-06-23, vsdd-factory@1.0.0-rc.21). 5 passes this session, never converged, c+h floor of 4. The cycle could theoretically continue indefinitely; the strict convergence definition provided no graceful exit.

## Notes

This isn't about "lowering the bar" — it's about acknowledging that fresh-context AI review on a 200-file spec corpus is fundamentally different from a finite linting pass. The strict rule was likely designed for smaller scopes. Documenting the relaxed alternative makes the trade-off explicit and consensual.

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.