CG-Feedback-Monitor/docs/STATUS_UND_OFFENE_PUNKTE.md
Lars d894c3c8e4 V2-Stand: UX-Dashboard, Personen v2, Starter-Paket und Dexie-Legacy entfernt.
Sichert den lokalen Entwicklungsstand nach Gitea: Nav/Dashboard, Personen-Excel/Archiv, Team-Setup, Assignment-Übergabe und C6/C7/T2.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 14:17:25 +02:00

170 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Projektstatus und offene Punkte — Assignment Monitor V2
Stand: **2026-08-16** (Abgleich Code + Session) · nur DEV (`AssigmentMonitorV2`) · Produktiv unberührt
Kanonische Einstiege: [`HANDOVER.md`](./HANDOVER.md) · Isolation: [`DEV_ISOLATION.md`](./DEV_ISOLATION.md) · Feedback-Arbeitsliste: [`FEEDBACK_CASCADE_PLAN.md`](./FEEDBACK_CASCADE_PLAN.md)
> Ältere STATUS-Stände (Juli 2026, IndexedDB/WASM/Enum-Skala) sind **ersetzt**. Offene Punkte unten sind gegen den Code abgeglichen.
---
## Kurzfazit
Die V2-App ist für den DEV-/Team-Einsatz **funktional weitgehend fertig**: Skala 1–10, Meetings/Checklisten/Tagging, Feedback-KI-Kaskade A→B, Starter-ZIP, Assignment-Übergabe.
**Heute erledigt:** … **UX.3 Teil 1**; **Personen v2** (E-Mail, Gruppen-CRUD, Verschieben, Excel-Import, Archiv, Detail inkl. Entwicklung, Lösch-Kaskade).
**Als Nächstes:** Meeting-Polish (UX.4); parallel optional T4.
---
## Implementierungsstatus (Ist)
### Kernplattform
| Feature | Status | Ort |
|---|---|---|
| React 19 + Vite PWA, Router 7, Tailwind v4 | ☑ | `package.json`, `src/` |
| Express + `node:sqlite`, RPC `POST /api/rpc` | ☑ | `server/` |
| 26 Tabellen via `tableRegistry` (Schema + Backup) | ☑ | `server/db/tableRegistry.ts` |
| Client-Queries 1:1 Server-Queries | ☑ | `src/db/queries/`, `server/db/queries/` |
| DEV-Ports 5174/4001, Pfad-Guards | ☑ | `.env.example`, `database.ts` |
| Dexie/IndexedDB-Legacy | ☑ entfernt | kein `dexie`, kein `schema.ts`/`seeds/` |
### Bewertung & Meetings
| Feature | Status | Ort |
|---|---|---|
| Skala 1–10, Farbbänder, ScorePicker | ☑ inkl. Smoke (C0) | Config → Skala, `constants.ts`, `npm run smoke` |
| Meeting-Kategorie-Scores | ☑ | `meetingCategoryRatings` |
| Protokoll + Notation (führende Zahl), Füllwörter | ☑ | `ConversationTab`, `notationParser` |
| Kriterium-Tags Zeile / allgemeine Notizen | ☑ | `lineTags`, `generalNoteTags` |
| Checklisten (Config + Meeting + Export) | ☑ | `ChecklistTab`, `checklists` RPC |
| Papierkorb/Archiv Assignments + Meeting-Trash | ☑ | Dashboard, Detail |
| Gesamtprotokoll Historie | ☑ | `MeetingHistory.tsx` |
| PDF Assignment-Report + Institutee-Feedback | ☑ | `pdfExport.tsx` |
| MD/JSON Meeting-Export | ☑ | `meetingExport.ts` |
### Feedback & KI
| Feature | Status | Ort |
|---|---|---|
| Benefits/Concerns Kategorie + Dimension | ☑ Code · Smoke ☐ (T4) | `AssignmentFeedbackPage`, Schema |
| KI-Kaskade Stufe A (Cat) → B (Dim) | ☑ | `aiPrompt.ts`, Config → KI-Prompts |
| Tagging Protokoll (`ZEILE n:`) inkl. Zeichen-/Zeilen-Batches | ☑ | `taggingBatches.ts`, `MeetingView.analyzeSuggestions` |
| Checklisten-Tagging (`PUNKT n:`) gebatcht | ☑ | `checklistTagging.ts` |
| KI-Client: Timeout, Retry, Prompt-Größen-Guard | ☑ | `aiClient.ts`, `AI_CONFIG` |
| Typ → sichtbare Struktur | ☑ | `resolveVisibleStructure` |
### Verteilung & Übergabe
| Feature | Status | Ort |
|---|---|---|
| Starter-Struktur ohne Personen | ☑ | `docs/starter/`, `npm run setup` |
| Team-ZIP | ☑ | `npm run pack:zip`, `EINRICHTUNG.md` |
| Laptop-Umzug ZIP | ☑ | `npm run pack:laptop`, `UMZUG.md` (Code + volle DB) |
| Assignment-Übergabe Export/Import | ☑ | `assignmentTransfer`, Detail ↔ / Dashboard ↔ |
### Cascade-Plan (Kurz)
| Paket | Status |
|---|---|
| 0 Smoke Skala | ☑ |
| 1 / 1b / 2 / 3 | ☑ |
| 4 / 5 UI+PDF Benefits | ☑ Code · Smoke ☐; 5.3 MD/JSON-Feedback ☐ |
| 6 Tagging-Batches | ☑ |
| 7 KI-Robustheit | ☑ |
| 8.3 Dexie-Legacy | ☑ |
| UX-Paket | UX.1–UX.3 Teil1 ☑ · Personen v2 ☑ · UX.4–UX.8 ☐ |
Details und Checkboxen: [`FEEDBACK_CASCADE_PLAN.md`](./FEEDBACK_CASCADE_PLAN.md).
---
## Offene Punkte (priorisiert)
### Hoch / als Nächstes sinnvoll
| ID | Thema | Hinweis |
|---|---|---|
| **T4** | Cascade 4/5 Feinschliff | Benefits/Concerns UI+PDF smoke; optional 5.3 MD/JSON Assignment-Feedback |
### Mittel
| ID | Thema | Hinweis |
|---|---|---|
| **T1** | npm-Deprecations / Audit | z.B. ungenutztes `recharts`, transitive Warnungen — beim nächsten Release/ZIP |
| **T5** | Evaluation / FeedbackDraft Legacy | an 1–10 + Benefits anpassen oder deprecaten (Cascade 8.5) |
| **T3** | Backup-Reminder nach Meeting | nie gebaut |
| **T6** | Datenschutz Tagging+Feedback (externe API) | vor Produktivnutzung organisatorisch |
### Niedrig
| ID | Thema | Hinweis |
|---|---|---|
| **N1** | `instituteeEnrollments` schon beim Anlegen | Create vs. nur Edit |
| **N2** | Assignment-Nummer in URL | Nice-to-have |
| **N3** | Notation-Schnellbuttons / mobile Hit-Areas | Cascade 8.2 / UX |
| **N4** | UX-Paket (Cascade) | UX.1–UX.3 Teil1 ☑ · Personen v2 ☑ · UX.4 Meeting offen |
| **N5** | Server seed-if-empty | weitgehend durch Starter/`setup` ersetzt — optional |
### Erledigt / obsolet (nicht wieder öffnen)
| ID / Thema | Status |
|---|---|
| **C0** Smoke Skala 1–10 | ☑ 2026-08-16 — `npm run smoke` (31 pass) + Abnahme |
| **C6** Tagging-Batches | ☑ 2026-08-16 — `taggingBatches.ts`; Limits in `AI_CONFIG` |
| **C7** KI-Client Timeout/Retry/Prompt-Guard | ☑ 2026-08-16 — `aiClient.ts` |
| **T2** Dexie/IndexedDB-Legacy | ☑ 2026-08-16 — Dependency + `schema.ts` + `seeds/` entfernt |
| Cascade 1 / 1b / 2 / 3 | ☑ Benefits-Schema, Sichtbarkeit, KI A→B |
| IndexedDB → SQLite WASM + OPFS | Obsolet — lokaler Server + SQLite |
| `db/queries/`-Layer fehlt | ☑ 2026-07-04 |
| Selbstlernendes Tagging „Idee“ | Basis + Batches erledigt |
| Prompt-System Neubau „ungescoped“ | Stufe A/B + Config erledigt |
| Enum-Skala Client-Ready | Abgelöst durch 1–10 |
| KI „komplett kaputt“ (alter Monolith) | Architektur ersetzt |
### Produktiv-Kontext (nicht V2-Dev)
| Thema | Hinweis |
|---|---|
| Echtdaten-Migration Produktiv → ggf. späteres System | V2 eigene DB + Starter; Produktiv-Ordner unangetastet lassen |
---
## Empfohlene Reihenfolge
```text
UX.4 Meeting · UX.5 Feedback · UX.6 Config · UX.7–8
→ T4 Cascade 4/5 Smoke + ggf. 5.3
→ T1 npm-Bereinigung (nächstes Team-ZIP/Release)
→ T5 Legacy Evaluation/FeedbackDraft (oder deprecaten)
→ T6 Datenschutz vor Prod
```
---
## Bekannte Konsistenz-Risiken
| Risiko | Mitigation |
|---|---|
| Verwaiste IDs in `criteriaIds` / Tags nach Kriterium-Löschung | Cascade/`reassign` in Feedback-Struktur-Config |
| Assignment-Übergabe braucht passende Feedback-Struktur auf dem Ziel | Gleicher Starter; Import mappt per Name |
| Checkliste ↔ Assessment | Kein Auto-Spiegel; Evidence über Primärquellen |
| Voll-Backup-Import = Wipe | Nicht mit Assignment-Übergabe verwechseln |
| Sehr lange Einzelzeile im Protokoll | Wird nicht mitten im Text gesplittet — eigener Batch / Struktur-Verengung / Hard-Limit |
---
## Dokumentations-Landkarte
| Doc | Rolle |
|---|---|
| `HANDOVER.md` | Session-Einstieg, Stack, Fallstricke |
| `STATUS_UND_OFFENE_PUNKTE.md` | **Diese Datei** — Ist + Offene Punkte (kanonisch) |
| `SMOKE_TESTS.md` | Automatisierter `npm run smoke` + manuelle UI-Checkliste (C0/C6/T4) |
| `DEV_ISOLATION.md` | Ports, Guards, Produktiv-Trennung |
| `TEAM_SETUP.md` / `EINRICHTUNG.md` | Kollegen-Onboarding / ZIP |
| `SCALE_1_TO_10.md` | Skalen-Konzept |
| `FEEDBACK_CASCADE_PLAN.md` | Feature-Arbeitsliste Feedback/KI |
| `CLAUDE.md` | Agent-Regeln + lange Erledigt-Historie |
| `FACHLICHE_` / `TECHNISCHE_ARCHITEKTUR.md` | Historisch — bei Widerspruch HANDOVER/STATUS/Code gewinnen |