[run]
branch = True
source = .

[report]
# Coverage policy: see docs/decisions/0004-coverage-policy.md.
#
# `omit` is reserved for genuinely interactive entry-point shells whose
# bodies are `read_tty_line()` / curses prompt loops — there is no
# behaviour to assert that a test wouldn't have to fake wholesale, so a
# test here would inflate the number without buying confidence. This is
# NOT a place to hide subprocess/backend orchestration: that code is
# security-relevant and is measured via the integration suite instead
# (run scripts/coverage.sh for the combined unit+integration number).
omit =
    bot_bottle/cli/tui.py
    bot_bottle/cli/init.py
    tests/*
