shinkan-jinkendo/docs/architecture/PLANNING_KI_ROADMAP.md
Lars 4b9374765b
All checks were successful
Deploy Development / deploy (push) Successful in 41s
Test Suite / pytest-backend (push) Successful in 43s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 13s
Test Suite / k6 /health Baseline (push) Successful in 34s
Test Suite / playwright-tests (push) Successful in 1m21s
Enhance Progression Graph Management with F15 Features and Evaluation Improvements
- Updated `PROJECT_STATUS.md` to reflect the implementation of F15 features, including the unified slot review and handling of `findings_stale`.
- Enhanced `PROGRESSION_GRAPH_SLOT_EDITOR_SPEC.md` with detailed descriptions of new functionalities related to the match dialog and path quality assessments.
- Introduced new functions in `exercise_progression_graphs.py` to validate exercise visibility against progression graph settings, ensuring proper governance.
- Improved frontend components to support new governance parameters (visibility and club_id) in exercise creation workflows.
- Updated documentation in `HANDOVER.md` and `PLANNING_KI_ROADMAP.md` to outline the latest developments and validation results for the F15 features.
- Enhanced utility functions for exercise creation to incorporate governance settings, improving the overall user experience in the path builder and editor.
2026-06-14 06:44:12 +02:00

204 lines
9.3 KiB
Markdown
Raw Permalink 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.

# Planungs-KI — Produkt-Roadmap
**Stand:** 2026-05-22
**App-Version:** **0.8.233** — maßgeblich `backend/version.py`
Diese Roadmap ergänzt die **Architektur-Refaktor-Roadmap** (`UMSETZUNGSPLAN_ROADMAP.md`) und gilt **nur für KI-gestützte Trainingsplanungsunterstützung**.
**Ist-Stand Progressionsgraph (detailliert):** `PLANNING_PROGRESSION_GRAPH_KI.md`
**Leit-Spec:** `.claude/docs/working/PLANNING_PROGRESSION_ROADMAP_SPEC.md`
---
## Strategische Entscheidung (verbindlich)
1. **Progressionsgraph:** Planung **vom Ziel rückwärts** (Roadmap-first), nicht Bibliothek-first.
2. **Keine Gruppenanalyse** im Graphen — Kontext = Zieltext, Katalog-Dimensionen, Start/Ziel, Roadmap, optional Graph-Kanten.
3. **Drei Schichten statt monolithischem Vokabular:** Katalog (DB) · Technik-Disambiguierung (Code, nur bei Technik-Themen) · Didaktik (Roadmap + LLM-QS).
4. **Trainingsplanung** (Einheit, Rahmen, Abschnitt): eigene Pipeline (Phase G), **mit** Gruppenkontext — siehe `AI_PLANNING_KI_MULTISTAGE_FORECAST.md` S0S4 und Ist-Doku §16.
5. **Orchestrierung:** Workflow-**lite** jetzt (`planning_progression_roadmap.py`, `planning_exercise_path_builder.py`); Mitai Workflow-Engine **später**, wenn Phase G stabil ist.
---
## Phasen-Übersicht
| Phase | Domäne | Kurzbeschreibung | Status |
|-------|--------|------------------|--------|
| P0P2 | Übungssuche | Kontext-Pack, Hybrid-Score, LLM-Rerank | ✅ |
| AC2 | Übungssuche | Voll-Library, Graph, Varianten | ✅ |
| C3 | Progressionsgraph | Pfad-Builder (retrieval-first) | ✅ |
| EE3 | Progressionsgraph | Semantik, QA, Lücken-Angebote | ✅ |
| **F0F4** | Progressionsgraph | Roadmap-Pipeline, LLM, roadmap_first, UI Review | ✅ **0.8.204209** |
| **F5F9** | Progressionsgraph | Start/Ziel, Gap-Prep, Skill-Expectations, Persistenz | ✅ **0.8.210217** |
| **F10** | Progressionsgraph | Stufen-Lernziel-Gate, kein blindes Rank-Fallback | ✅ **0.8.218** |
| **F11F12** | Progressionsgraph | Auto-Rematch, Spec-Refine, QS-Pipeline-Timing | ✅ **0.8.2250.8.232** |
| **F13F14** | Progressionsgraph | Katalog-Kontext + GraphEditor-Workbench | ✅ **0.8.233** |
| D | Übungs-Neuanlage | `planning_context` an `suggestExerciseAi` | ✅ **0.8.208** |
| **UX** | Progressionsgraph | Wizard/Stepper; PathBuilder-Parität Katalog | 🔲 |
| **D** | Progressionsgraph | Auto KI-Gap-Fill bei persistent leeren Slots | 🔲 Backlog |
| **G** | Trainingsplanung | Kontext-Pack Gruppe/Historie, G0G4 | 🔲 |
| **H** | Plattform | Technik-Katalog konfigurierbar; Mitai-Workflow | 🔲 Backlog |
---
## Phase F — Progressions-Roadmap (abgeschlossen bis F14)
Details und Module: **`PLANNING_PROGRESSION_GRAPH_KI.md`**.
### F0F9 — (Kurz, siehe Ist-Doku)
- [x] F0 Foundation (0.8.204) — Spec, Pipeline-Skeleton, Prompts 078
- [x] F1 Deterministische Roadmap — Phase A/B/C heuristisch
- [x] F2 LLM Roadmap (0.8.205) — Prompts 078/079
- [x] F3 roadmap-first (0.8.206) — Match pro `stage_spec`, `roadmap_unfilled`
- [x] F4 UI Review (0.8.207) — `roadmap_override`, Major Steps editierbar
- [x] F5 Start/Ziel (0.8.210214) — Prompt **087**, Zwei-Schritt-UI
- [x] F6 Gap-KI-Kontext (0.8.212214) — `ExerciseGapFillPrepModal`
- [x] F7 Fähigkeiten-Scoring (0.8.215216) — `planning_skill_expectations`
- [x] F8 Stufen-Details UI (0.8.216) — editierbare `stage_specs`
- [x] F9 Persistenz (0.8.217) — Migration **088** `planning_roadmap` JSONB
### F10 — Stufen-Qualität (0.8.218)
- [x] Stufen-Lernziel-Gate — kein Rank-Fallback ohne Pass
- [x] Anti-Pattern-Sanitizer, `stage_mismatch` → leerer Slot + Gap
### F11 — Auto-Optimierung (0.8.2250.8.230)
- [x] `planning_path_rematch.py` — Rematch-Schleife für `rematch_slot` / `roadmap_unfilled`
- [x] `planning_path_refine_stage.py` — Spec-Schärfung aus QS
- [x] `planning_path_qa_pipeline.py` — mehrstufige QS
### F12 — Pipeline-Timing & Sync (0.8.2310.8.232)
- [x] Post-Match-Gate vor Rematch-Akzeptanz
- [x] LLM Pfad-QS **nach** Rematch
- [x] Gap-Offers vor `path_qa`-Summary
- [x] Frontend: `applyMatchStepsToSlots` sync per `majorStepIndex`
### F13 — Katalog-Kontext (0.8.233)
- [x] `planning_catalog_context.py` — Fokus, Stil, Trainingsstil, Zielgruppe
- [x] Merge in `PlanningTargetProfile` + Text-Signale
- [x] Persistenz im Graph-Artefakt
- [x] Technik-Gates nur bei `topic_type == "technique"`
### F14 — GraphEditor Workbench (0.8.233)
- [x] `ProgressionGraphEditor` — primäre UI für Roadmap + Match + Lücken
- [x] Vier Planungskontext-Dropdowns im Editor
- [x] `progressionGraphDraft.js` — Artefakt + API-Payload
### F15 — Match-Dialog & getrennte Pfad-QS (2026-05-22, lokal)
- [x] **`unified_slot_review`** — Dialog pro Slot (Bibliothek + KI, Stufen-Fit-Vergleich)
- [x] Vorauswahl: Bibliothek nur bei Stufen-Fit ≥ 50 %; sonst KI bei leerem/schwachem Slot
- [x] Übernahme ohne teure Auto-Nach-Bewertung; manuell „Graph bewerten“
- [x] **`path_qa.roadmap_qa`** + **`path_qa.assignment_qa`**; Gesamt = Minimum
- [x] **`findings_stale`** im Graph-Artefakt — Hinweis „Bewertung veraltet“ (persistiert)
- [x] Slot-Key-Fix — Lernziel editierbar ohne Fokusverlust
### Validierung (Referenz Mae Geri, 2026-05)
| Phase | Roadmap-QS | Besetzung | Gesamt | Ergebnis |
|-------|------------|-----------|--------|----------|
| Vor Roadmap/KI | — | — | ~65 % | Lücken, Off-Topic |
| Roadmap ok, Slots leer | ~88 % | ~815 % | **~815 %** | Besetzung fehlt |
| Nach Match + Fill | ~88 % | hoch | **~85 %+** | Vollständige Abdeckung |
**Fazit:** Roadmap-QS und Besetzungs-QS getrennt betrachten; Workbench + Katalog + Roadmap universell.
---
## UX — UI-Überarbeitung (offen)
- [ ] Wizard mit 4 Schritten (Ziel & Katalog → Roadmap → Match → Lücken)
- [ ] Progressive disclosure — Details in Panels
- [ ] PathBuilder-Parität: gleiche Katalog-Dropdowns wie GraphEditor
- [ ] QS-UI: positive LLM-Hinweise als Highlights
- Briefing: `PLANNING_PROGRESSION_GRAPH_KI.md` §12
---
## Phase D — Auto Gap-Fill (Backlog)
- [ ] Bei persistent `roadmap_unfilled` automatisch KI-Vorschlag vorbereiten (ohne manuelles Modal)
- [ ] Governance: Trainer bestätigt vor Persistenz
---
## Phase G — Trainingsplanung (komplexere Domäne)
**Ziel:** Einheiten, Rahmen-Slots, Abschnitte und parallele Streams KI-gestützt planen — **ohne** zweite Retrieval-Welt.
### Wiederverwendung aus Progressionsgraph
| Baustein | Progressionsgraph | Trainingsplanung |
|----------|-------------------|------------------|
| `PlanningTargetProfile` | Curriculum-Query + Katalog | Einheit + Abschnitt + Slot + Katalog + Historie |
| `planning_catalog_context` | Am Graph gespeichert | Pro Einheit / Slot / Voreinstellung |
| `planning_skill_expectations` | `progression_stage`, `progression_path` | **`training_section`**, **`framework_slot`** |
| `planning_exercise_retrieval` | Roadmap-Stufen-Match | `suggest_planning_exercises`**bereits produktiv** |
| `planning_path_qa_pipeline` | Curriculum-QS | Abschnitts-QS (Kohärenz, Streams) |
| `planning_exercise_form_context` | Pfad-Lücken | Abschnitts-/Slot-Lücken |
| Roadmap-Pipeline | Major Steps über Wochen | **Nicht 1:1** — Phasen/Streams + Vorlagen |
### Was Phase G neu braucht
- Gruppen-/Historie-Kontext-Pack (`AI_PLANNING_KI_MULTISTAGE_FORECAST` S0S4)
- Abschnitts-Didaktik — Dauer, Parallel-Streams, Coaching
- Rahmen-Blueprint-Anbindung (`training_framework_programs`, Slot-Blueprints)
- Eigene Orchestrierung pro Einheit (kein Curriculum über N Wochen)
### Integrations-Reihenfolge G0G4
| Schritt | Inhalt | Abhängigkeit |
|---------|--------|--------------|
| **G0** | Katalog in Einheits-Editor → bestehende Suggest-Pipeline | F13 ✅ |
| **G1** | Scope `training_section` + Skill-Erwartungen aktiv | F7 ✅ |
| **G2** | Abschnitts-QS (Hint-Struktur wie Graph) | F11F12 ✅ |
| **G3** | Framework-Slot + Gap-Fill | G0, G1 |
| **G4** | Gruppenkontext-Pack | G0G3 |
**Nicht:** Roadmap-first-Loop 1:1 auf Trainingseinheit mappen.
Details: **`PLANNING_PROGRESSION_GRAPH_KI.md`** §16 · Domäne **`DOMAIN_MODEL.md`** §12.
---
## Phase H1 — Katalog-Prompt-Snippets (Spez geplant)
**Spec:** **`PLANNING_CATALOG_PROMPT_SNIPPETS.md`**
Modulare Textbausteine pro Katalog-Ausprägung in LLM-Prompts (Roadmap, Pfad-QS, Stufen-Spec) — **nicht** neue Retrieval-Welt.
**Priorität (absteigend):** Primärfokus → Trainingsstil → Zielgruppe → Stilrichtung.
- [ ] `planning_catalog_prompt_snippets.py` + Registry (58 Snippets)
- [ ] Platzhalter `{{catalog_guidance_block}}` in Pfad-QS + Roadmap-Prompts
- [ ] Dev-Regression: Gewaltschutz / Breitensport / Kinder — QS-Hinweise passend zum Kontext
---
## Phase H — Plattform (Backlog)
- [ ] Technik-Disambiguierung konfigurierbar (DB statt `_GERI_TECHNIQUES` in Code)
- [ ] Mitai Workflow-Engine — erst wenn G0G4 stabil
---
## Abhängigkeiten
| Von | Nach | Hinweis |
|-----|------|---------|
| F13 | G0, **H1** | Katalog-Kontext in Einheitsplanung; Snippets in LLM-Prompts |
| F7, F11 | G1, G2 | Skill-Expectations + QS-Muster |
| F4, F9 | G3 | Graph-Roadmap kann Rahmen referenzieren |
| G | H | Workflow-Engine lohnt bei verzweigten Planungsflows |
---
## Pflege
Bei Abschluss einer Teilphase: **`PLANNING_PROGRESSION_GRAPH_KI.md`** (Ist-Stand), diese Datei, `HANDOVER.md` §2.8, `PLANNING_EXERCISE_SUGGEST_CONTEXT.md` §24, Changelog in `version.py`.