# #149 Coverage ratchet — both floors live here, and they only ever rise.
# Doctrine (issue #149 evidence trail): CPython devguide — "any increase is a
# good one"; a floor is committed once measured and never lowered afterwards.
#
#   Global floor  = [report] fail_under below (measured 2026-09-07 at the
#                   #149 baseline; raise it when coverage grows, never lower).
#   Changed-lines floor = diff-cover --fail-under=70 in .gitea/workflows/ci.yml
#                   (changed code may not reduce tested coverage; 70% start,
#                   ratchetable upward after the first clean pass).
#
# Regenerating the CI lock after touching this file is NOT required (tool
# config, not a dependency), but the floors above are contract: edit them
# only to raise.
#
# Canary files are omitted: src/rune/canary_*.py are standalone CI
# verification scripts executed directly by the canary job, never imported by
# the test suite — counting them would make the global floor a fiction.
# ffi_query_memory_smoke.py is the same class: a standalone evidence script
# driven directly (and by tests/test_ffi_query_memory_smoke.py when the cdylib
# is built), never imported by the suite.

[run]
source = src/rune
omit =
    tests/*
    scripts/*
    src/rune/canary_*.py
    src/rune/ffi_query_memory_smoke.py

[report]
fail_under = 29
show_missing = False
