lib

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

commit 9e60a154c607ee31bd108f751e1bb1fe64259314
parent 6f613309a88dc90cb0c969a9bd730ba803ac35f1
Author: triesap <tyson@radroots.org>
Date:   Thu, 11 Jun 2026 22:26:24 -0700

coverage: clarify heavy development gate

- Clarify that the required coverage gate is 90/90/90/90 rather than a 100% target.
- Direct coverage work toward required behavior, protocol contracts, validation, and state transitions.
- Carry the same heavy-development interpretation into the machine-readable policy comments.
- Update the SDK spec coverage summary to match the relaxed coverage target.

Diffstat:
Mpolicy/coverage/POLICY.md | 8+++++++-
Mpolicy/coverage/policy.toml | 5+++--
Mspec/README.md | 5++++-
3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/policy/coverage/POLICY.md b/policy/coverage/POLICY.md @@ -11,7 +11,12 @@ The authoritative machine-readable contract is `policy/coverage/policy.toml`. - branch coverage: 90.0 - branch records must be present in lcov data -All four thresholds are release-blocking. +All four thresholds are release-blocking for required crates. This is the +heavy-development coverage gate, not a 100% coverage requirement. + +Coverage work should prioritize required behavior, protocol contracts, +conformance vectors, parsing, validation, and state-transition invariants. +Do not add low-value tests solely to chase crate-wide 100% coverage. ## toolchain contract @@ -33,6 +38,7 @@ All four thresholds are release-blocking. - every workspace crate is required - the required blocking crate list is tracked in `policy/coverage/policy.toml` - workspace membership changes must update `policy/coverage/policy.toml` in the same change +- crates are not expected to reach 100% coverage during heavy development ## local override policy diff --git a/policy/coverage/policy.toml b/policy/coverage/policy.toml @@ -6,8 +6,9 @@ fail_under_branches = 90.0 require_branches = true # Heavy-development baseline: required crates must generally hold at least 90% -# coverage across executable lines, functions, regions, and branches. Temporary -# overrides below 90% are allowed only for explicit release-preflight gaps. +# coverage across executable lines, functions, regions, and branches. This is +# not a 100% coverage target. Temporary overrides below 90% are allowed only for +# explicit release-preflight gaps. [overrides.radroots_secret_vault] fail_under_exec_lines = 90.0 diff --git a/spec/README.md b/spec/README.md @@ -162,7 +162,10 @@ Coverage governance is defined under `policy/coverage/`: - human policy notes: `policy/coverage/POLICY.md` - per-crate profiles: `policy/coverage/profiles.toml` -Required Rust crates are gated at `90/90/90/90` (exec lines, functions, branches, regions), with branch records required. Temporary crate-specific overrides below 90% must remain explicit in the machine-readable policy. +Required Rust crates are gated at `90/90/90/90` (exec lines, functions, +branches, regions), with branch records required. This is not a 100% coverage +target. Temporary crate-specific overrides below 90% must remain explicit in +the machine-readable policy. ## Release Policy