lib

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

commit 18461d900fdef997a1452e76be0b94d5257c7d29
parent 32761c50469f45bf04f84525dc5d8fa9313d65a0
Author: triesap <tyson@radroots.org>
Date:   Fri, 10 Apr 2026 03:27:59 +0000

contract: move release docs to root

Diffstat:
Mcontract/README.md | 8+++++---
Dcontract/release/checklist-0.1.0.md | 11-----------
Dcontract/release/runbook.md | 60------------------------------------------------------------
3 files changed, 5 insertions(+), 74 deletions(-)

diff --git a/contract/README.md b/contract/README.md @@ -66,15 +66,17 @@ Required Rust crates are gated at `100/100/100/100` (exec lines, functions, bran Release crate classification and publish order are defined in the owning monorepo at `contracts/release/mounted-rust-crates/publish-policy.toml`. -Deterministic release workflow is documented in `contract/release/runbook.md`. -Release checklist is defined in `contract/release/checklist-0.1.0.md`. +Operator workflow is root-owned and documented in: + +- `contracts/release/mounted-rust-crates/runbook.md` +- `contracts/release/mounted-rust-crates/checklist.md` Primary commands: - `cargo run -q -p xtask -- sdk validate` - `cargo run -q -p xtask -- sdk release preflight` - `./scripts/ci/release_preflight.sh` -- `scripts/release/rr-rs-preflight.sh <release-tag> [crate-list]` from the owning monorepo +- `scripts/release/rr-rs-preflight.sh <plan-id> [crate-list]` from the owning monorepo ## License diff --git a/contract/release/checklist-0.1.0.md b/contract/release/checklist-0.1.0.md @@ -1,11 +0,0 @@ -# release checklist - -- [ ] confirm `contract/manifest.toml`, `contract/version.toml`, and `contracts/release/mounted-rust-crates/publish-policy.toml` declare the same release version -- [ ] run `cargo check -q` -- [ ] run `cargo test -q -p xtask` -- [ ] run `./scripts/ci/release_preflight.sh` -- [ ] run `scripts/release/rr-rs-preflight.sh <release-tag> [crate-list]` from the owning monorepo -- [ ] confirm crates.io owner and token access for the publish account -- [ ] run `scripts/release/rr-rs-publish.sh <release-tag> [crate-list]` from the owning monorepo -- [ ] verify all public crates in the root release policy are visible on crates.io at the configured release version -- [ ] tag release in git and publish release notes diff --git a/contract/release/runbook.md b/contract/release/runbook.md @@ -1,60 +0,0 @@ -# release runbook - -## scope - -This runbook applies to the crates classified in the owning monorepo release policy at -`contracts/release/mounted-rust-crates/publish-policy.toml`. - -## preflight - -```bash -scripts/release/rr-rs-preflight.sh <release-tag> [crate-list] -``` - -Run preflight from the owning monorepo release surface. In `radroots-platform-v1`, the canonical entrypoint is `scripts/release/rr-rs-preflight.sh`. - -This validates: - -- sdk contract integrity and release policy parity -- required crate coverage at `100/100/100/100` -- publish crate metadata required for crates.io - -The underlying source-repo preflight lane remains `./scripts/ci/release_preflight.sh`, but publish orchestration is monorepo-owned and must not live in the source checkout. - -## release tag - -Create an annotated tag whose version matches `release.version` in -`contracts/release/mounted-rust-crates/publish-policy.toml`. - -Recommended form: - -```bash -git tag -a "v$(awk -F '\"' '/^version = / { print $2; exit }' ../../../../contracts/release/mounted-rust-crates/publish-policy.toml)" -m "release" -``` - -## publish simulation - -```bash -scripts/release/rr-rs-preflight.sh <release-tag> [crate-list] -``` - -This runs `cargo publish --dry-run` in release order from the owning monorepo and reports deferred crates when they depend on earlier crates that are not yet published. - -## publish - -```bash -scripts/release/rr-rs-publish.sh <release-tag> [crate-list] -``` - -This publishes in `publish_order` from the owning monorepo and waits for each crate version to become visible on crates.io before continuing. - -Set `CARGO_REGISTRY_TOKEN` or `CRATES_IO_TOKEN` in the runtime environment before the publish step. - -## 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.