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