Postmortems
Transparente Berichte aller Incidents. Aus Stripe-Style-Tradition: wir zeigen was schief lief, was wir gelernt haben, was wir geändert haben.
Publikations-Versprechen
Wir publizieren alle P0- und P1-Incidents binnen 7 Tagen sowie alle weiteren Incidents binnen 30 Tagen — auch wenn niemand etwas davon gemerkt hat.
Severity-Stufen
- P0 · Kritisch
Großer Ausfall — Kernfunktion für alle User nicht erreichbar.
- P1 · Hoch
Hoher Impact — Teilfunktion ausgefallen oder schwere Degradierung.
- P2 · Mittel
Mittlerer Impact — Workflow gestört, aber Workaround vorhanden.
- P3 · Niedrig
Niedriger Impact — kosmetisch oder einzelne User betroffen.
Alle Berichte (3)
i18n-Catalogues nicht im standalone-Bundle (P0)
P0 · KritischBehobennext-intl dynamic-imports wurden von Next.js `output: 'standalone'` nicht getraced. Plus die getRequestConfig-Wiring fehlte komplett. Alle eingeloggten User sahen einen friendly Error-Boundary statt der App. Health-Endpoint blieb grün, weil der das (app)-Layout bypassed.
GitHub Actions Runners 3x durch /tmp-disk-leak gestoppt (P1)
P1 · HochBehobenVitest-`mkdtemp`-Aufrufe plus eine race-safe `pnpm/action-setup`-Config haben in sechs Stunden CI-Load über 80.000 verwaiste Temp-Directories in /tmp produziert. Die einzige 437-GB-Disk auf der Hetzner-Runner-Box lief 100 % voll, alle vier Runner haben hard-crasht. Drei Recovery-Zyklen über den Tag verteilt summieren sich auf rund 90 Minuten gestörter CI-Pipeline.
Test-Suite mit 5s-Timeout flaky unter 4-shard parallel-load (P2)
P2 · MittelBehobenNach dem Vitest-Sharding-Rollout (#659) wurde `eval-suite.test.ts` flaky, weil die kumulative Cold-Import-Zeit auf Shard 4/4 das 5-Sekunden-Default-Timeout überschritten hat. Vier in-flight PRs blockierten kurzzeitig, weil der gemeinsame Shard für alle vier auf demselben Test stolperte.