Repository navigation
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.
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