docs: add FIXPLAN.md (50-issue audit) + update BAUPLAN with audit phase 1

- docs/FIXPLAN.md: complete 50-issue list with severity, status, test-coverage
- BAUPLAN.md: new Phase 22 'Audit & Hardening Phase 1' + Audit-Stand 2026-06-30 header
- 11 of 50 issues fixed (all 8 CRITICAL + 3 HIGH)
- 39 issues open (10 HIGH, 15 MEDIUM, 14 LOW)
- Fix commits: 2e9dfdf, cf62a77, 8493138, 275b863, baba0cb, 4a5377c

Refs: CODE_ANALYSIS.md, test_report.md
This commit is contained in:
2026-06-30 11:09:56 +02:00
parent 4a5377cb53
commit 4b9140a99b
2 changed files with 404 additions and 0 deletions
+65
View File
@@ -5,6 +5,16 @@ Basierend auf: Pflichtenheft v4 (633 Zeilen) + UI-Mockup Iteration 9
---
## ⚠️ Audit-Stand 2026-06-30
**Dieses Projekt wurde am 2026-06-29 einem brutal-honest Code-Audit unterzogen.**
**Ergebnis**: 50 Probleme identifiziert (8 CRITICAL, 13 HIGH, 15 MEDIUM, 14 LOW).
**Stand**: 11 von 50 Issues gefixt (alle CRITICAL + 3 HIGH).
**Verbleibend**: 39 Issues — siehe `docs/FIXPLAN.md` für Details.
**HEAD**: `4a5377c` (main, origin/main).
---
## Technologie-Stack
| Schicht | Technologie | Lizenz |
@@ -702,3 +712,58 @@ web-cad-neu/
└── specs/
└── requirements.md # Kopie des Pflichtenhefts
```
## Phase 22: Audit & Hardening Phase 1 (2026-06-29) ✅
**Trigger**: Codebase-Audit am 2026-06-29 durch Codebase Explorer (brutally-honest mode).
**Quelle**: `CODE_ANALYSIS.md` (Audit-Report) + `docs/FIXPLAN.md` (50-Issue-Liste mit Status).
**Verdict**: Funktionaler Prototyp mit kritischen Security-Lücken, gebrochener Collab-Sync und systemischer Architektur-Schuld — **NICHT production-ready**.
### Issues-Übersicht
| Schweregrad | Total | Fixed | Open |
|---|---|---|---|
| CRITICAL | 8 | 8 ✅ | 0 |
| HIGH | 13 | 3 ✅ | 10 |
| MEDIUM | 15 | 0 | 15 |
| LOW | 14 | 0 | 14 |
| **Total** | **50** | **11** | **39** |
### Fixes Phase 1 (alle 8 CRITICAL + 3 HIGH)
| Commit | Issues | Inhalt |
|---|---|---|
| `2e9dfdf` | #1, #3 | Auth middleware auf allen CRUD Routes + CORS restrict |
| `cf62a77` | #2, #4, #5 | WebSocket auth + Yjs persistence + doc retention |
| `8493138` | #6 | CRDT sync groups + bgConfig via Yjs |
| `275b863` | #7, #8 | loadFromState race + plugin stale closure |
| `baba0cb` | #9, #10, #11 | Remote sync + save all elements + block drop sync |
| `4a5377c` | #9, #10, #11 | Quality-Review-Fixes (local-first merge) |
### Verifikation
- ✅ Backend `tsc --noEmit` clean
- ✅ Frontend `tsc --noEmit` clean
- ✅ Backend `npm run build` erfolgreich
- ✅ Frontend `vite build` erfolgreich (341 modules)
- ✅ Server startet ohne Fehler
- ✅ Health endpoint `GET /api/health` → 200
- ✅ WS ohne Token → Close code 4001 "Authentication required"
- ✅ WS mit invalid Token → Close code 4001 "Invalid or expired session"
- ✅ WS mit valid Token → accepted, initial state sync
- ✅ Register + Login funktional
### Verbleibende Brocken (für Phase 23+)
- **App.tsx Refactoring** (Issue #22, 1207-Zeilen-Monolith in Module)
- **Block-Persistence** (Issues #16, #17 — Rename + Duplicate)
- **Layer-Persistence** (Issue #15)
- **GROUP Command** (Issue #18 — No-Op)
- **Image Insert / Paste / SVG-Import** (Issues #28, #32, #34)
- **listProjects Owner-Filterung** (Issue #21)
- **Input Validation** auf allen Backend-Routes (Issue #33)
- **Cursor-Storage** in Y.Doc (Issue #19)
- Diverse MEDIUM + LOW Cleanups
**Detaillierter Fixplan**: siehe `docs/FIXPLAN.md` (alle 50 Issues mit Severity, Status, Test-Coverage).