CI: three-valued verdicts, so the gate stops lying in both directions
Jesse Daniel Brown+1: Claude Opus 5 (1M context)
d2e2a5c
Two faults, both found by this gate behaving the way AGENT-DISCIPLINE.md
section 12 says a gate must not:
1. clippy reported failure on a repo with no crate at the root. A repo
that cannot be measured is NOT_MEASURED, not broken.
2. the float grep printed "OK: zero float types" when src/ did not
exist -- a pass declared after scanning zero files. It could not
fail, so it proved nothing.
Now every check emits MEASURED_PASS / MEASURED_FAIL / NOT_MEASURED with
a mandatory reason, the float step reports how many files it scanned,
and the final gate goes red only on MEASURED_FAIL.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CI: three-valued verdicts, so the gate stops lying in both directions
Jesse Daniel Brown+1: Claude Opus 5 (1M context)
0a099ec
Two faults, both found by this gate behaving the way AGENT-DISCIPLINE.md
section 12 says a gate must not:
1. clippy reported failure on a repo with no crate at the root. A repo
that cannot be measured is NOT_MEASURED, not broken.
2. the float grep printed "OK: zero float types" when src/ did not
exist -- a pass declared after scanning zero files. It could not
fail, so it proved nothing.
Now every check emits MEASURED_PASS / MEASURED_FAIL / NOT_MEASURED with
a mandatory reason, the float step reports how many files it scanned,
and the final gate goes red only on MEASURED_FAIL.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CI: three-valued verdicts, so the gate stops lying in both directions
Jesse Daniel Brown+1: Claude Opus 5 (1M context)
7137b49
Two faults, both found by this gate behaving the way AGENT-DISCIPLINE.md
section 12 says a gate must not:
1. clippy reported failure on a repo with no crate at the root. A repo
that cannot be measured is NOT_MEASURED, not broken.
2. the float grep printed "OK: zero float types" when src/ did not
exist -- a pass declared after scanning zero files. It could not
fail, so it proved nothing.
Now every check emits MEASURED_PASS / MEASURED_FAIL / NOT_MEASURED with
a mandatory reason, the float step reports how many files it scanned,
and the final gate goes red only on MEASURED_FAIL.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Pin channel 1.81.0 with clippy+rustfmt, rust-version = "1.81", and CI that
runs clippy --all-targets -- -D warnings plus a grep that hard-fails on any
f32/f64. Nothing was pinned before this: no rust-toolchain.toml existed
anywhere in the corpus and 32 different Rust versions were in circulation.
Receipt lines recording past runs above 1.81 are deliberately NOT rewritten
here -- editing a line that records a run would make the receipt false.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>