Bündelt die Neuentwicklung in AssigmentMonitorV2 (eigene Ports/DB), die Umstellung auf numerische Bewertungen, Meeting-Checklisten, KI-Tagging und die geplante Feedback-Kaskade — als Basis für Versionsverwaltung in Gitea. Co-authored-by: Cursor <cursoragent@cursor.com>
101 lines
4.0 KiB
Markdown
101 lines
4.0 KiB
Markdown
# Konzept: Bewertungsskala 1–10 (AssignmentMonitorV2)
|
||
|
||
Stand: 2026-08-06 · nur DEV (`AssigmentMonitorV2`), Produktiv unberührt.
|
||
|
||
## Festgezogene Entscheidungen
|
||
|
||
| # | Entscheidung |
|
||
|---|---|
|
||
| Skala | **1–10**, ganzzahlig; `null` = nicht gesetzt (kein N/A-String mehr) |
|
||
| Primäre Ebene | **Kategorie** — Meeting-Bewertung und Assignment-Feedback setzen den Score hier |
|
||
| Kriterien | Primär **Beobachtungen** (Tags, Notizen, Gewichtung); nicht die Pflicht-Bewertungsebene |
|
||
| Warum Kategorie direkt? | Nicht alle Kriterien sind in jedem Meeting beobachtbar → Score darf **nicht** nur aus Kriterien-Ø abgeleitet werden müssen |
|
||
| Notation | Führende Zahl `1`–`10` am Zeilenanfang; **keine** `+` / `!` / `(+)` / `(!)` mehr; `>` Zitat und `[…]` Abschnitte bleiben |
|
||
| Farben | 4 Bänder, **konfigurierbar** unter Config (Defaults unten) |
|
||
| Labels | Nur Zahlen, keine Ankertexte |
|
||
| Altdaten | Keine Migration; frische Dev-DB (`npm run db:reset` bei Bedarf) |
|
||
| Struktur | Noch nicht angelegt — parallel in Config pflegbar, kein Blocker für Skalen-Umbau |
|
||
| Typ-Strukturen | Prio 2 (später) |
|
||
| Schnelle Zuordnung | `lineTags` / Tag-Picker / Vorschläge bleiben |
|
||
|
||
### Default-Farbbänder
|
||
|
||
Überlappung an der 5 in der Erstidee bereinigt:
|
||
|
||
| Score | Farbe |
|
||
|---|---|
|
||
| 1–2 | rot |
|
||
| 3–5 | orange |
|
||
| 6–8 | hellgrün |
|
||
| 9–10 | dunkelgrün |
|
||
|
||
Speicherung in `appSettings.ratingColorBands` (JSON), editierbar in einem neuen Config-Bereich „Skala / Farben“.
|
||
|
||
---
|
||
|
||
## Zielmodell (Daten)
|
||
|
||
```text
|
||
Beobachtung (Kriterium)
|
||
lineTags / generalNoteTags / Assessment.note
|
||
optionale Notations-Zahl auf der Zeile → Vorschlag / Detail
|
||
|
||
Meeting-Bewertung (Pflicht-Skala)
|
||
NEU bzw. klar: Score 1–10 pro Kategorie × Institutee × Meeting
|
||
direkt setzbar, unabhängig davon ob alle Kriterien getaggt sind
|
||
|
||
Assignment-Feedback
|
||
FeedbackCategoryRating.rating → 1–10
|
||
Vorschlag aus zeitgewichteten Meeting-Kategorie-Scores
|
||
|
||
Checkliste
|
||
ChecklistResponse.rating → 1–10 (gleiche Skala/Farben)
|
||
```
|
||
|
||
### Speicherung Meeting-Kategorie-Score
|
||
|
||
Neue Tabelle `meetingCategoryRatings`:
|
||
|
||
- `meetingInstanceId`, `instituteeId`, `categoryId`, `score` (INTEGER nullable 1–10), optional `note`
|
||
|
||
Bestehende `ConversationSkillScore` (Schnellscore am Protokoll-Eintrag) ebenfalls auf 1–10 umstellen — bleibt optionaler Feinschliff während des Tippens, ersetzt aber nicht die Meeting-Gesamtbewertung pro Kategorie.
|
||
|
||
`Assessment.score` (pro Kriterium): optional `number | null` für Detail/KI; UI der Gesamtbewertung fokussiert auf **Kategorien**. Kriterien darunter zeigen Beobachtungen + optionalen Detail-Score.
|
||
|
||
---
|
||
|
||
## Umsetzungsphasen
|
||
|
||
### Phase 1 — Skalen-Kern ✅ (2026-08-06)
|
||
- Types: `RatingScore` 1–10, `null` = unset; `meetingCategoryRatings`; `ratingColorBands`
|
||
- `constants.ts`: Bänder, `resolveScoreStyle`, `ScorePicker`
|
||
- Config-Tab „Skala“
|
||
- `ratingTrend` / Notation (führende Zahl) / Meeting-/Feedback-/Export-UI umgestellt
|
||
- Hard-Delete räumt `meetingCategoryRatings` + `checklistResponses` auf
|
||
|
||
### Phase 2 — Meeting-UI Feinschliff
|
||
- Notation-Schnellbuttons weiter verfeinern; Farbbänder live aus Config laden (nicht nur Defaults)
|
||
- Detail/History-Chips primär aus `meetingCategoryRatings`
|
||
|
||
### Phase 3 — Feedback & Auswertung
|
||
- Trend/Vorschlag konsequent aus Meeting-Kategorie-Scores
|
||
- **Neukonzeption Benefits/Concerns + KI-Kaskade:** siehe `docs/FEEDBACK_CASCADE_PLAN.md`
|
||
|
||
### Phase 4 — Export & KI
|
||
- Persistierte Dimension-Prompts auf neue Skalen-Sprache zurücksetzen/syncen
|
||
- Kategorie-Benefits/Concerns im PDF (Teil von `FEEDBACK_CASCADE_PLAN.md` Paket 5)
|
||
|
||
### Phase 5 — UX-Feinschliff
|
||
- Slider/Stepper, mobile Hit-Areas; Schreibfluss schützen
|
||
|
||
### Phase 6 (Prio 2) — Struktur je Assignment-Typ
|
||
- Sichtbarkeit Dimension/Kategorie pro Typ — **umgesetzt als Paket 1b** (`resolveVisibleStructure`, Config → Ass.-Typen → Struktur)
|
||
|
||
---
|
||
|
||
## Nicht-Ziele (jetzt)
|
||
|
||
- Produktiv-Migration / Mapping alter Enum-Werte
|
||
- Ankertexte auf der Skala
|
||
- Getrennte Taxonomien pro Assignment-Typ (erst Prio 2)
|