# Lint-Politik fuer MC2 (24.07.2026, mit der Ampel-Nachruestung angelegt).
# Diese Codebasis nutzt BEWUSST best-effort-Fehlerbehandlung (blind-except,
# try/except-pass/continue) fuer Robustheit und FastAPI-Idiome (Depends()/File()
# als Argument-Defaults). Solche absichtlichen Muster sind KEINE Fehler; echte
# Probleme (unsortierte/ungenutzte Imports, veraltete Annotationen, Bug-Risiken)
# werden weiterhin geflaggt. Ruff-Default-Regelmenge minus der Ausnahmen unten.

target-version = "py310"
line-length = 120

[lint]
ignore = [
  "BLE001",   # blind-except — bewusstes best-effort-Muster im ganzen Stack
  "S110",     # try-except-pass — bewusst (best-effort, Fallback)
  "S112",     # try-except-continue — bewusst
  "PLW1510",  # subprocess ohne check= — best-effort, Rueckgabe wird selbst geprueft
  "B008",     # Funktionsaufruf im Argument-Default — FastAPI Depends()/File()-Idiom
  "EXE001",   # Shebang ohne x-Bit — Skripte laufen ueber den Interpreter
  "DTZ005",   # datetime.now() ohne tz — lokale Zeit ist hier gewollt
  "SIM102",   # verschachteltes if — Stil, nicht erzwungen
  "SIM115",   # open() ohne Kontextmanager — in kurzen Skripten bewusst
  "SIM117",   # mehrere with — Stil
  "ASYNC221", # subprocess in async — bewusst (kurze, seltene Aufrufe)
  "N999",     # Modulname mit Bindestrich — Plugin-Konvention, nicht aenderbar
  "PYI034",   # non-self return type — Absicht
]

[lint.per-file-ignores]
"**/__init__.py" = ["F401"]   # Re-Exports sind gewollt "ungenutzt"
