Codex re-review P2s on the fix wave, both verified:
- A finding AUQ rendering within TAIL_SCAN_BYTES of the gate (model waiting,
no further output) was vetoed by the blanket tail exclusion until timeout.
The veto is now ACTIVE-RENDER-aware: parseNumberedOptions anchors the last
cursor menu, so only a pending GATE menu vetoes; the judge fallback shares
the same check. Residual (documented): prose gate + prose finding inside
one tail — floors run the native-menu path in practice.
- The four demoted periodic tests are not in evals-periodic.yml's explicit
matrix (a named instance of the pre-existing periodic-orphans TODO), so
they run locally/manually until the PTY-capable periodic job lands.
CHANGELOG claim softened accordingly; TODO filed with the wiring recipe.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Review-army + adversarial findings on the scope-gate observability work,
all verified before fixing:
- Floor check: acceptance scanned the CUMULATIVE buffer while the scope-gate
exclusion scanned only the 1500-byte tail, so an early gate render satisfied
the floor vacuously once ~1.5KB of output accumulated (found independently
by 4 review passes; predicate reproduced). Acceptance now scans only content
APPENDED after the first gate render (positional anchor), and the LLM-judge
'waiting' shortcut no longer fires while the gate menu is the pending render.
- High-water flags are built once and spread at every return path — the
hand-spread pattern had already drifted (judge-waiting return omitted two
flags), which made must-stay-false asserts vacuous on those paths.
- isScopeGateAutoSelectVisible: tense-tolerant selected/selecting/selects
token (must-be-TRUE asserts shouldn't fail semantically-perfect paraphrases)
and quoted-occurrence rejection (a model verbatim-quoting the announcement
while declining must not trip must-stay-FALSE asserts). Fixtures added for
both directions.
- PlanSkillObservation outcome union gains 'wrote_findings_before_asking'
(returned at runtime via classifyVisible but missing from the type).
- trackTokens/tokensObserved: cumulative-buffer token high-water for
consumption asserts (the 2KB evidence tail is lossy and the plan-file
fallback is unreachable outside plan mode).
- New scope-gate-floor unit pins (from the ship coverage audit): both gate
render forms trip acceptance and exclusion; a genuine finding AUQ is not
excluded; tail-scoping semantics pinned.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>