sdk

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

commit 2c71aa959c367b2c8a565da691e47e3ff5348f69
parent 36881fa076c80c37a0cba8229093125e7fca8336
Author: triesap <tyson@radroots.org>
Date:   Wed,  1 Jul 2026 23:12:36 +0000

sdk: align runtime README wording

Diffstat:
Mcrates/sdk/README | 12++++++------
Mcrates/sdk/tests/source_boundary.rs | 20++++++++++++++++++++
2 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/crates/sdk/README b/crates/sdk/README @@ -59,10 +59,9 @@ DTOs. DVM proof requests and validation receipt ingestion use `sdk.dvm()`. The `local-runtime` feature is the curated feature bundle for local product runtime consumers. It enables `std`, `serde`, `serde_json`, `runtime`, `signer-adapters`, `relay-runtime`, and `relay-client`. `signer-adapters` contains the SDK `local_key` and `myc_nip46` signing surface. -`relay-client` is retained in this bundle only for direct relay publish callers. `local-runtime` -does not enable `radrootsd-proxy`; use `local-runtime-radrootsd-proxy` when the runtime should -publish through Radrootsd instead of a direct relay transport. Both bundles use the same configured -signer provider API. +`relay-client` supplies the relay WebSocket publish adapter used when signed outbox work targets +configured relay URLs. `local-runtime-radrootsd-proxy` uses daemon-resolved publishing through +`publish.event` and the same configured signer provider API. `radroots_sdk_myc_nip46_product_permissions()` and `radroots_sdk_myc_nip46_product_permission_strings()` expose the SDK product NIP-46 @@ -127,5 +126,6 @@ relay-target, mutation-state, trade-status, sync-status, relay-auth, and push-ou outcome enums. Runtime receipts and status records expose stable serialized public fields for CLI and local-runtime -reporting. Future additive reporting should preserve serde compatibility for existing fields. -Restore archive and receipt records follow that same stable serialized-field stance. +reporting. Future additive reporting must add fields without changing existing serialized field +names, meanings, or types. Restore archive and receipt records follow that same serialized-field +stance. diff --git a/crates/sdk/tests/source_boundary.rs b/crates/sdk/tests/source_boundary.rs @@ -76,6 +76,26 @@ const FORBIDDEN_SDK_README_CONCEPTS: &[ForbiddenSdkConcept] = &[ pattern: "sdk.trade_validation()", reason: "SDK docs must use sdk.dvm() for validation receipt ingestion", }, + ForbiddenSdkConcept { + pattern: "`relay-client` is retained", + reason: "SDK docs must describe canonical feature behavior instead of retained surfaces", + }, + ForbiddenSdkConcept { + pattern: "direct relay publish callers", + reason: "SDK docs must describe adapter behavior rather than caller compatibility posture", + }, + ForbiddenSdkConcept { + pattern: "compatibility", + reason: "SDK docs must not frame target-state runtime surfaces as compatibility policy", + }, + ForbiddenSdkConcept { + pattern: "legacy", + reason: "SDK docs must not frame target-state runtime surfaces as legacy policy", + }, + ForbiddenSdkConcept { + pattern: "preserve serde", + reason: "SDK docs must describe serialized-field stability without serde-compat wording", + }, ]; const FORBIDDEN_SDK_ROOT_TRADE_ALIAS_NAMES: &[&str] = &[