The nightly workflow has failed every run since it was added. Fix the
four distinct issues so it can actually exercise the slow checks:
- cargo-mutants: drop bogus `--in-diff-base ""` flag (never existed in
cargo-mutants; v27 rejects it).
- fuzz smoke: pin `--target x86_64-unknown-linux-gnu`. Binstall ships a
musl-static cargo-fuzz binary whose default target inherits its own
triple, and libfuzzer's sanitizer is incompatible with `crt-static`.
- miri: move multi-module filters after `--`. `cargo test` only accepts
one TESTNAME positional; libtest accepts multiple substring filters.
- stateright random_large: add `target_state_count(1_000_000)` so the
simulation actually terminates instead of looping past the 30 min CI
timeout. The comment already claimed "up to 10⁶ states".
Also refreshes fuzz/Cargo.lock, regenerated by the local verification
build (was stale vs. parent deps).
RUSTSEC-2026-0119 (hickory-proto O(n²) name-compression DoS) and
RUSTSEC-2026-0120 (hickory-net NSEC3 unbounded loop / OOM) both fire
against hickory 0.26.0-beta.4. Fixed upstream in hickory 0.26.1, but
iroh 0.98.2 hard-pins hickory-resolver = "=0.26.0-beta.4" so we
can't bump transitively. Unblock once iroh releases a version that
relaxes the pin.
Passphrase-based peer rendezvous for iroh-gossip swarms over the public
Mainline DHT. Two nodes that share a passphrase + application salt find
each other and join the same gossip topic — no bootstrap server, no
prior knowledge of peer addresses.
The algorithm is a clock-free variant of HyParView-style partition
healing on BEP 44 mutable items, with K-sharded slots, logical aging
with random-tie eviction, vouching of up to V neighbors at age 1, and
a two-layer AEAD record envelope. Full spec in PROTOCOL.md.
Ships with:
* 119 tests (unit / property / integration / doctest) all green
* 100% mutation-testing catch rate (cargo-mutants)
* cargo-fuzz harnesses for the parse surface
* Kani proofs of no-UB / no-panic on crypto::epoch_of and
wire::decode_entries across their full symbolic input spaces
* Stateright distributed-system model: safety invariants S1 + S2
proved exhaustively for N ≤ 6, K ≤ 3; liveness witness under weak
fairness
* Miri green on the synchronous modules
* cargo-deny + cargo-audit clean
* criterion benches
* Full-matrix CI (Linux + macOS + Windows × stable + MSRV 1.93.0)
* Dedicated nightly lane for Miri / mutation / fuzz / Kani / Stateright
Pinned iroh 0.98.x. License MIT.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>