Fortsetzung: die Prüf-Pyramide, gefundene Fallstricke und das Playbook zum Nachmachen
Je mehr Ebenen, desto enger der Korridor für den Zufall.
Fachliches Review, Parallelbetrieb
mvnd verify, Bundle-Budget
81 Playwright-Tests im echten Browser
372 Tests, ~90 % Coverage
ESLint strict, 0 Findings
Basis: Typsystem / Compiler – TypeScript strict

Bereich für Bereich, jeweils komplett.
Mapper → Store (Signals) → Page + Unit-Tests + e2e-Spec
lint + unit + komplettes e2e – kein Schritt ohne vollständige Prüfung
Das externe Gedächtnis über Sessions hinweg
TinaTable, CRUD-Dialoge, CSV-Import – beschleunigen jeden weiteren Bereich
Auch der Harness kann lügen.
Bei Backend-Fehlern sahen Nutzer nur „HTTP 500” statt der echten Meldung
grün – und trotzdem falsch
Der generierte API-Client fordert alles als Blob an – die Specs flushten aber JSON. Die Fehlermeldung wurde nie geparst.
Die Detail-Ursachen (causes) wurden komplett ignoriert
e2e-Test im echten Browser beweist den Fix – erst dort wurde das echte Verhalten sichtbar

Immer den vollen Gate-Lauf – nie nur „meinen” Test.
Schlanke neue Endpoints für Dropdowns
Die e2e-Mocks zeigten noch auf die alten Pfade → 5 bestehende Tests rot
Pro Session lief nur der Spec des neuen Features
Ein Test erwartete 13 Navigationslinks – real waren es längst 14

Und die ehrliche Grenze.
Was ist identisch zur Legacy, was bewusst anders – schriftlich im Repo
Durch mich, danach Parallelbetrieb auf TINA-DEV
Race zwischen Login-Guard und Code-Austausch – erst beim manuellen Login in der echten Umgebung gefunden
UX, fachliche Richtigkeit, „Richtige Anforderung?” – dort bleibt der Papagei ein Papagei
Manche Fehler findet nur ein Mensch in der echten Umgebung. Das Verfahren konzentriert nicht-prüfbare Entscheidungen beim Menschen: vorne im Design-Gate, hinten im Review und Parallelbetrieb. Dazwischen läuft alles Automatisierbare.
Das Brain ist Voraussetzung. Der Harness ist der Hebel.
Leistungsmetriken
Toten Legacy-Code erkannt
zoneless-Falle & computed()-Reaktivität identifiziert
O(R×C×n)-Rebuild pro Klick analysiert
Kontroll- & Sicherheitsmetriken
Blob-Bug trotz grüner Specs abgefangen
Still rote Tests nach Refactoring aufgedeckt
Vergessener Stand zwischen Sessions wiederhergestellt
Brain = Motor. Harness = Fahrwerk, Lenkung, Bremsen.
Ein stärkerer Motor ohne Fahrwerk landet nur schneller im Graben.
Leistungsstarke Modelle stecken in eurer Copilot-Lizenz. Was fehlt, ist das Fahrwerk.
| Mein Setup | Euer Äquivalent mit Copilot |
|---|---|
| Copilot mit Opus-5 als Arch-Agent | Copilot Agent Mode |
| COPILOT.md / Projektregeln | .github/copilot-instructions.md bzw. AGENTS.md |
| IMPLEMENTATION-PLAN.md mit Checkliste | PLAN.md im Repo, genauso |
| Memory über Sessions | Plan + Zwischenberichte im Repo |
| Grill-Skill | „Stell mir eine Frage nach der anderen, mit Empfehlung” |
| mvn verify / npm run e2e als Feedback-Loop | identisch |

Dies ist die konkrete Umsetzung des Harness, der alle besprochenen Prüf-Loops, Metriken und Gates integriert.
Wiederholbar für die nächste Legacy-UI. Mensch-Gates vorne und hinten — der Agent in der prüfbaren Mitte.
Agent analysiert
Mensch entscheidet
Mensch entscheidet
Agent baut, Mensch prüft
Agent
Agent schreibt, Mensch liest
Mensch entscheidet
Schritte 1, 4, 5, 6 — automatisiert, auditierbar, prüfbar
Schritte 2, 3, 7 — strategische Gates, Mensch behält die Kontrolle

Drei Schritte:
Build, Lint und Tests mit je einem Kommando, das der Agent selbst ausführen kann
Mit Checkliste im Repo
Erst dann skalieren