The hazard
The agy-backed gemini consult lane, when the CLI is missing / unauthenticated / timed out, writes a skip artifact with VERDICT: COMMENT. Porch's parseVerdict treats COMMENT as an approving verdict (allApprove), so a lane that never ran counts as a passing third reviewer. Additionally, parseVerdict's no-verdict fallback returns COMMENT, so any lane emitting unparseable output (off-task, garbage, template echo) is silently recorded as approval too.
Observed downstream (entriq issue #2467, spec 2458): a 3-way consult silently degraded to 2-way with a fake third verdict; the skipped lane, when re-run manually via a working CLI, returned REQUEST_CHANGES with the single most serious finding of the round on a money-critical spec. The stub would have passed it through the gate.
Expected
A skip is the ABSENCE of a review. It should be non-blocking for phase progression (the Spec 778 guarantee stands — remaining reviewers carry the phase), but must never count as an approving reviewer, must be visibly disclosed at the gate ("reduced coverage"), and an all-lanes-skipped round must not pass on zero evidence.
The hazard
The agy-backed gemini consult lane, when the CLI is missing / unauthenticated / timed out, writes a skip artifact with
VERDICT: COMMENT. Porch'sparseVerdicttreats COMMENT as an approving verdict (allApprove), so a lane that never ran counts as a passing third reviewer. Additionally,parseVerdict's no-verdict fallback returns COMMENT, so any lane emitting unparseable output (off-task, garbage, template echo) is silently recorded as approval too.Observed downstream (entriq issue #2467, spec 2458): a 3-way consult silently degraded to 2-way with a fake third verdict; the skipped lane, when re-run manually via a working CLI, returned REQUEST_CHANGES with the single most serious finding of the round on a money-critical spec. The stub would have passed it through the gate.
Expected
A skip is the ABSENCE of a review. It should be non-blocking for phase progression (the Spec 778 guarantee stands — remaining reviewers carry the phase), but must never count as an approving reviewer, must be visibly disclosed at the gate ("reduced coverage"), and an all-lanes-skipped round must not pass on zero evidence.