lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

commit 3166eee6d9f4c71916ee6db9bc49cbaac6139538
parent 5e0dcf40bef08898f267fd6157617e79a02ee6be
Author: triesap <tyson@radroots.org>
Date:   Wed,  8 Jul 2026 05:30:58 +0000

transport: guard proxy completion uniqueness

Add SDK source-boundary witnesses for proxy publish outcome matching so duplicate or ambiguous daemon outcomes remain rejected before local outbox mutation.

Diffstat:
Mcrates/sdk/tests/source_boundary.rs | 13+++++++++++++
1 file changed, 13 insertions(+), 0 deletions(-)

diff --git a/crates/sdk/tests/source_boundary.rs b/crates/sdk/tests/source_boundary.rs @@ -1335,6 +1335,18 @@ fn sdk_proxy_surfaces_reject_removed_daemon_publish_proxy_identifiers() { sync_runtime_source.contains("mixed proxy delegate targets"), "src/sync_runtime.rs must fail closed if proxy delegate targets are mixed in a claimed publish set" ); + for required in [ + "let mut completed_target_ids = std::collections::BTreeSet::new();", + "let mut matched_outcomes = Vec::new();", + "matched multiple ready delivery targets", + "matched delivery target", + "more than once", + ] { + assert!( + sync_runtime_source.contains(required), + "src/sync_runtime.rs must retain proxy completion uniqueness witness `{required}`" + ); + } assert!( !sync_runtime_source.contains("TransportPublishPreviewBehavior::RejectDeliveryAttempts"), "src/sync_runtime.rs must not rewrite Reticulum proxy outbox targets to reject attempts" @@ -1350,6 +1362,7 @@ fn sdk_proxy_surfaces_reject_removed_daemon_publish_proxy_identifiers() { "assert!(!stored_before.event_store_ingested)", "assert!(!stored.event_store_ingested)", "with_timeout(Duration::from_millis(50))", + "proxy_completion_rejects_duplicate_daemon_outcome_before_local_mutation", ] { assert!( sync_runtime_unit_source.contains(required),