Repository navigation
Conversation
Mechanical half of dependabot #2810, rebased onto main now that #2813 has landed the fancy-regex 0.20.0 part. Remaining bumps: russh 0.64.1 -> 0.65.0 (manifest 0.64 -> 0.65) napi 3.15.0 -> 3.16.1 (lock-only, caret range) napi-derive 3.6.13 -> 3.7.0 (lock-only, caret range) napi-derive-backend 6.1.6 -> 7.0.0 (lock-only, caret range) Only the root manifest and lockfile change: neither russh nor the napi crates appear in crates/bashkit/fuzz/Cargo.lock or examples/hyperlight/Cargo.lock, so the --locked failure #2810 hit on the hyperlight lockfile came from its stale fancy-regex pin and is already resolved on main. NOT YET LANDABLE. `cargo vet` needs four delta audits that this commit deliberately does not write, because supply-chain/audits.toml records them as named human source-review attestations rather than exemptions: russh 0.64.1 -> 0.65.0 napi 3.15.0 -> 3.16.1 napi-derive 3.6.13 -> 3.7.0 napi-derive-backend 6.1.6 -> 7.0.0 russh is the sandboxed SSH client and the napi crates are the published Node ABI, so these are the two dependency surfaces where the existing audit chain is most deliberate. napi-derive-backend is also a major-version bump.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
bashkit | 04983c1 | Commit Preview URL Branch Preview URL |
Nov 02 2026, 10:52 AM |
|
CI reports exactly what I have not re-run the job: the result is deterministic, so a second run would fail identically. This cannot be fixed from inside this PR. or an explicit decision to cover them with Everything not gated on those audits is green: russh 0.65.0 builds with no source changes, and all 24 Staying in draft and watched until there's a decision. Generated by Claude Code |
Draft on purpose. The code half is done and validated; the supply-chain half
needs you. See Blocked on below.
What changed
The mechanical half of dependabot #2810, rebased onto
mainnow that #2813 haslanded its fancy-regex 0.20.0 part:
russh0.64→0.65napinapi-derivenapi-derive-backendOnly the root manifest and lockfile change. Neither
russhnor the napi cratesappear in
crates/bashkit/fuzz/Cargo.lockorexamples/hyperlight/Cargo.lock,so the
--lockedfailure #2810 hit on the hyperlight lockfile came from itsstale fancy-regex pin and is already fixed on
main.No source changes were needed: russh 0.65.0 is API-compatible with the ssh
builtins as written.
Why
#2810 cannot go green as dependabot produced it. It failed two ways:
cannot update the lock file examples/hyperlight/Cargo.lock because --locked was passed, the same manifest/lockfile split that sank chore(deps): bump fancy-regex from 0.19.2 to 0.20.0 in /crates/bashkit/fuzz in the fuzz-dependencies group #2806. Resolved by chore(deps): bump fancy-regex to 0.20.0 across all three lockfiles #2813 landing fancy-regex across all three lockfiles.cargo vetreported 5 unvetted dependencies. One (fancy-regex 0.20.0) is now vetted onmain; the other four are the blocker below.Blocked on
cargo vet --lockedon this branch:These four need delta audits in
supply-chain/audits.toml:I did not write them. For these crates the file records named human
source-review attestations — "reviewed complete published package diff", "no
new unsafe", "no new ambient capability" — not exemptions. Writing those notes
under your name for diffs I have not reviewed would be a false supply-chain
attestation, which is the one thing this mechanism exists to prevent. Adding
plain
[[exemptions]]instead would quietly drop these two surfaces out of theaudit chain, and they are the surfaces where that chain is most deliberate:
russhis the sandboxed SSH client and the napi crates are the published NodeABI.
napi-derive-backendis also a major-version bump.So this needs either your four delta audits, or an explicit decision to exempt
them. Say which and I will finish it.
Before / After
No behavior change intended. Everything that does not depend on the audits is
green:
Those 24 include the sandbox-boundary cases —
ssh_blocked_host,ssh_not_configured,ssh_wildcard_host— so the allowlist behavior is intactacross the russh minor bump.
Not run locally:
ssh_supabase_connects, which dials the live publicsupabase.shendpoint and is unreachable from this sandbox. It is a requiredCI gate and will run here.
Risk
requirement, no source change, ssh suite green.
deltas on the SSH and Node-ABI surfaces are not yet reviewed. Until they
are,
cargo vetfails and the PR must not merge.Checklist
cargo vetpassing — needs the four delta audits aboveFollow-ups
already-merged fancy-regex part.
cargodependabot group failed outright earlier today onturso_core(unknown_error) before succeeding on a later run. Worth a lookif it recurs, since it is the group that gates all root Rust bumps.
Generated by Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.