lib

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

commit b4440dbb094b73171aebc30e3f8daabf6e1d9273
parent f56e6fd3f1e634ecb572fe9ee26ab57f7f8fe223
Author: triesap <tyson@radroots.org>
Date:   Mon, 23 Feb 2026 17:01:03 +0000

docs: define sdk sync flow and release order


- document export-ts-crate selectors for crate ids short names and package names
- record the sdk sync export order for contract crates and wasm artifacts
- note the ci policy that blocks tracked files under crates/*/bindings/**
- run cargo check -q -p xtask and cargo test -q -p xtask

Diffstat:
Mcontract/README.md | 8++++++++
Mcrates/xtask/README.md | 19+++++++++++++++++++
2 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/contract/README.md b/contract/README.md @@ -30,6 +30,14 @@ The sdk contract excludes app/runtime/storage implementation crates. - all contract changes require conformance updates. - all contract exports must be reproducible from source. - release automation must publish contract metadata and artifact checksums. +- release automation exports ts artifacts in this order: + - `radroots-core` + - `radroots-types` + - `radroots-events` + - `radroots-trade` + - `radroots-identity` + - `radroots-events-codec-wasm` +- ts artifact commits under `crates/*/bindings/**` are forbidden and blocked by ci guards. ## coverage governance diff --git a/crates/xtask/README.md b/crates/xtask/README.md @@ -12,6 +12,7 @@ Validates the sdk contract manifest, version policy, export mappings, and requir ```bash cargo run -q -p xtask -- sdk export-ts +cargo run -q -p xtask -- sdk export-ts-crate --crate radroots-core ``` Runs the full export pipeline: @@ -20,6 +21,12 @@ Runs the full export pipeline: - exports models/constants/wasm outputs to `target/sdk-export/ts/packages` - writes deterministic checksums to `target/sdk-export/ts/export-manifest.json` +Per-crate export uses `--crate` and accepts: + +- workspace crate ids (for example `radroots-core`) +- short crate names (for example `core`) +- mapped package names (for example `@radroots/core`) + ## granular commands ```bash @@ -44,5 +51,17 @@ When available in export output, it also syncs: - `@radroots/identity` generated models - `@radroots/events` generated constants and kinds +- `@radroots/events-codec-wasm` dist artifacts when present + +Workflow export order: + +1. `radroots-core` +2. `radroots-types` +3. `radroots-events` +4. `radroots-trade` +5. `radroots-identity` +6. `radroots-events-codec-wasm` + +CI blocks commits that track files under `crates/*/bindings/**`. The workflow requires a `RADROOTS_SDK_SYNC_TOKEN` secret with permissions to push branches and open pull requests in `radrootslabs/sdk-typescript`.