CI: three-valued verdicts, so the gate stops lying in both directions
Jesse Daniel Brown+1: Claude Opus 5 (1M context)
6e8f599
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)
9847ab4
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)
cad4e2e
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"; replace
rust-1.97-independent-verification.yml with rust-1.81-clippy-verification.yml
(clippy --all-targets -D warnings, hard fail on any f32/f64, tests, receipt).
Re-run on real rustc 1.81.0 (eeb90cda1) before landing: clippy -D warnings
clean, zero float types, all tests pass. The run records in docs/ now read
1.81 because the runs were actually repeated on 1.81 - not because the lines
were edited.
Lint fix needed to reach clippy-clean on 1.81 (behaviour-preserving):
op_ref: drop the needless & on the left operand of a str/String comparison (src/lib.rs:304). 19/19 tests.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Document Path 1/Path 2 and verify Rust 1.97
Jesse Daniel Brown
Unverified signature
48d66ac
Merge the audited Path-1/Path-2 framing, DBBH→DBWH analysis, storage-backed applicability, verification receipts, and Rust 1.97 CI workflow.