shinkan-jinkendo/.claude/docs/working/TRAINING_MODULES_IMPLEMENTATION_PLAN.md
Lars 12fd3926b2
All checks were successful
Deploy Development / deploy (push) Successful in 38s
Test Suite / pytest-backend (push) Successful in 35s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 11s
Test Suite / playwright-tests (push) Successful in 1m4s
feat(combination-exercises): enhance method profile integration and update specifications
- Updated app version to 0.8.102, reflecting recent enhancements in combination exercises.
- Introduced structured method profiles for combination exercises, allowing for detailed planning and coaching support.
- Enhanced frontend components to display method profiles in the Exercise and Combination Coach views.
- Updated documentation to include new specifications and implementation details for method archetypes and profiles.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 07:16:58 +02:00

3.8 KiB
Raw Blame History

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-12 (Abgleich mit Code ~App 0.8.102)

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“ umgesetzt (MVP Schritt 1)
2 Kombinationsübungen: exercise_kind/combination_*, Slots, Pools, method_archetype, method_profile (JSON) teilweise — Migration 056, CRUD/API, Picker/Liste; Übungsformular: geführtes method_profile nach Archetyp (CombinationMethodProfileEditor, combinationMethodProfileUi.js) plus RohJSON; Backend: keine strenge Validierung Profil ↔ Archetyp
3 Planungsblöcke: Gruppierung, Auflösen, „als Modul speichern“, erweiterter Übernahmemodus (Zwischenposition) geplant
4 Coaching: Archetyp-Support teilweise: Stufe A nach Fachspez §10.4 (Slotliste, Kandidaten aus Katalog geladen, Archetyp-Hilfstexte in CombinationCoachSlots/combinationArchetypes.js); Stufe B/C (Zeitleisten-Splitting, Stations-/Intervall-Timing) — offen, siehe Anhang A der Fachspez
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 Slots + Kandidaten; Archetyp-Hilfstext; method_profile lesend unter der Kopf-Zeile (Key/WertListe wenn gepflegt); Feintuning Labels optional.
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 4b/4c.

Phase 1 (technische Notizen)

  • Governance: visibility/club_id/created_by analog training_plan_templates; Listenfilter library_content_visibility_sql.
  • Übernahme: Keine Live-Verknüpfung; Items werden kopiert; source_training_module_id dokumentiert Herkunft.
  • Schnittstelle Übernahme: section_order_index entspricht der Reihenfolge der Abschnitte in der gespeicherten Einheit (0-basiert), konsistent zur Planungs-API.

Pflege nach Merge

  • DATABASE_SCHEMA.md bei größeren Schema-Erweiterungen ergänzen.
  • ACCESS_LAYER_ENDPOINT_AUDIT.md bei neuen mandantenbezogenen Endpunkten fortpflegen.
  • Nach jeder Kombi-/Coach-Änderung: functional/… Spezifikation V2.md Anhang A und diese Tabelle Phasen 2/4 abstimmen.