Repository navigation
fix(deps): bump quinn-proto 0.11.15 → 0.11.19 (RUSTSEC-2026-0338..0342) [stack 1/3] - #432
Conversation
cargo audit (rust-ci and cargo-audit.yml) fails on main since the RustSec database gained five quinn-proto advisories (two rated 7.5): stream-reassembly and DATAGRAM buffer-limit bypasses, unbounded CID retirements, and two remote panics. quinn-proto is reached only through reqwest -> quinn 0.11.9 (an optional HTTP/3 path), but the audit scans the whole lockfile. quinn requires ^0.11.12, so this is a lockfile-only, semver-compatible bump; rand 0.10 / getrandom 0.4 / rand_pcg enter quinn-proto's subtree only. Validated: cargo audit -> no vulnerabilities (490 crates); cargo check --locked --workspace --all-targets (echidna-rest excluded locally: its build script downloads Swagger UI); cargo metadata --locked over the full workspace. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters: 1
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
CI: this PR's fix works. The one red check, Generated by Claude Code |
|
No fix exists on our side. Codeac is a third-party commit status, and I can't re-run it from this session. Re-triggering it from the Codeac dashboard is the only lever. I'm keeping the PR watched. Generated by Claude Code |
…ot paths, baseline → JCS [stack 2/3] (#433) ## Summary Stack 2 of 3. It sits on #432, so its diff is commits `96e919c` and `0850e4a`. It fixes `governance / Validate Hypatia Baseline`, which is red on `main` with six findings introduced by #426 and #427. The fixes are made at the source, not by baselining. It also brings `.hypatia-baseline.json` to the estate format standard: JCS-canonical I-JSON. ## Changes - **Deleted `echidna-playground/ci-templates/mirror.yml`** (finding: `download_then_run_shell`, `curl -sSf https://radicle.xyz/install | sh`). - The template never ran: GitHub reads only root workflows (see `ci-templates/README.adoc`). The live root `.github/workflows/mirror.yml` uses the standards reusable workflow and has no pipe-to-shell. - The README notes the removal, and the dead baseline acknowledgement under the template's old path (from before #417) is retired. - **Qualified five cross-repo paths**, which removes the SD022 findings: `echidnabot/src/api/`, `echidnabot/src/scheduler/` and `echidnabot/src/modes/` in `issues/echidnabot-01-…md` and `.github/issues/echidnabot-01-…md`, and `echidnabot/src/dispatcher/` in `docs/handover/PARADISEO-ROADMAP-PROMPT.adoc`. - SD022 flags only a *root-relative* `src/<dir>/`; per its lookbehind in `hypatia/lib/rules/structural_drift.ex`, a prefixed `src/` "belongs to that other tree/crate/repo". - These paths are echidnabot's, so the qualified form is also the accurate one. - My first push baselined them instead. The **Exemption ratchet** correctly rejected that (71 → 73: "remove the finding rather than the report"), so `0850e4a` replaces it. - **`.hypatia-baseline.json` → JCS** (RFC 8785) I-JSON with a final LF, which `.editorconfig` requires. It is one line with sorted keys, a fixed point of the canonicaliser. It now has **70 entries, below `main`'s 71**. ## RSR Quality Checklist ### Required - [x] Tests pass (no code change) - [x] Code is formatted (baseline is canonical JCS) - [x] Linter is clean - [x] No banned language patterns - [x] No `unsafe` blocks - [x] No banned functions - [x] SPDX license headers present on all new/modified source files - [x] No secrets, credentials, or `.env` files included ### As Applicable - [x] Documentation updated (`ci-templates/README.adoc`, cross-repo paths) - [ ] Others: n/a ## Testing ``` standards scripts/check-exemption-ratchet.sh 2dbf3c4 (what CI runs) 96e919c (baseline approach): GREW 71 -> 73, FAILED ← reproduces the CI failure 0850e4a (this head): SHRANK 71 -> 70, OK standards@571cc734 scripts/apply-baseline.sh (the pinned reusable's filter) new baseline: schema check passes (exit 0) SD022 regex (?<[\w./-])src/([A-Za-z0-9_][A-Za-z0-9_-]*)/ over the three docs: every remaining root-relative src/<dir>/ is a real echidna directory (rust, abi, zig_ffi, chapel) ``` ## Stack 1. #432: `quinn-proto` lockfile bump 2. **This PR**: Hypatia findings fixed at source, baseline → JCS 3. ECH-05 follow-ups and format norms (next) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3 --------- Co-authored-by: Claude <noreply@anthropic.com>
…w, owner norms [stack 3/3] (#435) ## Summary Stack 3 of 3. #432 and #433 have merged, so this PR now targets `main`. It holds the ECH-05 follow-ups the owner decided after #430 merged, plus the owner's norms written down where agent sessions read them. **History rebuilt, 2026-10-14 (owner decision: force-with-lease).** The branch used to carry the pre-squash copies of #432 and #433. Rebase-merge replayed them onto `main`, which already had the squash commits, and conflicted on `.hypatia-baseline.json`. The branch is now this PR's own four commits on current `main` (5583c70), so it rebase-merges cleanly. Its tree is byte-identical to the old head (75288e7) merged with `main`. ## Changes - **`tests/fixtures/arbitration_regression.json` → JCS** (RFC 8785) I-JSON plus a final LF. - It is re-serialised, not regenerated. All 327 numbers, and the whole document, compare equal to the fixture recorded at `29b18ea`; only spellings change (`0.0` → `0`). This is the source of the large deletion count. - The regenerator now writes JCS. - A new test, `fixture_is_jcs_canonical`, keeps it canonical. A pretty-printed fixture fails it; I ran that negative control. - **ROADMAP stage 6 and the gap-analysis pair table:** HOL4 ↔ HOL Light through OpenTheory is the first target (owner decision, 2026-10-14). Lean 4 ↔ Rocq through Dedukti is the next candidate. - **`issues/README.md`:** ECH-05 is #431, closed as completed by #430, and is the arbiter-typing slice of #429, which stays open. - **`.claude/CLAUDE.md`, owner norms:** - decisions are asked with the selector tool; - work lands as stacked PRs; - findings are fixed at source. The exemption ratchet admits ledger growth only with a `Ratchet-exception:` line naming the ledger. - The format standards point at their normative source in standards: `YAML-POLICY.adoc` (KYAML, `.kyaml`; D280/D307/D293), the workflow gate in standards#1025, `JSON-POLICY.adoc` (I-JSON as JCS; D306) and ADR-008 (UUID v8; D305/D305b/D320). - The UUID rule is scoped until the `ids.rs` migration lands. `ids.rs` still mints v7 records and v8 content ids without a domain. This is the wording the owner accepted on proof-burrower#111. ## RSR Quality Checklist ### Required - [x] Tests pass (`cargo test --test arbitration_regression_test`: 2 passed, 1 ignored) - [x] Code is formatted (`cargo fmt --all -- --check`) - [x] Linter is clean - [x] No banned language patterns - [x] No `unsafe` blocks - [x] No banned functions - [x] SPDX license headers present on all new/modified source files - [x] No secrets, credentials, or `.env` files included ### As Applicable - [x] `docs/ROADMAP.adoc` updated (stage 6 first target) - [x] Documentation updated - [ ] Others: n/a ## Testing ``` $ cargo test --test arbitration_regression_test test numeric_fusion_unchanged_and_level_is_belief ... ok test fixture_is_jcs_canonical ... ok negative control: pretty-printed fixture → fixture_is_jcs_canonical FAILED ("fixture must be JCS (RFC 8785) canonical") jq: 327 numbers equal, documents equal (29b18ea fixture vs JCS fixture) ``` ## Stack 1. #432: `quinn-proto` lockfile bump (merged) 2. #433: Hypatia findings fixed at source, baseline → JCS (merged) 3. **This PR**: ECH-05 follow-ups and owner norms 4. #436: workflow checkers read KYAML (S4), stacked on this PR 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3 --------- Co-authored-by: Claude <noreply@anthropic.com>
Summary
Stack 1 of 3: follow-ups to #430 / ECH-05 (#431). This PR fixes the
cargo auditfailure, which is red onmainand on every PR (both therust-ci / Cargo auditandCargo Audit / Dependency auditjobs).The RustSec database added five
quinn-protoadvisories aftermain's last green audit on 2026-10-12: RUSTSEC-2026-0338, -0339, -0340, -0341 and -0342, two of them rated 7.5 high.quinn-protois reached only throughreqwest→quinn 0.11.9, an optional HTTP/3 path that the default build doesn't compile, but the audit scans the whole lockfile.Changes
Cargo.lockonly:quinn-proto0.11.15 → 0.11.19 viacargo update -p quinn-proto.quinnrequires^0.11.12, so the bump is semver-compatible. It also pullsrand 0.10,getrandom 0.4andrand_pcgintoquinn-proto's subtree only.RSR Quality Checklist
Required
cargo check --locked --workspace --all-targetspasses)unsafeblocks without// SAFETY:comments.envfiles includedAs Applicable
rand_pcgis MIT/Apache-2.0, from the rust-random project like the existingrandTesting
echidna-restwas excluded from the localcheckonly because its build script downloads Swagger UI, which this sandbox blocks. CI builds it.Stack
ci-templates/mirror.yml, baseline the echidnabot-path SD022 hits,.hypatia-baseline.json→ JCS.claude/CLAUDE.md🤖 Generated with Claude Code
https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
Generated by Claude Code