Die lange Fassung.
Für alle, die die technische Tiefe wollen — hier steht, was jede Phase wirklich produziert, warum sie existiert und wie sie an die nächste anschließt. Im Groben: die Pipeline ist eine Kette von Artefakten, in der jede Phase ein Dokument aus der vorigen Phase übernimmt und ein neues Dokument produziert, das die nächste Phase lesen kann. Keine mündlichen Übergaben. Kein "ich glaube, darüber haben wir am Mittwoch im Stand-up gesprochen".
Allium — Drift als Datenpunkt.
Allium ist eine Befragungssprache: du schreibst eine Spezifikation, dann läuft ein Elicitation-Durchgang, der Lücken, Mehrdeutigkeiten und Inkonsistenzen findet. Er produziert offene Fragen, die beantwortet werden müssen, bevor es weitergeht. Später vergleicht ein Distillation-Durchgang den fertigen Code mit der Spec — Drift erscheint in drei Kategorien: spezifiziert-aber-nicht-implementiert, implementiert-aber-nicht-spezifiziert und Verhaltensdrift. Jeder Eintrag bekommt eine individuelle Entscheidung: jetzt fixen, defer (in Spec tracken) oder dismiss mit Begründung. Keine Gruppenbeschlüsse à la "machen wir später" — jeder Fund hat einen Verantwortlichen und ein Datum.
TLA+ — Beweise, keine Tests.
Ein Test, der besteht, zeigt, dass eine Ausführung funktioniert hat. Er sagt nichts über die Ausführungen, die du nicht getestet hast. TLA+ modelliert das System als Zustandsraum und führt eine erschöpfende Begehung durch — der TLC-Modellprüfer probiert jede mögliche Ereignissequenz aus und findet die Zustände, in denen Invarianten brechen. Für Fallbearbeitung: kann ein Fall gleichzeitig geschlossen und in Bearbeitung sein? Für SSE: was passiert, wenn der Client mitten in einem Update neu verbindet? Für Idempotenz: was passiert, wenn derselbe Idempotency-Key in zwei gleichzeitigen Requests auftaucht? TLC antwortet mathematisch, nicht wahrscheinlichkeitsbasiert.
Destruktive Tests — sechs Kategorien.
Funktionale Tests verifizieren, dass der Happy Path funktioniert. Destruktive Tests verifizieren, dass das System nicht umfällt, wenn jemand es zu brechen versucht. Wir fahren mindestens acht destruktive Szenarien pro Oberfläche, verteilt auf sechs Kategorien.
Eingabevalidierung bombardiert Felder mit überlangen Strings, ungültigen Zeichen, Null und leeren Werten. Autorisierung versucht, Ressourcen zu lesen und zu schreiben, die der Nutzer nicht besitzt. Die Injection-Kategorie schiebt XSS in Textfelder und SQL-Injection in Suchparameter. Race Conditions zwingen zwei Clients dazu, dieselbe Ressource in derselben Sekunde zu ändern. Grenzwerte trainieren Maximallängen, Maximalanzahlen und Pagination auf der letzten Seite. Zustandskorruption schickt Änderungen in falscher Reihenfolge oder gegen bereits gelöschte Ressourcen.
Nichts davon ist theoretisch. Jede Kategorie hat in Produktionssystemen, die wir gebaut haben, echte Bugs gefangen — bevor sie ausgeliefert wurden.
KI-unterstützte Entwicklung — ohne KI-Religion.
Claude Code wird als Werkzeug genutzt, nicht als Ersatz. Die obige Pipeline ist nicht KI-generiert — sie ist dokumentiert, versioniert und über deterministische Hooks enforced. Die Hooks blockieren Feature-Arbeit ohne Spec, fordern Klärung vor Plan, fahren Allium-Elicitation vor der Implementierung und verweigern die Freigabe eines Features ohne sowohl Playwright- als auch TLA+-Validierung. Die KI folgt der Methode — sie erfindet sie nicht. Das Ergebnis: KI-Geschwindigkeit mit menschlicher Prüfung bei Architekturentscheidungen.
Diese Methode dauert in der ersten Woche länger. Sie spart Monate, wenn das System ein Jahr alt ist.