Skip to content

v0.11.0 — requirement traceability + real coverage floor

Choose a tag to compare

@momomuchu momomuchu released this 05 Jul 13:34

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-planner produced an acceptance_slice_map but nothing read it back — a criterion could go unimplemented and still reach DONE. New check_traceability.py, wired into run_gates, fails the run if any acceptance criterion maps to zero files or to a file that doesn't exist (no plan.json at 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.sh fails below MNM_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.