Repository navigation
[Phase 16] S14 — Test-quality ratchet #900
Copy link
Copy link
Open
Labels
blockedWaits for another issue (see Blocked by); set and removed automatically, never by handWaits for another issue (see Blocked by); set and removed automatically, never by handphase: 16Roadmap Phase 16: trust surface hardening (docs/roadmap/phase-16-trust-surface-hardening.md)Roadmap Phase 16: trust surface hardening (docs/roadmap/phase-16-trust-surface-hardening.md)source: roadmapPlanned or deferred work recorded in docs/roadmap/Planned or deferred work recorded in docs/roadmap/
Description
Roadmap · Phase 16, step S14 · size M · 2 unit(s) · planned in
docs/roadmap/phase-16-trust-surface-hardening.md:723-744
Summary
The test suite's own quality contract is weaker than its actual quality: a 40 % coverage floor guards a measured 86.60 %, and a curated subset of tests asserts only "did not raise" and would pass against a pass body. Deliberately late in the phase, so the ratchet is not calibrated against pre-remediation code.
Units
| Unit | Tracked by (October 2026 review) |
|---|---|
F-W20260729-OPS-20 |
#702 |
F-W20260729-OPS-21 |
#80 · #559 · #567 · #681 · #692 · #696 |
Decisions this step executes
- C-19 — coverage ratchet: diff-coverage enforcing at S14 only (the "advisory at S1" limb was withdrawn: a CI step that cannot go red is a fake green); global floor = measured − 2.
Plan
- Introduce diff-coverage once, enforcing; ratchet the global
fail_under; add per-module floors.
Exit criteria
- Diff-coverage on changed lines and a ratcheted global
fail_underare both enforced, with explicit measured thresholds forcompliance.py,verify/,_http.py,safety/andconfig.py. - Replacing the body of each curated production function with a no-op makes its test fail.
- The 71-function inventory is triaged by hand into legitimate no-exception contracts versus silent-pass risks, with the disposition recorded.
- The floor stated in
testing.mdmatches the enforced one.
How to deliver
- One root-cause family, committed on its own; then an Opus review round and a Sonnet review round, each with verified findings fixed and committed before the next step begins.
- A reproducer that is red before the fix and green after; the full gauntlet from
CLAUDE.mdpasses under./.venv/bin/python. - Every English documentation edit ships with its Turkish mirror in the same commit; a new or renamed audit event gets its EN and TR catalog rows in the same PR.
- A step that grows a deferred module carries its
budget_historyjustification in the same diff; a widened guard rolls out non-strict first, then flips. - Commit bodies cite
Absorbs F-W20260729-…; the CHANGELOG[Unreleased]section gets an entry only for a change a user or library consumer can observe (decision C-20).
Planned in docs/roadmap/phase-16-trust-surface-hardening.md (read at f94595f). Unit IDs (F-W20260729-…) come from the 2026-07-29/30 full-project review; the issue numbers next to them are the October 2026 review's records of the same defects.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
blockedWaits for another issue (see Blocked by); set and removed automatically, never by handWaits for another issue (see Blocked by); set and removed automatically, never by handphase: 16Roadmap Phase 16: trust surface hardening (docs/roadmap/phase-16-trust-surface-hardening.md)Roadmap Phase 16: trust surface hardening (docs/roadmap/phase-16-trust-surface-hardening.md)source: roadmapPlanned or deferred work recorded in docs/roadmap/Planned or deferred work recorded in docs/roadmap/
Type
Projects
- StatusShow more project fieldsTodo
Activity