Repository navigation
Conversation
operations.md gets an Incident section: validate, assess, contain with the smallest switch, issue, fix with a regression test (no auto-merge), lift, postmortem only for relevant incidents. Fixed question on personal data with GDPR Art. 33/34 steps and a marked placeholder for the supervisory authority. Table of this system's switches (AI token rotation, drain stop, AI pause, user deactivation, instant rollback, Supabase pause, ERP), plus one tabletop run. Linked from the release skill and the Vercel runbook §9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0117LRiQKt8ycJEHW7vxLWG3
#122 review) A 401 from the AI service is not retried (ERROR at once, reprocess after rotation); a paused AI project retries until the attempts are used up; /api/health does not prove a rotation, a synthetic upload does; deactivation is refused for oneself and the last admin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0117LRiQKt8ycJEHW7vxLWG3
|
Deployment failed for project requestflow with the following error: Learn More: https://vercel.com/doc-edit?upgradeToPro=build-rate-limit |
|
Fresh review (independent subagent, read-only) – result and how it was handled Verdict: changes needed (1 blocking, 4 nits). All acceptance criteria covered; drain switch, ERP fallback, health values, deactivation and GDPR Art. 33/34 checked as correct.
Generated by Claude Code |
|
The failing Vercel preview deployment is not caused by this PR: the Vercel account hit its free-plan daily limit ( Generated by Claude Code |
Warum
Fixes #111 · Lücke aus dem Add-on-Audit #65 (Betriebs-Checkliste #13: Incident-Prozess, „72h-Meldepflicht (DSGVO Art. 33) als fester Schritt“; Datenschutz-Checkliste #11). Freigabe zum Start: Orchestrator in der Session vom 2026-10-15.
Arbeitsstand
operations.md(7 Schritte, DSGVO-Frage, Schaltertabelle, Tabletop); Verweis im Release-Skill und im Vercel-Runbook §9.Was ist passiert (Klartext)
Bisher stand nirgends, was zu tun ist, wenn etwas ernsthaft schiefgeht – etwa ein Passwort öffentlich wird oder eine Firma Daten einer anderen sieht. Jetzt gibt es eine feste Reihenfolge: prüfen, Schaden einschätzen, mit dem kleinsten passenden Schalter stoppen, Issue anlegen, sauber reparieren (mit Test, ohne Abkürzung über
main), erst dann wieder freischalten. Ein Pflichtschritt fragt immer: Sind personenbezogene Daten betroffen? Wenn ja, läuft die 72-Stunden-Frist der DSGVO – und beim Kunden muss der Kunde sofort informiert werden, weil er die Meldung macht. Für jede Lage steht der konkrete Schalter dieses Systems in einer Tabelle. Einmal durchgespielt mit einem erfundenen Vorfall (KI-Token in einem Kommentar geleakt).Plan-Pflicht (SYSTEM.md §4)
Geändert
docs/technical/operations.md: neuer Abschnitt „Incident“ vor „Frequent failures“ – Schritte 1–7 (kein Auto-Merge, kein Direkt-Push während eines Incidents; Postmortem nur bei relevantem Vorfall, Kriterien genannt), DSGVO-Frage (Art. 33 (1), (2), (5), Art. 34; Kunde = Verantwortlicher, Betreiber = Auftragsverarbeiter), Platzhalter Aufsichtsbehörde, Schaltertabelle, Tabletop-Protokolldocs/technical/deployment-vercel.md§9: verweist zuerst auf den Incident-Ablauf.claude/skills/release/SKILL.md: Prüfpunkt „Incident-Ablauf und Notschalter bekannt“Nachweis (SYSTEM.md §11)
/v1/extract+ Kontingent, kein DB-/Storage-Zugriff, D8) → personenbezogene Daten: nein, Begründung festgehalten → Eindämmen:AI_SERVICE_TOKENin beiden Projekten rotieren, beide redeployen,requestflow-aiReady, eine synthetische Anfrage erreicht „Zur Prüfung“ (Health beweist die Rotation nicht), zwischenzeitlich aufERRORgelaufene Anfragen neu verarbeiten → Issue → kein Code-Fix → kein Postmortem. Lücken: Behörden-Platzhalter; die Token-Zeile behauptete zuerst Wiederholungen (korrigiert).services/ai/.../app.py,src/features/extraction/ai-client.ts,src/features/jobs/drain.ts),/v1/extract, Health-Werte (docs/technical/api.md), Button „Deaktivieren“ beendet alle Sitzungen, nicht für sich selbst/letzten Admin (src/app/users,src/features/identity), Statuslabels „Neu“/„Freigegeben“/„Zur Prüfung“, Drain-Route ohneCRON_SECRET→ 404.ERP_BASE_URLzu entfernen – das fällt aber auf die lokale Mock-Adresse zurück (src/config/env.ts). Ersetzt durch „Hintergrundverarbeitung stoppen“.scripts/doku-check.sh: grün (0 WARN);scripts/pr-check.shlokal gegen diese Beschreibung: grünverify: grün – CIcheckRun 38705646901 am PR-Kopf 01f4b3f (nur Doku/Skill: Doku- und PR-Guard; kein Code geändert)Doku-Entscheidung (genau eine)
operations.md(Incident),deployment-vercel.md§9[Unreleased]: kein Produktverhalten geändertEntferntes oder Umbenanntes: nichts
Dateigrößen und neue Bausteine (SYSTEM.md §7)
Dateien über 500 Zeilen im Diff (Ausnahmen: generierter Code, Lockfiles, Fixtures, Migrationen, Schemas, Ressourcen, Doku, Konfiguration):
Über 800 Zeilen mit neuer Fachlogik oder über 1000 Zeilen (P1/P2): nicht betroffen
Neue Shared-Komponente, Utility-Datei, Adapter oder fachlicher Service:
Subagent-Einsätze
Risiken / offene Punkte
security-Issue: Der Ablauf bestimmt, wie ein Datenschutzvorfall behandelt wird – bitte fachlich (DSGVO-Teil) durch den Orchestrator prüfen. Keine Rechtsberatung; der Platzhalter muss vor dem ersten Kundensystem gefüllt sein.🤖 Generated with Claude Code
https://claude.ai/code/session_0117LRiQKt8ycJEHW7vxLWG3