v0.11.0 — requirement traceability + real coverage floor
v0.11.0 — two more PARTIAL→MET conversions (requirement traceability + real coverage floor)
Continuing the standards-completeness pass on substance (each conversion carries a negative control; no metric-gaming):
- Requirement→artifact traceability gate (SWEBOK v4 Requirements / ISO/IEC/IEEE 29148).
mnm-plannerproduced anacceptance_slice_mapbut nothing read it back — a criterion could go unimplemented and still reachDONE. Newcheck_traceability.py, wired intorun_gates, fails the run if any acceptance criterion maps to zero files or to a file that doesn't exist (noplan.jsonat T/L tiers → SKIPPED). 13 unit tests including missing-file, empty-mapping, no-slice-map, and malformed-JSON negative controls. - Coverage is a real gate now (ISO/IEC/IEEE 29119 test-completeness).
coverage.shfails belowMNM_COV_FLOOR(default 90%, currently ~98%); CI runs it hard (no|| true) with a teeth negative control — an impossible 100% floor must fail.
Verification
- 559 unit tests, 0 failed, across 19 files · 17 self-eval scenarios · both CI workflows green
- This builds on v0.10.1 (all 5 re-grade gaps closed + the two verify-forgery bypasses fixed, independently revert-tested)
An independent re-measurement of the overall MET% (and an honest Campbell/Goodhart verdict on the 80% target) is in progress; the substance-level ceiling is reported transparently rather than the number being gamed to a target.