Multi-Agent-Kampagnenlauf: 36 Audit-Befunde clustern, Worktrees isolieren, Reviews vor Merges
Kampagnen-Report: 36 Audit-Befunde, 6 Agenten, eine Nacht
Wie eine 6×6-Agenten-Kampagne die mechanischen Befunde eines Website-Audits abarbeitete: Worktree-Isolation, Branch pro Kampagne, Review vor jedem Merge — und ein Plan-B-Schwenk, als die Codex-Sandbox unter Windows nicht mitspielte.
Der Codex-Audit-Scheduler dieser Website hatte über Wochen Findings angesammelt. Nach einem Reconcile-Lauf blieben 36 echt offene, rein mechanische Befunde übrig — Link-Labels, Datums-Konsistenz, Mobile-Feinschliff, ein Sanitizer-Leck. Nichts davon braucht eine Design-Entscheidung. Alles davon kostet einzeln abgearbeitet einen Nachmittag.
Also: nicht einzeln abarbeiten. Dieser Report dokumentiert die erste Kampagnen-Nacht — als Format, das ab jetzt pro Großaktion wiederholt wird.
Der Zuschnitt: 6 Cluster, ehrlich gezählt
Die 36 Befunde wurden nach Themen geclustert, nicht nach Dateien: DCO-Showcase-Pflege, Link-Label-Konsistenz, Freshness-Signale, Séance-Sanitizer + OG-Pipeline, Mobile/A11y, technischer Sweep. Ein Befund war zu trivial für einen eigenen Cluster und wurde direkt gefixt — übrig blieben 35 in sechs Clustern im Format 6/6/6/6/6/5.
Das klingt pedantisch, ist aber Absicht: kein Auffüllen mit stale Items, um die runde Zahl voll zu machen. Eine Kampagne, die ihre eigene Bilanz schönt, ist als Beweisformat wertlos.
Der Plan-B-Schwenk
Der ursprüngliche Dispatch-Plan sah sechs Codex-Subagenten vor. Der erste Lauf scheiterte an der Codex-Sandbox unter Windows — Schreibzugriffe ins Temp-Verzeichnis, ein bekanntes, dokumentiertes Problem. Statt die Sandbox aufzubohren, wechselte die Kampagne das Werkzeug: sechs Claude-Subagenten, jeder in einem eigenen Git-Worktree, jeder auf einem eigenen Branch (codex/campaign-c11 bis c16).
Die Lehre daraus ist wichtiger als der Umweg: Die Kampagnen-Mechanik — Cluster, Isolation, Branch, Review, Merge — ist werkzeugneutral. Welches Modell die Arbeit macht, ist eine Austauschentscheidung, kein Architekturbruch.
Die Leitplanken
Jeder Agent bekam dasselbe Protokoll als Pflichtlektüre:
- Branch-only: kein Commit auf main, kein Push, kein Deploy.
- Worktree-Isolation: sechs Agenten parallel, null gegenseitige Konflikte.
- Nur grüne Befunde: was eine Owner-Entscheidung braucht, wird nicht "mitgenommen".
- Chirurgisch stagen: fremde Drift bleibt unangetastet.
Der letzte Punkt hat einen eigenen Auslauf: Strittiges landete nicht still im Diff, sondern in einer NEEDS-DOMINIC-Liste — vier Entscheidungsvorlagen, die der Owner am nächsten Morgen einzeln entschied (und die dann als eigener, nachvollziehbarer Commit umgesetzt wurden). Ein Agent, der bei Unsicherheit parkt statt rät, ist der Unterschied zwischen Delegation und Kontrollverlust.
Die Bilanz
Nach den sechs Läufen kam eine Review-Runde über alle sechs Branches (Standards + Spec), dann wurden die Kampagnen einzeln gemergt — sechs Merge-Commits (03d5391 bis 848d8ff; das Site-Repo ist privat, ein Walkthrough durch den Log ist auf Anfrage möglich):
- 6 Kampagnen-Branches, alle in einer Nacht gemergt
- 43 geänderte Dateien, ~1.215 eingefügte Zeilen
- 4 geparkte Entscheidungsvorlagen statt 4 stiller Annahmen
- Testsuite nach dem letzten Merge: komplett grün
Was die Kampagne bewusst nicht behauptet: dass 36/36 gefixt wurden. Einzelne Befunde erwiesen sich beim Ground-Truthing als bereits erledigt oder stale — auch das steht im Run-Report. Die ehrliche Zählung ist Teil des Formats.
Warum das ein Format ist, kein Einzelfall
Der eigentliche Ertrag ist nicht die abgearbeitete Liste, sondern die wiederholbare Mechanik: Backlog clustern → Flotte dispatchen → isoliert bauen lassen → zentral reviewen → einzeln mergen → Strittiges eskalieren. Dieselbe Struktur trug wenige Tage vorher schon den Bau des Agent-Observatory mit 15 Agenten in einem Durchlauf.
Jede künftige Großaktion an dieser Website bekommt einen solchen Report. Nicht als Erfolgsmeldung — als Prüfprotokoll.
Wie viel Parallelität verträgt ein Repo, bevor Review zum Flaschenhals wird? Wenn dich die Dispatch-Mechanik im Detail interessiert, schreib mir.