# Coverage configuration for MESH_SILOS.
#
# Source is the whole shipped package. That is the point of this file.
#
# --- a defect this file used to have, and why it is written down -------------
#
# Every path in the old ``omit`` list was prefixed ``silos/`` — the package name
# from before the v0.8.62 rename to ``mesh_silos``. Coverage matches those
# literally, so **not one exclusion applied**. The effect was invisible in the
# total (coverage still read "82 %") and visible only in the per-file report,
# where ``slm/train/qlora.py`` and ``merge.py`` sat at 0 % while this file claimed
# to have excluded them, and where the 94 %-covered ``sqlalchemy_connector.py``
# was being measured by accident.
#
# Fixing the prefix was the obvious move. It was not the right one, and the
# reason is worth keeping: **every module in ``mesh_silos`` imports cleanly in
# this environment**, including the three the old list wanted to exclude —
# measured by importing them. So they are not untestable, they are untested, and
# excluding untested-but-testable code raises the headline figure without adding a
# single assertion. That is the move this repository's gates exist to prevent, so
# ``omit`` is gone and the training paths show up as 0 % in the report where a
# reader can see them.
#
# The cost is that the figure is 82 %, not the 84.5 % it would read with those
# files excluded, and 85 stays out of reach until the training path has tests
# rather than an exemption. docs/PRODUCT_AUDIT.md records which and why.
#
# ``fail_under`` is also gone. It said 85, written for the configuration this file
# never had, while the enforced floor said 81 in the Makefile and in
# ``tools/ci.py`` — one number in three places, two of them inert. The threshold
# has exactly one home now: ``COVERAGE_MIN``.
[run]
source = mesh_silos
branch = false

[report]
# These three were written under ``[run]`` when this file was repaired, which
# coverage ignores with a warning: ``show_missing``, ``skip_empty`` and
# ``exclude_lines`` are *report* options. The warning was in plain sight on every
# run and the exclusion therefore did nothing — the same class of defect as the
# stale ``silos/`` prefix above, one level down. The comment stays because the
# mistake is easy to repeat.
exclude_lines =
    pragma: no cover
    raise NotImplementedError
    if __name__ == .__main__:
    \.\.\.

show_missing = true
skip_empty = true
