sdk

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

commit f4478a4fb2a758bf0862dde64aea529de3e98471
parent 65263961fe1471d6516af1848499bd95d82cf0b0
Author: triesap <tyson@radroots.org>
Date:   Mon,  3 Aug 2026 13:03:50 +0000

facade: document public api contract

- Record the reviewed all-feature facade API as a pre-release baseline.
- Link the package charter and baseline from primary facade documentation.
- Document deterministic regeneration and curated API review requirements.
- Verify the snapshot, rustdoc, doctests, strict Clippy, and architecture gate.

Diffstat:
Mcrates/radroots/README.md | 2++
Mdocs/api/README.md | 9++++++---
Adocs/api/radroots-0.1.0-alpha.txt | 126+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 134 insertions(+), 3 deletions(-)

diff --git a/crates/radroots/README.md b/crates/radroots/README.md @@ -90,3 +90,5 @@ use radroots::sdk; The normative package charter is the [`radroots` release-v1 specification](../../docs/specs/radroots_crates_release_v1.md#19-radroots). +The reviewed pre-release public API is recorded in the +[`radroots` baseline](../../docs/api/radroots-0.1.0-alpha.txt). diff --git a/docs/api/README.md b/docs/api/README.md @@ -5,12 +5,15 @@ They contain the simplified (`-sss`) all-features API emitted by `cargo-public-api`; private implementation items and automatically generated trait noise are intentionally omitted. -Regenerate the `radroots_sdk` baseline from this repository root with: +Regenerate either Rust front-door baseline from this repository root with: ```sh cargo public-api -p radroots_sdk --all-features -sss --color never +cargo public-api -p radroots --all-features -sss --color never ``` An API change is not accepted merely because the baseline can be regenerated. -Review additions, removals, and changed signatures against the package charter -and versioning policy before replacing a baseline. +Review additions, removals, and changed signatures against the relevant package +charter and versioning policy before replacing a baseline. The facade snapshot +must remain curated: it must not contain a `radroots::sdk` module, facade-owned +traits, or an undifferentiated copy of the advanced SDK surface. diff --git a/docs/api/radroots-0.1.0-alpha.txt b/docs/api/radroots-0.1.0-alpha.txt @@ -0,0 +1,126 @@ +pub mod radroots +pub use radroots::Client +pub use radroots::ClientBuilder +pub use radroots::Error +pub use radroots::Result +pub mod radroots::client +pub const fn radroots::client::geonames_enabled() -> bool +pub const fn radroots::client::knowledge_enabled() -> bool +pub const fn radroots::client::local_only() -> radroots_sdk::transport::Profile +pub fn radroots::client::memory() -> radroots_sdk::client::ClientBuilder +pub async fn radroots::client::native(radroots_sdk::storage::SqliteOptions) -> radroots_sdk::error::Result<radroots_sdk::client::ClientBuilder> +pub fn radroots::client::with_nip46_signer(radroots_sdk::client::ClientBuilder, radroots_sdk::signing::Provider) -> radroots_sdk::client::ClientBuilder +pub fn radroots::client::with_transport(radroots_sdk::client::ClientBuilder, alloc::sync::Arc<dyn radroots_transport::source::EventSource>, alloc::sync::Arc<dyn radroots_transport::sink::EventSink>) -> radroots_sdk::client::ClientBuilder +pub mod radroots::event +pub use radroots::event::Error +pub use radroots::event::Event +pub use radroots::event::EventDraft +pub use radroots::event::EventId +pub use radroots::event::EventKind +pub use radroots::event::EventTag +pub use radroots::event::SignedEvent +pub use radroots::event::VerifiedEvent +pub mod radroots::farm +pub use radroots::farm::Farm +pub use radroots::farm::FarmPublicLocation +pub use radroots::farm::FarmRef +pub use radroots::farm::Plan +pub use radroots::farm::PrepareError +pub use radroots::farm::PrepareErrorKind +pub use radroots::farm::PrepareRequest +pub use radroots::farm::prepare +pub mod radroots::identity +pub use radroots::identity::AccountId +pub use radroots::identity::Error +pub use radroots::identity::IdentityId +pub use radroots::identity::Profile +pub use radroots::identity::PublicIdentity +pub use radroots::identity::PublicKey +pub use radroots::identity::Username +pub mod radroots::knowledge +pub use radroots::knowledge::AddressableRef +pub use radroots::knowledge::KnowledgeClaim +pub use radroots::knowledge::KnowledgeFieldReport +pub use radroots::knowledge::KnowledgeRelation +pub use radroots::knowledge::KnowledgeReview +pub use radroots::knowledge::KnowledgeSource +pub use radroots::knowledge::KnowledgeValidationError +pub use radroots::knowledge::WikiArticle +pub use radroots::knowledge::WikiDTagError +pub use radroots::knowledge::WikiMergeRequest +pub use radroots::knowledge::WikiRedirect +pub use radroots::knowledge::normalize_wiki_d_tag +pub use radroots::knowledge::validate_wiki_d_tag +pub mod radroots::listing +pub use radroots::listing::Action +pub use radroots::listing::EditV1 +pub use radroots::listing::Lifecycle +pub use radroots::listing::OperationalListing +pub use radroots::listing::OperationalListingAvailability +pub use radroots::listing::OperationalListingBin +pub use radroots::listing::OperationalListingDeliveryMethod +pub use radroots::listing::OperationalListingImage +pub use radroots::listing::OperationalListingProduct +pub use radroots::listing::OperationalListingPublicLocation +pub use radroots::listing::OperationalListingStatus +pub use radroots::listing::Plan +pub use radroots::listing::PrepareError +pub use radroots::listing::PrepareErrorKind +pub use radroots::listing::PrepareRequest +pub use radroots::listing::prepare +pub mod radroots::signing +pub use radroots::signing::Mode +pub use radroots::signing::Provider +pub mod radroots::storage +pub use radroots::storage::IntegrityStatus +pub use radroots::storage::Operations +pub use radroots::storage::SqliteOpenMode +pub use radroots::storage::SqliteOptions +pub use radroots::storage::SqlitePaths +pub use radroots::storage::Status +pub mod radroots::sync +pub mod radroots::trade +pub use radroots::trade::Currency +pub use radroots::trade::Decimal +pub use radroots::trade::FulfillmentProfileV1 +pub use radroots::trade::Money +pub use radroots::trade::MutationBodyV1 +pub use radroots::trade::MutationKindV1 +pub use radroots::trade::MutationV1 +pub use radroots::trade::Percent +pub use radroots::trade::Plan +pub use radroots::trade::PrepareError +pub use radroots::trade::PrepareErrorKind +pub use radroots::trade::PrepareRequest +pub use radroots::trade::Projection +pub use radroots::trade::Quantity +pub use radroots::trade::QuantityPrice +pub use radroots::trade::ReducerIssue +pub use radroots::trade::ReductionInput +pub use radroots::trade::TradeCancellationProfileV1 +pub use radroots::trade::TradeCandidateLineV1 +pub use radroots::trade::TradeCandidateTermsV1 +pub use radroots::trade::TradeDecisionV1 +pub use radroots::trade::TradeEconomicAdjustmentV1 +pub use radroots::trade::TradeEconomicsProfileV1 +pub use radroots::trade::TradePrivateTermsRefV1 +pub use radroots::trade::Unit +pub use radroots::trade::ValidationError +pub use radroots::trade::WorkflowPlan +pub use radroots::trade::prepare +pub use radroots::trade::project +pub mod radroots::transport +pub use radroots::transport::DaemonAuth +pub use radroots::transport::DaemonConfig +pub use radroots::transport::DaemonDelivery +pub use radroots::transport::DaemonError +pub use radroots::transport::Error +pub use radroots::transport::EventSink +pub use radroots::transport::EventSource +pub use radroots::transport::Profile +pub use radroots::transport::SatisfactionClass +pub use radroots::transport::SatisfactionPolicy +pub use radroots::transport::Target +pub use radroots::transport::TargetPolicy +pub use radroots::transport::TargetSet +pub use radroots::transport::TransportId