Risk-weighted coverage policy + diff-coverage gate (ADR 0004) #294
Open
didericis-claude
wants to merge 1 commits from
cover-global-90 into cover-egress-addon-adapter
pull from: cover-global-90
merge into: didericis:cover-egress-addon-adapter
didericis:main
didericis:core-coverage-badge
didericis:ratchet-supervise-90
didericis:ratchet-manifest-90
didericis:ratchet-git-gate-90
didericis:ratchet-egress-core-90
didericis:ratchet-yaml-subset-90
didericis:ratchet-egress-addon-90
didericis:table-drive-dlp-tests
didericis:flatten-deep-nesting
didericis:decompose-egress-dlp-config
didericis:cover-egress-addon-adapter
didericis:prd-egress-control-plane
didericis:prd-smolmachines-linux
didericis:fix-integration-test-failures
didericis:fix/macos-container-relative-dockerfile
didericis:prd-0054-install-script
didericis:commit-bottle-state
didericis:pr-211
didericis:move-codex-auth-to-contrib
didericis:feat/pipelock-skip-scan-extensions
didericis:prd-0049-named-labelled-agents
didericis:harden-git-gate-shell-rendering
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
632ab002ed |
ci(coverage): risk-weighted coverage policy + diff-coverage gate
Adopt ADR 0004: stop chasing a single global coverage number and measure what matters instead. - Omit the genuinely-interactive `cli/init.py` shell (read_tty_line prompt loops) alongside the existing `cli/tui.py`, with a rationale comment in .coveragerc. Subprocess/backend orchestration is NOT omitted — it stays visible and is scored via the integration suite. - scripts/coverage.sh runs unit + integration under one coverage measurement (the policy's yardstick) and can report the critical security/logic core held to the >=90% target. - scripts/diff_coverage.py is a stdlib-only gate (no diff-cover dep): new/changed executable lines must be >=90% covered. This is the enforced regression guard; the global number is informational. - CI gains a `coverage` job: combined report + the diff-coverage gate. - Unit-test `cli/__init__.py` dispatch/exit-code mapping (it's logic, not I/O, so it earns tests rather than an omit). Combined unit+integration coverage now reports 83% global / 87% across the critical modules; per-module ratcheting toward 90% is the ongoing work this policy frames. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NkwFXLFff9PYPy4wgVBJp9 |