Skip to content

fix(deps): bump quinn-proto 0.11.15 → 0.11.19 (RUSTSEC-2026-0338..0342) [stack 1/3] - #432

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/new-session-th4e9w
Oct 14, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
claude/new-session-th4e9w

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Stack 1 of 3: follow-ups to #430 / ECH-05 (#431). This PR fixes the cargo audit failure, which is red on main and on every PR (both the rust-ci / Cargo audit and Cargo Audit / Dependency audit jobs).

The RustSec database added five quinn-proto advisories after main's last green audit on 2026-10-12: RUSTSEC-2026-0338, -0339, -0340, -0341 and -0342, two of them rated 7.5 high. quinn-proto is reached only through reqwest → 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.lock only: quinn-proto 0.11.15 → 0.11.19 via cargo update -p quinn-proto. quinn requires ^0.11.12, so the bump is semver-compatible. It also pulls rand 0.10, getrandom 0.4 and rand_pcg into quinn-proto's subtree only.

RSR Quality Checklist

Required

  • Tests pass (no code change; cargo check --locked --workspace --all-targets passes)
  • Code is formatted (n/a, lockfile only)
  • Linter is clean (n/a)
  • No banned language patterns
  • No unsafe blocks without // SAFETY: comments
  • No banned functions
  • SPDX license headers present on all new/modified source files (n/a)
  • No secrets, credentials, or .env files included

As Applicable

  • New dependencies reviewed for license compatibility: rand_pcg is MIT/Apache-2.0, from the rust-random project like the existing rand
  • Others: n/a

Testing

$ cargo audit                     → no vulnerabilities (490 crate dependencies), exit 0
  (before: "error: 5 vulnerabilities found!" on main's lockfile)
$ cargo check --locked --workspace --exclude echidna-rest --all-targets → ok
$ cargo metadata --locked (full workspace, incl. echidna-rest) → ok

echidna-rest was excluded from the local check only because its build script downloads Swagger UI, which this sandbox blocks. CI builds it.

Stack

  1. This PR: lockfile bump
  2. Hypatia baseline fix: delete the dead ci-templates/mirror.yml, baseline the echidnabot-path SD022 hits, .hypatia-baseline.json → JCS
  3. ECH-05 follow-ups: regression fixture → JCS, stage 6 first target, issues row ECH-05: feat(arbitration): consume fidelity evidence, not N re-proofs — type the arbiter's input by alignment certificate and level its verdict #431, norms in .claude/CLAUDE.md

🤖 Generated with Claude Code

https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3


Generated by Claude Code

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
@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters: 1
  • Cargo.lock is excluded by !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 945e0673-562c-40bd-a261-612c9015b54b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Owner Author

CI: this PR's fix works. rust-ci / Cargo audit and Cargo Audit / Dependency audit are both green.

The one red check, governance / Validate Hypatia Baseline, is not this PR's. main fails it at 6883126 with the same six findings, which came in with #426 and #427. #433, stacked directly on this PR, fixes it, and I validated that fix with the pinned apply-baseline.sh. I haven't ported the fix down into this PR, to keep the stack split the owner asked for. Once #433 merges after this one, main goes green on the gate. A re-run here would fail identically, since the gate is deterministic for a given tree.


Generated by Claude Code

@hyperpolymath
hyperpolymath merged commit b6ff97e into main Oct 14, 2026
68 of 70 checks passed
@hyperpolymath
hyperpolymath deleted the claude/new-session-th4e9w branch October 14, 2026 08:54

Copy link
Copy Markdown
Owner Author

Codeac analyze results is red: "Codeac was not able to perform analysis". The cause is outside this PR.

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

hyperpolymath added a commit that referenced this pull request Oct 14, 2026
…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>
hyperpolymath added a commit that referenced this pull request Oct 14, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants