shinkan-jinkendo/.claude/docs/PROJECT_STATUS.md
Lars 1d698e4b0a
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
Implement Phase 3 Enhancements for Skill Scoring and Profiles
- 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.
2026-05-21 12:35:45 +02:00

11 KiB
Raw Blame History

Shinkan Jinkendo - Projekt-Status

Stand: 2026-05-14
Version (Code): 0.8.140 (backend/version.py, APP_VERSION)
DB-Schema-Version: 20260515063 (backend/version.py, DB_SCHEMA_VERSION)
Branch: develop


Executive Summary

Aktueller Meilenstein (Medien): Das Medien-Archiv (media_assets + exercise_media.media_asset_id) ist produktiv nutzbar: zentrale Bibliothek /media (Kacheln/Liste, Filter inkl. Lifecycle, Suche/Tags, Copyright, Bulk-Lifecycle und Bulk-PATCH), Verknüpfung aus dem Archiv in der Übungsbearbeitung (POST …/media/from-asset), deduplizierter Speicher unter library/…, Papierkorb & Lifecycle, plus Inline-Medien im Rich-Text (Modal-Picker, Größenwahl, Drag-and-Drop mit Auto-Scroll). Governance: Sichtbarkeit official nur Superadmin (Übungen und Medien). Vereinsübungen mit Datei-Assets: Copyright-Pflicht (API/UI). Aktiver Verein: Dropdown, Profilfeld active_club_id, Header X-Active-Club-Id und effective_club_id sind nach 0.8.59 synchronisiert.

Melde- und Transparenzpfad (P-13, seit 0.8.87 ff.): Inhaltsmeldungen mit Workflow im Posteingang, Club-Admin-Beteiligung für Vereinsmedien, Legal-Hold-Anbindung, Badges in der Medienbibliothek; Folgepakete P-14P-16 bewusst offen (siehe docs/HANDOVER.md).

Plattform-Rechtstexte (P-01, 0.8.950.8.96): Admin-Editor mit Abschnitts- und Vollvorschau (Markdown); fortlaufende Abschnittsnummerierung in der Anzeige/PDF (Darstellung, nicht DB-persistent).

Parallel weiter relevant: Trainingsplan Phasen & Streams (Migration 063, Coach + Planung 0.8.1370.8.140; Handover docs/HANDOVER.md §3); Trainingsrahmenprogramm (036037), Progressionsgraph (032034) — siehe TRAINING_FRAMEWORK_SPEC.md.

Referenz: library/FEATURES_DELIVERED_2026-Q2.md Abschnitt 12 · Medien-Norm: technical/MEDIA_ASSETS_AND_ARCHIVE_SPEC.md (inkl. Abschnitt 11 Inline-Medien, umgesetzt) · Fachlicher Nutzerüberblick: ../../docs/FACHLICHE_NUTZERFUNKTIONEN.md

Nächste Schritte — Medien & Archiv (Stand 2026-05-12, für neue Session):

  1. Übung → official Promotion inkl. Medien-Anhebung + Copyright-Pflicht bei official (Spec §4.2) — umgesetzt (0.8.47).
  2. Eigenständige Medienmanager-SeiteBasis umgesetzt (/media); Ausbau nach Bedarf: Quotas, feinere Bulk-Workflows, Sichtbarkeits-PATCH in der UI vereinheitlichen.
  3. Tests & Observability: gezielte pytest-Abdeckung für Archiv/Verknüpfen/Lifecycle; Retention-Job (scripts/media_retention_job.py) in Betrieb/Doku verankern.
  4. S3 / externes Backend hinter Speicher-Abstraktion (Spec §7) — nach stabiler Nutzung lokaler/NAS-Pfade.
  5. Inline-Medien im Fließtext (Spec §11)Basis umgesetzt (0.8.600.8.64): Platzhalter-Syntax, zentraler Renderer, Modal-Picker, Drag&Drop + Auto-Scroll; offen: weitere UX-Politur und ggf. strategischer Umbau auf reine Asset-Referenz (separat zu entscheiden).

Inline: verbindliche Leitplanken MEDIA_ASSETS_AND_ARCHIVE_SPEC.md Abschnitt 11; Umsetzung aktiv im Produktpfad (RTE + Anzeige).


Nächste Schritte (Auszug — Planung/Rahmen & Kombination):

  1. KalenderUI: „Aus Rahmen übernehmen“ an from-framework-slot anbinden; ggf. Bulk.
  2. Governance: Sichtbarkeit club/official für Rahmen so ausprägen, dass andere Trainer kopieren dürfen (Policy + API).
  3. Optional Backlog Graph: Alternativgruppen / bessere Visualisierung (§4).
  4. Breakout / Coaching (Arbeitspaket): Backend-Konsistenz phasessections, Run-UI vs. Spec (Stream-Tabs), Vorlagen phasenfähig, E2E-Smoke — siehe docs/HANDOVER.md (Tabelle „Coaching & Breakout“).
  5. Kombinationsübungen / Coach (Fachspez §10.6): Coach Stufe B/C (archetypgesteuerte Durchführung); Archetyp-Verwaltung jenseits Code-Konstanten; Massen-Vorbelegung aller Slot-Zeit/Anzahl-Felder; serverseitige Validierung Profil ↔ Archetyp — siehe TRAINING_MODULES_IMPLEMENTATION_PLAN.md (Pakete 4e4g) und COMBINATION_TIMING_PROFILE_PLAN.md.

Deployed Migrations (Dev / Zielstand)

Migration Beschreibung Dev Prod
001017 Initial Schema + Exercise System
018 Wiki Import Tracking
019 Exercises Optional Fields
020 Exercise Skills UNIQUE Constraint 🔲
021 Import Skills from Matrix (DEPRECATED) ⚠️
022 Skills Schema Complete 🔲
023 Skills Complete Import (69 Skills) 🔲
028029 exercise_media / skills Stufen 🔲
030 training_unit_exercises.exercise_variant_id 🔲
032034 Progressionsgraph Übung→Übung 🔲
035037 Rahmenprogramm, BibliothekKopf, SlotBlueprintUnits 🔲
040046 u. a. Mitgliedschaften, Übungs-Governance, media_assets (046 z.B. Tags/GIN), Plattform-Speicherpfad Dev 🔲 Prod

Aktuelle Datenbank-Stats (Dev, Richtwerte)

Die exakten Zahlen hängen von der Umgebung ab (siehe Admin/DB). Die Skills/Übungen-Importe aus früheren Meilensteinen bleiben die Datenbasis.


Feature-Status

Deployed Features (Dev)

Kern-System:

  • Auth & Profile Management
  • Organisation (Clubs, Divisions, Groups)
  • Kataloge (Focus Areas, Styles, Target Groups M:N)

Übungen:

  • CRUD (Create, Read, Update, Delete)
  • M:N Beziehungen (Focus Areas, Styles, Target Groups, Skills)
  • Varianten (CRUD, Reorder, Voraussetzung) + Anzeige im Detail
  • Progressionsgraph zwischen Übungen (Bibliotheks-Container, Kanten, Sequenz-Bulk, Varianten-Knoten — Zwischenstand, siehe TRAINING_FRAMEWORK_SPEC §4)
  • Medien (Upload/Embed, rollenabhängige Größenlimits)
  • Suche & Filter (Multi-Filter, Chips, Fokus beim Suchen)
  • Exercise Blocks (Bausteine)
  • Saved Searches (wo implementiert)

Trainingsplanung:

  • Training Units / strukturierter Ablauf (Sektionen + Items)
  • Optionale Zuordnung einer Übungsvariante pro Eintrag (exercise_variant_id)
  • Trainingsrahmenprogramm Bibliothek (Ziele, Slots, Kontext) + SlotBlueprints in training_units (036037)
  • Materialisierung aus RahmenSlot (POST …/training-units/from-framework-slot; UIAnbindung optional)
  • Phasenmodell & parallele Streams pro Einheit (Migration 063): training_unit_phases, training_unit_parallel_streams; GET mit phases + flachen sections; PUT mit phases (App 0.8.1370.8.140)
  • Coaching-Modus für Breakout: Timeline mit Split-Wahl, Rejoin vor Ganzgruppe/nächstem Split, Nachbereitung speichern → Plan & Ablauf (TrainingCoachPage, trainingPlanUtils.js)
  • Kalender-View / erweiterte Roadmap (Backlog)

MediaWiki Import:

  • Import-Tracking, Übungs-Import, Skills-Migration (siehe ältere Session-Docs)

Skills-System:

  • Hierarchisches Schema, Fokusbereich-Zuordnung, Exercise-Skill mit Levels
  • Gewichtetes Fähigkeiten-Profil (Phase 3): Module, Rahmenprogramme, Regressionspfade; Peer-Kontext getrennt; Listen-Filter + Discovery — technical/SKILL_SCORING_SPEC.md

Admin-UI:

  • Katalog-CRUD, Matrix/Import je nach Rolle

🔲 In Arbeit / Backlog

  • Medien: Papierkorb (§5), Retention-Job, Archiv-API, „Aus Archiv verknüpfen“, Picker/Vorschau in Übungsbearbeitung (0.8.42 ff.)
  • Medien: Promotion Übung↔Medien + Copyright-Pflicht official / Vereins-Copyright-Regeln (Spec §4.2, Übungen+Assets)
  • Medien: Medienbibliothek /media (Filter, Tags, Copyright, Bulk-Lifecycle/PATCH, Lesemodus für eingeschränkte Rollen bei official)
  • Medien: Speicherpfad-Konvention library/…, Plattform-Speicher-Konfiguration (platform_media_storage), Mandanten-/Governance-Umzug bei Asset-Änderungen
  • Medien: Inline im Fließtext — Spec §11 (Platzhalter, Modal-Picker, Größenwahl, Drag&Drop + Auto-Scroll, Rückweg aus Vorschau)
  • Admin-UI für Skill-Kategorien (CRUD) falls noch offen
  • Responsive Design / Dark Mode / PWA
  • KI-Suche (ai_search) über reine Volltextsuche hinaus

📋 Geplant (Backlog)

  • Trainingsplan-Generator, Bulk-Export, Review-Workflow (unverändert strategisch geplant)

Technische Schulden

Bereich Issue Priorität
Skills Migration 021 bereinigen (falls noch referenziert) Niedrig
Import Reimport-Flag / DNS je nach Prod-Realität prüfen Mittel

Lessons Learned (Auszug)

  • Listen-UX: Bedingtes Rendern der gesamten Seite bei loading zerstört Fokus und Scroll separates listFetching für die Trefferliste.
  • Upload-Limits: Vergleich immer in MB vor Umrechnung in Bytes; Admin-Limit nie unter Nutzer-Limit.

Deployment-Status

Dev

Branch develop; Migrations bis mindestens 046 auf dem aktuellen Entwicklungsstand; Details in backend/version.py.

Prod

Deployment der oben genannten Migrationen und Datenabgleich nach internem Prozess.


Dokumentation-Status

Dokument Pfad Stand Status
Fachliche Nutzerfunktionen (Design/Product) docs/FACHLICHE_NUTZERFUNKTIONEN.md 2026-05-14 Phasen/Coach/Rejoin
Lieferliste Q2 2026 library/FEATURES_DELIVERED_2026-Q2.md 2026-05-14 §11a Breakout
Trainingsrahmen + Graph technical/TRAINING_FRAMEWORK_SPEC.md 2026-05-05 §2 Blueprint
Anforderungen (Index) functional/SHINKAN_REQUIREMENTS.md 2026-05-12 Verweis Nutzerüberblick
Database Schema technical/DATABASE_SCHEMA.md 2026-05-07 Hinweis 040046 Medien (Kurz)
Domain Model functional/DOMAIN_MODEL.md 2026-05-14 Parallele Streams Ist 063
API Übungen technical/EXERCISES_API_SPEC.md 2026-05-08 Medien/Inline-Workflow ergänzt
Frontend Routing technical/EXERCISES_FRONTEND_ROUTING.md 2026-04-30 Ergänzt UI-Hinweise
Search & Filter technical/SEARCH_FILTER_SPEC.md 2026-04-27 Aktualisiert (Liste UX)
Media Upload technical/MEDIA_UPLOAD_SPEC.md 2026-05-07 Verweis Archiv/Inline
Medien-Archiv & Lifecycle technical/MEDIA_ASSETS_AND_ARCHIVE_SPEC.md 2026-05-08 Ist-Changelog + §11 Inline erweitert
Parallele Streams (Fach/Technik) functional/PARALLEL_TRAINING_STREAMS_CONCEPT.md, technical/PARALLEL_TRAINING_STREAMS_SPEC.md 2026-05-14 Ist-Stand P1 teils
Projektstatus PROJECT_STATUS.md 2026-05-14 Keyset, KPIs, Breakout/Coach Kurzverweis

Team & Kontakte

Product Owner: Lars
Wiki (Datenquelle): https://karatetrainer.net


Letzte Aktualisierung: 2026-05-14 (Version 0.8.140, DB 063, Handover Coaching/Breakout)