Repository navigation
Keep Sush compatible with ongoing Rumors triage - #84
Draft
plaidfinch wants to merge 62 commits into
Draft
plaidfinch wants to merge 62 commits into
plaidfinch wants to merge 62 commits into
Conversation
Let Rumors own per-link connection reuse and remove qorb's peer-wide pools, recycle state, and READY tasks. Keep attestation and TLS shutdown in the Sprockets adapter. Bound initial inbound routing with the new deadline hook; established gossip remains free to wait between rounds. Add the required Eq bounds and handle send admission results. A locally authored Sush message that fails admission is a codec bug; assert success before advancing execution boundaries. Existing wire fixtures now exercise Rumors admission as well as byte compatibility. This ongoing compatibility branch is based on locker at fa405c2. The current Rumors routing changes are under review and have no commit to pin yet. Validation uses an ignored Cargo config patch to that worktree. The checked-in Git pin and lockfile remain portable and must advance when Rumors lands; the new routing hook requires the local override until then. Validation: workspace check and clippy with warnings denied; build, doctests, unchanged OpenAPI output, and optional permslip client checks passed. The full nextest run passed transport conformance, gossip, and message fixtures, but failed PTY and process/job tests on macOS. Linux PTY-path assertions and rejected address-space limits need validation on Linux before final review.
Supply a fresh timer for each check, including connected-pair setup. Validated with sush-server link Clippy and both attested transport tests against the routed-pooling Rumors worktree.
Handle network mismatches through Mismatch and log protocol diagnostics. Use the local network carried by the error instead of caching it separately. Validated on ox-east-1-agent with native workspace check and clippy. The workspace suite passes except for link conformance, which also hits its dial timeout in isolation; that follow-up remains recorded in the Rumors triage notes. Final non-exhaustive match patterns pass native workspace check.
Simultaneous connection opens in the expanded Rumors conformance suite serialize synchronous attestation work on the default single-thread test runtime. The isolated concurrency check reproduces the ten-second dial timeout on Helios. Use four runtime workers, matching the server runtime model while bounding test resources. Keep the full conformance suite and production dial deadline unchanged. Validation: formatting; Helios workspace check and Clippy with warnings denied; all 163 native workspace tests passed, including attested link conformance.
Rebase compatibility work onto current Sush main, preserving its send-error logging. Pin Rumors bdb79ecb and validate the published Git dependency without a local override. Validation: native Helios server/test Clippy and both attested link tests pass; cargo fmt --all --check passes.
plaidfinch
force-pushed
the
codex/rumors-compat
branch
from
September 10, 2026 23:17
72c752b to
332d3d1
Compare
Advance the manifest and lockfile to published Rumors main bcfb6ec7. Validated with server/test Clippy and the attested link conformance and two-peer gossip tests against the Git dependency.
Advance to published Rumors main 4c6f01b3. Server/test Clippy, attested link conformance, and two-peer gossip passed using the published Git dependency.
Advance to published Rumors main 20d1cd67. Server/test Clippy, attested link conformance, and two-peer gossip passed against the published Git dependency.
Advance the published Rumors pin to 84ffc11f. That commit changes only triage notes; library code matches the previously validated pin. Validation against the Git dependency: cargo metadata --format-version 1; cargo nextest run --locked -p sush-server --test link --run-ignored all (conformance and gossip convergence passed).
Advance Rumors to published main 6ed760f0. Validate without a local dependency override: workspace/all-target clippy with warnings denied, and the opt-in link conformance and gossip convergence tests.
Advance to published Rumors main 913ae385. This revision changes triage notes only; library code matches the previously validated pin. The opt-in link conformance and gossip convergence tests pass against the Git dependency without a local override.
Advance the Rumors pin to 1aefec1128906db28683790569754a1163e94877, which includes the approved owned leaf iterator cleanup. No Sush source changes are needed for this internal refactor. Validated against the published Git revision without the local override: locked workspace/all-targets Clippy, attested link conformance, and bootstrap/gossip convergence all pass.
Advance Rumors to ea972b5ada8e148144ddc5edbff8520278c7d32a after its approved main merge. Its height definition cleanup is internal and needs no Sush source changes. Validated against the published Git revision without the local override: locked workspace/all-targets Clippy, attested link conformance, and bootstrap/gossip convergence all pass.
Advance Rumors to ce8f12c41fdb26bd0649a3c41c283a2351259416 after its approved main merge. Its iterator adapters and derived cloning are internal changes and require no Sush source changes. Validated against the published Git revision without the local override: locked workspace/all-targets Clippy, attested link conformance, and bootstrap/gossip convergence all pass.
Advance Rumors to e24d9817423e45ddbc597afcbe7bface29b5eb1a after its approved main merge. The path and prefix changes are internal and require no Sush source changes. Validated against the published Git revision without the local override: locked workspace/all-targets Clippy, attested link conformance, and bootstrap/gossip convergence all pass.
Advance Rumors to c5a3bf877d6e793499576e8daa277586e04dc2f9 after its approved main merge. This adds internal tests and clarifies test helpers; no Sush source adaptation is needed. Validated against the published Git revision without the local override: locked workspace/all-targets Clippy, attested link conformance, and bootstrap/gossip convergence all pass.
Advance the Rumors Git pin and lockfile to published main after the owner-approved documentation and conformance-test cleanup. No Sush API adaptation is needed. Validation without a local override: locked workspace/all-target Clippy; attested-link conformance and gossip convergence.
Use ten-second heartbeat sessions alongside change notifications and a one-second deadline for all wire exchanges. Wait for old drivers to stop before joining another network, and clarify bookmark ownership during migration. Validated workspace Clippy and all seven gossip/attested-link integration tests against the published Rumors revision.
Advance the published Rumors dependency and lockfile without changing unrelated resolutions. Workspace Clippy and all gossip and attested-link integration tests pass against the Git dependency without a local override.
Advance to published Rumors b0d0abbb, including the frame-head EOF classification fix and expanded decoder properties. Preserve unrelated lockfile selections. Validation: native Helios cargo nextest run --locked --workspace -E "test(bookmark::) | test(locker::) | test(format::)" (49 passed); cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; local cargo fmt --check and locked fetch. The previously recorded lifecycle failures remain outside this focused pin-update run.
Advance to published Rumors c75a57b8, which strengthens tree-join tests and documentation without changing the API. Preserve unrelated lockfile selections. Validation: native Helios cargo nextest run --locked --workspace -E "test(bookmark::) | test(locker::) | test(format::)" (49 passed); cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; local cargo fmt --check and locked fetch. Previously recorded lifecycle failures remain outside this focused pin-update run.
Advance to published Rumors fa9a1f0e, which strengthens observer tests and comments without changing the API. Preserve unrelated lockfile selections. Validation: native Helios cargo nextest run --locked --workspace -E "test(bookmark::) | test(locker::) | test(format::)" (49 passed); cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; local cargo fmt --check and locked fetch. Previously recorded lifecycle failures remain outside this focused pin-update run.
Advance to published Rumors 7cb864cc, which strengthens retirement tests without changing the API. Preserve unrelated lockfile selections. Validation: native Helios cargo nextest run --locked --workspace -E "test(bookmark::) | test(locker::) | test(format::)" (49 passed); cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; local cargo fmt --check and locked fetch. Previously recorded lifecycle failures remain outside this focused pin-update run.
Advance to published Rumors a889c8fa, which strengthens session-accounting tests without changing the API. Preserve unrelated lockfile selections. Validation: native Helios cargo nextest run --locked --workspace -E "test(bookmark::) | test(locker::) | test(format::)" (49 passed); cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; local cargo fmt --check and locked fetch. Previously recorded lifecycle failures remain outside this focused pin-update run.
Advance to published Rumors 16b3c51b, which strengthens overlapping-session validation without changing the API. Preserve unrelated lockfile selections. Validation: native Helios cargo nextest run --locked --workspace -E "test(bookmark::) | test(locker::) | test(format::)" (49 passed); cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; local cargo fmt --check and locked fetch. Previously recorded lifecycle failures remain outside this focused pin-update run.
Advance to published Rumors 8575ff36, which strengthens observation-hook tests without changing the API. Preserve unrelated lockfile selections. Validation: native Helios cargo nextest run --locked --workspace -E "test(bookmark::) | test(locker::) | test(format::)" (49 passed); cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; local cargo fmt --check and locked fetch. Previously recorded lifecycle failures remain outside this focused pin-update run.
Compare complete snapshots in the heartbeat test instead of exposing their Merkle hashes. Advance the dependency to published Rumors 8b6c55f3, including the send-version and Snapshot API changes; existing send call sites need no adaptation. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local formatting and locked fetching pass. Known unrelated lifecycle failures remain outside this focused compatibility run.
Require Send + Sync + static payloads on Universe, Seed, and Manager, matching the Rumors handles they contain. Keep only codec bounds on Seed::grow and advance the Git dependency to published Rumors c4f71d49. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Advance to published Rumors 3006158d. Sush uses routed links directly and needs no adaptation to the transport-access API. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | binary(link)" (27 passed, including attested Link conformance). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Advance to published Rumors adeb2ec3. Sush does not depend on Protocol defaults or its representation, so no source adaptation is needed. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Advance to published Rumors 437604d1. Sush does not attach wire observers, so no source adaptation is needed. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Advance to published Rumors 317b3f54. Sush does not use the changed payload-depth type or settings readback API, so no source adaptation is needed. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Advance to published Rumors 310125338. Sush does not consume the changed session statistics or observer callbacks, so no source adaptation is needed. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Extract the routed link from Endpoint::link results while retaining address-based gossip management. Check the returned peer address in the attested test helper and advance to published Rumors 18aaeb09. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | binary(link)" (27 passed, including attested Link conformance). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Advance the exact Git dependency to published Rumors 49a12e646. This batch requires no Sush source adaptation. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | binary(link)" (27 passed, including attested Link conformance). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Advance the exact Git dependency to published Rumors d37ffca7. The documentation and Debug additions require no Sush source adaptation. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Advance to published Rumors ab57339c and its required Rand 0.9 dependency selection. Sush keeps its locker-backed bookmark adapter; the additive file adapter needs no source change or feature enablement. Validation against the published Git pin on Helios: cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings; cargo nextest run --locked --workspace --run-ignored all -E "test(bookmark::) | test(locker::) | test(format::) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (56 passed). Local formatting and locked fetching pass. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Pin Rumors to published revision bf43cc48d6785ed01840392ef91d1ce5ca4fabb0. Its attachment and checkpoint refactor requires no Sush source changes. Validated on Helios with cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings, followed by cargo nextest run --locked --workspace --run-ignored all -E "test(bookmark::) | test(locker::) | test(format::) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (56 passed). Local cargo fetch --locked --target x86_64-unknown-illumos, cargo fmt --check, and git diff --check passed. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Pin Rumors to published revision b403e8c2711d024d7bc09ef20a8391009b7e9d48. Sush does not match EncodeError variants, so making that enum non-exhaustive requires no source changes. Validated on Helios with cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings, followed by cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local cargo fetch --locked --target x86_64-unknown-illumos, cargo fmt --check, and git diff --check passed. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Pin Rumors to published revision d9a295126e9af5ab63eecb847aa0a5a3c31c8d61. The shared bootstrap and gossip reconciliation driver requires no Sush source changes. Validated on Helios with cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings, followed by cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed, including cold and staggered bootstrap, node replacement, and attested-link convergence). Local cargo fetch --locked --target x86_64-unknown-illumos, cargo fmt --check, and git diff --check passed. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Pin Rumors to published revision 5a1cb7ac7e9d3cbb482ca650f50c70853509cdb3. Observer metadata trait additions and the internal audit require no Sush source changes. Validated on Helios with cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings, followed by cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local cargo fetch --locked --target x86_64-unknown-illumos, cargo fmt --check, and git diff --check passed. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Pin Rumors to published revision d9e5a4772fd7977f74fdf19e469a4210bba56430. Public error handling is unchanged, so Sush needs no source adaptations. Validated on Helios with cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings, followed by cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | test(gossip_convergence)" (26 passed). Local cargo fetch --locked --target x86_64-unknown-illumos, cargo fmt --check, and git diff --check passed. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Pin Rumors to published revision 30096f0871d9bcc00e024317a9303a3590080d48. Sush needs no source adaptations. Its attested transport passes the full public conformance suite, including the revised accept-cancellation probe that permits rendezvous connections. Validated on Helios with cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings, followed by cargo nextest run --locked --workspace --run-ignored all -E "test(messages::wire_format) | test(manager_tests::gossiped_identities) | binary(gossip) | binary(link)" (27 passed; attested link conformance passed in 61.429 seconds). Local cargo fetch --locked --target x86_64-unknown-illumos, cargo fmt --check, and git diff --check passed. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Pin Rumors to f98d304b554051ae5a233e6402e34b3d9c2aeb25 and refresh its required dependency changes. Sush does not use seed_rng. Format version diagnostics with Debug, and construct test histories through clocks and parties instead of parsing tree notation. The boundary record fixture retains its exact bytes; no wire or storage snapshots change. Validated on Helios with cargo clippy --locked --workspace --all-targets -- --no-deps --deny warnings, followed by cargo nextest run --locked --workspace --run-ignored all -E "test(bookmark::) | test(locker::) | test(format::) | test(boundary::) | test(state::test::) | test(manager_tests::gossiped_identities) | binary(gossip) | binary(link)" (67 passed, including frozen boundary and wire records, admission rules, and full attested link conformance). Local locked dependency fetch, cargo fmt --check, and git diff --check passed. Previously recorded lifecycle timeouts remain outside this focused compatibility run.
Single-threaded network tests repeatedly expired the one-second Rumors session deadline during synchronous attestation work. Use a four-worker Tokio runtime for the distributed, gossip, and transport tests, matching the server. Keep production deadlines unchanged. Optimize the missing Curve25519, SHA-2, Keccak, and AWS-LC primitives in dev/test builds while keeping Sush itself unoptimized. Advance Rumors to 5ebb800ee8a243cc694eab48283c826a1a75fff6 and restore unrelated Windows lockfile selections to upstream. Validation: Helios workspace Clippy and build; all 168 tests, including ignored Link and Bookmark conformance; doctest command (examples ignored); permission-slip client Clippy and build; unchanged generated OpenAPI; local formatting and diff checks.
Advance the published Rumors dependency and lockfile to ab94cd77f36d32a08acd912d8cb7dc7f9017fa82. This final prose/test-only Rumors increment requires no Sush source adaptation. Validation: locked Helios workspace/all-target Clippy and 66 focused network, restart, Link and Bookmark conformance, format, and locker tests; local formatting and diff checks.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CAVEAT LECTOR
This PR description was written by GPT-6 Astra.
This draft brings Sush up to date with the completed Rumors review and triage. It tracks Sush
mainand pins Rumors toab94cd77f36d32a08acd912d8cb7dc7f9017fa82. The owner's final review of the complete branch is required before merge.The changes use Rumors-owned routed connection pooling, apply the connection timeout to incoming routing, handle revised errors and bootstrap outcomes, and adopt the expanded link conformance suite. Gossip follows changes and also probes each connection every ten seconds. Each wire exchange has a one-second deadline; the separate join timeout still covers local bookmark attachment. Migration waits for old gossip drivers to stop before the new peer uses bookmark storage.
Bookmark storage accepts owned Rumors records and reports locker errors directly. Its versioned wrapper records the Rumors format version so incompatible recovery data starts fresh bookkeeping. The dependency includes the approved Rumors recovery fix and bounded retention. The new Bookmark conformance check exposed a Sush decoding bug: records larger than CBOR's scratch buffer were treated as absent after a successful store. Requesting owned bytes fixes that without changing the stored format.
Native Helios validation passes the full workspace test suite, including ignored tests and the Link and Bookmark conformance checks, workspace Clippy for all targets, the normal build, and the optional permission-slip client build and Clippy. Formatting and the generated OpenAPI check also pass. The doctest command succeeds; the existing examples are marked ignored. The final Rumors pin, which adds no API or runtime change, is additionally validated with workspace Clippy and focused network, restart, transport, bookmark, format, and locker tests.
On Helios, the distributed restart failures were reproduced on a single-threaded test runtime and cleared by switching the real-network tests to a four-worker Tokio runtime, like the server. Deadlines are unchanged. Dev/test builds also optimize the previously uncovered Curve25519, SHA-2, Keccak, and AWS-LC primitives while leaving Sush itself unoptimized for debugging.
CI at the reviewed commit
e4a25ca: Buildomat's full Helios CI passes. Ubuntu GitHub Actions still reports timeouts in four distributed/restart tests; that remaining failure is unresolved (Test run). Native Helios success does not establish that the Ubuntu failures are fixed.