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:
@@ -499,3 +499,63 @@ Block D (pytest-Massen, DateTime, API-Pfade,
|
||||
Security-Triage, Marathon-Triage, Legacy) → Full Regression
|
||||
Separate Tracks S1–S3: 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 (~2–3 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: 80–130 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 I1–I6)
|
||||
- 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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user