Coverage ratchet: changed code may not reduce tested coverage; critical paths need branch coverage #149

Closed
opened 2026-09-05 19:23:32 +01:00 by conductor · 4 comments
Owner

Plain summary (handoff §3.2)

Not a vanity target. Implement: changed/new code must not reduce tested coverage; critical authority/cognitive paths require meaningful branch coverage; legacy debt may persist temporarily; new debt may not silently accumulate.

Priority paths (handoff-ordered)

ContextBroker → memory-selection authority → OutcomeLedger/verification → warm-neuron learning → abstraction promotion → permissions/confirmation → persistence/session state → self-model → skill promotion.

Acceptance

  • a newly introduced untested branch in a critical changed path causes ratchet failure or explicit review surfacing (demonstrated)
  • coverage recorded as execution evidence, not correctness proof
## Plain summary (handoff §3.2) Not a vanity target. Implement: changed/new code must not reduce tested coverage; critical authority/cognitive paths require meaningful branch coverage; legacy debt may persist temporarily; new debt may not silently accumulate. ## Priority paths (handoff-ordered) ContextBroker → memory-selection authority → OutcomeLedger/verification → warm-neuron learning → abstraction promotion → permissions/confirmation → persistence/session state → self-model → skill promotion. ## Acceptance - [ ] a newly introduced untested branch in a critical changed path causes ratchet failure or explicit review surfacing (demonstrated) - [ ] coverage recorded as execution evidence, not correctness proof
conductor added the P2 — medium label 2026-09-05 19:23:32 +01:00

⚠️ Priority gate: this issue has no priority. Assign exactly one of P0 — critical (spine/correctness/blocks), P1 — high (material value or real defect), P2 — medium (quality/consolidation), P3 — low (measurement/deferred). An issue without a priority is not filed.

⚠️ **Priority gate:** this issue has no priority. Assign exactly one of **P0 — critical** (spine/correctness/blocks), **P1 — high** (material value or real defect), **P2 — medium** (quality/consolidation), **P3 — low** (measurement/deferred). An issue without a priority is not filed.
gitea-actions Bot added the growthmemory labels 2026-09-05 19:28:00 +01:00
conductor added P0 — critical and removed P2 — medium labels 2026-09-07 11:13:59 +01:00

⚠️ Priority gate: this issue has no priority. Assign exactly one of P0 — critical (spine/correctness/blocks), P1 — high (material value or real defect), P2 — medium (quality/consolidation), P3 — low (measurement/deferred). An issue without a priority is not filed.

⚠️ **Priority gate:** this issue has no priority. Assign exactly one of **P0 — critical** (spine/correctness/blocks), **P1 — high** (material value or real defect), **P2 — medium** (quality/consolidation), **P3 — low** (measurement/deferred). An issue without a priority is not filed.
Author
Owner

#149 coverage ratchet — OUTWARD evidence trail (fetched 2026-09-07)

Evidence pulled live from primary sources (docs fetched, CLIs run); 4 dead URLs encountered during research were substituted with working primaries. This comment is the verifiable source trail for the plan.

**#149 coverage ratchet — OUTWARD evidence trail (fetched 2026-09-07)** - diff-cover (PyPI): "percentage of new or modified lines covered by tests", `--fail-under` exits non-zero below threshold, `--compare-branch` — a ready-made changed-code ratchet. https://pypi.org/project/diff-cover/ - coverage.py: `[report] fail_under` exits status 2 globally — floor-only, not diff-scoped. https://coverage.readthedocs.io/en/latest/config.html - CPython devguide precedent: coverage goal "any increase is a good one" (ratchet doctrine). https://github.com/python/devguide/blob/main/testing/coverage.rst Design consequence: ratchet = diff-cover --fail-under on changed lines per PR + committed global floor CI only raises. _Evidence pulled live from primary sources (docs fetched, CLIs run); 4 dead URLs encountered during research were substituted with working primaries. This comment is the verifiable source trail for the plan._
gitea-actions Bot added the ready label 2026-09-08 01:29:42 +01:00

🎓 NEXT: #149 — Coverage ratchet: changed code may not reduce tested coverage; critical paths need branch coverage — dependencies satisfied (closed: #147); Rune may start.

🎓 **NEXT: #149 — Coverage ratchet: changed code may not reduce tested coverage; critical paths need branch coverage** — dependencies satisfied (closed: #147); Rune may start.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: conductor/rune#149