# Normative Prüfmatrix: Summary **Audit-Datum:** 29. März 2026 **Umfang:** 111 Platzhalter **Normative Basis:** PLACEHOLDER_METADATA_REQUIREMENTS_V2_NORMATIVE.md v1.0.0 --- ## HINWEIS ZUR VOLLSTÄNDIGEN MATRIX Die **vollständige Prüfmatrix** (111 Platzhalter × ~40 Felder = ~4500 Datenpunkte) würde ein extrem großes Dokument ergeben. Stattdessen: 1. **Dieser Summary** zeigt die kritischsten Findings pro Compliance-Level 2. **Detaillierte Einzelberichte** siehe Agent-Outputs (bereits vorhanden) 3. **Maschinenlesbare Version:** Nutze `PLACEHOLDER_CATALOG_EXTENDED.json` direkt --- ## COMPLIANCE-ÜBERSICHT (111 PLATZHALTER) ### Voll Normkonform (8 Platzhalter - 7%) | Key | Category | Time-Window | Confidence | Used-By | Why Compliant | |-----|----------|-------------|------------|---------|---------------| | `protein_avg` | Ernährung | 30d | ✅ calculate_confidence | 0 | Best-Practice-Modell | | `kcal_avg` | Ernährung | 30d | ✅ calculate_confidence | 0 | Best-Practice-Modell | | `fat_avg` | Ernährung | 30d | ✅ calculate_confidence | 0 | Best-Practice-Modell | | `carb_avg` | Ernährung | 30d | ✅ calculate_confidence | 0 | Best-Practice-Modell | | `weight_aktuell` | Körper | latest | ✅ high/insufficient | 10 | Latest-Pattern-Modell | | `weight_trend` | Körper | 28d | ✅ calculate_confidence | 10 | **Code-Konflikt (Docs 7d/30d)** | | `circ_summary` | Körper | mixed | ✅ high/insufficient | 8 | Best-of-Each-Pattern | | `age` | Profil | keine | ❌ (not needed) | 2 | Snapshot, no confidence needed | **Pattern:** Nutrition-Averages + Weight-Aktuell = Best-Practice-Modelle für alle anderen --- ### Partially Compliant (22 Platzhalter - 20%) **Charakteristik:** 1-2 Gaps, meist time_window oder confidence | Key | Category | Missing | Priority | Action | |-----|----------|---------|----------|--------| | `caliper_summary` | Körper | time_window: unknown | P0 | → latest | | `kf_aktuell` | Körper | time_window: unknown | P0 | → latest | | `sleep_avg_duration` | Schlaf & Erholung | time_window: unknown (Code: 7d) | P0 | → 7d | | `sleep_avg_quality` | Schlaf & Erholung | time_window: unknown (Code: 7d) | P0 | → 7d | | `rest_days_count` | Schlaf & Erholung | time_window: unknown (Code: 30d) | P0 | → 30d | | `vitals_avg_hr` | Vitalwerte | time_window: unknown (Code: 7d) | P0 | → 7d | | `vitals_avg_hrv` | Vitalwerte | time_window: unknown (Code: 7d) | P0 | → 7d | | `vitals_vo2_max` | Vitalwerte | time_window: unknown, weak semantic_contract | P0 + P1 | → latest + sharpen contract | | `bmi` | Körper | time_window: unknown, weak semantic_contract | P0 | → latest + Formel dokumentieren | | ... (13 weitere) | | | | | **Remediation:** P0 time_window + teilweise P1 semantic_contract sharpening --- ### Non-Compliant (81 Platzhalter - 73%) **Charakteristik:** 3+ Gaps, meist Unknown category + No description + unknown time_window #### Cluster 1: Unknown Category + No Description (49) **Sub-Gruppen:** **A. Ability Balance (5):** - `ability_balance_coordination`, `ability_balance_endurance`, `ability_balance_mental`, `ability_balance_mobility`, `ability_balance_strength` - **Gaps:** category: Unknown, description: No description, time_window: unknown - **Fix:** category: Training, time_window: 28d, descriptions aus Semantic-Agent-Report - **Priority:** P0 (Bulk-Update) **B. Correlations (5):** - `correlation_energy_weight_lag`, `correlation_load_hrv`, `correlation_load_rhr`, `correlation_protein_lbm`, `correlation_sleep_recovery` - **Gaps:** category: Unknown, description: No description, time_window: unknown, confidence: null - **Fix:** category: Auswertung, time_window: 28d, confidence: pair-based, descriptions aus Semantic-Agent - **Priority:** P0 (description) + P1 (confidence) **C. Goals & Focus (16):** - `active_goals_json`, `active_goals_md`, `focus_areas_weighted_json`, `focus_areas_weighted_md`, `focus_area_weights_json` - `top_goal_name`, `top_goal_progress_pct`, `top_goal_status` - `top_3_goals_behind_schedule`, `top_3_goals_on_track`, `top_3_focus_areas` - `focus_cat_körper_progress/weight`, `focus_cat_ernährung_progress/weight`, `focus_cat_aktivität_progress/weight`, `focus_cat_recovery_progress/weight`, `focus_cat_vitalwerte_progress/weight` - **Gaps:** category: Unknown, description: No description, time_window: unknown - **Fix:** category: Ziele, time_window: latest (Snapshot) oder custom (Progress), descriptions aus Semantic-Agent - **Priority:** P0 (Bulk-Update) **D. Body Deltas (5):** - `arm_28d_delta`, `chest_28d_delta`, `hip_28d_delta`, `thigh_28d_delta` (waist_28d_delta ist Partially Compliant) - **Gaps:** category: Unknown, description: No description, time_window: unknown (sollte 28d sein), confidence: null - **Fix:** category: Körper, time_window: 28d, confidence: delta-confidence, descriptions aus Semantic-Agent - **Priority:** P0 (description) + P1 (confidence) **E. Nutrition (6):** - `energy_deficit_surplus`, `intake_volatility`, `nutrition_days`, `protein_days_in_target`, `protein_ziel_low`, `protein_ziel_high` - **Gaps:** category: Unknown, description: No description, time_window: unknown - **Fix:** category: Ernährung, time_window: 7d/28d/30d (je nach Funktion), descriptions aus Semantic-Agent - **Priority:** P0 (Bulk-Update) **F. Training (8):** - `activity_detail`, `activity_summary` (Code-Konflikt!), `trainingstyp_verteilung`, `training_minutes_week`, `training_frequency_7d` - `quality_sessions_pct`, `monotony_score`, `strain_score`, `rest_day_compliance`, `proxy_internal_load_7d` - **Gaps:** category: Unknown (teilweise Training), description: No description (teilweise), time_window: unknown - **Fix:** category: Training, time_window: 7d/14d/28d (aus Code), descriptions aus Semantic-Agent - **Priority:** P0 (time_window, Code-Konflikte) + P1 (confidence für Scores) **G. Meta/Sonstiges (4):** - `zeitraum_90d`, `goal_weight`, `goal_bf_pct`, `weight_90d_slope`, `plateau_detected`, `top_drivers`, etc. - **Gaps:** Gemischt - **Fix:** Individuell je Platzhalter - **Priority:** P0-P1 --- #### Cluster 2: Fehlende Confidence (103 - inkl. Partially Compliant) **Kritischste:** Trend-Platzhalter (11) - `weight_28d_slope`, `weight_90d_slope`, `weight_7d_median` - `fm_28d_change`, `lbm_28d_change` - `waist_28d_delta`, `hip_28d_delta`, `chest_28d_delta`, `arm_28d_delta`, `thigh_28d_delta` - `vo2max_trend_28d` **Gap:** confidence_logic: null **Fix:** Implementiere calculate_confidence(data_points, time_window_days, 'trend') **Priority:** P1 (12-16h) --- #### Cluster 3: Fehlende Data-Layer-Module (100) **Alle außer:** - nutrition_avg (4), weight_aktuell, weight_trend, kf_aktuell, caliper_summary, circ_summary, age, height, name, geschlecht **Gap:** data_layer_module: null **Fix:** Mapping aus Code-Evidence-Agent-Report übernehmen (Bulk-Update) **Priority:** P1 (6-8h, automatisierbar) --- #### Cluster 4: Fehlende Source-Tables (90) **Ähnlich Cluster 3** **Gap:** source_tables: [] **Fix:** Mapping aus Code-Evidence-Agent-Report übernehmen (Bulk-Update) **Priority:** P1 (6-8h, automatisierbar) --- ## COMPLIANCE-MATRIX NACH KATEGORIE | Kategorie | Total | Compliant | Partially | Non-Compliant | Kritischste Gaps | |-----------|-------|-----------|-----------|---------------|------------------| | **Ernährung** | 8 | 4 (50%) | 0 | 4 | time_window, description | | **Körper** | 11 | 3 (27%) | 5 | 3 | time_window, confidence (Trends) | | **Training** | 9 | 0 | 2 | 7 | category, description, time_window | | **Profil** | 4 | 1 (25%) | 3 | 0 | time_window (unkritisch) | | **Schlaf & Erholung** | 7 | 0 | 3 | 4 | time_window, description | | **Vitalwerte** | 6 | 0 | 3 | 3 | time_window, semantic_contract | | **Scores (Phase 0b)** | 6 | 0 | 0 | 6 | time_window, confidence | | **Focus Areas** | 8 | 0 | 0 | 8 | category, description, time_window | | **Zeitraum** | 3 | 0 | 0 | 3 | time_window (Name-Mismatch!) | | **Unknown** | 49 | 0 | 6 | 43 | Alles (category, description, time_window, confidence) | **Auffälligkeiten:** - **Ernährung:** 50% Compliance dank Best-Practice nutrition_avg - **Unknown-Kategorie:** 88% Non-Compliant (43/49) - **Training:** 0% Fully Compliant, aber nur 2 Partially → hoher Remediation-Bedarf --- ## PRODUKTKRITISCHE PLATZHALTER (12) **Diese 12 haben >3 Verwendungen = Breaking-Change-Risk bei Änderungen** | Rank | Key | Uses | Category | Compliance | Kritische Gaps | Risk | |------|-----|------|----------|------------|----------------|------| | 1 | `name` | 19 | Profil | Partially | time_window (unkritisch) | 🔴 EXTREM | | 2 | `geschlecht` | 14 | Profil | Partially | time_window (unkritisch) | 🔴 EXTREM | | 3 | `height` | 12 | Profil | Partially | time_window (unkritisch) | 🔴 EXTREM | | 4 | `weight_aktuell` | 10 | Körper | ✅ Compliant | Keine | 🔴 HOCH (Format-sensitiv) | | 5 | `weight_trend` | 10 | Körper | ✅ Compliant | **Code-Docs-Konflikt** | 🔴 HOCH (Code-Fix P0) | | 6 | `goal_bf_pct` | 10 | Unknown | Non-Compliant | category, description, time_window | 🔴 HOCH | | 7 | `caliper_summary` | 8 | Körper | Partially | time_window | 🟡 MITTEL | | 8 | `circ_summary` | 8 | Körper | ✅ Compliant | Keine | 🟡 MITTEL | | 9 | `goal_weight` | 8 | Unknown | Non-Compliant | category, description, time_window | 🟡 MITTEL | | 10 | `protein_ziel_low` | 7 | Unknown | Non-Compliant | category, description, time_window | 🟡 MITTEL | | 11 | `protein_ziel_high` | 7 | Unknown | Non-Compliant | category, description, time_window | 🟡 MITTEL | | 12 | `activity_detail` | 4 | Unknown | Non-Compliant | **Code-Docs-Konflikt**, category, description, time_window | 🟡 MITTEL | **Kritische Beobachtungen:** - **6 von 12 (50%)** sind Non-Compliant, davon 5 in "Unknown"-Kategorie - **3 haben Code-Docs-Konflikte** (weight_trend, activity_summary, activity_detail) → P0 Fix - **name, geschlecht, height:** Zwar nur "Partially" (time_window fehlt), aber unkritisch da Profil-Snapshots --- ## UNGENUTZTE PLATZHALTER (67 - 60%) **WICHTIG:** Methodische Korrektur (30.03.2026) - Nichtnutzung ≠ Deprecation-Bedarf - Prompt-Bibliothek ist im Aufbau (Phase 0b/0c/1/2) - Neue Klassifizierung: usage_role_classification statt Deprecation-Kategorien **Neue Klassifizierung (siehe USAGE_ROLE_CLASSIFICATION.md):** ### unused_but_planned (30 - 45%) - **Scores (6):** activity_score, nutrition_score, recovery_score, body_progress_score, goal_progress_score, data_quality_score - Roadmap: Phase 0c/1 - **Correlations (5):** energy_weight_lag, load_hrv, load_rhr, protein_lbm, sleep_recovery - Roadmap: Phase 2 - **Ability Balance (5):** coordination, endurance, mental, mobility, strength - Roadmap: Phase 1 - **Goals Details (11):** active_goals_json/md, focus_areas_weighted, top_3_goals_*, focus_cat_*_progress - Roadmap: Phase 0b/0c (Backend DONE) - **Sleep/Plateau/Drivers (3):** sleep_debt, plateau_detected, top_drivers - Roadmap: Phase 1/2 - **Action:** Timeline bestätigen, Prototyping-Prompts erstellen ### unused_but_plausible (37 - 55%) - **Body Deltas (5):** arm_28d_delta, chest_28d_delta, hip_28d_delta, thigh_28d_delta, waist_28d_delta - Plausibel für: Fortschritts-Prompts spezifischer Körperteile - **Nutrition Details (6):** energy_deficit_surplus, intake_volatility, nutrition_days, protein_days_in_target, protein_ziel_* - Plausibel für: Ernährungs-Coaching-Prompts - **Training Quality/Load (3):** monotony_score, strain_score, rest_day_compliance - Plausibel für: Übertrainings-Erkennung - **Focus Category (14):** focus_cat_*_weight, focus_cat_*_progress - Plausibel für: Dashboard-Widgets, Kategorie-Analysen - **Meta/Convenience (9):** bmi, waist_hip_ratio, datum_heute, zeitraum_* - Plausibel für: Prompt-Templates (Convenience) - **Action:** Prompt-Use-Cases identifizieren, Templates für 10-15 Quick Wins ### redundant_or_duplicate (0 - 0%) - **Keine** - alle 67 haben fachliche Berechtigung --- ## GAP-SUMMARY PRO PLATZHALTER (TOP 20 KRITISCHSTE) | Rank | Key | Gaps | Priority | Aufwand | Blocker | |------|-----|------|----------|---------|---------| | 1 | `goal_bf_pct` | category, description, time_window, semantic_contract | P0 | 15 Min | 10 Uses = Breaking-Risk | | 2 | `goal_weight` | category, description, time_window, semantic_contract | P0 | 15 Min | 8 Uses = Breaking-Risk | | 3 | `protein_ziel_low` | category, description, time_window, semantic_contract | P0 | 15 Min | 7 Uses = Breaking-Risk | | 4 | `protein_ziel_high` | category, description, time_window, semantic_contract | P0 | 15 Min | 7 Uses = Breaking-Risk | | 5 | `activity_detail` | **Code-Konflikt**, category, description, time_window | P0 | 30 Min | 4 Uses + Konflikt | | 6 | `weight_trend` | **Code-Konflikt (Docs 7d/30d, Code 28d)** | P0 | 15 Min | 10 Uses + Konflikt | | 7 | `activity_summary` | **Code-Konflikt (Docs 7d, Code 14d)** | P0 | 15 Min | 2 Uses + Konflikt | | 8 | `weight_28d_slope` | confidence: null | P1 | 2h | Trend-Pattern | | 9 | `weight_90d_slope` | confidence: null | P1 | 2h | Trend-Pattern | | 10 | `fm_28d_change` | confidence: null | P1 | 2h | Delta-Pattern | | 11 | `lbm_28d_change` | confidence: null | P1 | 2h | Delta-Pattern | | 12 | `activity_score` | time_window, confidence | P0 + P1 | 1h (window) + 3h (confidence) | Score-Pattern | | 13 | `nutrition_score` | time_window, confidence | P0 + P1 | 1h + 3h | Score-Pattern | | 14 | `recovery_score` | time_window, confidence | P0 + P1 | 1h + 3h | Score-Pattern | | 15 | `correlation_energy_weight_lag` | category, description, time_window, confidence | P0 + P1 | 30 Min + 2h | Correlation-Pattern | | 16 | `ability_balance_coordination` | category, description, time_window | P0 | 15 Min | Bulk-Update | | 17 | `ability_balance_endurance` | category, description, time_window | P0 | 15 Min | Bulk-Update | | 18 | `active_goals_json` | category, description, time_window | P0 | 15 Min | Bulk-Update | | 19 | `caliper_summary` | time_window | P0 | 5 Min | 8 Uses | | 20 | `sleep_avg_duration` | time_window (Code: 7d) | P0 | 5 Min | Code-Extraction | **Gesamt Top-20-Aufwand:** ~20h (P0: 8h, P1: 12h) --- ## REQUIRED-ACTION VERTEILUNG | Action | Anzahl | Priority | Typischer Aufwand | |--------|--------|----------|-------------------| | **time_window_fix** | 74 | P0 | 5-10 Min/Platzhalter (automatisierbar: 15, semi-auto: 20, manuell: 39) | | **description_add** | 49 | P0 | 5 Min/Platzhalter (Bulk-Update aus Semantic-Agent) | | **category_fix** | 49 | P0 | 2 Min/Platzhalter (Bulk-Update aus Semantic-Agent) | | **semantic_contract_add** | 49 | P0 | 10 Min/Platzhalter (Bulk-Update aus Semantic-Agent) | | **confidence_logic_add** | 103 | P1 | 2-4h/Pattern (Trend: 12h, Score: 8h, Correlation: 4h, Rest: 20h) | | **data_layer_module_add** | 100 | P1 | Bulk-Update 6-8h gesamt (aus Code-Evidence) | | **source_tables_add** | 90 | P1 | Bulk-Update 6-8h gesamt (aus Code-Evidence) | | **missing_value_policy_fix** | 110 | P1 | Pattern-Implementierung 8-10h gesamt (Dual-Mode) | | **code_fix** | 3 | P0 | 1h gesamt (Code-Docs-Konflikte) | | **governance_decision** | 39 | P0 | Meeting 4-6h (Zeitfenster-Entscheidungen) | --- ## PRIORITÄTS-VERTEILUNG | Priority | Platzhalter | Gesamt-Aufwand | Timeline | |----------|-------------|----------------|----------| | **P0** | 77 (unique) | 11-17h | Week 1 | | **P1** | 103 (unique, teilweise Overlap mit P0) | 44-58h | Week 2-3 | | **P2** | 67 (Deprecation-Review) | 8-12h | Week 4-5 | | **P3** | 5 (Doku-Feinschliff) | 0.5h | Later | --- ## COMPLIANCE-SCORE-VERTEILUNG (NACH P0+P1+P2) **Aktuell:** ``` Compliance Score 0-20%: 81 Platzhalter (73%) Compliance Score 21-40%: 0 Platzhalter (0%) Compliance Score 41-60%: 22 Platzhalter (20%) Compliance Score 61-80%: 0 Platzhalter (0%) Compliance Score 81-100%: 8 Platzhalter (7%) ``` **Nach P0+P1:** ``` Compliance Score 0-20%: 0 Platzhalter (0%) Compliance Score 21-40%: 15 Platzhalter (14%) - Deprecation-Kandidaten Compliance Score 41-60%: 30 Platzhalter (27%) Compliance Score 61-80%: 48 Platzhalter (43%) Compliance Score 81-100%: 18 Platzhalter (16%) ``` **Nach P2:** ``` Compliance Score 0-20%: 0 Platzhalter (0%) Compliance Score 21-40%: 15 Platzhalter (14%) - DEPRECATED Compliance Score 41-60%: 20 Platzhalter (18%) Compliance Score 61-80%: 50 Platzhalter (45%) Compliance Score 81-100%: 26 Platzhalter (23%) ``` **Ziel erreicht:** 68% der Platzhalter mit Score >60% (Norm-Ziel: >60%) --- ## NÄCHSTE SCHRITTE 1. **Review dieser Prüfmatrix** mit Tech Lead 2. **Validierung:** Stichprobe 10% manuell gegen Code prüfen 3. **P0-Kickoff:** Zeitfenster-Meeting + Bulk-Updates starten 4. **Tracking:** Compliance-Fortschritt wöchentlich messen --- **Prüfmatrix-Summary erstellt von:** Claude Code (Lead Audit Agent) **Basis:** 4-Agent-Cross-Validation, 111 Platzhalter vollständig geprüft **Vollständige Details:** Siehe Agent-Outputs + PLACEHOLDER_CATALOG_EXTENDED.json