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:
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`.