radio workspace gate — cargo test --locked, 2026-10-10
The release train's stack gate for radio is cargo test --locked at the workspace root, red if it exits non-zero or prints a warning line (soft3/release/train_gates.py). This records the gate before and after the branch fix/radio-gate-green.
Machine: Apple M4 Max, macOS 26, rustc/cargo 1.95.0 (Homebrew), shared with other agents (load average ~50). Siblings: hemera d5f0a09 (origin/main). Detached worktrees under ~/cyber/.stands/G3, one CARGO_TARGET_DIR per tree. Result lines only (*.results.txt, ANSI stripped).
before — origin/main 344ac162
radio-main-gate.results.txt: exit 101 at compile time. iroh-docs 9 errors (registry iroh-base 0.96 mixed with the fork), iroh-bench 5 errors (radio crate name), two warning: output filename collision for the transfer examples. No test ran.
after — branch head
| run | command | real | exit | warnings | passed / failed / ignored |
|---|---|---|---|---|---|
| gate 1 | cargo test --locked |
54.5 s | 101 | 0 | 180 / 3 / 1 (stops at the first failing binary, cyber-radio --lib) |
| gate 2 | cargo test --locked |
16.9 s | 101 | 0 | 180 / 3 / 1 |
| full | cargo test --locked --no-fail-fast |
211.5 s | 101 | 0 | 578 / 3 / 9 across 47 test binaries |
The three failures in every run are address_lookup::mdns::tests::run_in_isolation::{mdns_publish_resolve, non_advertising_endpoint_not_discovered, test_service_names} (timeouts; on other runs the same module lost 2–5 of its 5 tests). They are the machine, not the fork:
- upstream
iroh0.96.1 from crates.io, built alone on this machine withcargo test --features address-lookup-mdns,test-utils --lib mdns, fails the same 5 tests the same way; route -n get 224.0.0.251resolves toutun4, the NordVPN tunnel, so mDNS multicast never reaches the LAN.
The gate is therefore red on this machine until mDNS multicast is routed to a LAN interface (or the train runs elsewhere); no test was skipped or weakened to hide it.
what changed
- radio#5 (cherry-picked):
iroh-docstakesiroh-blobs/iroh-gossipfrom the fork; multi-hop gossip test. - radio#6 (cherry-picked):
iroh-benchusesiroh::and the vendored quinn. iroh-blobson 32-byte Hemera hashes and 4 KiB chunks:Hash::EMPTYwas a zero placeholder (every empty-blob path failed with "invalid size for hash"), now the tree root ofb""pinned bytest_empty_hash; the checksummed state file and hash-seq child counts/offsets still used 64-byte widths; tests rescaled toCHUNK_SIZE, 64 KiB blocks andOUTPUT_BYTES. Before this the unfilterediroh-blobslibrary suite had 27 failures and hung (also recorded in../2026-10-10-bao-root-policy/).- examples:
random_storecarries a ticket over the forkedEndpointAddr;custom-protocolreads 32-byte hashes;iroh-blobs/examples/transfer.rs→blobs-transfer.rs. [profile.dev.package.cyber-hemera] opt-level = 3: theiroh-blobslibrary suite went from 337 s (with two-node QUIC tests timing out under load:two_nodes_push_blobs_fs,two_nodes_get_blobs_fs, iroh-docstest_download_policies) to 41 s; none of those failed in the three runs above.