commit 2c71aa959c367b2c8a565da691e47e3ff5348f69
parent 36881fa076c80c37a0cba8229093125e7fca8336
Author: triesap <tyson@radroots.org>
Date: Wed, 1 Jul 2026 23:12:36 +0000
sdk: align runtime README wording
Diffstat:
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] = &[