[run]
branch = True
source = src/mcp_ticketer
omit =
    */tests/*
    */test_*.py
    */__pycache__/*
    */venv/*
    */.venv/*
    */site-packages/*
    */.tox/*
    */setup.py

[report]
exclude_lines =
    # Standard pragma
    pragma: no cover

    # Non-runnable code
    if __name__ == .__main__.:
    if TYPE_CHECKING:

    # Abstract methods
    @abstractmethod
    @abc.abstractmethod

    # Defensive programming (only these specific patterns)
    raise AssertionError
    raise NotImplementedError

    # Optional dependencies
    except ImportError:
    except ModuleNotFoundError

ignore_errors = False
precision = 2
show_missing = True
skip_covered = False
skip_empty = False
sort = Cover

[html]
directory = htmlcov
title = MCP Ticketer Coverage Report

[xml]
output = coverage.xml

[json]
output = coverage.json
pretty_print = True
