Some checks failed
Deploy Development / deploy (push) Failing after 22s
Test Suite / pytest-backend (push) Successful in 35s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Failing after 3s
Test Suite / k6 /health Baseline (push) Successful in 33s
Test Suite / playwright-tests (push) Successful in 1m14s
- Added capabilities for weighted skill profiles, allowing trainers to compare training modules, frameworks, and regression paths based on skill contributions. - Updated the skill scoring specification to include peer context separation and list filtering, ensuring accurate comparisons among visible artifacts of the same type. - Enhanced the API to support batch summaries for skill profiles and discovery suggestions, improving data retrieval efficiency. - Refactored frontend components to display skill metrics, including scores and peer percentages, with improved filtering options for better user experience. - Updated documentation to reflect the latest changes and enhancements in the skill scoring system.
4.5 KiB
4.5 KiB
Umsetzungsplan: Trainingsmodule & Kombinationsübungen
Bezug: functional/Shinkan Trainingsmodule Kombinationsuebungen Spezifikation V2.md (Kopf „V3“, inkl. § 10.2.1, § 10.4 Coaching-Stufen, Anhang A Implementierungsabgleich — Drift-Schutz)
Technische Entwurfsspezifikation: technical/TRAINING_MODULES_AND_COMBINATION_EXERCISES_SPEC.md
Stand dieses Dokuments: 2026-05-20 (Abgleich mit Code, siehe backend/version.py)
Ziele
Umsetzung der MVP-Punkte aus der Fachspezifikation ohne die bestehende Planung zu destabilisieren: schrittweise Migrationen, bestehende Sektions-/Item-Struktur (training_unit_sections, training_unit_section_items) beibehalten, Kopiersemantik bei Übernahmen.
Phasenüberblick
| Phase | Inhalt | Status |
|---|---|---|
| 1 | Trainingsmodule (Bibliothek): Tabellen training_modules, training_module_items; REST CRUD mit Governance wie andere Bibliotheken; Übernahme in eine bestehende Einheit per POST /api/training-units/{id}/apply-training-module (Anfügen ans Ende eines Abschnitts via section_order_index); optionale Lineage-Spalte source_training_module_id auf Planungsitems; UI: Liste/Editor unter /planning/training-modules, Link von der Planung, Modal „Modul übernehmen“; Ergänzung 2026-05-20: Fähigkeiten-Profil + Listen-Filter (Peer-Vergleich nur unter Modulen) — technical/SKILL_SCORING_SPEC.md |
umgesetzt (MVP Schritt 1) |
| 2 | Kombinationsübungen: exercise_kind/combination_*, Slots, Pools, method_archetype, method_profile (JSON) |
teilweise — wie links; zusätzlich 057 planning_method_profile; Planungs-Merge Client (effectiveComboMethodProfile); Archetypen weiterhin nur Code-Konstanten (kein Admin) |
| 3 | Planungsblöcke: Gruppierung, Auflösen, „als Modul speichern“, erweiterter Übernahmemodus (Zwischenposition) | geplant |
| 4 | Coaching: Archetyp-Support | teilweise: Stufe A — Merge Katalog+Planung; CombinationPlanBracket in Peek/Run; globale Profilzahlen mit Labels (describeGlobalComboProfile); Stations-/Timing-Zusammenfassung inkl. Wdh.-Hinweise. Stufe B/C — offen (§ 10.6, Anhang A) |
| 5 | Rahmenprogramm: Modulübernahme UX in Slot-Blueprint-Editor konsolidieren | geplant |
Coaching — verbindliche Arbeitspakete (gegen Spec-Drift)
| Paket | Spec-Referenz | Kurzinhalt |
|---|---|---|
| 4a (Ist/Ziel) | § 10.2.1 | Archetyp-Schlüssel bleiben identisch zu backend/routers/exercises.py (COMBINATION_ARCHETYPE_IDS) und frontend/src/constants/combinationArchetypes.js. |
| 4b | § 10.4 Stufe A | Erreicht (0.8.110): Slots + Kandidaten; Archetyp-Hilfstext; wirksames Profil lesend mit fachlichen Labels; Klammerdarstellung konsistent (CombinationPlanBracket, comboPlanningMethodProfile.js). |
| 4c | § 10.4 Stufe B | Entscheidung: virtuelle Substeps vs. persistierte Items; Konsistenz sectionsToPutPayload/Ist-Zeit. |
| 4d | § 10.4 Stufe C | Archetyp-spezifische Timer/Wechsel/Abhaken an method_profile — nach 4c. |
| 4e | § 10.6 | Archetyp-Verwaltung: DB/UI oder Konfiguration statt nur Release — Labels, Defaults, ggf. Vereins-/Rollen-Sichtbarkeit. |
| 4f | § 10.6 · COMBINATION_TIMING_PROFILE_PLAN.md |
Massen-Vorbelegung: ein Klick alle Slot-Zeiten/Anzahlen aus Archetyp/Global; Modal „Archetyp-Vorlage anwenden?“ (Phase 2 des Timing-Plans). |
| 4g | § 10.6 | Backend-Validierung: Pflichtfelder/Wertebereiche je method_archetype; optional serverseitiger Merge mit Katalog (aktuell nur Client). |
Phase 1 (technische Notizen)
- Governance:
visibility/club_id/created_byanalogtraining_plan_templates; Listenfilterlibrary_content_visibility_sql. - Übernahme: Keine Live-Verknüpfung; Items werden kopiert;
source_training_module_iddokumentiert Herkunft. - Schnittstelle Übernahme:
section_order_indexentspricht der Reihenfolge der Abschnitte in der gespeicherten Einheit (0-basiert), konsistent zur Planungs-API.
Pflege nach Merge
DATABASE_SCHEMA.mdbei größeren Schema-Erweiterungen ergänzen.ACCESS_LAYER_ENDPOINT_AUDIT.mdbei neuen mandantenbezogenen Endpunkten fortpflegen.- Nach jeder Kombi-/Coach-Änderung:
functional/… Spezifikation V2.mdAnhang A und diese Tabelle Phasen 2/4 abstimmen.