commit f8a33b695a9234ffd0c6bd57b5ba0102f3d3819f
parent 7b21fd126a677eeabe3dc7b2d5901d9946465101
Author: triesap <tyson@radroots.org>
Date: Thu, 16 Jul 2026 21:06:47 +0000
release-product: remove validation receipt SDK surface
- remove validation receipt operations from runtime contract v1
- regenerate CLI host metadata from the runtime contract catalog
- drop validation receipt re-exports from the SDK runtime surface
- rename sync refresh receipt counts to agreement attestations
Diffstat:
6 files changed, 6 insertions(+), 51 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
@@ -56,7 +56,6 @@ radroots_replica_schema = { path = "../lib/crates/replica_schema", version = "0.
radroots_replica_sync = { path = "../lib/crates/replica_sync", version = "0.1.0-alpha.2", default-features = false }
radroots_runtime_paths = { path = "../lib/crates/runtime_paths", version = "0.1.0-alpha.2", default-features = false }
radroots_sdk_sql_wasm_runtime = { path = "crates/sql_wasm_runtime", version = "0.1.0-alpha.2" }
-radroots_trade_sp1_guest = { path = "../lib/crates/trade_sp1_guest", version = "0.1.0-alpha.2", default-features = false }
radroots_sql_core = { path = "../lib/crates/sql_core", version = "0.1.0-alpha.2", default-features = false }
radroots_trade = { path = "../lib/crates/trade", version = "0.1.0-alpha.2", default-features = false, features = [
"serde_json",
diff --git a/crates/runtime_contract_v1/src/lib.rs b/crates/runtime_contract_v1/src/lib.rs
@@ -123,8 +123,6 @@ runtime_operation_ids! {
TradePrivateArtifactOpen => "trade.private_artifact.open",
TradePrivateArtifactDelete => "trade.private_artifact.delete",
ValidationStatus => "validation.status",
- ValidationReceiptGet => "validation.receipt.get",
- ValidationReceiptVerify => "validation.receipt.verify",
SyncStatus => "sync.status",
SyncPull => "sync.pull",
SyncPush => "sync.push",
@@ -794,20 +792,6 @@ pub const RUNTIME_OPERATION_DESCRIPTORS_V1: &[RuntimeOperationDescriptorV1] = &[
ProjectionEffectV1::ReadsProjection,
),
read(
- RuntimeOperationIdV1::ValidationReceiptGet,
- OperationRiskV1::Low,
- TransportCapabilityRouteV1::local(),
- PrivacyEffectV1::None,
- ProjectionEffectV1::ReadsProjection,
- ),
- read(
- RuntimeOperationIdV1::ValidationReceiptVerify,
- OperationRiskV1::Medium,
- TransportCapabilityRouteV1::local(),
- PrivacyEffectV1::None,
- ProjectionEffectV1::ReadsProjection,
- ),
- read(
RuntimeOperationIdV1::SyncStatus,
OperationRiskV1::Low,
TransportCapabilityRouteV1::diagnostics(),
@@ -1133,7 +1117,6 @@ runtime_error_codes! {
PrivateDataUnavailable => "private_data_unavailable",
ValidationPending => "validation_pending",
ValidationExpired => "validation_expired",
- ValidationReceiptConflict => "validation_receipt_conflict",
ValidatorSetInvalid => "validator_set_invalid",
MediaPolicyDenied => "media_policy_denied",
BackupInvalid => "backup_invalid",
@@ -1164,7 +1147,6 @@ pub enum RuntimeErrorClassV1 {
Privacy,
Security,
Maintenance,
- ValidationReceipt,
Internal,
}
@@ -1413,22 +1395,17 @@ pub const RUNTIME_ERROR_DESCRIPTORS_V1: &[RuntimeErrorDescriptorV1] = &[
),
error(
RuntimeErrorCodeV1::ValidationPending,
- RuntimeErrorClassV1::ValidationReceipt,
+ RuntimeErrorClassV1::Validation,
true,
),
error(
RuntimeErrorCodeV1::ValidationExpired,
- RuntimeErrorClassV1::ValidationReceipt,
- false,
- ),
- error(
- RuntimeErrorCodeV1::ValidationReceiptConflict,
- RuntimeErrorClassV1::ValidationReceipt,
+ RuntimeErrorClassV1::Validation,
false,
),
error(
RuntimeErrorCodeV1::ValidatorSetInvalid,
- RuntimeErrorClassV1::ValidationReceipt,
+ RuntimeErrorClassV1::Validation,
false,
),
error(
diff --git a/crates/sdk/README b/crates/sdk/README
@@ -69,7 +69,7 @@ Relay URL policy is explicit. Public relay URLs must use `wss://`. Local develop
URLs are accepted only under `NostrRelayUrlPolicy::Localhost` and only for `localhost`, `127.0.0.1`,
or `[::1]`. Non-local insecure `ws://` targets, including private LAN addresses, are rejected.
-Low-level event-contract, wire-codec, reducer, and validation receipt contract ownership lives in
+Low-level event-contract, wire-codec, reducer, and agreement-attestation contract ownership lives in
the shared Radroots libraries. The SDK exposes product APIs and selected adapter boundaries; it does
not expose a public workflow-bypass namespace for product callers.
diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs
@@ -200,8 +200,3 @@ pub use crate::transport::{
ReticulumProfile, SDK_TRANSPORT_TARGET_MAX_COUNT, SatisfactionPolicy, TargetPolicy, TargetSet,
TransportProfile, TransportReceipt,
};
-#[cfg(feature = "runtime")]
-pub use radroots_trade::validation_receipt::{
- RadrootsTradeCommitmentConfidence, RadrootsTradeValidationAuthority,
- RadrootsTradeValidationTrustPolicy, RadrootsTradeValidationTrustState,
-};
diff --git a/crates/sdk/src/sync_runtime.rs b/crates/sdk/src/sync_runtime.rs
@@ -333,7 +333,7 @@ pub struct SyncProjectionRefreshReceipt {
pub scanned_events: usize,
pub listing_upserts: usize,
pub trade_upserts: usize,
- pub validation_receipts: usize,
+ pub agreement_attestations: usize,
pub transport_observations: i64,
pub last_event_seq: Option<i64>,
}
@@ -353,7 +353,7 @@ impl SyncProjectionRefreshReceipt {
scanned_events,
listing_upserts: 0,
trade_upserts,
- validation_receipts: 0,
+ agreement_attestations: 0,
transport_observations: summary.transport_observations,
last_event_seq: summary.last_event_seq,
}
diff --git a/tools/xtask/src/cli_host.rs b/tools/xtask/src/cli_host.rs
@@ -383,22 +383,6 @@ const CLI_OPERATION_METADATA: &[CliOperationMetadata] = &[
false,
),
meta(
- "validation.receipt.get",
- "ValidationReceiptGet",
- "radroots validation receipt get <receipt-event-id>",
- "Get a validation receipt.",
- "Any",
- false,
- ),
- meta(
- "validation.receipt.verify",
- "ValidationReceiptVerify",
- "radroots validation receipt verify <receipt-event-id>",
- "Verify a validation receipt.",
- "Any",
- false,
- ),
- meta(
"sync.status",
"SyncStatus",
"radroots sync status",