Deep-Check – PHP in 10er-Batches systematisch durchleuchten
Datum: 2026-06-01
„Prüf mal src/“ ist zu groß
Ein offener Auftrag über alle PHP-Dateien führt dazu, dass die KI Dateien überspringt, PHPDoc vergisst, Services in falsche Ordner legt und nach zwei Stunden „fertig“ sagt – mit halbfertigem `src/`. Skalierung braucht Batch-Größe und Wiederholung.
Deep-Check arbeitet 10 PHP-Dateien pro Batch mit Ralph-Loop bis Konvergenz – systematisch, loggbar, wiederholbar.
Das Problem
| Großer Scope | Folge |
|---|---|
| Ganzes `src/` | Oberfläche, Lücken |
| Keine Batch-Grenze | Kontext-Überload |
| Kein Loop | Erste Runde „gut genug“ |
| Keine Logs | Unklar was geprüft wurde |
Code-Qualität skaliert nur in kleinen, wiederholbaren Häppchen.
Das Pattern
php start-vendor-deep-check.php
001. Sammelt PHP-Dateien unter `src/` (projekteigen).
002. Verarbeitet max. 10 Dateien pro Batch.
003. Ruft `subagent-deep-check-src-php` im Ralph-Loop auf.
004. Nächster Batch erst nach Konvergenz (`OPEN_FAILURES=0`, `CHANGED_FILES=0`).
Prüfkriterien pro Datei (Auszug)
| Bereich | Inhalt |
|---|---|
| Naming | Klassen-, Methoden-, Ordnerkonventionen |
| Schicht | Service vs. Orchestrator vs. Model |
| PHPDoc | Deutsch, Klasse, Konstanten, jede Methode |
| Platzierung | Keine falsch platzierten Services |
| Provenance | `@skill-change-provenance` bei Änderungen |
So sieht es bei uns aus
Der Deep-Check läuft im Vendor-Workflow:
001. `CLIDeepCheckOrchestrator` steuert Batches.
002. Env-Flags: `DEEP_CHECK_SUPPRESS_RALPH_LOOP_CLEAR`, `DEEP_CHECK_TOTAL`, `DEEP_CHECK_INDEX`, `DEEP_CHECK_SRC_PHP_REL` für verschachtelte Loops und Fortschrittsanzeige.
003. Logs unter `logs-start-vendor-deep-check/`.
Nach einem großen Refactor oder vor Release: Deep-Check über gesamtes `src/` – dauert, aber vollständig.
Warum 10er-Batches?
| Batch-Größe | Effekt |
|---|---|
| 1 | Sehr langsam, maximal fokussiert |
| 10 | Balance Kontext / Tiefe (unser Standard) |
| 50+ | Wieder „prüf mal src/“ |
Zehn Dateien passen in den Agent-Fokus; PHPDoc und Schichten werden pro Datei ernst genommen.
Verzahnung mit anderen Checks
Deep-Check ersetzt nicht:
001. `subagent-check-orchestrator` – Briefing-Adjazenz
002. `subagent-check-translations` – i18n
003. `start-vendor-phpunit-tests.php` – Laufzeit
Deep-Check ist Code-Hygiene und Struktur in `src/`.
Anti-Patterns
001. Einmalig alles manuell lesen – Nicht skalierbar.
002. Nur PHPDoc im Chat fixen – Nicht versioniert, nicht vollständig.
003. Batch abbrechen bei Runde 2 – Drift bleibt in restlichen Dateien.
004. Vendor-`src/` deep-checken – Host prüft Host-Code; Vendor über Composer.
005. Deep-Check ohne Ralph – Erste Runde unvollständig.
Häufige Fragen
Wie oft laufen lassen?
Nach größeren Agent-Refactorings, vor Major-Release, oder rotierend im Cron (Teilbatches).
Was wenn eine Datei blockiert?
Blocker dokumentieren, Scope verkleinern, Briefing klären – nicht Batch-Skip heimlich.
Zusammenhang mit `subagent-check-comments`?
Überlappung PHPDoc – Deep-Check ist Batch-orientiert mit Schichten-Fokus.
Verwandte Beiträge
| Beitrag | Thema |
|---|---|
| Ralph-Loop | Konvergenz pro Batch |
| Subagents | `subagent-deep-check-src-php` |
| Briefing-First | Spec vor Code |
| Self-Testing | Nach Struktur-Fixes |
Takeaway
Code-Qualität skaliert nur in kleinen, wiederholbaren Häppchen. Deep-Check mit 10er-Batches und Ralph-Loop macht „ganz src/“ zu einer fabrikfähigen Schleife – nicht zu einem Wunsch im Chat.