- .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
16 KiB
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:
- Dieser Summary zeigt die kritischsten Findings pro Compliance-Level
- Detaillierte Einzelberichte siehe Agent-Outputs (bereits vorhanden)
- Maschinenlesbare Version: Nutze
PLACEHOLDER_CATALOG_EXTENDED.jsondirekt
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_jsontop_goal_name,top_goal_progress_pct,top_goal_statustop_3_goals_behind_schedule,top_3_goals_on_track,top_3_focus_areasfocus_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_7dquality_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_medianfm_28d_change,lbm_28d_changewaist_28d_delta,hip_28d_delta,chest_28d_delta,arm_28d_delta,thigh_28d_deltavo2max_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
- Review dieser Prüfmatrix mit Tech Lead
- Validierung: Stichprobe 10% manuell gegen Code prüfen
- P0-Kickoff: Zeitfenster-Meeting + Bulk-Updates starten
- 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