guard-src-drift-outputlisted
Install: claude install-skill mick-gsk/drift
# Guard: `src/drift/output`
`src/drift/output` enthaelt 16 Formatter-Dateien: `rich_output.py`, `json_output.py`, `markdown_report.py`, `llm_output.py`, `badge_svg.py`, `guided_output.py`, `grouping.py`, u.a. Jede Datei verantwortet genau ein Ausgabeformat. EDS entsteht wenn Formatter anfangen zu berechnen was sie nur rendern sollten.
**Konfidenz: 0.95** — das Output-Modul hat den schwersten EDS-Befund: komplexe Verschraenkung zwischen Formatierung, Aggregation und Empfehlungslogik.
## When To Use
- Du aenderst wie Findings angezeigt, formatiert oder gerendert werden
- Du fuegest ein neues Ausgabeformat hinzu
- Du aenderst `rich_output.py`, `json_output.py`, `markdown_report.py` oder `guided_output.py`
- Drift meldet EDS fuer eine Datei in `src/drift/output/`
## Warum dieses Modul kritisch ist
**EDS** tritt hier auf weil Formatter historisch begannen, eigene Aggregate zu berechnen:
- `guided_output.py` kennt Scoring-Logik, die eigentlich in `scoring/` liegt
- `markdown_report.py` aggregiert Finding-Counts, die eigentlich in `models/` stehen sollten
- `rich_output.py` hat Farb-Logik UND Layout-Logik UND Conditional-Logik gemischt
Jede neue Berechnung in einem Formatter verstaerkt diese Verschraenkung.
## Core Rules
1. **Formatter berechnen nicht — sie rendern** — ein Formatter erhaelt ein `RepoAnalysis`- oder `list[Finding]`-Objekt und gibt formattierten Text/Dict/SVG zurueck. Keine eigene Score-Berechnung, kein eigenes Grouping-Erstellen.
2. **Gemeinsame Ausgabe-Log