docs(plan): Block I ergaenzt — Keine bekannten Fehler mehr (I1 API-Verkabelung 12 Brueche, I2 Geister-Komponenten x6, I3 Test-Hygiene Runde 2 inkl. Mail-Mocking + Voll-Triage, I4 CI-Gate scharf schalten, I5 Credential-Rotation PFLICHT, I6 Kleinkram-Buendel, I7 Server-Kontext E2/E4/E5); Gate I: Voll-Suite gruen ohne Ausschuesse + api_contracts 0 echte Findings + 0 Geister + Credentials rotiert

This commit is contained in:
Agent Zero
2026-08-24 20:21:16 +02:00
parent 860db8d61e
commit 36a03b9897
+60
View File
@@ -499,3 +499,63 @@ Block D (pytest-Massen, DateTime, API-Pfade,
Security-Triage, Marathon-Triage, Legacy) → Full Regression
Separate Tracks S1S3: danach, unabhängig
```
# BLOCK I — Keine bekannten Fehler mehr (NEU 2026-08-24, nach Block E)
Ziel: Vom Stand 'Architektur repariert + bekannte Defekte dokumentiert' zu
'keine bekannten Fehler'. Jeder Punkt unten ist aus der Reparatur-Serie
bewiesen und mit Root-Cause versehen — nichts davon ist Spekulation.
### I1 API-Verkabelung abschließen (~1 Tag)
Die 12 echten Brüche aus der D5-Triage (scanner-verifiziert, Rest waren Fehlalarme):
- `/ai/sessions`-Familie ×5 (Frontend nutzt tote Legacy-API; Backend hat `/ai/conversations`): Frontend-Client umstellen ODER Shim-Routen — Entscheidung vorab treffen.
- `/policies/{type}/{id}`-Nested ×4 (Backend nur PUT/DELETE `/policies/{policy_id}`): Frontend-Client anpassen.
- Mail signatures PATCH/DELETE ×2, mail drafts PATCH-vs-PUT ×1, mail labels DELETE ×1.
- DELETE `/notifications/{id}` ×1 (Backend nur PATCH `.../read`).
- GET `/agents/skills` ×1 (Backend `/agents/tools`).
Gate: trace_api_contracts gegen create_app().openapi() → 0 echte Findings; betroffene Frontend-Flows manuell verifiziert.
### I2 Geister-Komponenten eliminieren (~2 Std)
Manifest-Einträge ohne existierende Komponente zeigen ErrorBoundary-Fallback:
- @/pages/AIAssistant (ai_assistant Menü+Route) — bauen oder entfernen.
- Contact-Detail-Tabs ×5 (calendar/dms/entity_links/mail/tags): bauen oder Manifest-Einträge entfernen.
Gate: Production-Build + kein Ghost-Finding mehr im Plugin-Manifest-Sync; Menü klickbar bis zum Ende.
### I3 Test-Hygiene Runde 2 (~23 Tage)
Voll-Lauf v1 brach bei 44% ab (Mail-Hänger) — die Restzone ist ungetestet:
- I3-a Mail-Suite mocken (IMAP/SMTP via AsyncMock, Pattern exists in anderen Suiten): macht ~28 Tests deterministisch.
- I3-b Voll-Lauf v3 OHNE Ausschlüsse → jede Failure klassifizieren (Produktionsbug vs. Test-Veraltetheit) und fixen. Erwartet: 80130 Failures gesamt, ~30% Produktionsrelevanz.
- I3-c Suite-für-Suite bis grün; Ziel: Voll-Suite grün als Merge-Gate-Beweis.
### I4 CI-Gate scharf schalten (Server, ~2 Std)
- Forgejo Actions-Runner aktivieren (bisher total_count=0).
- Branch-Protection main: 'Merge nur bei grünem ci.yml-Lauf' + 'kein direkter Push auf main'.
- restore_drill.sh als wöchentlichen Job einhängen.
### I5 Credential-Rotation (PFLICHT, User, ~1 Std)
7 kompromittierte Credentials (Git-Historie, siehe deploy-guide.md § Credential-Rotation):
Forgejo-Token, Coolify-Token, DB-Passwort, Redis-Passwort, SECRET_KEY, Admin-Passwort,
MAIL_ENCRYPTION_KEY. Reihenfolge laut Tabelle; SECRET_KEY zuletzt (invalidiert Sessions).
Nach Rotation: Health-Check + Deploy verifizieren.
### I6 Kleinkram-Bündel (~1 Tag)
- BUG-099: workstream-Tests löschen oder auf neue Architektur umbauen (4 Failures).
- PluginLoader-Tests: erwartete UI-Texte angleichen (de/en, 5 Failures).
- `log_audit(details=...)`: Parameter persistieren ODER aus Signatur entfernen (Fallmine).
- Scanner-Qualität: stores/hooks-Scanner auf echte Member-Erkennung umstellen (aktuell False Positives wie 'const'/'null').
### I7 Server-Kontext-Follow-ups (E2/E4/E5, parallel zu I1I6)
- E2: Playwright BASE_URL auf Production-Build + docker compose profile test.
- E4: Monitoring/Alerting einmal real durchspielen, was WIRKLICH alarmiert dokumentieren.
- E5: Performance-Baseline Top-10-Endpoints p95 mit seed_perf_data.py; Schwellwerte dokumentieren.
## Reihenfolge von I
```
I5 (Rotation, sofort — Sicherheit)
I4 (CI-Gate, parallel — Schutz vor Drift)
I1 (API-Verkabelung) → I2 (Geister) [User-sichtbar zuerst]
I3 (Test-Hygiene Runde 2) [größter Block]
I6 (Kleinkram) → I7 (Server-Kontext)
Gate I: Voll-Suite grün ohne Ausschlüsse + api_contracts 0 echte Findings
+ 0 Geister-Komponenten + Credentials rotiert + CI-Gate aktiv
```