sdk

Radroots SDK and bindings
git clone https://radroots.dev/git/sdk.git
Log | Files | Refs | README

commit 762ca4d6270bda5855adf5d22e00abb5411ee456
parent cd32f1cb5160e54d77bd296966e4c1050a24cf11
Author: triesap <tyson@radroots.org>
Date:   Tue,  7 Jul 2026 04:29:10 +0000

tests: guard daemon transport publish surface

- Add source-boundary checks for removed daemon publish proxy identifiers.
- Cover the SDK radrootsd adapter and sync-runtime proxy surfaces.
- Match retired identifiers on whole boundaries so TransportPublish names remain valid.
- Validate with SDK formatting, generation, source-boundary tests, and xtask check.

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

diff --git a/crates/sdk/tests/source_boundary.rs b/crates/sdk/tests/source_boundary.rs @@ -106,6 +106,21 @@ const FORBIDDEN_SDK_ROOT_TRADE_ALIAS_NAMES: &[&str] = &[ "trade_validation", ]; +const FORBIDDEN_DAEMON_PUBLISH_PROXY_IDENTIFIERS: &[&str] = &[ + "radrootsd.publish_proxy.v1", + "radroots_publish_proxy_protocol", + "publish_proxy_protocol", + "publish.relays.resolve", + "\"publish.event\"", + "PublishRelayPolicy", + "PublishDeliveryPolicy", + "PublishEventRequest", + "PublishEventResponse", + "PublishJobView", + "PublishRelayOutcome", + "PublishRelaySource", +]; + const REQUIRED_SDK_README_CONCEPTS: &[&str] = &[ "RadrootsClient::builder()", "sdk.trades()", @@ -1275,6 +1290,27 @@ fn sdk_public_api_does_not_export_protocol_workflow_bypass() { ); } +#[test] +fn sdk_proxy_surfaces_reject_removed_daemon_publish_proxy_identifiers() { + let manifest_dir = Path::new(env!("CARGO_MANIFEST_DIR")); + + for relative_path in [ + "Cargo.toml", + "src/lib.rs", + "src/adapters/radrootsd.rs", + "src/sync_runtime.rs", + "src/transport.rs", + ] { + let source = read_source(manifest_dir.join(relative_path).as_path()); + for forbidden in FORBIDDEN_DAEMON_PUBLISH_PROXY_IDENTIFIERS { + assert!( + !contains_forbidden_concept(source.as_str(), forbidden), + "{relative_path} must not reintroduce removed daemon publish proxy identifier `{forbidden}`" + ); + } + } +} + fn product_runtime_file_stays_on_boundary(relative_path: &str) { let source = read_source( Path::new(env!("CARGO_MANIFEST_DIR"))