Summary
ADR 0003 says a guard earns default-on by measured precision, and until #3750 the only instrument was a manual corpus sweep. The per-session hook event log now records every guard fire (source: "envelope", status: "blocked", subject) beside every event that did not fire, so precision can be graded from real sessions: blocked-versus-fired per guard, with the subject of each block available for a true/false-positive verdict.
The operator's original ask (2026-09-04) was to "unhobble" guards and instructions that were in place for older models and no longer apply. The pipeline is the instrument; the verdicts are not yet taken. The one guard with evidence already, block-hook-bypass (zero true positives in four fires across three sessions), is owned by the PreToolUse lane and tracked in #3721; this issue is the fleet-wide pass over the rest.
Fix
- Turn
session_event_log_enabled on in the operator's own sessions for two to four weeks (the switch stays off by default for consumers).
- From the session files, per guard: fires, blocks, and the operator's verdict on each block's
subject (true positive, false positive, scope error).
- Apply ADR 0003's clauses: a guard at zero true positives is withdrawn from default-on scope and re-filed for rescoping (clause 4), one whose oracle is wrong is deleted, one with sound precision stays. Each disposition is its own PR with the numbers in the body.
Acceptance
- A findings table (guard, sessions observed, fires, blocks, true positives, disposition) attached to this issue.
- One PR or closing note per guard with a non-"keep" disposition.
Related
Summary
ADR 0003 says a guard earns default-on by measured precision, and until #3750 the only instrument was a manual corpus sweep. The per-session hook event log now records every guard fire (
source: "envelope",status: "blocked",subject) beside every event that did not fire, so precision can be graded from real sessions: blocked-versus-fired per guard, with thesubjectof each block available for a true/false-positive verdict.The operator's original ask (2026-09-04) was to "unhobble" guards and instructions that were in place for older models and no longer apply. The pipeline is the instrument; the verdicts are not yet taken. The one guard with evidence already,
block-hook-bypass(zero true positives in four fires across three sessions), is owned by the PreToolUse lane and tracked in #3721; this issue is the fleet-wide pass over the rest.Fix
session_event_log_enabledon in the operator's own sessions for two to four weeks (the switch stays off by default for consumers).subject(true positive, false positive, scope error).Acceptance
Related
docs/adr/0003-verification-guards-earn-default-on-by-measured-precision.md.