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>
38 lines
411 B
Plaintext
38 lines
411 B
Plaintext
# Build artifacts
|
|
/target
|
|
/fuzz/target
|
|
Cargo.lock.bak
|
|
|
|
# Tool output directories
|
|
/mutants.out
|
|
/mutants.out.old
|
|
/mutants.out.*/
|
|
/fuzz/corpus
|
|
/fuzz/artifacts
|
|
/fuzz/coverage
|
|
|
|
# Coverage reports
|
|
lcov.info
|
|
*.profraw
|
|
*.profdata
|
|
/target/llvm-cov
|
|
/target/criterion
|
|
|
|
# Nextest JUnit output
|
|
/target/nextest
|
|
|
|
# Editor / IDE
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.DS_Store
|
|
|
|
# jj (Jujutsu) workspace
|
|
.jj/
|
|
|
|
# Direnv
|
|
.envrc
|
|
.direnv/
|