# TS-01 mirror allow-list.
#
# Source modules (paths relative to src/mgf/common/) that are legitimately
# covered by a NON-1:1-path test — a phase test, the public-surface suite, or
# a consolidated module test — rather than a strict tests/unit/<dir>/test_<name>.py
# mirror. Each line exempts one module from the mirror lint (tests/test_mirror.py).
#
# Adding a NEW source module still requires either a mirror OR a new line here
# with its coverage reason. `test_allowlist_has_no_stale_entries` removes drift:
# an entry that gains a real mirror (or whose source vanishes) fails the lint.

# --- internal helpers: covered via their public callers + public_surface ---
_env_source.py
_errors.py
_io.py
_test_helpers.py
_warnings.py

# --- CLI: covered by the phase tests (test_phase5_cli, test_phase_e,
#     test_phase6b_diagnostic_cli, test_phase7_migrate) + test_cli_hygiene +
#     the per-command tests (test_version, test_doctor, test_logs, …) ---
cli/_exit_codes.py
cli/_explain.py
cli/_handler.py
cli/_mgfcli.py
cli/_migrate.py
cli/_provenance.py
cli/_subcommand_registry.py
cli/_test.py
cli/_validate.py

# --- config: covered by test_loader + test_phase_d + public_surface ---
config/_pyproject_source.py
config/_reexports.py
config/_settings.py

# --- exceptions: covered by test_exceptions_base + test_exceptions_as_user ---
exceptions/_base.py
exceptions/_well_known.py

# --- observability internals/shims: covered by the observability suite +
#     test_observability_as_user + the excepthook/crash tests ---
observability/_conformance.py
observability/_helpers.py
observability/_otel_reexports.py
observability/excepthook.py
observability/paths.py
observability/threading_excepthook.py

# --- misc: re-export shims + public surfaces covered via public_surface ---
progress/asyncio.py
registry.py
settings.py

# --- vault: covered by test_phase5_vault + test_phase_d + test_vault_as_user ---
vault/_configs.py
vault/_env_vault.py
vault/_file_vault.py
vault/_keyring_vault.py
vault/_registry.py
