Update Projektplan mit Admin-Log

This commit is contained in:
2026-04-14 10:59:32 +02:00
parent 3ea8589985
commit c3d5e2b0ad
+8 -3
View File
@@ -756,11 +756,11 @@ axum-extra = { version = "0.12", features = ["cookie"] } # passend zu axum 0.8
- [ ] `AuthenticatedArzt`-Extractor: Session-Token → Arzt auflösen, bei ungültiger/abgelaufener Session → Redirect `/web/login`
- [ ] `ValidCaseId`-Extractor: `case_id` als UUIDv4 validieren (`uuid::Uuid::parse_str`), bei Fehler → 400
- [ ] Login-Seite (`GET /web/login`, `POST /web/login`)
- [x] askama Templates (Listenansicht `cases.html`)
- [ ] askama Templates (Arzt-UI)
- [ ] SSE-Endpunkt (`GET /web/events`), Session-Check bei Aufbau + periodisch bei Heartbeat
- [ ] Vanilla-JS EventSource-Client
- [ ] Übersicht mit drei States (Empfangen/Transkribiert/Ausgewertet) — aktuell nur flache Liste mit Transkript + Oneliner
- [x] Fall-Detail: Transkripte pro Aufnahme einsehen (inline in Listenansicht, Audio-Stream `/web/audio/...`)
- [ ] Übersicht mit drei States (Empfangen/Transkribiert/Ausgewertet)
- [ ] Fall-Detail: Transkripte pro Aufnahme einsehen
- [ ] Fall abschließen / Alle abschließen
- [ ] Dokumentansicht
- [ ] Nachtrag-Hinweis bei Aufnahmen nach Abschluss (⚠ "N neue Aufnahmen seit Abschluss")
@@ -770,6 +770,10 @@ axum-extra = { version = "0.12", features = ["cookie"] } # passend zu axum 0.8
- [ ] Service-Ausfall-Warnung (faster-whisper/Ollama > 30 Min.)
- [ ] CSRF-Token pro Session (Hidden Field in allen POST-Formularen, serverseitige Validierung)
**Admin-Log (separat vom Arzt-UI)**
- [x] `GET /web/` — flache Liste aller Fälle quer über User, inkl. Transkripten und Oneliner (aktueller Stand `cases.html`). Dient als "interaktives Log" für Entwicklung und Admin-Zwecke, ersetzt nicht das Arzt-UI.
- [ ] Zugriffsschutz: später auf `role = "admin"` einschränken, sobald die Auth-Schicht steht.
### Phase 5 — Watch App
**Hinweis:** Ein früher Proof-of-Concept (minimale Aufnahme + Upload auf echter Pixel Watch) sollte parallel zu Phase 23 stattfinden, um Wear-OS-spezifische Einschränkungen (Doze-Mode, Foreground-Service-Limits, Battery-Optimization) frühzeitig aufzudecken.
@@ -875,3 +879,4 @@ axum-extra = { version = "0.12", features = ["cookie"] } # passend zu axum 0.8
| GPU-Phasen-Worker | Strikter Whisper↔Ollama-Wechsel mit Ollama `keep_alive=0` | Turbo (~1.6 GB) + Ollama gemma4 (~9 GB) bleiben parallel geladen, `OLLAMA_KEEP_ALIVE=300` | Dank Turbo-VRAM-Footprint passen beide gleichzeitig in die GPU. Spart das Modell-Reload (~2 s pro Oneliner). Strikter Phasenwechsel bleibt als Fallback, falls später größere Modelle (`large-v3`, Llama 3.1 8B) zurückkehren. |
| faster-whisper Port | 10300 (ahmetoner) | 9001 (eigener Service) | Neuer Service auf freiem Port; alter Container optional parallel belassen. |
| Test-Client für Watch-Flow | Erst ab Phase 5 mit echter Hardware | `scripts/dictate.sh` ab Phase 2/3 als Stand-in (ffmpeg + curl + interaktiver c/n/r/q-Loop) | Erlaubt End-to-End-Tests der Server-Pipeline ohne Watch-Hardware, solange die Pixel Watch nicht verfügbar ist. |
| Admin-Log vs. Arzt-UI | Nur Arzt-UI geplant | Zusätzlich frühes Admin-Log unter `/web/` (flache Liste aller Fälle, Transkripte, Oneliner) | Gebaut, bevor das Arzt-UI (Session, States, Fall-Detail) existiert, um die Pipeline während Entwicklung inspizieren zu können. Soll bleiben, aber später hinter `role = "admin"` geschützt; das Arzt-UI wird separat entwickelt. |