lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

commit 757f3e32102b310bb0f6942fd7ecd2ac745198c4
parent f793ab1c7654f58a10a8f05e67fba58ccc4e8762
Author: triesap <tyson@radroots.org>
Date:   Tue, 14 Jul 2026 20:45:01 +0000

docs: remove unauthorized nested docs

- delete unapproved lib docs files
- preserve malformed corpus source assets
- keep README conventions untouched
- leave validation behavior unchanged

Diffstat:
Ddocs/architecture/embedded_transport_contract.md | 38--------------------------------------
Ddocs/release/crates_io_policy.md | 41-----------------------------------------
Ddocs/release/public_validation_model.md | 50--------------------------------------------------
3 files changed, 0 insertions(+), 129 deletions(-)

diff --git a/docs/architecture/embedded_transport_contract.md b/docs/architecture/embedded_transport_contract.md @@ -1,38 +0,0 @@ -# Embedded Transport Contract - -Radroots public transport code separates transport-neutral delivery contracts from concrete -transport adapters. Public APIs must describe targets, payloads, delivery status, and satisfaction -policy without smuggling a relay-only model into generic transport surfaces. - -## Contract boundaries - -`radroots_transport` owns transport-neutral value types: - -- `RadrootsTransportKind` -- `RadrootsTransportTarget` -- `RadrootsTransportTargetUri` -- `RadrootsTransportTargetSet` -- `RadrootsTransportPayload` -- `RadrootsTransportSatisfactionPolicy` -- `RadrootsTransportDeliveryReceipt` - -Nostr-specific behavior belongs in Nostr-owned crates and NIP-specific modules. Mesh behavior -belongs in mesh-owned crates. Generic transport code may name Nostr only when it is modeling an -explicit Nostr target or a Nostr adapter boundary. - -## Embedded and preview transports - -The Reticulum preview endpoint is intentionally explicit. The only accepted preview endpoint is the -checked-in `RADROOTS_RETICULUM_PREVIEW_ENDPOINT_URI` value, and preview delivery remains unavailable -for real payload transfer until a concrete transport implementation is added. - -Mesh frame CBOR is a source-level contract for local and embedded transport experimentation. The -MVP frame shape is fixed by `radroots_mesh` tests and conformance vectors, and real payload bytes -are rejected by the preview policy. - -## Malformed input posture - -Transport parsers are part of the release validation surface. Malformed transport target URIs, -unsupported mesh CBOR shapes, payload-bearing preview frames, and invalid replica JSON models must -fail through checked-in tests and conformance vectors. Runtime callers should depend on those -fallible constructors and parser results instead of accepting unchecked target strings or raw bytes. diff --git a/docs/release/crates_io_policy.md b/docs/release/crates_io_policy.md @@ -1,41 +0,0 @@ -# Crates.io Policy - -Public crate publication must use registry-resolved public dependencies. Release preflight must -fail closed while required DTO tooling is unavailable from crates.io. - -## Publishable crate boundary - -Crates that declare `publish = ["crates-io"]` are candidates for public registry publication after -their source, contracts, tests, and dependency graph pass the repo-local release preflight. - -Crates that declare `publish = false` are public source crates but are not candidates for registry -publication from this repo-local policy surface. - -## DTO tooling gate - -The DTO crates `dto_bindgen` and `dto_bindgen_core` are currently required by public crate surfaces -that expose generated DTO metadata. Until the required DTO crates are available from crates.io, -`cargo xtask release preflight` must report that registry availability as a publication blocker. - -That blocker must not be bypassed by: - -- git dependencies -- local path dependencies -- vendored DTO copies -- retired-name reexports -- publication-only source rewrites -- release-only feature gates - -The correct state is an explicit preflight failure that names the missing registry dependency. - -## Local validation - -Run the release gate from the nested repo root: - -```bash -cargo xtask release preflight -``` - -If the command fails only because DTO tooling is unavailable from crates.io, record that exact -blocker in closeout evidence. Any additional failure must be treated as a separate source or -contract issue and fixed directly. diff --git a/docs/release/public_validation_model.md b/docs/release/public_validation_model.md @@ -1,50 +0,0 @@ -# Public Validation Model - -This repository treats public source validation as a fail-closed contract. A change is ready for -public release consideration only when source formatting, crate tests, contract validation, -conformance vectors, and release preflight all agree with the checked-in contracts. - -## Validation surfaces - -The public validation surface is source-controlled in this repo: - -- `Cargo.toml` defines the workspace members and crate dependency posture. -- `contracts/**` defines operation metadata, conformance vectors, event contracts, and release - contract inputs. -- `crates/**/tests/**` exercises crate-local public APIs and malformed-input behavior. -- `tools/xtask/**` owns repo-local contract validation and release preflight commands. - -The standard source validation entrypoints are: - -```bash -cargo fmt --all -- --check -cargo test --workspace --all-features -cargo xtask contract validate -cargo xtask release preflight -``` - -Focused hardening slices may run narrower crate commands first, but final release consideration -must return to the workspace and xtask validation surface. - -## Conformance vectors - -Stable public vectors live under `contracts/conformance/vectors/**`. These files are test inputs, -not generated output. They are deliberately small and inspectable so malformed input expectations -remain reviewable in source control. - -The malformed corpus currently covers: - -- event wire JSON in `contracts/conformance/vectors/event/nip01_wire.v1.json` -- transport target URI parsing in `contracts/conformance/vectors/transport/target_uri.v1.json` -- mesh frame CBOR in `contracts/conformance/vectors/mesh/frame_cbor.v1.json` -- replica schema JSON in `contracts/conformance/vectors/replica_schema/json_models.v1.json` - -Each corpus has at least one canonical valid case and malformed cases that must fail through the -same public parser or model type used by downstream consumers. - -## Failure posture - -Validation failures are release blockers. The expected DTO crates.io blocker documented in -`docs/release/crates_io_policy.md` is still a blocker; it is recorded distinctly so release tooling -does not silently substitute git dependencies, local path dependencies, vendored copies, -retired-name reexports, or publication-only workarounds.