ci: adopt tiered contributor validation

This commit is contained in:
Joseph Magly
2026-08-20 23:11:24 -04:00
parent 0d4d439f22
commit 38efd3dc0a
37 changed files with 916 additions and 121 deletions
+9 -10
View File
@@ -770,20 +770,19 @@ pip install -e ".[dev]"
pytest
```
The mandatory CPU suite contains more than 1,500 tests, including a
The tagged-release CPU suite contains more than 1,500 tests, including a
repository-owned synthetic model that exercises the offline pipeline,
installed-wheel CLI, study runner, transactional checkpoint recovery, and resumable
auto-obliteration state. The suite also covers model/device/quantization/MLX
boundaries, all analysis modules, architecture detection, visualization sanitization,
community contributions, edge cases, and evaluation metrics. CI enforces at least
75% repository statement coverage, 60% repository branch coverage, 95%
changed-line coverage, and 92% statement / 80% branch coverage for the documented
mature CPU-only scope. Deterministic property, order-repeat, and selective mutation
gates provide additional depth for numerical and policy-critical behavior. CI
also rejects line or branch regressions in each touched production module by
measuring the exact base commit, retains normalized trend evidence for 90 days,
enforces owned suite/test/marker/repeat duration budgets, and validates the
source-to-test ownership graph in `ci/test-risk-map.json`.
community contributions, edge cases, and evaluation metrics. Pull requests use a
fast Python 3.12 core and risk-mapped lane with a 50% changed-line floor so changes
can reach maintainer review quickly. Behavior changes still require relevant test
coverage, and maintainers add any remaining test depth before merge. Tagged releases
run the full Python matrix with 75% repository statement coverage, 60% repository
branch coverage, touched-module regression checks, mature-scope floors,
deterministic property/order-repeat checks, selective mutation, package contracts,
Windows portability, and supply-chain certification.
Eight environment-bound test files run through the separately documented conditional
workflow for model downloads, network services, operator UI, CUDA, bitsandbytes, MPS,
MLX, and least-privileged remote execution.