mitai-jinkendo/.claude/docs/functional/DEVELOPMENT_ROUTES.md
Lars 7940dc7560 docs: Struktur .claude/docs versionieren, working/, Gitea-Index, Regeln
- .gitignore: .claude/docs, rules, commands tracken; settings.local weiter ignorieren
- DOCUMENTATION.md: verbindliche Ablage functional/technical/working/issues
- .claude/README.md: Agent-Einstieg; GITEA_ISSUES_INDEX aus MCP (Stand 2026-04-08)
- Arbeitspapiere von docs/ nach .claude/docs/working/ verschoben
- docs/MEMBERSHIP_SYSTEM.md als Stub; kanonisch technical/MEMBERSHIP_SYSTEM.md
- CLAUDE.md Pflichtlektüre und Links angepasst; docs/README.md vereinfacht

Made-with: Cursor
2026-04-08 13:01:49 +02:00

10 KiB
Raw Blame History

Entwicklungsrouten Multi-Dimensionales Training & Planung

Version: 1.0 Status: Konzept Ziel-Release: v9e / v9f Basis: Rest Days Multi-Dimensional Architecture (v9d Phase 2a)


Überblick

Entwicklungsrouten sind unabhängige Dimensionen der körperlichen und mentalen Entwicklung, die jeweils eigene:

  • Trainingspläne
  • Ruhetag-Regeln
  • Fortschritts-Tracking
  • Ziele

haben.

Kernidee: Ein Tag kann gleichzeitig ein "Kraft-Ruhetag" UND ein "Mental-Aktivtag" sein.


Die 6 Entwicklungsrouten

1. 💪 Kraft (Strength)

Fokus: Muskelaufbau, Maximalkraft, Power

Trainingstypen:

  • Strength (Krafttraining allgemein)
  • Power (Schnellkraft, Explosivität)
  • HIIT (Hochintensiv)

Ruhetag-Regeln:

  • Nach schwerer Beineinheit → 48-72h Kraft-Ruhetag
  • Andere Routen (Cardio, Mental) bleiben erlaubt
  • Intensität: Max 60% bei erlaubten Aktivitäten

Metriken:

  • Gewicht, Umfänge, Caliper
  • 1RM-Schätzung (optional)
  • Muskelregeneration (Ruhepuls + HRV)

2. 🏃 Kondition (Conditioning)

Fokus: Ausdauer, VO2Max, Herz-Kreislauf

Trainingstypen:

  • Cardio Low (GA1, Grundlagenausdauer)
  • Cardio High (GA2, Tempo-Läufe)
  • Endurance (Lange Einheiten)

Ruhetag-Regeln:

  • Nach Wettkampf/Tempo-Lauf → 24-48h Cardio-Ruhetag
  • Kraft & Mobility erlaubt
  • Intensität: Max 70% HFmax

Metriken:

  • HF-Zonen-Verteilung
  • VO2Max-Schätzung
  • Lauf-Pace / Rad-Watt

3. 🧘 Mental (Mental)

Fokus: Stressmanagement, Fokus, Wettkampf-Readiness

Trainingstypen:

  • Meditation
  • Wettkampf (Competition)
  • High-Pressure Training

Ruhetag-Regeln:

  • Nach Wettkampf → 1-3 Tage Mental-Ruhetag
  • Physisches Training erlaubt (aber kein Wettkampf-Druck)
  • Nur entspannende Aktivitäten (Meditation, Spaziergang)

Metriken:

  • Stresslevel (1-5 subjektiv)
  • Schlafqualität
  • HRV (Mental-Recovery-Indikator)

4. 🤸 Koordination (Coordination)

Fokus: Balance, Agilität, Reaktion, propriozeptives Training

Trainingstypen:

  • Coordination (Agilität, Balance)
  • Sport-spezifische Drills
  • Reaktionstraining

Ruhetag-Regeln:

  • Nach intensivem Koordinationstraining → 24h Pause
  • Andere Routen erlaubt
  • Kein koordinativ anspruchsvolles Training bei Müdigkeit

Metriken:

  • Subjektive Koordinations-Scores
  • Balance-Tests (optional)

5. 🧘‍♂️ Mobilität (Mobility)

Fokus: Flexibilität, ROM (Range of Motion), Faszien

Trainingstypen:

  • Mobility (Stretching, Yoga)
  • Faszien-Training
  • Passive Dehnung

Ruhetag-Regeln:

  • Normalerweise kein Ruhetag nötig
  • Bei Überdehnung / Verletzung → Pause für betroffene Bereiche

Metriken:

  • ROM-Messungen (optional)
  • Subjektive Beweglichkeit (1-5)

6. 🎯 Technik (Technique)

Fokus: Sport-spezifische Skills, Bewegungsqualität

Trainingstypen:

  • Technique Drills
  • Skill Work
  • Video-Analyse

Ruhetag-Regeln:

  • Technik-Training bei Müdigkeit kontraproduktiv
  • Mental-Ruhetag → auch Technik pausieren
  • Physisches Training erlaubt (ohne Technik-Fokus)

Metriken:

  • Video-Analyse-Scores (optional)
  • Coach-Feedback

Datenmodell

rest_days (Multi-Entry per Date)

Änderung: UNIQUE constraint (profile_id, date) entfernt (Migration 011)

Erlaubt:

-- Gleiches Datum, verschiedene Routen:
INSERT INTO rest_days (profile_id, date, rest_config, note)
VALUES
  ('user-1', '2026-03-23', '{"focus": "muscle_recovery", ...}', 'Beine heavy'),
  ('user-1', '2026-03-23', '{"focus": "mental_rest", ...}', 'Wettkampf-Pause');

UI:

23. März 2026
  💪 Muskelregeneration | "Beine heavy"
  🧘 Mental Rest        | "Wettkampf-Pause"

  → Cardio erlaubt, Kraft pausiert, keine Wettkämpfe

Wochenplanung mit Routen

Tabelle: weekly_goals (erweitert)

JSONB Schema:

{
  "routes": {
    "strength": {
      "goal": 3,              // 3x Kraft pro Woche
      "min_rest_days": 1,     // Mind. 1 Kraft-Ruhetag
      "intensity_distribution": {
        "heavy": 1,   // 1x schwer (80-90%)
        "medium": 1,  // 1x mittel (70-80%)
        "light": 1    // 1x leicht (60-70%)
      }
    },
    "conditioning": {
      "goal": 2,
      "min_rest_days": 0,
      "hr_zones": {
        "zone_2": 60,  // 60% der Zeit in Zone 2
        "zone_3": 30,  // 30% in Zone 3
        "zone_4": 10   // 10% in Zone 4
      }
    },
    "mental": {
      "goal": 7,              // Täglich Meditation
      "min_duration": 10,     // Mind. 10 Min
      "rest_after_competition": 2  // 2 Tage Pause nach Wettkampf
    }
  },
  "rules": {
    "max_consecutive_strength": 2,     // Max 2 Krafteinheiten hintereinander
    "require_rest_after": ["competition", "strength_heavy"],
    "auto_rest_on_poor_recovery": true // Bei HRV < Baseline → Auto-Ruhetag
  }
}

Activity Validation mit Routen

Endpoint: POST /api/rest-days/validate-activity

Request:

{
  "date": "2026-03-23",
  "activity_type": "strength",
  "route": "strength"  // Neue Dimension
}

Response:

{
  "conflicts": [
    {
      "route": "strength",
      "severity": "warning",
      "message": "Kraft-Ruhetag  Muskelregeneration nach Beineinheit. Trotzdem trainieren?"
    }
  ],
  "allowed": false
}

Logik:

def validate_activity_multi_route(profile_id, date, activity_type, route=None):
    """
    Prüft alle rest_days für das Datum.

    - Wenn route angegeben: Nur diese Route prüfen
    - Sonst: Alle passenden Routen prüfen
    """
    rest_days = get_rest_days(profile_id, date)
    conflicts = []

    for rest_day in rest_days:
        config = rest_day['rest_config']

        # Prüfe ob Activity in rest_from
        if activity_type in config.get('rest_from', []):
            conflicts.append({
                'route': config['focus'],
                'severity': 'warning',
                'message': f"{ROUTE_LABELS[config['focus']]} Ruhetag  {activity_type} sollte pausiert werden."
            })

    return {
        'conflicts': conflicts,
        'allowed': len(conflicts) == 0
    }

Habits & Streaks pro Route

Tabelle: route_habits (neu in v9f)

CREATE TABLE route_habits (
    id SERIAL PRIMARY KEY,
    profile_id UUID NOT NULL REFERENCES profiles(id) ON DELETE CASCADE,
    route VARCHAR(20) NOT NULL,  -- 'strength', 'conditioning', 'mental', etc.
    habit_type VARCHAR(50) NOT NULL,  -- 'meditation', 'mobility', 'strength_training'
    frequency VARCHAR(20) NOT NULL,  -- 'daily', 'weekly_3', 'weekly_5'
    streak_current INTEGER DEFAULT 0,
    streak_longest INTEGER DEFAULT 0,
    last_completed DATE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Beispiele:

  • Mental-Route: "Tägliche Meditation" (7x/Woche)
  • Mobility-Route: "Stretching" (3x/Woche)
  • Strength-Route: "Krafttraining" (3x/Woche)

UI:

🧘 Mental-Route
  Meditation          🔥 12 Tage Streak
  Stress-Check        🔥 5 Tage Streak

💪 Kraft-Route
  Krafttraining       🔥 2 Wochen Streak
  Protein > 150g      🔥 10 Tage Streak

Dashboard Integration

Route-Übersicht Widget

Entwicklungsrouten (diese Woche)
─────────────────────────────────────
💪 Kraft          2/3  [██░]  1 Ruhetag
🏃 Kondition      1/2  [█░░]  0 Ruhetage
🧘 Mental         7/7  [███]  ✓ Täglich
🤸 Koordination   0/1  [░░░]  Geplant: Do
🧘‍♂️ Mobilität     3/3  [███]  ✓ Ziel erreicht

Empfehlung: Kraft-Training heute, Cardio morgen

KI-Integration

Neue Platzhalter (v9f)

{{route_balance}}              # "Kraft überlastet, Cardio unterfordert"
{{route_progress_strength}}    # "3/3 Einheiten, +2kg seit letztem Monat"
{{route_recovery_strength}}    # "Gut erholt, schweres Training möglich"
{{route_next_recommended}}     # "Kraft-Oberkörper empfohlen (Push-Fokus)"
{{route_conflict_today}}       # "Kraft-Ruhetag, Cardio/Mental erlaubt"

KI-Analyse-Funktion

def analyze_route_balance(profile_id, weeks=4):
    """
    Analysiert Balance über alle Routen.

    Warnt bei:
    - Übertraining in einer Route
    - Vernachlässigung einer Route
    - Fehlende Ruhetage in Route
    """
    routes = ['strength', 'conditioning', 'mental', 'coordination', 'mobility']
    analysis = {}

    for route in routes:
        activities = get_activities_by_route(profile_id, route, weeks)
        rest_days = get_rest_days_by_route(profile_id, route, weeks)

        analysis[route] = {
            'activity_count': len(activities),
            'rest_days_count': len(rest_days),
            'intensity_avg': calculate_intensity_avg(activities),
            'status': calculate_route_status(activities, rest_days)  # 'balanced', 'overload', 'neglected'
        }

    return analysis

Implementierungs-Phasen

Phase 1: Foundation (v9d Phase 2a)

  • Migration 011: UNIQUE constraint entfernen
  • Multiple rest_days per date erlauben
  • UI: Mehrere Kacheln pro Tag anzeigen

Phase 2: Route-Konzept (v9e)

  • 🔲 Routen-Taxonomie festlegen (6 Routen)
  • 🔲 Activity-Types den Routen zuordnen
  • 🔲 training_types Tabelle um route Spalte erweitern
  • 🔲 Validation: Multi-Route-Konflikt-Check

Phase 3: Wochenplanung (v9f)

  • 🔲 weekly_goals mit Routen-JSONB erweitern
  • 🔲 Planungs-UI: Routen-basierte Wochenansicht
  • 🔲 Regeln-Engine: Auto-Ruhetag bei Poor Recovery
  • 🔲 Empfehlungs-System: "Heute: Kraft-Oberkörper empfohlen"

Phase 4: Habits & Streaks (v9g)

  • 🔲 route_habits Tabelle
  • 🔲 Streak-Tracking pro Route
  • 🔲 Dashboard-Integration
  • 🔲 Push-Notifications bei Streak-Gefahr

Phase 5: KI-Integration (v9f/g)

  • 🔲 Route-Balance-Analyse
  • 🔲 Übertraining-Warnung pro Route
  • 🔲 Neue KI-Platzhalter
  • 🔲 Route-spezifische Empfehlungen

Offene Fragen

  1. Route-Hierarchie: Gibt es Abhängigkeiten? (z.B. Mental-Rest → auch Technik-Rest?)
  2. Auto-Zuordnung: Sollen Activities automatisch Routen zugeordnet werden? (Strength → Kraft-Route)
  3. Konflikt-Priorität: Was passiert bei widersprüchlichen Ruhetagen? (Kraft erlaubt, Mental verbietet → ?)
  4. Routen-Gewichtung: Sind manche Routen wichtiger als andere? (User-konfigurierbar?)

Referenzen

  • Migration: backend/migrations/011_allow_multiple_rest_days_per_date.sql
  • Technical Spec: .claude/docs/technical/V9D_PHASE2_VITALS_SLEEP.md (zu aktualisieren)
  • Routen-Mapping: .claude/docs/functional/TRAINING_TYPES.md (zu erweitern)

Dokumentiert: 2026-03-22 Autor: User Konzept + Claude Implementation Status: Living Document (wird mit v9e/f erweitert)