fix(ci): keep one cargo-audit suppression, and record v0.2.1 as live #17
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/one-audit-suppression"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two things, both measured rather than reasoned about.
One cargo-audit suppression, in the file
cargo auditran with--ignore RUSTSEC-2026-0194 --ignore RUSTSEC-2026-0195while.cargo/audit.tomllisted the same two. Those copies were not redundant:--ignoreappends to the configured ignore list rather than being read from it, so the flags
suppressed the advisories whatever the file said.
Measured 2026-08-26 by emptying the file's
ignorelist:cargo audit --ignore RUSTSEC-2026-0194 --ignore RUSTSEC-2026-0195(the old line)cargo audit(the new line)1 vulnerability found!So deleting the documented, commented, reviewable entry from
.cargo/audit.tomlwouldhave changed nothing anyone could observe, and the next
quick-xmlbump would have kept alive advisory suppressed with no way to tell. A suppression that two places grant is a
suppression neither place can remove.
Verified by removal in the new arrangement: dropping
RUSTSEC-2026-0194alone from.cargo/audit.tomltakescargo auditfrom exit 0 to exit 1 onRUSTSEC-2026-0194 quick-xml — Quadratic run time when checking a start tag for duplicate attribute names (7.5 high). Restored, exit 0.The advisory set CI accepts is unchanged. Confirmed by cross-engine review (Codex,
read-only) against cargo-audit's config discovery: the step has no
working-directory,so it runs at the checkout root; discovery constructs and tests
./.cargo/audit.tomlbefore consulting Cargo home, so
CARGO_HOMEcannot divert it.The second commit is Codex's one finding: the cargo-audit binary is restored from cache
and only built when absent, so a green audit never recorded which version produced it.
Now printed.
Pitfall added to
AGENTS.md.docs/release-evidence.md described a release that is no longer live
It said v0.2.0 and carried the v0.2.0 digest. Production has run v0.2.1 since 2026-08-25.
Verified 2026-08-26:
/healthreports version0.2.1, four templates,1/1Ready, zero restartsappcontainer runssha256:0b3da4c968bd91f470fd74f2225682da3b922845d6fa2dc91bb844f5bad216cbv0.2.1andlatestto that same digest75e84c08f09a9d45b98f5a6dc01aaa94529f469fTwo things changed beyond the numbers:
instead of being restated as current. The 279-test figure and the v0.2.0 soak's RSS
numbers were measured on 2026-08-22/23 and have not been re-run; saying so is the
difference between evidence and a copied paragraph.
at the allowlist read off the container environment rather than an in-repo copy. It
includes the four near-misses it refuses (
127.0.0.1forlocalhost, a wrong path,httpsagainst anhttpentry, a non-loopback host), because three acceptances alonewould also be produced by a matcher that accepts everything.
The note about reading the digest from the
appcontainer is there because the obviousquery — selecting a container named
typst-mcp— prints a pod name and an empty fieldrather than an error, which is invisible in a terminal. It cost me one wrong reading.
Not in this PR
No Rust changes. The full local gate has
cargo fmt --all --checkand clippy green;cargo testhas two failures on this machine(
a_runaway_document_times_out_and_the_server_keeps_serving,the_big_five_exercises_five_uploaded_jpegs_end_to_end), both wall-clock assertionsagainst a 3 s and a 30 s compile deadline, taken while the load average was 964 on 16
cores from a concurrent Xcode build and a running simulator. The diff touches no Rust, and
Forge run 76 was green on this commit's parent earlier today. CI on this branch is the
gate, not my local run.