@@ -29,6 +29,20 @@ forge verify --deep # multi-lens consensus — several independent checks
2929 independent verification lenses, not just one.
3030</Note >
3131
32+ ` forge verify --deep ` reports a four-state ` status ` , not a binary pass/fail:
33+
34+ - ` PASS ` — every lens agreed ** and** the core ` forge verify ` tests status is also
35+ ` PASS ` . Only this state counts as verified.
36+ - ` FAIL ` — at least one lens reported a real failure.
37+ - ` INCOMPLETE ` — a lens could not finish (timeout, crash, missing dependency). Nothing
38+ was disproven, but nothing was proven either.
39+ - ` NOT_CONFIGURED ` — no lenses are wired up for this repo, so ` --deep ` had nothing to
40+ check.
41+
42+ The ` PASS ` -implies-base-` PASS ` rule is deliberate: a green deep consensus can never
43+ outrun a red base run, so ` INCOMPLETE ` or ` NOT_CONFIGURED ` on the base test lens
44+ downgrades the deep result to match.
45+
3246## The hallucinated-symbol flag — ` forge atlas has `
3347
3448` forge atlas has <symbol> ` is the hallucination check: if the model calls a symbol that
@@ -84,6 +98,28 @@ forge harden # gitleaks pre-commit + sandbox settings
8498 commit time so partial or unverified work is caught before it lands.
8599</Note >
86100
101+ ## Completion gate — test evidence required
102+
103+ The Stop-path completion gate (see
104+ [ Cross-session memory] ( /concepts/cross-session-memory ) ) no longer accepts an agent
105+ handoff as proof that code changes are done. For any session that touched source code,
106+ the gate requires ** real test evidence** :
107+
108+ - a test file changed in the session's diff, ** or**
109+ - a fresh passing ` forge verify ` recorded against the current changes.
110+
111+ A ` forge handoff ` snapshot on its own does not satisfy the gate — it records intent, not
112+ verification. If neither piece of evidence is present, the gate blocks once with a
113+ repair checklist:
114+
115+ ``` bash
116+ forge verify # produce the test evidence
117+ forge handoff " <done>" --next " <next>" # then snapshot the session
118+ ```
119+
120+ Doc-only, config-only, and other non-code sessions are unaffected — the test-evidence
121+ requirement fires only when the session's diff actually changes code.
122+
87123## UI checks — ` forge uicheck `
88124
89125Deterministic UI checks, no LLM and no screenshots for the first three lenses:
0 commit comments