# Typpruefung — BEWUSST ENGES Regelset (2026-08-19).
#
# ⚠⚠ Der volle Lauf meldet 172 Befunde, davon 97 `unresolved-attribute` aus
#   fehlenden MetaTrader5-Stubs. Eine Stufe mit Dauer-Treffern wird ignoriert,
#   und mit ihr die eine echte Meldung — das ist im Projekt dokumentiert
#   (ruff-Schweregrad-Trennung, 07.08.). Deshalb blockieren nur die Regeln,
#   die ECHTE Aufruffehler finden und hier nachweislich rauschfrei sind.
#
# Anlass ist ein realer Fehler vom 19.08.: `paarweise(d)` mit 1 von 2
# Pflichtargumenten. py_compile, ruff F821 und pytest liessen ihn durch; er
# schlug erst zur Laufzeit zu.
[src]
exclude = ["backtest_*.py", "analyze_*.py", "tests/**"]

[rules]
# ── AKTIV: echte Aufruffehler ────────────────────────────────────────────
missing-argument = "error"
too-many-positional-arguments = "error"
unknown-argument = "error"
# ⚠ call-non-callable / not-iterable BEWUSST AUS: beide melden hier nur
#   Falsch-Positive aus heterogenen dicts (`c["have"]()` in den CHECKS,
#   `"up" in c` in news.py). Geprueft, nicht angenommen.
call-non-callable = "ignore"
not-iterable = "ignore"
unresolved-import = "ignore"
# ── AUS: braucht vollstaendige Stubs/Annotationen, sonst Dauer-Rauschen ──
unresolved-attribute = "ignore"
unsupported-operator = "ignore"
invalid-argument-type = "ignore"
no-matching-overload = "ignore"
not-subscriptable = "ignore"
possibly-missing-attribute = "ignore"
invalid-assignment = "ignore"
invalid-return-type = "ignore"
