lib

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

commit a69637f030e62a9fe6f971dd8ff946b0c09194b5
parent 85fbf0dbebf65b98b33584f7961a78cd2c555ce7
Author: triesap <tyson@radroots.org>
Date:   Wed, 25 Feb 2026 16:39:01 +0000

docs: add release contract runbook and checklist


- add 0.1.0 checklist with preflight dry-run publish and verification steps
- add release runbook describing scope preflight publish and post-release checks
- extend contract readme with pointers to release policy runbook and checklist
- validate contract bundle after documentation updates

Diffstat:
Mcontract/README.md | 6++++++
Acontract/release/checklist-0.1.0.md | 11+++++++++++
Acontract/release/runbook.md | 42++++++++++++++++++++++++++++++++++++++++++
3 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/contract/README.md b/contract/README.md @@ -43,3 +43,9 @@ The sdk contract excludes app/runtime/storage implementation crates. - strict coverage policy for oss rust crates is defined in `contract/coverage/POLICY.md`. - crate rollout and enforcement order is defined in `contract/coverage/rollout.toml`. + +## release operations + +- release crate set and publish order are defined in `contract/release/publish-set.toml`. +- deterministic release execution is defined in `contract/release/runbook.md`. +- release checklist for `0.1.0` is defined in `contract/release/checklist-0.1.0.md`. diff --git a/contract/release/checklist-0.1.0.md b/contract/release/checklist-0.1.0.md @@ -0,0 +1,11 @@ +# 0.1.0 release checklist + +- [ ] confirm `contract/version.toml` and `contract/release/publish-set.toml` both declare `0.1.0` +- [ ] run `cargo check -q` +- [ ] run `cargo test -q -p xtask` +- [ ] run `./scripts/ci/release_preflight.sh` +- [ ] run `./scripts/ci/release_publish_order.sh dry-run` +- [ ] confirm crates.io owner and token access for the publish account +- [ ] run `./scripts/ci/release_publish_order.sh publish` +- [ ] verify all publish-set crates are visible on crates.io at `0.1.0` +- [ ] tag release in git and publish release notes diff --git a/contract/release/runbook.md b/contract/release/runbook.md @@ -0,0 +1,42 @@ +# release runbook + +## scope + +This runbook applies to the crates listed in `contract/release/publish-set.toml`. + +## preflight + +```bash +./scripts/ci/release_preflight.sh +``` + +This command validates: + +- sdk contract integrity and release policy parity +- required crate coverage at `100/100/100` +- publish crate metadata required for crates.io + +## publish simulation + +```bash +./scripts/ci/release_publish_order.sh dry-run +``` + +This runs `cargo publish --dry-run` in release order and reports deferred crates when they depend on earlier crates that are not yet published. + +## publish + +```bash +./scripts/ci/release_publish_order.sh publish +``` + +This publishes in `publish_order` and waits for each crate version to become visible on crates.io before continuing. + +## post-release verification + +```bash +cargo run -q -p xtask -- sdk validate +cargo run -q -p xtask -- sdk release preflight +``` + +Then verify the published crate versions on crates.io.