Restore a green CI run - #49
Conversation
CI last ran on master in May. The pinned toolchain action resolves to stable, and the advisory database keeps moving, so both the lint and audit steps now fail on unmodified master. Every new pull request inherits that. Clippy: replace two constant-size chunks_exact calls with as_chunks, and collapse the prefix chain in parse_owner_repo_from_url into a find_map so the final else branch is the ? it already wanted to be. Audit: crossbeam-epoch 0.9.18 -> 0.9.20 (RUSTSEC-2026-0204) and h2 0.4.13 -> 0.4.19 (RUSTSEC-2026-0258) are lockfile-only bumps. RUSTSEC-2026-0189 covers DNS rebinding in rmcp's Streamable HTTP server transport, which this workspace never builds: it enables only features = ["transport-io"], and tempyr-mcp serves over rmcp::transport::stdio with no SSE or HTTP transport anywhere in the tree. Upgrading is also not a lockfile bump - 1.4 removes handler::server::common::schema_for_input and 1.8 breaks list_roots - so record the reasoning in .cargo/audit.toml and leave the migration as its own change. fmt, clippy -D warnings, test --workspace --locked, and audit all pass.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Essentials Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
Included review availability: 0 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour. 📝 WalkthroughWalkthroughThe changes add cargo-audit configuration, simplify GitHub URL prefix matching, and replace indexed byte-chunk decoding with ChangesAudit configuration
Repository URL parsing
Embedding byte decoding
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This maintenance change restores CI compatibility while preserving URL parsing and embedding decoding behavior; no current merge-blocking risk remains. Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Why
CI last ran on
masterin May (e8c4d14, green). The workflow pins its toolchain withdtolnay/rust-toolchain@29eef33…, which resolves tostable, andcargo auditreads a database that keeps moving. Four months on, both the Clippy and Audit steps now fail on unmodified master — I reproduced each on a clean checkout before touching anything.That means every new PR inherits two unrelated red checks. I hit it opening #48 and split the cleanup out so that PR reviews on its own merits.
Clippy
chunks_exact(4)→as_chunks::<4>()intempyr-index/src/vector.rsandtempyr-journal-index/src/embed.rs. Also letsf32::from_le_bytes(*chunk)take the array directly instead of rebuilding it index by index.parse_owner_repo_from_urlcollapses its four-branchstrip_prefixchain into afind_map, so the trailingelse { return None; }becomes the?the lint was asking for. Same prefixes, same order, sameNoneon no match.Audit
Two are plain lockfile bumps:
crossbeam-epochh2The third, RUSTSEC-2026-0189, is DNS rebinding in rmcp's Streamable HTTP server transport — which this workspace never builds.
Cargo.tomlenables onlyfeatures = ["transport-io"],tempyr-mcpserves overrmcp::transport::stdio, and there is no SSE,axum, or streamable-HTTP usage anywhere incrates/.Upgrading is also not a lockfile bump. I tried both: 1.4.0 removes
handler::server::common::schema_for_input(5 call sites fail to compile) and 1.8.0 additionally hitsE0515plus a deprecatedlist_roots. That is a real API migration and does not belong in a dependency refresh, so it is recorded in a new.cargo/audit.tomlwith the reasoning rather than silently carried.Verification
All four CI steps, run locally with the exact workflow commands:
Note
#48 is stacked behind this — it will stay red until this lands, through no fault of its own.
🤖 Generated with Claude Code
https://claude.ai/code/session_01EwBDuaQS537MdX3GUtmhqj
Summary by CodeRabbit
Refactor
Chores