diff --git a/CLAUDE.md b/CLAUDE.md index 9ebd373..def703b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -178,3 +178,37 @@ zweier Personengruppen in einer Tabelle. ### Erzwungen durch `tests/Feature/IdentitySeparationTest.php` + +--- + +## R22 — Der Aufwand richtet sich nach der Aufgabe, nicht nach dem Verfahren + +**Prüfen ist ein Mittel, kein Selbstzweck. Wer für eine Tabellenumstellung +zwölf Stunden und zehn Prüfrunden braucht, hat die Aufgabe nicht verstanden.** + +Verbindliche Obergrenzen: + +1. **Eine Prüfrunde, eine Fix-Runde, ein Re-Review über den Fix-Diff.** Danach + wird ein offener Befund **geparkt** — mit schriftlicher Begründung — und + nicht weitergeschliffen. Ein zweiter Re-Review desselben Befundes ist + verboten. +2. **Codex/R15: höchstens zwei Runden ohne P1.** Danach gehen die Restbefunde + als Folgepunkte in den Merge Request. Bis zur Nullmeldung zu schleifen ist + kein Qualitätsmerkmal, sondern fehlende Priorisierung. +3. **Ein Review sieht nur den Diff.** Dateien, die seit dem letzten grünen + Testlauf nicht angefasst wurden, werden nicht erneut geprüft — weder von + einem Prüfer noch beim Aufräumen. Was unverändert ist, war beim letzten + grünen Lauf schon in Ordnung. +4. **Mutationstests nur an der Grenze**, an der ein Fehler Daten verliert, + Rechte ausweitet oder Zugangsdaten preisgibt. Nicht flächendeckend. +5. **Aufgaben ohne Entwurfsentscheidung bekommen keinen eigenen Review.** Eine + Sprachdatei, eine Umbenennung, ein Feld mehr: bauen, Tests, weiter. +6. **Unabhängige Arbeit läuft gleichzeitig.** Analysen (Review, Codex, + Testlauf) blockieren einander nicht und werden parallel gestartet. + +### Warum das aufgeschrieben wurde + +Die Betreiber-Identität — eine Tabelle, ein Guard, eine Anmeldeseite — hat +zehn Codex-Runden und mehrere Re-Reviews gebraucht. Die Funde waren echt, aber +die Reihenfolge war falsch: Sicherheitsgrenzen zuerst, Randfälle in den +Folgepunkt. Der Nutzer wartet auf ein Ergebnis, nicht auf ein Verfahren.