commit 3c764f3cd5d4b29d459c6fdd9ed122c401ce50e5
parent a39c27a5ae6b212a46b1bd3c2978266636efb2f6
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:
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 b/crates/xtask/README
@@ -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`.