# Review Prompts

Standardisierte Prompts für AI-Agent-Reviews dieses Moduls.
Vor jedem Review MUSS der Agent `docs/AGENT_GUIDELINES.md` gelesen haben.

---

## Prompt A: Erstanalyse (einmalig pro Meilenstein)

Verwende diesen Prompt einmal pro Alpha/Beta/RC-Meilenstein für eine vollständige Bewertung.
Führe ihn NICHT wiederholt aus — das erzeugt Churn-Loops.

```
Du analysierst das Drupal-Modul „FFmpeg Media" als Senior Drupal Contrib Reviewer.

PFLICHT: Lies zuerst docs/AGENT_GUIDELINES.md und halte dich an diese Regeln.

KONTEXT
- Drupal.org Contrib-Modul, aktuell 1.0.0-alpha7
- Drupal 11.3+/12, PHP 8.5+, FFmpeg 8.x
- Modulcode: /home/relative/dev/projects/ffmpeg_media
- Ziel: stabiler Release für Drupal 12

ARBEITSABLAUF
1. Lies README.md und alle Dateien unter docs/
2. Analysiere den Modulcode
3. Erstelle eine priorisierte Finding-Liste

REGELN
- Du ANALYSIERST nur. Du änderst keinen Code.
- Melde nur Findings die du im Code belegen kannst (Datei + Zeile + warum es ein Problem ist)
- Keine Style-Findings (Naming, Formatting, Docblocks) — das erledigt phpcs/phpstan
- Keine theoretischen Findings ("könnte unter Umständen...") — nur nachweisbare Probleme
- Propagation-Changes sind keine Findings (siehe AGENT_GUIDELINES.md §2)

FINDING-KATEGORIEN (in dieser Reihenfolge)
1. Security — Command Injection, Path Traversal, Access Control, Information Disclosure
2. Correctness — Logikfehler, falsche API-Nutzung, Race Conditions, Datenverlust
3. Stability — fehlende Fehlerbehandlung an kritischen Stellen, unbehandelte Edge Cases
4. Architecture — falsche Verantwortlichkeitstrennung, fehlende Erweiterbarkeit für Contrib
5. Performance — N+1 Queries, unnötige Entity Loads, fehlende Cacheability
6. UX/DX — unverständliche Admin-UI, fehlende Hilfetexte, kaputte Workflows

FORMAT PRO FINDING
- Datei + Zeile(n)
- Kategorie (Security/Correctness/Stability/Architecture/Performance/UX)
- Priorität (Kritisch = Release-Blocker / Wichtig = sollte vor Stable / Optional = nice-to-have)
- Konkretes Problem (1-2 Sätze)
- Vorgeschlagene Lösung (1-2 Sätze)
- Beleg (Code-Snippet oder Erklärung warum das Problem real auftritt)

GESAMTFAZIT
Am Ende: eine ehrliche Einschätzung, was zwischen aktuellem Stand und Stable Release steht.
Keine Punktebewertungen. Keine Scores. Nur: was blockiert, was sollte, was kann warten.
```

---

## Prompt B: Gezielter Review (wiederholt verwendbar)

Verwende diesen Prompt für Reviews nach konkreten Änderungen.
Der Scope MUSS eingegrenzt sein.

```
Du reviewst konkrete Änderungen am Drupal-Modul „FFmpeg Media".

PFLICHT: Lies zuerst docs/AGENT_GUIDELINES.md und halte dich an diese Regeln.

SCOPE: [HIER EINFÜGEN — z.B. "die letzten 3 Commits", "src/Service/QueueManager.php",
        "alle Änderungen seit Tag alpha7", "PR #42"]

REGELN
- Reviewe NUR den angegebenen Scope — nicht das ganze Modul
- Du ANALYSIERST nur. Du änderst keinen Code.
- Propagation-Changes sind keine Findings
- Keine Style-Findings
- Jeder Finding braucht Datei + Zeile + Beleg

PRÜFE IM SCOPE
1. Ist die Änderung korrekt? (Logik, Edge Cases, Error Handling)
2. Gibt es Security-Implikationen? (Input Validation, Access Checks, Shell Args)
3. Sind Cache Tags/Contexts korrekt?
4. Haben die Tests den neuen Code abgedeckt?
5. Wurden alle Consumer bei Interface-Änderungen aktualisiert?

FORMAT: Wie Prompt A (Datei, Kategorie, Priorität, Problem, Lösung, Beleg)
```

---

## Prompt C: Security Audit (einmalig bei Bedarf)

Verwende diesen Prompt gezielt für Security-Reviews, z.B. vor einer Beta/RC.

```
Du führst ein Security Audit des Drupal-Moduls „FFmpeg Media" durch.

PFLICHT: Lies zuerst docs/AGENT_GUIDELINES.md und halte dich an diese Regeln.

KONTEXT
- Das Modul führt FFmpeg-Prozesse auf dem Server aus
- Es verarbeitet vom Benutzer hochgeladene Mediendateien
- Es hat HTTP-API-Endpoints und Admin-UI
- Es hat Cron- und Queue-basierte Hintergrundverarbeitung

FOKUS (NUR diese Angriffsvektoren)
1. Command Injection — wie werden FFmpeg-Argumente zusammengebaut?
2. Path Traversal — können Benutzer-Inputs Dateipfade manipulieren?
3. Access Control — sind alle Endpoints und Operationen korrekt geschützt?
4. Information Disclosure — leaken Fehler oder Logs sensitive Daten?
5. File Handling — temporäre Dateien, Uploads, Symlinks, Race Conditions
6. Denial of Service — können Benutzer unbegrenzt Ressourcen verbrauchen?

REGELN
- Du ANALYSIERST nur. Du änderst keinen Code.
- Nur nachweisbare Schwachstellen mit konkretem Angriffsvektor
- Kein "könnte theoretisch..." — beschreibe den konkreten Exploit-Pfad
- Jeder Finding: Datei + Zeile + Angriffsvektor + Vorgeschlagener Fix + Severity (Critical/High/Medium/Low)
```

---

## Anti-Patterns — was du NICHT tun sollst

- **Prompt A wiederholt ausführen**: Erzeugt Churn. Einmal pro Meilenstein reicht.
- **"Finde alle Bugs"** ohne Scope: Agent scannt alles, findet Noise, fixe erzeugen neue Noise.
- **Agent-Findings ungefiltert als Tasks weitergeben**: Erst triagen, dann gezielt beauftragen.
- **Scoring/Noten verlangen**: Agents suchen aktiv nach Abzügen, um keine 10/10 zu geben.
- **"Keine Schonung"**: Klingt gut, bewirkt aber Over-Reporting von Nicht-Problemen.
