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>
4.0 KiB
4.0 KiB
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)
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), optionalnote
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:
RatingScore1–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+checklistResponsesauf
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.mdPaket 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)