[run] source = app omit = # Hilfs-Skripte und Migrations-Tools — nicht produktiver Code app/reindex_embeddings.py app/sync_abgeordnetenwatch.py # Generated / Auto-Discovery app/__init__.py [report] # Faustregel ADR 0007: keine 100%-Jagd, aber kritische Pfade abdecken. # show_missing-Flag macht Luecken im CI-Output sofort sichtbar. # # fail_under=50 ist die aktuelle Baseline (Stand 2026-04-28). Verbleibende # unabgedeckte Bereiche brauchen integration-Setup statt Unit-Tests: # - app/main.py (FastAPI-Endpoints, ~900 LOC) — TestClient-Smoke-Tests # sind lokal geskippt mangels voller Deps; laufen in der Docker-Suite. # - app/parlamente.py (16 Adapter, ~3400 LOC) — Live-HTTP gegen Landtage, # tests/integration/ deckt das ab. # - app/queue.py _worker (async-Loop, while True, hart zu testen). # - app/report.py WeasyPrint-PDF-Render-Pfade. # - app/embeddings.py OpenAI/DashScope-Calls. # Schwelle hochsetzen, wenn integration-Suite lokal lauffaehig wird. show_missing = true skip_covered = false precision = 1 fail_under = 50 # Zeilen, die nicht gezaehlt werden sollen — typische Boilerplate ohne # eigentliche Testbarkeit. exclude_lines = pragma: no cover def __repr__ raise NotImplementedError if __name__ == .__main__.: if TYPE_CHECKING: \.\.\. [html] directory = htmlcov