- Implemented a new test script `test_activity_registration.py` to verify the registration of Activity placeholders, ensuring all expected placeholders are registered, have complete metadata, and correct evidence distribution. - Created a new smoke test suite `dev-smoke-test.spec.js` to validate the login process, dashboard loading, and navigation to key sections, while checking for critical console errors. - Added a JSON file `test-results.last-run.json` to track the status of the last test run, indicating failures if any tests do not pass.
1 line
366 KiB
JSON
1 line
366 KiB
JSON
{"schema_version":"1.0.0","export_date":"2026-04-02T10:56:50.848752","profile_id":"e3d384e9-66d6-4ffc-ba8d-8dc47c99f076","legacy":{"all_placeholders":{"name":"Lars","age":"55","height":"179.00","geschlecht":"männlich","weight_aktuell":"85.8 kg","weight_trend":"sinkend (-0.5 kg in 28 Tagen)","kf_aktuell":"19.9%","bmi":"26.8","caliper_summary":"19.9% (jackson3 am 2026-03-13)","circ_summary":"Nacken 34.0cm (vor 1 Woche), Brust 99.3cm (vor 2 Wochen), Taille 91.2cm (vor 2 Wochen), Bauch 93.7cm (vor 2 Wochen), Hüfte 101.2cm (vor 2 Wochen), Oberschenkel 61.6cm (vor 2 Wochen), Wade 39.7cm (vor 2 Wochen), Arm 36.3cm (vor 2 Wochen)","goal_weight":"82.0","goal_bf_pct":"14.0","kcal_avg":"1534 kcal/Tag (Ø 30 Tage)","protein_avg":"114g/Tag (Ø 30 Tage)","carb_avg":"152g/Tag (Ø 30 Tage)","fat_avg":"45g/Tag (Ø 30 Tage)","nutrition_days":"31","protein_ziel_low":"137","protein_ziel_high":"188","activity_summary":"17 Einheiten in 14 Tagen (Ø 66 min/Einheit, 5728 kcal gesamt)","activity_detail":"2026-03-28: Traditionelles Krafttraining (47min, 311kcal HF=103)\n2026-03-28: Traditionelles Krafttraining (46min, 181kcal HF=102)\n2026-03-27: Outdoor Spaziergang (83min, 309kcal HF=79)\n2026-03-26: Matrial Arts (195min, 1000kcal HF=85)\n2026-03-25: Traditionelles Krafttraining (50min, 182kcal HF=94)\n2026-03-24: Matrial Arts (69min, 386kcal HF=103)\n2026-03-24: Outdoor Ausführen (46min, 162kcal HF=122)\n2026-03-24: Sportarten auf Rollschuhen (47min, 544kcal HF=136)\n2026-03-23: Traditionelles Krafttraining (48min, 179kcal HF=99)\n2026-03-22: Cardio Dance (115min, 399kcal HF=99)\n2026-03-22: Sportarten auf Rollschuhen (45min, 440kcal HF=143)\n2026-03-21: Traditionelles Krafttraining (35min, 141kcal HF=108)\n2026-03-21: Outdoor Spaziergang (62min, 325kcal HF=86)\n2026-03-20: Outdoor Spaziergang (74min, 379kcal HF=88)\n2026-03-19: Traditionelles Krafttraining (44min, 179kcal HF=102)\n2026-03-19: Matrial Arts (106min, 599kcal HF=103)\n2026-03-19: Matrial Arts (2min, 12kcal HF=96)","trainingstyp_verteilung":"strength: 35%, martial_arts: 23%, cardio: 17%","sleep_avg_duration":"6.8h","sleep_avg_quality":"34% (Deep+REM)","rest_days_count":"2 Ruhetage","vitals_avg_hr":"51 bpm","vitals_avg_hrv":"nicht verfügbar","vitals_vo2_max":"35.5 ml/kg/min","datum_heute":"02.04.2026","zeitraum_7d":"letzte 7 Tage","zeitraum_30d":"letzte 30 Tage","zeitraum_90d":"letzte 90 Tage","goal_progress_score":"51","body_progress_score":"41","nutrition_score":"71","activity_score":"37","recovery_score":"74","data_quality_score":"81","top_goal_name":"Zielgewicht","top_goal_progress_pct":"nicht verfügbar","top_goal_status":"active","top_focus_area_name":"Rhythmusgefühl","top_focus_area_progress":"nicht verfügbar","focus_cat_körper_progress":"41","focus_cat_körper_weight":"100.0","focus_cat_ernährung_progress":"71","focus_cat_ernährung_weight":"135.0","focus_cat_aktivität_progress":"37","focus_cat_aktivität_weight":"30.0","focus_cat_recovery_progress":"74","focus_cat_recovery_weight":"0.0","focus_cat_vitalwerte_progress":"74","focus_cat_vitalwerte_weight":"23.0","focus_cat_mental_progress":"74","focus_cat_mental_weight":"0.0","focus_cat_lebensstil_progress":"81","focus_cat_lebensstil_weight":"23.0","weight_7d_median":"85.8","weight_28d_slope":"nicht verfügbar","weight_90d_slope":"nicht verfügbar","fm_28d_change":"nicht verfügbar","lbm_28d_change":"nicht verfügbar","waist_28d_delta":"nicht verfügbar","hip_28d_delta":"nicht verfügbar","chest_28d_delta":"nicht verfügbar","arm_28d_delta":"nicht verfügbar","thigh_28d_delta":"nicht verfügbar","waist_hip_ratio":"0.901","recomposition_quadrant":"nicht verfügbar","energy_balance_7d":"-1421","energy_deficit_surplus":"deficit","protein_g_per_kg":"1.1","protein_days_in_target":"1/8","protein_adequacy_28d":"88","macro_consistency_score":"70","intake_volatility":"moderate","training_minutes_week":"373","training_frequency_7d":"4","quality_sessions_pct":"10","ability_balance_strength":"nicht verfügbar","ability_balance_endurance":"nicht verfügbar","ability_balance_mental":"nicht verfügbar","ability_balance_coordination":"nicht verfügbar","ability_balance_mobility":"nicht verfügbar","proxy_internal_load_7d":"373","monotony_score":"nicht verfügbar","strain_score":"nicht verfügbar","rest_day_compliance":"0","vo2max_trend_28d":"1.9","hrv_vs_baseline_pct":"nicht verfügbar","rhr_vs_baseline_pct":"nicht verfügbar","sleep_avg_duration_7d":"5.9","sleep_debt_hours":"nicht verfügbar","sleep_regularity_proxy":"34.5","recent_load_balance_3d":"0","sleep_quality_7d":"nicht verfügbar","correlation_energy_weight_lag":"{\"best_lag\": 7, \"correlation\": -0.45, \"direction\": \"negative\", \"confidence\": \"medium\", \"data_points\": 80}","correlation_protein_lbm":"{\"best_lag\": 0, \"correlation\": 0.32, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 28}","correlation_load_hrv":"{\"best_lag\": 1, \"correlation\": -0.38, \"direction\": \"negative\", \"confidence\": \"medium\", \"data_points\": 25}","correlation_load_rhr":"{\"best_lag\": 1, \"correlation\": 0.42, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 25}","correlation_sleep_recovery":"{\"correlation\": 0.65, \"direction\": \"positive\", \"confidence\": \"high\", \"data_points\": 28}","plateau_detected":"{}","top_drivers":"[{\"factor\": \"Energiebilanz\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Sehr großes Defizit (-1421 kcal/Tag) → Risiko für Magermasseverlust\"}, {\"factor\": \"Schlafdauer\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Schlafdauer zu gering (5.9h/Nacht < 7h Empfehlung)\"}, {\"factor\": \"Trainingsqualität\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Nur 10% der Trainings mit guter Qualität\"}, {\"factor\": \"Ruhetagsrespekt\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Ruhetage häufig ignoriert (0%) → Übertrainingsrisiko\"}, {\"factor\": \"Proteinzufuhr\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Proteinzufuhr konstant im Zielbereich (Score: 88)\"}, {\"factor\": \"Schlafregelmäßigkeit\", \"status\": \"förderlich\", \"evidence\": \"mittel\", \"reason\": \"Schlafrhythmus regelmäßig (Abweichung: 34 min)\"}, {\"factor\": \"Trainingskonsistenz\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Trainingsfrequenz im Zielbereich (4× pro Woche)\"}, {\"factor\": \"Recovery\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Recovery Score gut (74/100)\"}]","active_goals_json":"[{\"id\": \"84212e3d-39e5-4a16-92c5-6b3115a61050\", \"goal_type\": \"rhr\", \"name\": \"Ruhepuls\", \"target_value\": \"52.00\", \"target_date\": null, \"current_value\": \"51.00\", \"start_value\": \"54.00\", \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": true, \"created_at\": \"2026-03-26 20:58:57.564807\"}, {\"id\": \"a76dfccc-a543-42e5-8665-471a97eb2078\", \"goal_type\": \"sport_pro_woche\", \"name\": null, \"target_value\": \"3.00\", \"target_date\": null, \"current_value\": null, \"start_value\": null, \"start_date\": \"2026-03-27\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-27 21:11:23.476309\"}, {\"id\": \"4943a889-50ca-4b76-999c-6de0c461b8d7\", \"goal_type\": \"vo2max\", \"name\": null, \"target_value\": \"43.00\", \"target_date\": null, \"current_value\": \"35.50\", \"start_value\": \"35.50\", \"start_date\": \"2026-03-27\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-27 05:17:09.626589\"}, {\"id\": \"fb9b9701-d883-4201-9ee6-c1729b72d551\", \"goal_type\": \"bp\", \"name\": null, \"target_value\": \"120.00\", \"target_date\": null, \"current_value\": null, \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:58:45.860130\"}, {\"id\": \"b3cfb6d1-42e2-4f64-8d16-3f89ac37295c\", \"goal_type\": \"flexibility\", \"name\": null, \"target_value\": \"120.00\", \"target_date\": \"2026-10-01\", \"current_value\": \"30.00\", \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:57:40.832316\"}, {\"id\": \"370afea2-e744-40e2-b778-bebfacebe270\", \"goal_type\": \"strength\", \"name\": null, \"target_value\": \"120.00\", \"target_date\": \"2026-05-31\", \"current_value\": \"88.00\", \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:56:28.974447\"}, {\"id\": \"72dc0225-05a4-4c7f-a27c-da0f5619cb52\", \"goal_type\": \"body_fat\", \"name\": \"K\\u00f6rperfett\", \"target_value\": \"14.00\", \"target_date\": \"2026-05-30\", \"current_value\": \"19.90\", \"start_value\": \"19.90\", \"start_date\": \"2026-03-13\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:54:29.747574\"}, {\"id\": \"acfba058-dd5c-4190-9168-5126a3195a56\", \"goal_type\": \"lean_mass\", \"name\": null, \"target_value\": \"25.00\", \"target_date\": \"2026-05-31\", \"current_value\": \"20.00\", \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:44:18.678284\"}, {\"id\": \"4bd8bcd9-f8b8-424b-9871-a01c15058a52\", \"goal_type\": \"weight\", \"name\": \"Zielgewicht\", \"target_value\": \"82.00\", \"target_date\": \"2026-05-31\", \"current_value\": \"85.20\", \"start_value\": \"87.50\", \"start_date\": \"2026-02-22\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 15:32:21.566137\"}]","active_goals_md":"| Ziel | Aktuell | Ziel | Progress | Status |\n|------|---------|------|----------|--------|\n| Ruhepuls | 51.00 | 52.00 | 100% | 🎯 |\n| sport_pro_woche | - | 3.00 | - | ○ |\n| vo2max | 35.50 | 43.00 | 0% | ○ |\n| bp | - | 120.00 | - | ○ |\n| flexibility | 30.00 | 120.00 | - | ○ |\n| strength | 88.00 | 120.00 | - | ○ |\n| Körperfett | 19.90 | 14.00 | 0% | ○ |\n| lean_mass | 20.00 | 25.00 | - | ○ |\n| Zielgewicht | 85.20 | 82.00 | 41% | ○ |","focus_areas_weighted_json":"[{\"key\": \"rhythm\", \"name\": \"Rhythmusgef\\u00fchl\", \"category\": \"coordination\", \"weight\": 55.0}, {\"key\": \"protein_intake\", \"name\": \"Proteinzufuhr\", \"category\": \"nutrition\", \"weight\": 50.0}, {\"key\": \"calorie_balance\", \"name\": \"Kalorienbilanz\", \"category\": \"nutrition\", \"weight\": 50.0}, {\"key\": \"body_recomposition\", \"name\": \"Body Recomposition\", \"category\": \"body_composition\", \"weight\": 40.0}, {\"key\": \"anaerobic_endurance\", \"name\": \"Anaerobe Ausdauer\", \"category\": \"endurance\", \"weight\": 35.0}, {\"key\": \"macro_consistency\", \"name\": \"Makro-Konsistenz\", \"category\": \"nutrition\", \"weight\": 35.0}, {\"key\": \"weight_loss\", \"name\": \"Gewichtsverlust\", \"category\": \"body_composition\", \"weight\": 30.0}, {\"key\": \"muscle_gain\", \"name\": \"Muskelaufbau\", \"category\": \"body_composition\", \"weight\": 30.0}, {\"key\": \"strength\", \"name\": \"Maximalkraft\", \"category\": \"training\", \"weight\": 25.0}, {\"key\": \"general_health\", \"name\": \"Allgemeine Gesundheit\", \"category\": \"health\", \"weight\": 23.0}, {\"key\": \"aerobic_endurance\", \"name\": \"Aerobe Ausdauer\", \"category\": \"endurance\", \"weight\": 10.0}, {\"key\": \"flexibility\", \"name\": \"Beweglichkeit\", \"category\": \"training\", \"weight\": 5.0}]","focus_areas_weighted_md":"- **Rhythmusgefühl**: 55.0%\n- **Proteinzufuhr**: 50.0%\n- **Kalorienbilanz**: 50.0%\n- **Body Recomposition**: 40.0%\n- **Anaerobe Ausdauer**: 35.0%\n- **Makro-Konsistenz**: 35.0%\n- **Gewichtsverlust**: 30.0%\n- **Muskelaufbau**: 30.0%\n- **Maximalkraft**: 25.0%\n- **Allgemeine Gesundheit**: 23.0%\n- **Aerobe Ausdauer**: 10.0%\n- **Beweglichkeit**: 5.0%","focus_area_weights_json":"{\"strength\": 25.0, \"flexibility\": 5.0, \"aerobic_endurance\": 10.0, \"anaerobic_endurance\": 35.0, \"rhythm\": 55.0, \"body_recomposition\": 40.0, \"weight_loss\": 30.0, \"muscle_gain\": 30.0, \"general_health\": 23.0, \"protein_intake\": 50.0, \"calorie_balance\": 50.0, \"macro_consistency\": 35.0}","top_3_focus_areas":"1. Rhythmusgefühl (55.0%), 2. Proteinzufuhr (50.0%), 3. Kalorienbilanz (50.0%)","top_3_goals_behind_schedule":"vo2max (0% erreicht), Körperfett (0% statt 25%, -25%)","top_3_goals_on_track":"Ruhepuls (100% erreicht), Zielgewicht (41%, +2% voraus)"},"placeholders_by_category":{"Profil":[{"key":"name","description":"Name des Nutzers","value":"Lars","example":"Lars"},{"key":"age","description":"Alter in Jahren","value":"55","example":"55"},{"key":"height","description":"Körpergröße in cm","value":"179.00","example":"179.00"},{"key":"geschlecht","description":"Geschlecht","value":"männlich","example":"männlich"}],"Körper":[{"key":"weight_aktuell","description":"Aktuelles Gewicht in kg","value":"85.8 kg","example":"85.8 kg"},{"key":"weight_trend","description":"Gewichtstrend (7d/30d)","value":"sinkend (-0.5 kg in 28 Tagen)","example":"sinkend (-0.5 kg in 28 Tagen)"},{"key":"kf_aktuell","description":"Aktueller Körperfettanteil in %","value":"19.9%","example":"19.9%"},{"key":"bmi","description":"Body Mass Index","value":"26.8","example":"26.8"},{"key":"weight_7d_median","description":"Gewicht 7d Median (kg)","value":"85.8","example":"85.8"},{"key":"weight_28d_slope","description":"Gewichtstrend 28d (kg/Tag)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"fm_28d_change","description":"Fettmasse Änderung 28d (kg)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"lbm_28d_change","description":"Magermasse Änderung 28d (kg)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"waist_28d_delta","description":"Taillenumfang Änderung 28d (cm)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"waist_hip_ratio","description":"Taille/Hüfte-Verhältnis","value":"0.901","example":"0.901"},{"key":"recomposition_quadrant","description":"Rekomposition-Status","value":"nicht verfügbar","example":"nicht verfügbar"}],"Ernährung":[{"key":"kcal_avg","description":"Durchschn. Kalorien (30d)","value":"1534 kcal/Tag (Ø 30 Tage)","example":"1534 kcal/Tag (Ø 30 Tage)"},{"key":"protein_avg","description":"Durchschn. Protein in g (30d)","value":"114g/Tag (Ø 30 Tage)","example":"114g/Tag (Ø 30 Tage)"},{"key":"carb_avg","description":"Durchschn. Kohlenhydrate in g (30d)","value":"152g/Tag (Ø 30 Tage)","example":"152g/Tag (Ø 30 Tage)"},{"key":"fat_avg","description":"Durchschn. Fett in g (30d)","value":"45g/Tag (Ø 30 Tage)","example":"45g/Tag (Ø 30 Tage)"},{"key":"energy_balance_7d","description":"Energiebilanz 7d (kcal/Tag)","value":"-1421","example":"-1421"},{"key":"protein_g_per_kg","description":"Protein g/kg Körpergewicht","value":"1.1","example":"1.1"},{"key":"protein_adequacy_28d","description":"Protein Adequacy Score (0-100)","value":"88","example":"88"},{"key":"macro_consistency_score","description":"Makro-Konsistenz Score (0-100)","value":"70","example":"70"}],"Training":[{"key":"activity_summary","description":"Aktivitäts-Zusammenfassung (7d)","value":"17 Einheiten in 14 Tagen (Ø 66 min/Einheit, 5728 kcal gesamt)","example":"17 Einheiten in 14 Tagen (Ø 66 min/Einheit, 5728 kcal gesamt)"},{"key":"trainingstyp_verteilung","description":"Verteilung nach Trainingstypen","value":"strength: 35%, martial_arts: 23%, cardio: 17%","example":"strength: 35%, martial_arts: 23%, cardio: 17%"},{"key":"training_minutes_week","description":"Trainingsminuten pro Woche","value":"373","example":"373"},{"key":"training_frequency_7d","description":"Trainingshäufigkeit 7d","value":"4","example":"4"},{"key":"quality_sessions_pct","description":"Qualitätssessions (%)","value":"10","example":"10"},{"key":"ability_balance_strength","description":"Ability Balance - Kraft (0-100)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"ability_balance_endurance","description":"Ability Balance - Ausdauer (0-100)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"proxy_internal_load_7d","description":"Proxy Load 7d","value":"373","example":"373"},{"key":"rest_day_compliance","description":"Ruhetags-Compliance (%)","value":"0","example":"0"}],"Schlaf & Erholung":[{"key":"sleep_avg_duration","description":"Durchschn. Schlafdauer (7d)","value":"6.8h","example":"6.8h"},{"key":"sleep_avg_quality","description":"Durchschn. Schlafqualität (7d)","value":"34% (Deep+REM)","example":"34% (Deep+REM)"},{"key":"rest_days_count","description":"Anzahl Ruhetage (30d)","value":"2 Ruhetage","example":"2 Ruhetage"},{"key":"sleep_avg_duration_7d","description":"Schlaf 7d (Stunden)","value":"5.9","example":"5.9"},{"key":"sleep_debt_hours","description":"Schlafschuld (Stunden)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"sleep_regularity_proxy","description":"Schlaf-Regelmäßigkeit (Min Abweichung)","value":"34.5","example":"34.5"},{"key":"sleep_quality_7d","description":"Schlafqualität 7d (0-100)","value":"nicht verfügbar","example":"nicht verfügbar"}],"Vitalwerte":[{"key":"vitals_avg_hr","description":"Durchschn. Ruhepuls (7d)","value":"51 bpm","example":"51 bpm"},{"key":"vitals_avg_hrv","description":"Durchschn. HRV (7d)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"vitals_vo2_max","description":"Aktueller VO2 Max","value":"35.5 ml/kg/min","example":"35.5 ml/kg/min"},{"key":"hrv_vs_baseline_pct","description":"HRV vs. Baseline (%)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"rhr_vs_baseline_pct","description":"RHR vs. Baseline (%)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"vo2max_trend_28d","description":"VO2max Trend 28d","value":"1.9","example":"1.9"}],"Scores (Phase 0b)":[{"key":"goal_progress_score","description":"Goal Progress Score (0-100)","value":"51","example":"51"},{"key":"body_progress_score","description":"Body Progress Score (0-100)","value":"41","example":"41"},{"key":"nutrition_score","description":"Nutrition Score (0-100)","value":"71","example":"71"},{"key":"activity_score","description":"Activity Score (0-100)","value":"37","example":"37"},{"key":"recovery_score","description":"Recovery Score (0-100)","value":"74","example":"74"},{"key":"data_quality_score","description":"Data Quality Score (0-100)","value":"81","example":"81"}],"Focus Areas":[{"key":"top_focus_area_name","description":"Top Focus Area Name","value":"Rhythmusgefühl","example":"Rhythmusgefühl"},{"key":"top_focus_area_progress","description":"Top Focus Area Progress (%)","value":"nicht verfügbar","example":"nicht verfügbar"},{"key":"focus_cat_körper_progress","description":"Kategorie Körper - Progress (%)","value":"41","example":"41"},{"key":"focus_cat_körper_weight","description":"Kategorie Körper - Gewichtung (%)","value":"100.0","example":"100.0"},{"key":"focus_cat_ernährung_progress","description":"Kategorie Ernährung - Progress (%)","value":"71","example":"71"},{"key":"focus_cat_ernährung_weight","description":"Kategorie Ernährung - Gewichtung (%)","value":"135.0","example":"135.0"},{"key":"focus_cat_aktivität_progress","description":"Kategorie Aktivität - Progress (%)","value":"37","example":"37"},{"key":"focus_cat_aktivität_weight","description":"Kategorie Aktivität - Gewichtung (%)","value":"30.0","example":"30.0"}],"Zeitraum":[{"key":"datum_heute","description":"Heutiges Datum","value":"02.04.2026","example":"02.04.2026"},{"key":"zeitraum_7d","description":"7-Tage-Zeitraum","value":"letzte 7 Tage","example":"letzte 7 Tage"},{"key":"zeitraum_30d","description":"30-Tage-Zeitraum","value":"letzte 30 Tage","example":"letzte 30 Tage"}]},"count":111},"metadata":{"flat":[{"key":"ability_balance_coordination","placeholder":"{{ability_balance_coordination}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"ability_balance_endurance","placeholder":"{{ability_balance_endurance}}","category":"Training","type":"atomic","description":"Ability Balance - Ausdauer (0-100)","semantic_contract":"Ability Balance - Ausdauer (0-100)","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"ability_balance_mental","placeholder":"{{ability_balance_mental}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"ability_balance_mobility","placeholder":"{{ability_balance_mobility}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"ability_balance_strength","placeholder":"{{ability_balance_strength}}","category":"Training","type":"atomic","description":"Ability Balance - Kraft (0-100)","semantic_contract":"Ability Balance - Kraft (0-100)","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"active_goals_json","placeholder":"{{active_goals_json}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"json","format_hint":"JSON object","example_output":null,"value_display":"[{\"id\": \"84212e3d-39e5-4a16-92c5-6b3115a61050\", \"goal_type\": \"rhr\", \"name\": \"Ruhepuls\", \"target_value\": \"52.00\", \"target_date\": null, \"current_value\": \"51.00\", \"start_value\": \"54.00\", \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": true, \"created_at\": \"2026-03-26 20:58:57.564807\"}, {\"id\": \"a76dfccc-a543-42e5-8665-471a97eb2078\", \"goal_type\": \"sport_pro_woche\", \"name\": null, \"target_value\": \"3.00\", \"target_date\": null, \"current_value\": null, \"start_value\": null, \"start_date\": \"2026-03-27\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-27 21:11:23.476309\"}, {\"id\": \"4943a889-50ca-4b76-999c-6de0c461b8d7\", \"goal_type\": \"vo2max\", \"name\": null, \"target_value\": \"43.00\", \"target_date\": null, \"current_value\": \"35.50\", \"start_value\": \"35.50\", \"start_date\": \"2026-03-27\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-27 05:17:09.626589\"}, {\"id\": \"fb9b9701-d883-4201-9ee6-c1729b72d551\", \"goal_type\": \"bp\", \"name\": null, \"target_value\": \"120.00\", \"target_date\": null, \"current_value\": null, \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:58:45.860130\"}, {\"id\": \"b3cfb6d1-42e2-4f64-8d16-3f89ac37295c\", \"goal_type\": \"flexibility\", \"name\": null, \"target_value\": \"120.00\", \"target_date\": \"2026-10-01\", \"current_value\": \"30.00\", \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:57:40.832316\"}, {\"id\": \"370afea2-e744-40e2-b778-bebfacebe270\", \"goal_type\": \"strength\", \"name\": null, \"target_value\": \"120.00\", \"target_date\": \"2026-05-31\", \"current_value\": \"88.00\", \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:56:28.974447\"}, {\"id\": \"72dc0225-05a4-4c7f-a27c-da0f5619cb52\", \"goal_type\": \"body_fat\", \"name\": \"K\\u00f6rperfett\", \"target_value\": \"14.00\", \"target_date\": \"2026-05-30\", \"current_value\": \"19.90\", \"start_value\": \"19.90\", \"start_date\": \"2026-03-13\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:54:29.747574\"}, {\"id\": \"acfba058-dd5c-4190-9168-5126a3195a56\", \"goal_type\": \"lean_mass\", \"name\": null, \"target_value\": \"25.00\", \"target_date\": \"2026-05-31\", \"current_value\": \"20.00\", \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:44:18.678284\"}, {\"id\": \"4bd8bcd9-f8b8-424b-9871-a01c15058a52\", \"goal_type\": \"weight\", \"name\": \"Zielgewicht\", \"target_value\": \"82.00\", \"target_date\": \"2026-05-31\", \"current_value\": \"85.20\", \"start_value\": \"87.50\", \"start_date\": \"2026-02-22\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 15:32:21.566137\"}]","value_raw":[{"id":"84212e3d-39e5-4a16-92c5-6b3115a61050","goal_type":"rhr","name":"Ruhepuls","target_value":"52.00","target_date":null,"current_value":"51.00","start_value":"54.00","start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":true,"created_at":"2026-03-26 20:58:57.564807"},{"id":"a76dfccc-a543-42e5-8665-471a97eb2078","goal_type":"sport_pro_woche","name":null,"target_value":"3.00","target_date":null,"current_value":null,"start_value":null,"start_date":"2026-03-27","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-27 21:11:23.476309"},{"id":"4943a889-50ca-4b76-999c-6de0c461b8d7","goal_type":"vo2max","name":null,"target_value":"43.00","target_date":null,"current_value":"35.50","start_value":"35.50","start_date":"2026-03-27","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-27 05:17:09.626589"},{"id":"fb9b9701-d883-4201-9ee6-c1729b72d551","goal_type":"bp","name":null,"target_value":"120.00","target_date":null,"current_value":null,"start_value":null,"start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:58:45.860130"},{"id":"b3cfb6d1-42e2-4f64-8d16-3f89ac37295c","goal_type":"flexibility","name":null,"target_value":"120.00","target_date":"2026-10-01","current_value":"30.00","start_value":null,"start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:57:40.832316"},{"id":"370afea2-e744-40e2-b778-bebfacebe270","goal_type":"strength","name":null,"target_value":"120.00","target_date":"2026-05-31","current_value":"88.00","start_value":null,"start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:56:28.974447"},{"id":"72dc0225-05a4-4c7f-a27c-da0f5619cb52","goal_type":"body_fat","name":"Körperfett","target_value":"14.00","target_date":"2026-05-30","current_value":"19.90","start_value":"19.90","start_date":"2026-03-13","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:54:29.747574"},{"id":"acfba058-dd5c-4190-9168-5126a3195a56","goal_type":"lean_mass","name":null,"target_value":"25.00","target_date":"2026-05-31","current_value":"20.00","start_value":null,"start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:44:18.678284"},{"id":"4bd8bcd9-f8b8-424b-9871-a01c15058a52","goal_type":"weight","name":"Zielgewicht","target_value":"82.00","target_date":"2026-05-31","current_value":"85.20","start_value":"87.50","start_date":"2026-02-22","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 15:32:21.566137"}],"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"active_goals_md","placeholder":"{{active_goals_md}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"markdown","format_hint":"Markdown-formatted text","example_output":null,"value_display":"| Ziel | Aktuell | Ziel | Progress | Status |\n|------|---------|------|----------|--------|\n| Ruhepuls | 51.00 | 52.00 | 100% | 🎯 |\n| sport_pro_woche | - | 3.00 | - | ○ |\n| vo2max | 35.50 | 43.00 | 0% | ○ |\n| bp | - | 120.00 | - | ○ |\n| flexibility | 30.00 | 120.00 | - | ○ |\n| strength | 88.00 | 120.00 | - | ○ |\n| Körperfett | 19.90 | 14.00 | 0% | ○ |\n| lean_mass | 20.00 | 25.00 | - | ○ |\n| Zielgewicht | 85.20 | 82.00 | 41% | ○ |","value_raw":"| Ziel | Aktuell | Ziel | Progress | Status |\n|------|---------|------|----------|--------|\n| Ruhepuls | 51.00 | 52.00 | 100% | 🎯 |\n| sport_pro_woche | - | 3.00 | - | ○ |\n| vo2max | 35.50 | 43.00 | 0% | ○ |\n| bp | - | 120.00 | - | ○ |\n| flexibility | 30.00 | 120.00 | - | ○ |\n| strength | 88.00 | 120.00 | - | ○ |\n| Körperfett | 19.90 | 14.00 | 0% | ○ |\n| lean_mass | 20.00 | 25.00 | - | ○ |\n| Zielgewicht | 85.20 | 82.00 | 41% | ○ |","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"activity_detail","placeholder":"{{activity_detail}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"2026-03-28: Traditionelles Krafttraining (47min, 311kcal HF=103)\n2026-03-28: Traditionelles Krafttraining (46min, 181kcal HF=102)\n2026-03-27: Outdoor Spaziergang (83min, 309kcal HF=79)\n2026-03-26: Matrial Arts (195min, 1000kcal HF=85)\n2026-03-25: Traditionelles Krafttraining (50min, 182kcal HF=94)\n2026-03-24: Matrial Arts (69min, 386kcal HF=103)\n2026-03-24: Outdoor Ausführen (46min, 162kcal HF=122)\n2026-03-24: Sportarten auf Rollschuhen (47min, 544kcal HF=136)\n2026-03-23: Traditionelles Krafttraining (48min, 179kcal HF=99)\n2026-03-22: Cardio Dance (115min, 399kcal HF=99)\n2026-03-22: Sportarten auf Rollschuhen (45min, 440kcal HF=143)\n2026-03-21: Traditionelles Krafttraining (35min, 141kcal HF=108)\n2026-03-21: Outdoor Spaziergang (62min, 325kcal HF=86)\n2026-03-20: Outdoor Spaziergang (74min, 379kcal HF=88)\n2026-03-19: Traditionelles Krafttraining (44min, 179kcal HF=102)\n2026-03-19: Matrial Arts (106min, 599kcal HF=103)\n2026-03-19: Matrial Arts (2min, 12kcal HF=96)","value_raw":"2026-03-28: Traditionelles Krafttraining (47min, 311kcal HF=103)\n2026-03-28: Traditionelles Krafttraining (46min, 181kcal HF=102)\n2026-03-27: Outdoor Spaziergang (83min, 309kcal HF=79)\n2026-03-26: Matrial Arts (195min, 1000kcal HF=85)\n2026-03-25: Traditionelles Krafttraining (50min, 182kcal HF=94)\n2026-03-24: Matrial Arts (69min, 386kcal HF=103)\n2026-03-24: Outdoor Ausführen (46min, 162kcal HF=122)\n2026-03-24: Sportarten auf Rollschuhen (47min, 544kcal HF=136)\n2026-03-23: Traditionelles Krafttraining (48min, 179kcal HF=99)\n2026-03-22: Cardio Dance (115min, 399kcal HF=99)\n2026-03-22: Sportarten auf Rollschuhen (45min, 440kcal HF=143)\n2026-03-21: Traditionelles Krafttraining (35min, 141kcal HF=108)\n2026-03-21: Outdoor Spaziergang (62min, 325kcal HF=86)\n2026-03-20: Outdoor Spaziergang (74min, 379kcal HF=88)\n2026-03-19: Traditionelles Krafttraining (44min, 179kcal HF=102)\n2026-03-19: Matrial Arts (106min, 599kcal HF=103)\n2026-03-19: Matrial Arts (2min, 12kcal HF=96)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by activity_metrics"},"source":{"resolver":"get_activity_detail","module":"placeholder_resolver.py","function":"get_activity_detail_data","data_layer_module":"activity_metrics","source_tables":["activity_log","training_types"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Aktivität & Training","Pipeline: Aktivitäts-Analyse (JSON)"],"pipelines":["Aktivität & Training","Pipeline: Aktivitäts-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":80,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"activity_score","placeholder":"{{activity_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Activity Score (0-100)","semantic_contract":"Activity Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"37","value_raw":37,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"activity_summary","placeholder":"{{activity_summary}}","category":"Training","type":"raw_data","description":"Aktivitäts-Zusammenfassung (7d)","semantic_contract":"Aktivitäts-Zusammenfassung (7d) [Strukturierte Rohdaten]","unit":null,"time_window":"7d","output_type":"string","format_hint":"Text","example_output":null,"value_display":"17 Einheiten in 14 Tagen (Ø 66 min/Einheit, 5728 kcal gesamt)","value_raw":"17 Einheiten in 14 Tagen (Ø 66 min/Einheit, 5728 kcal gesamt)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by activity_metrics"},"source":{"resolver":"get_activity_summary","module":"placeholder_resolver.py","function":"get_activity_summary_data","data_layer_module":"activity_metrics","source_tables":["activity_log","training_types"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse"],"pipelines":["Gesamtanalyse"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":100,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"age","placeholder":"{{age}}","category":"Profil","type":"atomic","description":"Alter in Jahren","semantic_contract":"Alter in Jahren (letzter verfügbarer Wert)","unit":"Jahre","time_window":"latest","output_type":"string","format_hint":"Wert Jahre","example_output":null,"value_display":"55","value_raw":"55","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"calculate_age","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["profiles"],"source_kind":"computed","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Pipeline: Körper-Analyse (JSON)"],"pipelines":["Pipeline: Körper-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":80,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"arm_28d_delta","placeholder":"{{arm_28d_delta}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 28d)","unit":"cm","time_window":"28d","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"bmi","placeholder":"{{bmi}}","category":"Körper","type":"atomic","description":"Body Mass Index","semantic_contract":"Body Mass Index","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"26.8","value_raw":"26.8","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"calculate_bmi","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["weight_log","profiles"],"source_kind":"computed","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["time_window"]},{"key":"body_progress_score","placeholder":"{{body_progress_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Body Progress Score (0-100)","semantic_contract":"Body Progress Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"41","value_raw":41,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"caliper_summary","placeholder":"{{caliper_summary}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"19.9% (jackson3 am 2026-03-13)","value_raw":"19.9% (jackson3 am 2026-03-13)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_caliper_summary","module":"placeholder_resolver.py","function":"get_body_composition_data","data_layer_module":"body_metrics","source_tables":["caliper_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"carb_avg","placeholder":"{{carb_avg}}","category":"Ernährung","type":"atomic","description":"Durchschn. Kohlenhydrate in g (30d)","semantic_contract":"Durchschn. Kohlenhydrate in g (30d) (Zeitfenster: 30d)","unit":"g","time_window":"30d","output_type":"number","format_hint":"12.3 g","example_output":null,"value_display":"152g/Tag (Ø 30 Tage)","value_raw":152.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_avg","module":"placeholder_resolver.py","function":"get_nutrition_average_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"chest_28d_delta","placeholder":"{{chest_28d_delta}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 28d)","unit":"cm","time_window":"28d","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"circ_summary","placeholder":"{{circ_summary}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Nacken 34.0cm (vor 1 Woche), Brust 99.3cm (vor 2 Wochen), Taille 91.2cm (vor 2 Wochen), Bauch 93.7cm (vor 2 Wochen), Hüfte 101.2cm (vor 2 Wochen), Oberschenkel 61.6cm (vor 2 Wochen), Wade 39.7cm (vor 2 Wochen), Arm 36.3cm (vor 2 Wochen)","value_raw":"Nacken 34.0cm (vor 1 Woche), Brust 99.3cm (vor 2 Wochen), Taille 91.2cm (vor 2 Wochen), Bauch 93.7cm (vor 2 Wochen), Hüfte 101.2cm (vor 2 Wochen), Oberschenkel 61.6cm (vor 2 Wochen), Wade 39.7cm (vor 2 Wochen), Arm 36.3cm (vor 2 Wochen)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_circ_summary","module":"placeholder_resolver.py","function":"get_circumference_summary_data","data_layer_module":"body_metrics","source_tables":["circumference_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"correlation_energy_weight_lag","placeholder":"{{correlation_energy_weight_lag}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"{\"best_lag\": 7, \"correlation\": -0.45, \"direction\": \"negative\", \"confidence\": \"medium\", \"data_points\": 80}","value_raw":7.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"correlation_load_hrv","placeholder":"{{correlation_load_hrv}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Wert bpm","example_output":null,"value_display":"{\"best_lag\": 1, \"correlation\": -0.38, \"direction\": \"negative\", \"confidence\": \"medium\", \"data_points\": 25}","value_raw":"{\"best_lag\": 1, \"correlation\": -0.38, \"direction\": \"negative\", \"confidence\": \"medium\", \"data_points\": 25}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"correlation_load_rhr","placeholder":"{{correlation_load_rhr}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Wert bpm","example_output":null,"value_display":"{\"best_lag\": 1, \"correlation\": 0.42, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 25}","value_raw":"{\"best_lag\": 1, \"correlation\": 0.42, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 25}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"correlation_protein_lbm","placeholder":"{{correlation_protein_lbm}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Wert g","example_output":null,"value_display":"{\"best_lag\": 0, \"correlation\": 0.32, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 28}","value_raw":"{\"best_lag\": 0, \"correlation\": 0.32, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 28}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"correlation_sleep_recovery","placeholder":"{{correlation_sleep_recovery}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"{\"correlation\": 0.65, \"direction\": \"positive\", \"confidence\": \"high\", \"data_points\": 28}","value_raw":"{\"correlation\": 0.65, \"direction\": \"positive\", \"confidence\": \"high\", \"data_points\": 28}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"data_quality_score","placeholder":"{{data_quality_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Data Quality Score (0-100)","semantic_contract":"Data Quality Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"81","value_raw":81,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"datum_heute","placeholder":"{{datum_heute}}","category":"Zeitraum","type":"atomic","description":"Heutiges Datum","semantic_contract":"Heutiges Datum","unit":null,"time_window":"unknown","output_type":"date","format_hint":"YYYY-MM-DD","example_output":null,"value_display":"02.04.2026","value_raw":null,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source","value_raw"]},{"key":"energy_balance_7d","placeholder":"{{energy_balance_7d}}","category":"Ernährung","type":"atomic","description":"Energiebilanz 7d (kcal/Tag)","semantic_contract":"Energiebilanz 7d (kcal/Tag) (Zeitfenster: 7d)","unit":"%","time_window":"7d","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"-1421","value_raw":-1421.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"energy_deficit_surplus","placeholder":"{{energy_deficit_surplus}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"kcal","time_window":"unknown","output_type":"string","format_hint":"Wert kcal","example_output":null,"value_display":"deficit","value_raw":"deficit","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"fat_avg","placeholder":"{{fat_avg}}","category":"Ernährung","type":"atomic","description":"Durchschn. Fett in g (30d)","semantic_contract":"Durchschn. Fett in g (30d) (Zeitfenster: 30d)","unit":"g","time_window":"30d","output_type":"number","format_hint":"12.3 g","example_output":null,"value_display":"45g/Tag (Ø 30 Tage)","value_raw":45.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_avg","module":"placeholder_resolver.py","function":"get_nutrition_average_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"fm_28d_change","placeholder":"{{fm_28d_change}}","category":"Körper","type":"atomic","description":"Fettmasse Änderung 28d (kg)","semantic_contract":"Fettmasse Änderung 28d (kg) (Zeitfenster: 28d)","unit":"kg","time_window":"28d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"focus_area_weights_json","placeholder":"{{focus_area_weights_json}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"json","format_hint":"JSON object","example_output":null,"value_display":"{\"strength\": 25.0, \"flexibility\": 5.0, \"aerobic_endurance\": 10.0, \"anaerobic_endurance\": 35.0, \"rhythm\": 55.0, \"body_recomposition\": 40.0, \"weight_loss\": 30.0, \"muscle_gain\": 30.0, \"general_health\": 23.0, \"protein_intake\": 50.0, \"calorie_balance\": 50.0, \"macro_consistency\": 35.0}","value_raw":{"strength":25.0,"flexibility":5.0,"aerobic_endurance":10.0,"anaerobic_endurance":35.0,"rhythm":55.0,"body_recomposition":40.0,"weight_loss":30.0,"muscle_gain":30.0,"general_health":23.0,"protein_intake":50.0,"calorie_balance":50.0,"macro_consistency":35.0},"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_areas_weighted_json","placeholder":"{{focus_areas_weighted_json}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"json","format_hint":"JSON object","example_output":null,"value_display":"[{\"key\": \"rhythm\", \"name\": \"Rhythmusgef\\u00fchl\", \"category\": \"coordination\", \"weight\": 55.0}, {\"key\": \"protein_intake\", \"name\": \"Proteinzufuhr\", \"category\": \"nutrition\", \"weight\": 50.0}, {\"key\": \"calorie_balance\", \"name\": \"Kalorienbilanz\", \"category\": \"nutrition\", \"weight\": 50.0}, {\"key\": \"body_recomposition\", \"name\": \"Body Recomposition\", \"category\": \"body_composition\", \"weight\": 40.0}, {\"key\": \"anaerobic_endurance\", \"name\": \"Anaerobe Ausdauer\", \"category\": \"endurance\", \"weight\": 35.0}, {\"key\": \"macro_consistency\", \"name\": \"Makro-Konsistenz\", \"category\": \"nutrition\", \"weight\": 35.0}, {\"key\": \"weight_loss\", \"name\": \"Gewichtsverlust\", \"category\": \"body_composition\", \"weight\": 30.0}, {\"key\": \"muscle_gain\", \"name\": \"Muskelaufbau\", \"category\": \"body_composition\", \"weight\": 30.0}, {\"key\": \"strength\", \"name\": \"Maximalkraft\", \"category\": \"training\", \"weight\": 25.0}, {\"key\": \"general_health\", \"name\": \"Allgemeine Gesundheit\", \"category\": \"health\", \"weight\": 23.0}, {\"key\": \"aerobic_endurance\", \"name\": \"Aerobe Ausdauer\", \"category\": \"endurance\", \"weight\": 10.0}, {\"key\": \"flexibility\", \"name\": \"Beweglichkeit\", \"category\": \"training\", \"weight\": 5.0}]","value_raw":[{"key":"rhythm","name":"Rhythmusgefühl","category":"coordination","weight":55.0},{"key":"protein_intake","name":"Proteinzufuhr","category":"nutrition","weight":50.0},{"key":"calorie_balance","name":"Kalorienbilanz","category":"nutrition","weight":50.0},{"key":"body_recomposition","name":"Body Recomposition","category":"body_composition","weight":40.0},{"key":"anaerobic_endurance","name":"Anaerobe Ausdauer","category":"endurance","weight":35.0},{"key":"macro_consistency","name":"Makro-Konsistenz","category":"nutrition","weight":35.0},{"key":"weight_loss","name":"Gewichtsverlust","category":"body_composition","weight":30.0},{"key":"muscle_gain","name":"Muskelaufbau","category":"body_composition","weight":30.0},{"key":"strength","name":"Maximalkraft","category":"training","weight":25.0},{"key":"general_health","name":"Allgemeine Gesundheit","category":"health","weight":23.0},{"key":"aerobic_endurance","name":"Aerobe Ausdauer","category":"endurance","weight":10.0},{"key":"flexibility","name":"Beweglichkeit","category":"training","weight":5.0}],"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_areas_weighted_md","placeholder":"{{focus_areas_weighted_md}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"markdown","format_hint":"Markdown-formatted text","example_output":null,"value_display":"- **Rhythmusgefühl**: 55.0%\n- **Proteinzufuhr**: 50.0%\n- **Kalorienbilanz**: 50.0%\n- **Body Recomposition**: 40.0%\n- **Anaerobe Ausdauer**: 35.0%\n- **Makro-Konsistenz**: 35.0%\n- **Gewichtsverlust**: 30.0%\n- **Muskelaufbau**: 30.0%\n- **Maximalkraft**: 25.0%\n- **Allgemeine Gesundheit**: 23.0%\n- **Aerobe Ausdauer**: 10.0%\n- **Beweglichkeit**: 5.0%","value_raw":"- **Rhythmusgefühl**: 55.0%\n- **Proteinzufuhr**: 50.0%\n- **Kalorienbilanz**: 50.0%\n- **Body Recomposition**: 40.0%\n- **Anaerobe Ausdauer**: 35.0%\n- **Makro-Konsistenz**: 35.0%\n- **Gewichtsverlust**: 30.0%\n- **Muskelaufbau**: 30.0%\n- **Maximalkraft**: 25.0%\n- **Allgemeine Gesundheit**: 23.0%\n- **Aerobe Ausdauer**: 10.0%\n- **Beweglichkeit**: 5.0%","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_aktivität_progress","placeholder":"{{focus_cat_aktivität_progress}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Aktivität - Progress (%)","semantic_contract":"Kategorie Aktivität - Progress (%) [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"37","value_raw":"37","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_aktivität_weight","placeholder":"{{focus_cat_aktivität_weight}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Aktivität - Gewichtung (%)","semantic_contract":"Kategorie Aktivität - Gewichtung (%) [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"30.0","value_raw":30.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_ernährung_progress","placeholder":"{{focus_cat_ernährung_progress}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Ernährung - Progress (%)","semantic_contract":"Kategorie Ernährung - Progress (%) [KI-interpretiert]","unit":"bpm","time_window":"unknown","output_type":"string","format_hint":"Wert bpm","example_output":null,"value_display":"71","value_raw":"71","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_ernährung_weight","placeholder":"{{focus_cat_ernährung_weight}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Ernährung - Gewichtung (%)","semantic_contract":"Kategorie Ernährung - Gewichtung (%) [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"135.0","value_raw":135.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_körper_progress","placeholder":"{{focus_cat_körper_progress}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Körper - Progress (%)","semantic_contract":"Kategorie Körper - Progress (%) [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"41","value_raw":"41","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_körper_weight","placeholder":"{{focus_cat_körper_weight}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Körper - Gewichtung (%)","semantic_contract":"Kategorie Körper - Gewichtung (%) [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"100.0","value_raw":100.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_lebensstil_progress","placeholder":"{{focus_cat_lebensstil_progress}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"81","value_raw":"81","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_lebensstil_weight","placeholder":"{{focus_cat_lebensstil_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"23.0","value_raw":23.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_mental_progress","placeholder":"{{focus_cat_mental_progress}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"74","value_raw":"74","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_mental_weight","placeholder":"{{focus_cat_mental_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"0.0","value_raw":0.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_recovery_progress","placeholder":"{{focus_cat_recovery_progress}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"74","value_raw":"74","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_recovery_weight","placeholder":"{{focus_cat_recovery_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"0.0","value_raw":0.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_vitalwerte_progress","placeholder":"{{focus_cat_vitalwerte_progress}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"74","value_raw":"74","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_vitalwerte_weight","placeholder":"{{focus_cat_vitalwerte_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"23.0","value_raw":23.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"geschlecht","placeholder":"{{geschlecht}}","category":"Profil","type":"atomic","description":"Geschlecht","semantic_contract":"Geschlecht (letzter verfügbarer Wert)","unit":null,"time_window":"latest","output_type":"string","format_hint":"Text","example_output":null,"value_display":"männlich","value_raw":"männlich","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"goal_bf_pct","placeholder":"{{goal_bf_pct}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"14.0","value_raw":14,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_goal_bf_pct","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Pipeline: Körper-Analyse (JSON)","Pipeline: Zielabgleich","Fortschritt zu Zielen"],"pipelines":["Gesamtanalyse","Körperkomposition","Pipeline: Körper-Analyse (JSON)","Pipeline: Zielabgleich","Fortschritt zu Zielen"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"goal_progress_score","placeholder":"{{goal_progress_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Goal Progress Score (0-100)","semantic_contract":"Goal Progress Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"51","value_raw":51,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"goal_weight","placeholder":"{{goal_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"82.0","value_raw":82.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_goal_weight","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Pipeline: Körper-Analyse (JSON)","Pipeline: Zielabgleich","Fortschritt zu Zielen"],"pipelines":["Gesamtanalyse","Pipeline: Körper-Analyse (JSON)","Pipeline: Zielabgleich","Fortschritt zu Zielen"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"height","placeholder":"{{height}}","category":"Profil","type":"atomic","description":"Körpergröße in cm","semantic_contract":"Körpergröße in cm (letzter verfügbarer Wert)","unit":"cm","time_window":"latest","output_type":"string","format_hint":"Wert cm","example_output":null,"value_display":"179.00","value_raw":"179.00","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"hip_28d_delta","placeholder":"{{hip_28d_delta}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 28d)","unit":"cm","time_window":"28d","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"hrv_vs_baseline_pct","placeholder":"{{hrv_vs_baseline_pct}}","category":"Vitalwerte","type":"atomic","description":"HRV vs. Baseline (%)","semantic_contract":"HRV vs. Baseline (%)","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"intake_volatility","placeholder":"{{intake_volatility}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"moderate","value_raw":"moderate","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"kcal_avg","placeholder":"{{kcal_avg}}","category":"Ernährung","type":"atomic","description":"Durchschn. Kalorien (30d)","semantic_contract":"Durchschn. Kalorien (30d) (Zeitfenster: 30d)","unit":"kcal","time_window":"30d","output_type":"number","format_hint":"12.3 kcal","example_output":null,"value_display":"1534 kcal/Tag (Ø 30 Tage)","value_raw":1534.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_avg","module":"placeholder_resolver.py","function":"get_nutrition_average_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"kf_aktuell","placeholder":"{{kf_aktuell}}","category":"Körper","type":"atomic","description":"Aktueller Körperfettanteil in %","semantic_contract":"Aktueller Körperfettanteil in % (letzter verfügbarer Wert)","unit":"%","time_window":"latest","output_type":"string","format_hint":"Wert %","example_output":null,"value_display":"19.9%","value_raw":"19.9%","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_latest_bf","module":"placeholder_resolver.py","function":"get_body_composition_data","data_layer_module":"body_metrics","source_tables":["caliper_log"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Fortschritt zu Zielen"],"pipelines":["Fortschritt zu Zielen"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"lbm_28d_change","placeholder":"{{lbm_28d_change}}","category":"Körper","type":"atomic","description":"Magermasse Änderung 28d (kg)","semantic_contract":"Magermasse Änderung 28d (kg) (Zeitfenster: 28d)","unit":"kg","time_window":"28d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"macro_consistency_score","placeholder":"{{macro_consistency_score}}","category":"Ernährung","type":"atomic","description":"Makro-Konsistenz Score (0-100)","semantic_contract":"Makro-Konsistenz Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"70","value_raw":70,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"monotony_score","placeholder":"{{monotony_score}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"name","placeholder":"{{name}}","category":"Profil","type":"atomic","description":"Name des Nutzers","semantic_contract":"Name des Nutzers (letzter verfügbarer Wert)","unit":null,"time_window":"latest","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Lars","value_raw":"Lars","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_profile_data","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["profiles"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Pipeline: Zielabgleich","Ernährung & Kalorien","Fortschritt zu Zielen"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Pipeline: Zielabgleich","Ernährung & Kalorien","Fortschritt zu Zielen","Gesamtanalyse (advanced)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":80,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"nutrition_days","placeholder":"{{nutrition_days}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85","example_output":null,"value_display":"31","value_raw":31,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_days","module":"placeholder_resolver.py","function":"get_nutrition_days_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"computed","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"nutrition_score","placeholder":"{{nutrition_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Nutrition Score (0-100)","semantic_contract":"Nutrition Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"71","value_raw":71,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"plateau_detected","placeholder":"{{plateau_detected}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"{}","value_raw":"{}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"protein_adequacy_28d","placeholder":"{{protein_adequacy_28d}}","category":"Ernährung","type":"atomic","description":"Protein Adequacy Score (0-100)","semantic_contract":"Protein Adequacy Score (0-100) (Zeitfenster: 28d)","unit":"%","time_window":"28d","output_type":"string","format_hint":"Wert %","example_output":null,"value_display":"88","value_raw":"88","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"protein_avg","placeholder":"{{protein_avg}}","category":"Ernährung","type":"atomic","description":"Durchschn. Protein in g (30d)","semantic_contract":"Durchschn. Protein in g (30d) (Zeitfenster: 30d)","unit":"g","time_window":"30d","output_type":"number","format_hint":"12.3 g","example_output":null,"value_display":"114g/Tag (Ø 30 Tage)","value_raw":114.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_avg","module":"placeholder_resolver.py","function":"get_nutrition_average_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"protein_days_in_target","placeholder":"{{protein_days_in_target}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"g","time_window":"unknown","output_type":"integer","format_hint":"85 g","example_output":null,"value_display":"1/8","value_raw":1,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"protein_g_per_kg","placeholder":"{{protein_g_per_kg}}","category":"Ernährung","type":"atomic","description":"Protein g/kg Körpergewicht","semantic_contract":"Protein g/kg Körpergewicht","unit":"g","time_window":"unknown","output_type":"string","format_hint":"Wert g","example_output":null,"value_display":"1.1","value_raw":"1.1","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"protein_ziel_high","placeholder":"{{protein_ziel_high}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"g","time_window":"unknown","output_type":"string","format_hint":"Wert g","example_output":null,"value_display":"188","value_raw":"188","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_protein_ziel_high","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Pipeline: Ernährungs-Analyse (JSON)","Gesamtanalyse (advanced)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"protein_ziel_low","placeholder":"{{protein_ziel_low}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"g","time_window":"unknown","output_type":"string","format_hint":"Wert g","example_output":null,"value_display":"137","value_raw":"137","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_protein_ziel_low","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Pipeline: Ernährungs-Analyse (JSON)","Gesamtanalyse (advanced)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"proxy_internal_load_7d","placeholder":"{{proxy_internal_load_7d}}","category":"Training","type":"atomic","description":"Proxy Load 7d","semantic_contract":"Proxy Load 7d (Zeitfenster: 7d)","unit":null,"time_window":"7d","output_type":"string","format_hint":"Text","example_output":null,"value_display":"373","value_raw":"373","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"quality_sessions_pct","placeholder":"{{quality_sessions_pct}}","category":"Training","type":"atomic","description":"Qualitätssessions (%)","semantic_contract":"Qualitätssessions (%)","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"10","value_raw":10,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"recent_load_balance_3d","placeholder":"{{recent_load_balance_3d}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"7d","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"0","value_raw":0.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"recomposition_quadrant","placeholder":"{{recomposition_quadrant}}","category":"Körper","type":"atomic","description":"Rekomposition-Status","semantic_contract":"Rekomposition-Status","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"recovery_score","placeholder":"{{recovery_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Recovery Score (0-100)","semantic_contract":"Recovery Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"74","value_raw":74,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"rest_day_compliance","placeholder":"{{rest_day_compliance}}","category":"Training","type":"atomic","description":"Ruhetags-Compliance (%)","semantic_contract":"Ruhetags-Compliance (%)","unit":"%","time_window":"unknown","output_type":"string","format_hint":"Wert %","example_output":null,"value_display":"0","value_raw":"0","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"rest_days_count","placeholder":"{{rest_days_count}}","category":"Schlaf & Erholung","type":"atomic","description":"Anzahl Ruhetage (30d)","semantic_contract":"Anzahl Ruhetage (30d)","unit":null,"time_window":"30d","output_type":"integer","format_hint":"85","example_output":null,"value_display":"2 Ruhetage","value_raw":2,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_rest_days_count","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"rhr_vs_baseline_pct","placeholder":"{{rhr_vs_baseline_pct}}","category":"Vitalwerte","type":"atomic","description":"RHR vs. Baseline (%)","semantic_contract":"RHR vs. Baseline (%)","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"sleep_avg_duration","placeholder":"{{sleep_avg_duration}}","category":"Schlaf & Erholung","type":"atomic","description":"Durchschn. Schlafdauer (7d)","semantic_contract":"Durchschn. Schlafdauer (7d) (Zeitfenster: 30d)","unit":"Stunden","time_window":"7d","output_type":"number","format_hint":"12.3 Stunden","example_output":null,"value_display":"6.8h","value_raw":6.8,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_sleep_avg_duration","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"sleep_avg_duration_7d","placeholder":"{{sleep_avg_duration_7d}}","category":"Schlaf & Erholung","type":"atomic","description":"Schlaf 7d (Stunden)","semantic_contract":"Schlaf 7d (Stunden) (Zeitfenster: 7d)","unit":"Stunden","time_window":"7d","output_type":"number","format_hint":"12.3 Stunden","example_output":null,"value_display":"5.9","value_raw":5.9,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"sleep_avg_quality","placeholder":"{{sleep_avg_quality}}","category":"Schlaf & Erholung","type":"atomic","description":"Durchschn. Schlafqualität (7d)","semantic_contract":"Durchschn. Schlafqualität (7d) (Zeitfenster: 30d)","unit":"%","time_window":"7d","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"34% (Deep+REM)","value_raw":34.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_sleep_avg_quality","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"sleep_debt_hours","placeholder":"{{sleep_debt_hours}}","category":"Schlaf & Erholung","type":"atomic","description":"Schlafschuld (Stunden)","semantic_contract":"Schlafschuld (Stunden)","unit":"Stunden","time_window":"unknown","output_type":"string","format_hint":"Wert Stunden","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"sleep_quality_7d","placeholder":"{{sleep_quality_7d}}","category":"Schlaf & Erholung","type":"atomic","description":"Schlafqualität 7d (0-100)","semantic_contract":"Schlafqualität 7d (0-100) (Zeitfenster: 7d)","unit":"%","time_window":"7d","output_type":"string","format_hint":"Wert %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"sleep_regularity_proxy","placeholder":"{{sleep_regularity_proxy}}","category":"Schlaf & Erholung","type":"atomic","description":"Schlaf-Regelmäßigkeit (Min Abweichung)","semantic_contract":"Schlaf-Regelmäßigkeit (Min Abweichung)","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"34.5","value_raw":"34.5","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"strain_score","placeholder":"{{strain_score}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"thigh_28d_delta","placeholder":"{{thigh_28d_delta}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 28d)","unit":null,"time_window":"28d","output_type":"number","format_hint":"12.3","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"top_3_focus_areas","placeholder":"{{top_3_focus_areas}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"1. Rhythmusgefühl (55.0%), 2. Proteinzufuhr (50.0%), 3. Kalorienbilanz (50.0%)","value_raw":"1. Rhythmusgefühl (55.0%), 2. Proteinzufuhr (50.0%), 3. Kalorienbilanz (50.0%)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_3_goals_behind_schedule","placeholder":"{{top_3_goals_behind_schedule}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"vo2max (0% erreicht), Körperfett (0% statt 25%, -25%)","value_raw":"vo2max (0% erreicht), Körperfett (0% statt 25%, -25%)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_3_goals_on_track","placeholder":"{{top_3_goals_on_track}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Ruhepuls (100% erreicht), Zielgewicht (41%, +2% voraus)","value_raw":"Ruhepuls (100% erreicht), Zielgewicht (41%, +2% voraus)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_drivers","placeholder":"{{top_drivers}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"[{\"factor\": \"Energiebilanz\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Sehr großes Defizit (-1421 kcal/Tag) → Risiko für Magermasseverlust\"}, {\"factor\": \"Schlafdauer\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Schlafdauer zu gering (5.9h/Nacht < 7h Empfehlung)\"}, {\"factor\": \"Trainingsqualität\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Nur 10% der Trainings mit guter Qualität\"}, {\"factor\": \"Ruhetagsrespekt\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Ruhetage häufig ignoriert (0%) → Übertrainingsrisiko\"}, {\"factor\": \"Proteinzufuhr\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Proteinzufuhr konstant im Zielbereich (Score: 88)\"}, {\"factor\": \"Schlafregelmäßigkeit\", \"status\": \"förderlich\", \"evidence\": \"mittel\", \"reason\": \"Schlafrhythmus regelmäßig (Abweichung: 34 min)\"}, {\"factor\": \"Trainingskonsistenz\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Trainingsfrequenz im Zielbereich (4× pro Woche)\"}, {\"factor\": \"Recovery\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Recovery Score gut (74/100)\"}]","value_raw":"[{\"factor\": \"Energiebilanz\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Sehr großes Defizit (-1421 kcal/Tag) → Risiko für Magermasseverlust\"}, {\"factor\": \"Schlafdauer\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Schlafdauer zu gering (5.9h/Nacht < 7h Empfehlung)\"}, {\"factor\": \"Trainingsqualität\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Nur 10% der Trainings mit guter Qualität\"}, {\"factor\": \"Ruhetagsrespekt\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Ruhetage häufig ignoriert (0%) → Übertrainingsrisiko\"}, {\"factor\": \"Proteinzufuhr\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Proteinzufuhr konstant im Zielbereich (Score: 88)\"}, {\"factor\": \"Schlafregelmäßigkeit\", \"status\": \"förderlich\", \"evidence\": \"mittel\", \"reason\": \"Schlafrhythmus regelmäßig (Abweichung: 34 min)\"}, {\"factor\": \"Trainingskonsistenz\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Trainingsfrequenz im Zielbereich (4× pro Woche)\"}, {\"factor\": \"Recovery\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Recovery Score gut (74/100)\"}]","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_focus_area_name","placeholder":"{{top_focus_area_name}}","category":"Focus Areas","type":"interpreted","description":"Top Focus Area Name","semantic_contract":"Top Focus Area Name [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Rhythmusgefühl","value_raw":"Rhythmusgefühl","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_focus_area_progress","placeholder":"{{top_focus_area_progress}}","category":"Focus Areas","type":"interpreted","description":"Top Focus Area Progress (%)","semantic_contract":"Top Focus Area Progress (%) [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_goal_name","placeholder":"{{top_goal_name}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Zielgewicht","value_raw":"Zielgewicht","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_goal_progress_pct","placeholder":"{{top_goal_progress_pct}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_goal_status","placeholder":"{{top_goal_status}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"active","value_raw":"active","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"training_frequency_7d","placeholder":"{{training_frequency_7d}}","category":"Training","type":"atomic","description":"Trainingshäufigkeit 7d","semantic_contract":"Trainingshäufigkeit 7d (Zeitfenster: 7d)","unit":null,"time_window":"7d","output_type":"integer","format_hint":"85","example_output":null,"value_display":"4","value_raw":4,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"training_minutes_week","placeholder":"{{training_minutes_week}}","category":"Training","type":"atomic","description":"Trainingsminuten pro Woche","semantic_contract":"Trainingsminuten pro Woche (Zeitfenster: 7d)","unit":"Minuten","time_window":"7d","output_type":"string","format_hint":"Wert Minuten","example_output":null,"value_display":"373","value_raw":"373","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"trainingstyp_verteilung","placeholder":"{{trainingstyp_verteilung}}","category":"Training","type":"raw_data","description":"Verteilung nach Trainingstypen","semantic_contract":"Verteilung nach Trainingstypen [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"strength: 35%, martial_arts: 23%, cardio: 17%","value_raw":"strength: 35%, martial_arts: 23%, cardio: 17%","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"get_trainingstyp_verteilung","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"vitals_avg_hr","placeholder":"{{vitals_avg_hr}}","category":"Vitalwerte","type":"atomic","description":"Durchschn. Ruhepuls (7d)","semantic_contract":"Durchschn. Ruhepuls (7d) (Zeitfenster: 30d)","unit":"bpm","time_window":"7d","output_type":"number","format_hint":"12.3 bpm","example_output":null,"value_display":"51 bpm","value_raw":51.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_vitals_avg_hr","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"vitals_avg_hrv","placeholder":"{{vitals_avg_hrv}}","category":"Vitalwerte","type":"atomic","description":"Durchschn. HRV (7d)","semantic_contract":"Durchschn. HRV (7d) (Zeitfenster: 30d)","unit":"ms","time_window":"7d","output_type":"number","format_hint":"12.3 bpm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_vitals_avg_hrv","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"vitals_vo2_max","placeholder":"{{vitals_vo2_max}}","category":"Vitalwerte","type":"atomic","description":"Aktueller VO2 Max","semantic_contract":"Aktueller VO2 Max","unit":"ml/kg/min","time_window":"unknown","output_type":"string","format_hint":"Wert ml/kg/min","example_output":null,"value_display":"35.5 ml/kg/min","value_raw":"35.5 ml/kg/min","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_vitals_vo2_max","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"vo2max_trend_28d","placeholder":"{{vo2max_trend_28d}}","category":"Vitalwerte","type":"atomic","description":"VO2max Trend 28d","semantic_contract":"VO2max Trend 28d (Zeitfenster: 28d)","unit":"ml/kg/min","time_window":"28d","output_type":"number","format_hint":"12.3 ml/kg/min","example_output":null,"value_display":"1.9","value_raw":1.9,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"waist_28d_delta","placeholder":"{{waist_28d_delta}}","category":"Körper","type":"atomic","description":"Taillenumfang Änderung 28d (cm)","semantic_contract":"Taillenumfang Änderung 28d (cm) (Zeitfenster: 28d)","unit":"cm","time_window":"28d","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"waist_hip_ratio","placeholder":"{{waist_hip_ratio}}","category":"Körper","type":"atomic","description":"Taille/Hüfte-Verhältnis","semantic_contract":"Taille/Hüfte-Verhältnis","unit":"cm","time_window":"unknown","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"0.901","value_raw":0.901,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"weight_28d_slope","placeholder":"{{weight_28d_slope}}","category":"Körper","type":"atomic","description":"Gewichtstrend 28d (kg/Tag)","semantic_contract":"Gewichtstrend 28d (kg/Tag) (Zeitfenster: 28d)","unit":"kg","time_window":"28d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"weight_7d_median","placeholder":"{{weight_7d_median}}","category":"Körper","type":"atomic","description":"Gewicht 7d Median (kg)","semantic_contract":"Gewicht 7d Median (kg) (Zeitfenster: 7d)","unit":"kg","time_window":"7d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"85.8","value_raw":85.8,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"weight_90d_slope","placeholder":"{{weight_90d_slope}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 90d)","unit":"kg","time_window":"90d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"weight_aktuell","placeholder":"{{weight_aktuell}}","category":"Körper","type":"atomic","description":"Aktuelles Gewicht in kg","semantic_contract":"Aktuelles Gewicht in kg (letzter verfügbarer Wert)","unit":"kg","time_window":"latest","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"85.8 kg","value_raw":85.8,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_latest_weight","module":"placeholder_resolver.py","function":"get_latest_weight_data","data_layer_module":"body_metrics","source_tables":["weight_log"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesundheitsindikatoren","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Fortschritt zu Zielen","Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Gesundheitsindikatoren","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Fortschritt zu Zielen","Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"weight_trend","placeholder":"{{weight_trend}}","category":"Körper","type":"atomic","description":"Gewichtstrend (7d/30d)","semantic_contract":"Gewichtstrend (7d/30d) (Zeitfenster: 28d)","unit":"kg","time_window":"7d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"sinkend (-0.5 kg in 28 Tagen)","value_raw":-0.5,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_weight_trend","module":"placeholder_resolver.py","function":"get_weight_trend_data","data_layer_module":"body_metrics","source_tables":["weight_log"],"source_kind":"computed","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Fortschritt zu Zielen"],"pipelines":["Gesamtanalyse","Körperkomposition","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Fortschritt zu Zielen"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":["Description says 30d/28d but implementation is 7d"],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":true,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"zeitraum_30d","placeholder":"{{zeitraum_30d}}","category":"Zeitraum","type":"atomic","description":"30-Tage-Zeitraum","semantic_contract":"30-Tage-Zeitraum (Zeitfenster: 30d)","unit":null,"time_window":"30d","output_type":"date","format_hint":"YYYY-MM-DD","example_output":null,"value_display":"letzte 30 Tage","value_raw":null,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source","value_raw"]},{"key":"zeitraum_7d","placeholder":"{{zeitraum_7d}}","category":"Zeitraum","type":"atomic","description":"7-Tage-Zeitraum","semantic_contract":"7-Tage-Zeitraum (Zeitfenster: 7d)","unit":null,"time_window":"7d","output_type":"date","format_hint":"YYYY-MM-DD","example_output":null,"value_display":"letzte 7 Tage","value_raw":null,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source","value_raw"]},{"key":"zeitraum_90d","placeholder":"{{zeitraum_90d}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 90d)","unit":null,"time_window":"90d","output_type":"date","format_hint":"YYYY-MM-DD","example_output":null,"value_display":"letzte 90 Tage","value_raw":null,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source","value_raw"]}],"by_category":{"Profil":[{"key":"name","placeholder":"{{name}}","category":"Profil","type":"atomic","description":"Name des Nutzers","semantic_contract":"Name des Nutzers (letzter verfügbarer Wert)","unit":null,"time_window":"latest","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Lars","value_raw":"Lars","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_profile_data","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["profiles"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Pipeline: Zielabgleich","Ernährung & Kalorien","Fortschritt zu Zielen"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Pipeline: Zielabgleich","Ernährung & Kalorien","Fortschritt zu Zielen","Gesamtanalyse (advanced)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":80,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"age","placeholder":"{{age}}","category":"Profil","type":"atomic","description":"Alter in Jahren","semantic_contract":"Alter in Jahren (letzter verfügbarer Wert)","unit":"Jahre","time_window":"latest","output_type":"string","format_hint":"Wert Jahre","example_output":null,"value_display":"55","value_raw":"55","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"calculate_age","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["profiles"],"source_kind":"computed","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Pipeline: Körper-Analyse (JSON)"],"pipelines":["Pipeline: Körper-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":80,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"height","placeholder":"{{height}}","category":"Profil","type":"atomic","description":"Körpergröße in cm","semantic_contract":"Körpergröße in cm (letzter verfügbarer Wert)","unit":"cm","time_window":"latest","output_type":"string","format_hint":"Wert cm","example_output":null,"value_display":"179.00","value_raw":"179.00","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"geschlecht","placeholder":"{{geschlecht}}","category":"Profil","type":"atomic","description":"Geschlecht","semantic_contract":"Geschlecht (letzter verfügbarer Wert)","unit":null,"time_window":"latest","output_type":"string","format_hint":"Text","example_output":null,"value_display":"männlich","value_raw":"männlich","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]}],"Körper":[{"key":"weight_aktuell","placeholder":"{{weight_aktuell}}","category":"Körper","type":"atomic","description":"Aktuelles Gewicht in kg","semantic_contract":"Aktuelles Gewicht in kg (letzter verfügbarer Wert)","unit":"kg","time_window":"latest","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"85.8 kg","value_raw":85.8,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_latest_weight","module":"placeholder_resolver.py","function":"get_latest_weight_data","data_layer_module":"body_metrics","source_tables":["weight_log"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesundheitsindikatoren","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Fortschritt zu Zielen","Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Gesundheitsindikatoren","Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Fortschritt zu Zielen","Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"weight_trend","placeholder":"{{weight_trend}}","category":"Körper","type":"atomic","description":"Gewichtstrend (7d/30d)","semantic_contract":"Gewichtstrend (7d/30d) (Zeitfenster: 28d)","unit":"kg","time_window":"7d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"sinkend (-0.5 kg in 28 Tagen)","value_raw":-0.5,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_weight_trend","module":"placeholder_resolver.py","function":"get_weight_trend_data","data_layer_module":"body_metrics","source_tables":["weight_log"],"source_kind":"computed","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Fortschritt zu Zielen"],"pipelines":["Gesamtanalyse","Körperkomposition","Aktivität & Training","Pipeline: Körper-Analyse (JSON)","Fortschritt zu Zielen"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":["Description says 30d/28d but implementation is 7d"],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":true,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"kf_aktuell","placeholder":"{{kf_aktuell}}","category":"Körper","type":"atomic","description":"Aktueller Körperfettanteil in %","semantic_contract":"Aktueller Körperfettanteil in % (letzter verfügbarer Wert)","unit":"%","time_window":"latest","output_type":"string","format_hint":"Wert %","example_output":null,"value_display":"19.9%","value_raw":"19.9%","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_latest_bf","module":"placeholder_resolver.py","function":"get_body_composition_data","data_layer_module":"body_metrics","source_tables":["caliper_log"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Fortschritt zu Zielen"],"pipelines":["Fortschritt zu Zielen"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"bmi","placeholder":"{{bmi}}","category":"Körper","type":"atomic","description":"Body Mass Index","semantic_contract":"Body Mass Index","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"26.8","value_raw":"26.8","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"calculate_bmi","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["weight_log","profiles"],"source_kind":"computed","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["time_window"]},{"key":"weight_7d_median","placeholder":"{{weight_7d_median}}","category":"Körper","type":"atomic","description":"Gewicht 7d Median (kg)","semantic_contract":"Gewicht 7d Median (kg) (Zeitfenster: 7d)","unit":"kg","time_window":"7d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"85.8","value_raw":85.8,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"weight_28d_slope","placeholder":"{{weight_28d_slope}}","category":"Körper","type":"atomic","description":"Gewichtstrend 28d (kg/Tag)","semantic_contract":"Gewichtstrend 28d (kg/Tag) (Zeitfenster: 28d)","unit":"kg","time_window":"28d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"fm_28d_change","placeholder":"{{fm_28d_change}}","category":"Körper","type":"atomic","description":"Fettmasse Änderung 28d (kg)","semantic_contract":"Fettmasse Änderung 28d (kg) (Zeitfenster: 28d)","unit":"kg","time_window":"28d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"lbm_28d_change","placeholder":"{{lbm_28d_change}}","category":"Körper","type":"atomic","description":"Magermasse Änderung 28d (kg)","semantic_contract":"Magermasse Änderung 28d (kg) (Zeitfenster: 28d)","unit":"kg","time_window":"28d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"waist_28d_delta","placeholder":"{{waist_28d_delta}}","category":"Körper","type":"atomic","description":"Taillenumfang Änderung 28d (cm)","semantic_contract":"Taillenumfang Änderung 28d (cm) (Zeitfenster: 28d)","unit":"cm","time_window":"28d","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"waist_hip_ratio","placeholder":"{{waist_hip_ratio}}","category":"Körper","type":"atomic","description":"Taille/Hüfte-Verhältnis","semantic_contract":"Taille/Hüfte-Verhältnis","unit":"cm","time_window":"unknown","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"0.901","value_raw":0.901,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"recomposition_quadrant","placeholder":"{{recomposition_quadrant}}","category":"Körper","type":"atomic","description":"Rekomposition-Status","semantic_contract":"Rekomposition-Status","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]}],"Unknown":[{"key":"caliper_summary","placeholder":"{{caliper_summary}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"19.9% (jackson3 am 2026-03-13)","value_raw":"19.9% (jackson3 am 2026-03-13)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_caliper_summary","module":"placeholder_resolver.py","function":"get_body_composition_data","data_layer_module":"body_metrics","source_tables":["caliper_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"circ_summary","placeholder":"{{circ_summary}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Nacken 34.0cm (vor 1 Woche), Brust 99.3cm (vor 2 Wochen), Taille 91.2cm (vor 2 Wochen), Bauch 93.7cm (vor 2 Wochen), Hüfte 101.2cm (vor 2 Wochen), Oberschenkel 61.6cm (vor 2 Wochen), Wade 39.7cm (vor 2 Wochen), Arm 36.3cm (vor 2 Wochen)","value_raw":"Nacken 34.0cm (vor 1 Woche), Brust 99.3cm (vor 2 Wochen), Taille 91.2cm (vor 2 Wochen), Bauch 93.7cm (vor 2 Wochen), Hüfte 101.2cm (vor 2 Wochen), Oberschenkel 61.6cm (vor 2 Wochen), Wade 39.7cm (vor 2 Wochen), Arm 36.3cm (vor 2 Wochen)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by body_metrics"},"source":{"resolver":"get_circ_summary","module":"placeholder_resolver.py","function":"get_circumference_summary_data","data_layer_module":"body_metrics","source_tables":["circumference_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)"],"pipelines":["Gesamtanalyse","Körperkomposition","Gesundheitsindikatoren","Pipeline: Körper-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"goal_weight","placeholder":"{{goal_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"82.0","value_raw":82.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_goal_weight","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Pipeline: Körper-Analyse (JSON)","Pipeline: Zielabgleich","Fortschritt zu Zielen"],"pipelines":["Gesamtanalyse","Pipeline: Körper-Analyse (JSON)","Pipeline: Zielabgleich","Fortschritt zu Zielen"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"goal_bf_pct","placeholder":"{{goal_bf_pct}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"14.0","value_raw":14,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_goal_bf_pct","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals"],"source_kind":"direct","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse","Körperkomposition","Pipeline: Körper-Analyse (JSON)","Pipeline: Zielabgleich","Fortschritt zu Zielen"],"pipelines":["Gesamtanalyse","Körperkomposition","Pipeline: Körper-Analyse (JSON)","Pipeline: Zielabgleich","Fortschritt zu Zielen"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"nutrition_days","placeholder":"{{nutrition_days}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85","example_output":null,"value_display":"31","value_raw":31,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_days","module":"placeholder_resolver.py","function":"get_nutrition_days_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"computed","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"protein_ziel_low","placeholder":"{{protein_ziel_low}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"g","time_window":"unknown","output_type":"string","format_hint":"Wert g","example_output":null,"value_display":"137","value_raw":"137","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_protein_ziel_low","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Pipeline: Ernährungs-Analyse (JSON)","Gesamtanalyse (advanced)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"protein_ziel_high","placeholder":"{{protein_ziel_high}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"g","time_window":"unknown","output_type":"string","format_hint":"Wert g","example_output":null,"value_display":"188","value_raw":"188","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_protein_ziel_high","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Ernährung & Kalorien (Kopie)","Ernährung & Kalorien","Pipeline: Ernährungs-Analyse (JSON)","Gesamtanalyse (advanced)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"activity_detail","placeholder":"{{activity_detail}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"2026-03-28: Traditionelles Krafttraining (47min, 311kcal HF=103)\n2026-03-28: Traditionelles Krafttraining (46min, 181kcal HF=102)\n2026-03-27: Outdoor Spaziergang (83min, 309kcal HF=79)\n2026-03-26: Matrial Arts (195min, 1000kcal HF=85)\n2026-03-25: Traditionelles Krafttraining (50min, 182kcal HF=94)\n2026-03-24: Matrial Arts (69min, 386kcal HF=103)\n2026-03-24: Outdoor Ausführen (46min, 162kcal HF=122)\n2026-03-24: Sportarten auf Rollschuhen (47min, 544kcal HF=136)\n2026-03-23: Traditionelles Krafttraining (48min, 179kcal HF=99)\n2026-03-22: Cardio Dance (115min, 399kcal HF=99)\n2026-03-22: Sportarten auf Rollschuhen (45min, 440kcal HF=143)\n2026-03-21: Traditionelles Krafttraining (35min, 141kcal HF=108)\n2026-03-21: Outdoor Spaziergang (62min, 325kcal HF=86)\n2026-03-20: Outdoor Spaziergang (74min, 379kcal HF=88)\n2026-03-19: Traditionelles Krafttraining (44min, 179kcal HF=102)\n2026-03-19: Matrial Arts (106min, 599kcal HF=103)\n2026-03-19: Matrial Arts (2min, 12kcal HF=96)","value_raw":"2026-03-28: Traditionelles Krafttraining (47min, 311kcal HF=103)\n2026-03-28: Traditionelles Krafttraining (46min, 181kcal HF=102)\n2026-03-27: Outdoor Spaziergang (83min, 309kcal HF=79)\n2026-03-26: Matrial Arts (195min, 1000kcal HF=85)\n2026-03-25: Traditionelles Krafttraining (50min, 182kcal HF=94)\n2026-03-24: Matrial Arts (69min, 386kcal HF=103)\n2026-03-24: Outdoor Ausführen (46min, 162kcal HF=122)\n2026-03-24: Sportarten auf Rollschuhen (47min, 544kcal HF=136)\n2026-03-23: Traditionelles Krafttraining (48min, 179kcal HF=99)\n2026-03-22: Cardio Dance (115min, 399kcal HF=99)\n2026-03-22: Sportarten auf Rollschuhen (45min, 440kcal HF=143)\n2026-03-21: Traditionelles Krafttraining (35min, 141kcal HF=108)\n2026-03-21: Outdoor Spaziergang (62min, 325kcal HF=86)\n2026-03-20: Outdoor Spaziergang (74min, 379kcal HF=88)\n2026-03-19: Traditionelles Krafttraining (44min, 179kcal HF=102)\n2026-03-19: Matrial Arts (106min, 599kcal HF=103)\n2026-03-19: Matrial Arts (2min, 12kcal HF=96)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by activity_metrics"},"source":{"resolver":"get_activity_detail","module":"placeholder_resolver.py","function":"get_activity_detail_data","data_layer_module":"activity_metrics","source_tables":["activity_log","training_types"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Aktivität & Training","Pipeline: Aktivitäts-Analyse (JSON)"],"pipelines":["Aktivität & Training","Pipeline: Aktivitäts-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":80,"orphaned_placeholder":false,"unresolved_fields":["time_window"]},{"key":"zeitraum_90d","placeholder":"{{zeitraum_90d}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 90d)","unit":null,"time_window":"90d","output_type":"date","format_hint":"YYYY-MM-DD","example_output":null,"value_display":"letzte 90 Tage","value_raw":null,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source","value_raw"]},{"key":"top_goal_name","placeholder":"{{top_goal_name}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Zielgewicht","value_raw":"Zielgewicht","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_goal_progress_pct","placeholder":"{{top_goal_progress_pct}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_goal_status","placeholder":"{{top_goal_status}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"active","value_raw":"active","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_recovery_progress","placeholder":"{{focus_cat_recovery_progress}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"74","value_raw":"74","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_recovery_weight","placeholder":"{{focus_cat_recovery_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"0.0","value_raw":0.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_vitalwerte_progress","placeholder":"{{focus_cat_vitalwerte_progress}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"74","value_raw":"74","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_vitalwerte_weight","placeholder":"{{focus_cat_vitalwerte_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"23.0","value_raw":23.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_mental_progress","placeholder":"{{focus_cat_mental_progress}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"74","value_raw":"74","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_mental_weight","placeholder":"{{focus_cat_mental_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"0.0","value_raw":0.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_lebensstil_progress","placeholder":"{{focus_cat_lebensstil_progress}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"81","value_raw":"81","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_lebensstil_weight","placeholder":"{{focus_cat_lebensstil_weight}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"23.0","value_raw":23.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"weight_90d_slope","placeholder":"{{weight_90d_slope}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 90d)","unit":"kg","time_window":"90d","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"hip_28d_delta","placeholder":"{{hip_28d_delta}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 28d)","unit":"cm","time_window":"28d","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"chest_28d_delta","placeholder":"{{chest_28d_delta}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 28d)","unit":"cm","time_window":"28d","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"arm_28d_delta","placeholder":"{{arm_28d_delta}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 28d)","unit":"cm","time_window":"28d","output_type":"number","format_hint":"12.3 cm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"thigh_28d_delta","placeholder":"{{thigh_28d_delta}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available (Zeitfenster: 28d)","unit":null,"time_window":"28d","output_type":"number","format_hint":"12.3","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"energy_deficit_surplus","placeholder":"{{energy_deficit_surplus}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"kcal","time_window":"unknown","output_type":"string","format_hint":"Wert kcal","example_output":null,"value_display":"deficit","value_raw":"deficit","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"protein_days_in_target","placeholder":"{{protein_days_in_target}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"g","time_window":"unknown","output_type":"integer","format_hint":"85 g","example_output":null,"value_display":"1/8","value_raw":1,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"intake_volatility","placeholder":"{{intake_volatility}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"moderate","value_raw":"moderate","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"ability_balance_mental","placeholder":"{{ability_balance_mental}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"ability_balance_coordination","placeholder":"{{ability_balance_coordination}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"ability_balance_mobility","placeholder":"{{ability_balance_mobility}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"monotony_score","placeholder":"{{monotony_score}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"strain_score","placeholder":"{{strain_score}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":55,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"recent_load_balance_3d","placeholder":"{{recent_load_balance_3d}}","category":"Unknown","type":"atomic","description":"No description available","semantic_contract":"No description available","unit":"%","time_window":"7d","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"0","value_raw":0.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"correlation_energy_weight_lag","placeholder":"{{correlation_energy_weight_lag}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"{\"best_lag\": 7, \"correlation\": -0.45, \"direction\": \"negative\", \"confidence\": \"medium\", \"data_points\": 80}","value_raw":7.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"correlation_protein_lbm","placeholder":"{{correlation_protein_lbm}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Wert g","example_output":null,"value_display":"{\"best_lag\": 0, \"correlation\": 0.32, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 28}","value_raw":"{\"best_lag\": 0, \"correlation\": 0.32, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 28}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"correlation_load_hrv","placeholder":"{{correlation_load_hrv}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Wert bpm","example_output":null,"value_display":"{\"best_lag\": 1, \"correlation\": -0.38, \"direction\": \"negative\", \"confidence\": \"medium\", \"data_points\": 25}","value_raw":"{\"best_lag\": 1, \"correlation\": -0.38, \"direction\": \"negative\", \"confidence\": \"medium\", \"data_points\": 25}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"correlation_load_rhr","placeholder":"{{correlation_load_rhr}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Wert bpm","example_output":null,"value_display":"{\"best_lag\": 1, \"correlation\": 0.42, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 25}","value_raw":"{\"best_lag\": 1, \"correlation\": 0.42, \"direction\": \"positive\", \"confidence\": \"medium\", \"data_points\": 25}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"correlation_sleep_recovery","placeholder":"{{correlation_sleep_recovery}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"{\"correlation\": 0.65, \"direction\": \"positive\", \"confidence\": \"high\", \"data_points\": 28}","value_raw":"{\"correlation\": 0.65, \"direction\": \"positive\", \"confidence\": \"high\", \"data_points\": 28}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Pearson correlation with significance testing","thresholds":{"min_data_points":7},"notes":"Requires minimum 7 data points for meaningful correlation"},"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"plateau_detected","placeholder":"{{plateau_detected}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"{}","value_raw":"{}","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_drivers","placeholder":"{{top_drivers}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"[{\"factor\": \"Energiebilanz\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Sehr großes Defizit (-1421 kcal/Tag) → Risiko für Magermasseverlust\"}, {\"factor\": \"Schlafdauer\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Schlafdauer zu gering (5.9h/Nacht < 7h Empfehlung)\"}, {\"factor\": \"Trainingsqualität\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Nur 10% der Trainings mit guter Qualität\"}, {\"factor\": \"Ruhetagsrespekt\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Ruhetage häufig ignoriert (0%) → Übertrainingsrisiko\"}, {\"factor\": \"Proteinzufuhr\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Proteinzufuhr konstant im Zielbereich (Score: 88)\"}, {\"factor\": \"Schlafregelmäßigkeit\", \"status\": \"förderlich\", \"evidence\": \"mittel\", \"reason\": \"Schlafrhythmus regelmäßig (Abweichung: 34 min)\"}, {\"factor\": \"Trainingskonsistenz\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Trainingsfrequenz im Zielbereich (4× pro Woche)\"}, {\"factor\": \"Recovery\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Recovery Score gut (74/100)\"}]","value_raw":"[{\"factor\": \"Energiebilanz\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Sehr großes Defizit (-1421 kcal/Tag) → Risiko für Magermasseverlust\"}, {\"factor\": \"Schlafdauer\", \"status\": \"hinderlich\", \"evidence\": \"hoch\", \"reason\": \"Schlafdauer zu gering (5.9h/Nacht < 7h Empfehlung)\"}, {\"factor\": \"Trainingsqualität\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Nur 10% der Trainings mit guter Qualität\"}, {\"factor\": \"Ruhetagsrespekt\", \"status\": \"hinderlich\", \"evidence\": \"mittel\", \"reason\": \"Ruhetage häufig ignoriert (0%) → Übertrainingsrisiko\"}, {\"factor\": \"Proteinzufuhr\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Proteinzufuhr konstant im Zielbereich (Score: 88)\"}, {\"factor\": \"Schlafregelmäßigkeit\", \"status\": \"förderlich\", \"evidence\": \"mittel\", \"reason\": \"Schlafrhythmus regelmäßig (Abweichung: 34 min)\"}, {\"factor\": \"Trainingskonsistenz\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Trainingsfrequenz im Zielbereich (4× pro Woche)\"}, {\"factor\": \"Recovery\", \"status\": \"förderlich\", \"evidence\": \"hoch\", \"reason\": \"Recovery Score gut (74/100)\"}]","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"active_goals_json","placeholder":"{{active_goals_json}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"json","format_hint":"JSON object","example_output":null,"value_display":"[{\"id\": \"84212e3d-39e5-4a16-92c5-6b3115a61050\", \"goal_type\": \"rhr\", \"name\": \"Ruhepuls\", \"target_value\": \"52.00\", \"target_date\": null, \"current_value\": \"51.00\", \"start_value\": \"54.00\", \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": true, \"created_at\": \"2026-03-26 20:58:57.564807\"}, {\"id\": \"a76dfccc-a543-42e5-8665-471a97eb2078\", \"goal_type\": \"sport_pro_woche\", \"name\": null, \"target_value\": \"3.00\", \"target_date\": null, \"current_value\": null, \"start_value\": null, \"start_date\": \"2026-03-27\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-27 21:11:23.476309\"}, {\"id\": \"4943a889-50ca-4b76-999c-6de0c461b8d7\", \"goal_type\": \"vo2max\", \"name\": null, \"target_value\": \"43.00\", \"target_date\": null, \"current_value\": \"35.50\", \"start_value\": \"35.50\", \"start_date\": \"2026-03-27\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-27 05:17:09.626589\"}, {\"id\": \"fb9b9701-d883-4201-9ee6-c1729b72d551\", \"goal_type\": \"bp\", \"name\": null, \"target_value\": \"120.00\", \"target_date\": null, \"current_value\": null, \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:58:45.860130\"}, {\"id\": \"b3cfb6d1-42e2-4f64-8d16-3f89ac37295c\", \"goal_type\": \"flexibility\", \"name\": null, \"target_value\": \"120.00\", \"target_date\": \"2026-10-01\", \"current_value\": \"30.00\", \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:57:40.832316\"}, {\"id\": \"370afea2-e744-40e2-b778-bebfacebe270\", \"goal_type\": \"strength\", \"name\": null, \"target_value\": \"120.00\", \"target_date\": \"2026-05-31\", \"current_value\": \"88.00\", \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:56:28.974447\"}, {\"id\": \"72dc0225-05a4-4c7f-a27c-da0f5619cb52\", \"goal_type\": \"body_fat\", \"name\": \"K\\u00f6rperfett\", \"target_value\": \"14.00\", \"target_date\": \"2026-05-30\", \"current_value\": \"19.90\", \"start_value\": \"19.90\", \"start_date\": \"2026-03-13\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:54:29.747574\"}, {\"id\": \"acfba058-dd5c-4190-9168-5126a3195a56\", \"goal_type\": \"lean_mass\", \"name\": null, \"target_value\": \"25.00\", \"target_date\": \"2026-05-31\", \"current_value\": \"20.00\", \"start_value\": null, \"start_date\": \"2026-03-26\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 20:44:18.678284\"}, {\"id\": \"4bd8bcd9-f8b8-424b-9871-a01c15058a52\", \"goal_type\": \"weight\", \"name\": \"Zielgewicht\", \"target_value\": \"82.00\", \"target_date\": \"2026-05-31\", \"current_value\": \"85.20\", \"start_value\": \"87.50\", \"start_date\": \"2026-02-22\", \"progress_pct\": null, \"status\": \"active\", \"is_primary\": false, \"created_at\": \"2026-03-26 15:32:21.566137\"}]","value_raw":[{"id":"84212e3d-39e5-4a16-92c5-6b3115a61050","goal_type":"rhr","name":"Ruhepuls","target_value":"52.00","target_date":null,"current_value":"51.00","start_value":"54.00","start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":true,"created_at":"2026-03-26 20:58:57.564807"},{"id":"a76dfccc-a543-42e5-8665-471a97eb2078","goal_type":"sport_pro_woche","name":null,"target_value":"3.00","target_date":null,"current_value":null,"start_value":null,"start_date":"2026-03-27","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-27 21:11:23.476309"},{"id":"4943a889-50ca-4b76-999c-6de0c461b8d7","goal_type":"vo2max","name":null,"target_value":"43.00","target_date":null,"current_value":"35.50","start_value":"35.50","start_date":"2026-03-27","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-27 05:17:09.626589"},{"id":"fb9b9701-d883-4201-9ee6-c1729b72d551","goal_type":"bp","name":null,"target_value":"120.00","target_date":null,"current_value":null,"start_value":null,"start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:58:45.860130"},{"id":"b3cfb6d1-42e2-4f64-8d16-3f89ac37295c","goal_type":"flexibility","name":null,"target_value":"120.00","target_date":"2026-10-01","current_value":"30.00","start_value":null,"start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:57:40.832316"},{"id":"370afea2-e744-40e2-b778-bebfacebe270","goal_type":"strength","name":null,"target_value":"120.00","target_date":"2026-05-31","current_value":"88.00","start_value":null,"start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:56:28.974447"},{"id":"72dc0225-05a4-4c7f-a27c-da0f5619cb52","goal_type":"body_fat","name":"Körperfett","target_value":"14.00","target_date":"2026-05-30","current_value":"19.90","start_value":"19.90","start_date":"2026-03-13","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:54:29.747574"},{"id":"acfba058-dd5c-4190-9168-5126a3195a56","goal_type":"lean_mass","name":null,"target_value":"25.00","target_date":"2026-05-31","current_value":"20.00","start_value":null,"start_date":"2026-03-26","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 20:44:18.678284"},{"id":"4bd8bcd9-f8b8-424b-9871-a01c15058a52","goal_type":"weight","name":"Zielgewicht","target_value":"82.00","target_date":"2026-05-31","current_value":"85.20","start_value":"87.50","start_date":"2026-02-22","progress_pct":null,"status":"active","is_primary":false,"created_at":"2026-03-26 15:32:21.566137"}],"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"active_goals_md","placeholder":"{{active_goals_md}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"markdown","format_hint":"Markdown-formatted text","example_output":null,"value_display":"| Ziel | Aktuell | Ziel | Progress | Status |\n|------|---------|------|----------|--------|\n| Ruhepuls | 51.00 | 52.00 | 100% | 🎯 |\n| sport_pro_woche | - | 3.00 | - | ○ |\n| vo2max | 35.50 | 43.00 | 0% | ○ |\n| bp | - | 120.00 | - | ○ |\n| flexibility | 30.00 | 120.00 | - | ○ |\n| strength | 88.00 | 120.00 | - | ○ |\n| Körperfett | 19.90 | 14.00 | 0% | ○ |\n| lean_mass | 20.00 | 25.00 | - | ○ |\n| Zielgewicht | 85.20 | 82.00 | 41% | ○ |","value_raw":"| Ziel | Aktuell | Ziel | Progress | Status |\n|------|---------|------|----------|--------|\n| Ruhepuls | 51.00 | 52.00 | 100% | 🎯 |\n| sport_pro_woche | - | 3.00 | - | ○ |\n| vo2max | 35.50 | 43.00 | 0% | ○ |\n| bp | - | 120.00 | - | ○ |\n| flexibility | 30.00 | 120.00 | - | ○ |\n| strength | 88.00 | 120.00 | - | ○ |\n| Körperfett | 19.90 | 14.00 | 0% | ○ |\n| lean_mass | 20.00 | 25.00 | - | ○ |\n| Zielgewicht | 85.20 | 82.00 | 41% | ○ |","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_areas_weighted_json","placeholder":"{{focus_areas_weighted_json}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"json","format_hint":"JSON object","example_output":null,"value_display":"[{\"key\": \"rhythm\", \"name\": \"Rhythmusgef\\u00fchl\", \"category\": \"coordination\", \"weight\": 55.0}, {\"key\": \"protein_intake\", \"name\": \"Proteinzufuhr\", \"category\": \"nutrition\", \"weight\": 50.0}, {\"key\": \"calorie_balance\", \"name\": \"Kalorienbilanz\", \"category\": \"nutrition\", \"weight\": 50.0}, {\"key\": \"body_recomposition\", \"name\": \"Body Recomposition\", \"category\": \"body_composition\", \"weight\": 40.0}, {\"key\": \"anaerobic_endurance\", \"name\": \"Anaerobe Ausdauer\", \"category\": \"endurance\", \"weight\": 35.0}, {\"key\": \"macro_consistency\", \"name\": \"Makro-Konsistenz\", \"category\": \"nutrition\", \"weight\": 35.0}, {\"key\": \"weight_loss\", \"name\": \"Gewichtsverlust\", \"category\": \"body_composition\", \"weight\": 30.0}, {\"key\": \"muscle_gain\", \"name\": \"Muskelaufbau\", \"category\": \"body_composition\", \"weight\": 30.0}, {\"key\": \"strength\", \"name\": \"Maximalkraft\", \"category\": \"training\", \"weight\": 25.0}, {\"key\": \"general_health\", \"name\": \"Allgemeine Gesundheit\", \"category\": \"health\", \"weight\": 23.0}, {\"key\": \"aerobic_endurance\", \"name\": \"Aerobe Ausdauer\", \"category\": \"endurance\", \"weight\": 10.0}, {\"key\": \"flexibility\", \"name\": \"Beweglichkeit\", \"category\": \"training\", \"weight\": 5.0}]","value_raw":[{"key":"rhythm","name":"Rhythmusgefühl","category":"coordination","weight":55.0},{"key":"protein_intake","name":"Proteinzufuhr","category":"nutrition","weight":50.0},{"key":"calorie_balance","name":"Kalorienbilanz","category":"nutrition","weight":50.0},{"key":"body_recomposition","name":"Body Recomposition","category":"body_composition","weight":40.0},{"key":"anaerobic_endurance","name":"Anaerobe Ausdauer","category":"endurance","weight":35.0},{"key":"macro_consistency","name":"Makro-Konsistenz","category":"nutrition","weight":35.0},{"key":"weight_loss","name":"Gewichtsverlust","category":"body_composition","weight":30.0},{"key":"muscle_gain","name":"Muskelaufbau","category":"body_composition","weight":30.0},{"key":"strength","name":"Maximalkraft","category":"training","weight":25.0},{"key":"general_health","name":"Allgemeine Gesundheit","category":"health","weight":23.0},{"key":"aerobic_endurance","name":"Aerobe Ausdauer","category":"endurance","weight":10.0},{"key":"flexibility","name":"Beweglichkeit","category":"training","weight":5.0}],"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_areas_weighted_md","placeholder":"{{focus_areas_weighted_md}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"markdown","format_hint":"Markdown-formatted text","example_output":null,"value_display":"- **Rhythmusgefühl**: 55.0%\n- **Proteinzufuhr**: 50.0%\n- **Kalorienbilanz**: 50.0%\n- **Body Recomposition**: 40.0%\n- **Anaerobe Ausdauer**: 35.0%\n- **Makro-Konsistenz**: 35.0%\n- **Gewichtsverlust**: 30.0%\n- **Muskelaufbau**: 30.0%\n- **Maximalkraft**: 25.0%\n- **Allgemeine Gesundheit**: 23.0%\n- **Aerobe Ausdauer**: 10.0%\n- **Beweglichkeit**: 5.0%","value_raw":"- **Rhythmusgefühl**: 55.0%\n- **Proteinzufuhr**: 50.0%\n- **Kalorienbilanz**: 50.0%\n- **Body Recomposition**: 40.0%\n- **Anaerobe Ausdauer**: 35.0%\n- **Makro-Konsistenz**: 35.0%\n- **Gewichtsverlust**: 30.0%\n- **Muskelaufbau**: 30.0%\n- **Maximalkraft**: 25.0%\n- **Allgemeine Gesundheit**: 23.0%\n- **Aerobe Ausdauer**: 10.0%\n- **Beweglichkeit**: 5.0%","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_area_weights_json","placeholder":"{{focus_area_weights_json}}","category":"Unknown","type":"raw_data","description":"No description available","semantic_contract":"No description available [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"json","format_hint":"JSON object","example_output":null,"value_display":"{\"strength\": 25.0, \"flexibility\": 5.0, \"aerobic_endurance\": 10.0, \"anaerobic_endurance\": 35.0, \"rhythm\": 55.0, \"body_recomposition\": 40.0, \"weight_loss\": 30.0, \"muscle_gain\": 30.0, \"general_health\": 23.0, \"protein_intake\": 50.0, \"calorie_balance\": 50.0, \"macro_consistency\": 35.0}","value_raw":{"strength":25.0,"flexibility":5.0,"aerobic_endurance":10.0,"anaerobic_endurance":35.0,"rhythm":55.0,"body_recomposition":40.0,"weight_loss":30.0,"muscle_gain":30.0,"general_health":23.0,"protein_intake":50.0,"calorie_balance":50.0,"macro_consistency":35.0},"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_json","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":["goals","focus_area_definitions","goal_focus_contributions"],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"medium","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_3_focus_areas","placeholder":"{{top_3_focus_areas}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"1. Rhythmusgefühl (55.0%), 2. Proteinzufuhr (50.0%), 3. Kalorienbilanz (50.0%)","value_raw":"1. Rhythmusgefühl (55.0%), 2. Proteinzufuhr (50.0%), 3. Kalorienbilanz (50.0%)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_3_goals_behind_schedule","placeholder":"{{top_3_goals_behind_schedule}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"vo2max (0% erreicht), Körperfett (0% statt 25%, -25%)","value_raw":"vo2max (0% erreicht), Körperfett (0% statt 25%, -25%)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_3_goals_on_track","placeholder":"{{top_3_goals_on_track}}","category":"Unknown","type":"interpreted","description":"No description available","semantic_contract":"No description available [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Ruhepuls (100% erreicht), Zielgewicht (41%, +2% voraus)","value_raw":"Ruhepuls (100% erreicht), Zielgewicht (41%, +2% voraus)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":50,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]}],"Ernährung":[{"key":"kcal_avg","placeholder":"{{kcal_avg}}","category":"Ernährung","type":"atomic","description":"Durchschn. Kalorien (30d)","semantic_contract":"Durchschn. Kalorien (30d) (Zeitfenster: 30d)","unit":"kcal","time_window":"30d","output_type":"number","format_hint":"12.3 kcal","example_output":null,"value_display":"1534 kcal/Tag (Ø 30 Tage)","value_raw":1534.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_avg","module":"placeholder_resolver.py","function":"get_nutrition_average_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"protein_avg","placeholder":"{{protein_avg}}","category":"Ernährung","type":"atomic","description":"Durchschn. Protein in g (30d)","semantic_contract":"Durchschn. Protein in g (30d) (Zeitfenster: 30d)","unit":"g","time_window":"30d","output_type":"number","format_hint":"12.3 g","example_output":null,"value_display":"114g/Tag (Ø 30 Tage)","value_raw":114.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_avg","module":"placeholder_resolver.py","function":"get_nutrition_average_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"carb_avg","placeholder":"{{carb_avg}}","category":"Ernährung","type":"atomic","description":"Durchschn. Kohlenhydrate in g (30d)","semantic_contract":"Durchschn. Kohlenhydrate in g (30d) (Zeitfenster: 30d)","unit":"g","time_window":"30d","output_type":"number","format_hint":"12.3 g","example_output":null,"value_display":"152g/Tag (Ø 30 Tage)","value_raw":152.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_avg","module":"placeholder_resolver.py","function":"get_nutrition_average_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"fat_avg","placeholder":"{{fat_avg}}","category":"Ernährung","type":"atomic","description":"Durchschn. Fett in g (30d)","semantic_contract":"Durchschn. Fett in g (30d) (Zeitfenster: 30d)","unit":"g","time_window":"30d","output_type":"number","format_hint":"12.3 g","example_output":null,"value_display":"45g/Tag (Ø 30 Tage)","value_raw":45.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by nutrition_metrics"},"source":{"resolver":"get_nutrition_avg","module":"placeholder_resolver.py","function":"get_nutrition_average_data","data_layer_module":"nutrition_metrics","source_tables":["nutrition_log"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Pipeline: Ernährungs-Analyse (JSON)"],"pipelines":["Pipeline: Ernährungs-Analyse (JSON)"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":95,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"energy_balance_7d","placeholder":"{{energy_balance_7d}}","category":"Ernährung","type":"atomic","description":"Energiebilanz 7d (kcal/Tag)","semantic_contract":"Energiebilanz 7d (kcal/Tag) (Zeitfenster: 7d)","unit":"%","time_window":"7d","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"-1421","value_raw":-1421.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"protein_g_per_kg","placeholder":"{{protein_g_per_kg}}","category":"Ernährung","type":"atomic","description":"Protein g/kg Körpergewicht","semantic_contract":"Protein g/kg Körpergewicht","unit":"g","time_window":"unknown","output_type":"string","format_hint":"Wert g","example_output":null,"value_display":"1.1","value_raw":"1.1","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"protein_adequacy_28d","placeholder":"{{protein_adequacy_28d}}","category":"Ernährung","type":"atomic","description":"Protein Adequacy Score (0-100)","semantic_contract":"Protein Adequacy Score (0-100) (Zeitfenster: 28d)","unit":"%","time_window":"28d","output_type":"string","format_hint":"Wert %","example_output":null,"value_display":"88","value_raw":"88","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"macro_consistency_score","placeholder":"{{macro_consistency_score}}","category":"Ernährung","type":"atomic","description":"Makro-Konsistenz Score (0-100)","semantic_contract":"Makro-Konsistenz Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"70","value_raw":70,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]}],"Training":[{"key":"activity_summary","placeholder":"{{activity_summary}}","category":"Training","type":"raw_data","description":"Aktivitäts-Zusammenfassung (7d)","semantic_contract":"Aktivitäts-Zusammenfassung (7d) [Strukturierte Rohdaten]","unit":null,"time_window":"7d","output_type":"string","format_hint":"Text","example_output":null,"value_display":"17 Einheiten in 14 Tagen (Ø 66 min/Einheit, 5728 kcal gesamt)","value_raw":"17 Einheiten in 14 Tagen (Ø 66 min/Einheit, 5728 kcal gesamt)","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Based on data availability and quality thresholds","thresholds":{"min_data_points":1},"notes":"Confidence determined by activity_metrics"},"source":{"resolver":"get_activity_summary","module":"placeholder_resolver.py","function":"get_activity_summary_data","data_layer_module":"activity_metrics","source_tables":["activity_log","training_types"],"source_kind":"aggregated","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":["Gesamtanalyse"],"pipelines":["Gesamtanalyse"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"validated","provenance_confidence":"high","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":100,"orphaned_placeholder":false,"unresolved_fields":[]},{"key":"trainingstyp_verteilung","placeholder":"{{trainingstyp_verteilung}}","category":"Training","type":"raw_data","description":"Verteilung nach Trainingstypen","semantic_contract":"Verteilung nach Trainingstypen [Strukturierte Rohdaten]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"strength: 35%, martial_arts: 23%, cardio: 17%","value_raw":"strength: 35%, martial_arts: 23%, cardio: 17%","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"get_trainingstyp_verteilung","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"training_minutes_week","placeholder":"{{training_minutes_week}}","category":"Training","type":"atomic","description":"Trainingsminuten pro Woche","semantic_contract":"Trainingsminuten pro Woche (Zeitfenster: 7d)","unit":"Minuten","time_window":"7d","output_type":"string","format_hint":"Wert Minuten","example_output":null,"value_display":"373","value_raw":"373","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"training_frequency_7d","placeholder":"{{training_frequency_7d}}","category":"Training","type":"atomic","description":"Trainingshäufigkeit 7d","semantic_contract":"Trainingshäufigkeit 7d (Zeitfenster: 7d)","unit":null,"time_window":"7d","output_type":"integer","format_hint":"85","example_output":null,"value_display":"4","value_raw":4,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"quality_sessions_pct","placeholder":"{{quality_sessions_pct}}","category":"Training","type":"atomic","description":"Qualitätssessions (%)","semantic_contract":"Qualitätssessions (%)","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"10","value_raw":10,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"ability_balance_strength","placeholder":"{{ability_balance_strength}}","category":"Training","type":"atomic","description":"Ability Balance - Kraft (0-100)","semantic_contract":"Ability Balance - Kraft (0-100)","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"ability_balance_endurance","placeholder":"{{ability_balance_endurance}}","category":"Training","type":"atomic","description":"Ability Balance - Ausdauer (0-100)","semantic_contract":"Ability Balance - Ausdauer (0-100)","unit":"%","time_window":"unknown","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"proxy_internal_load_7d","placeholder":"{{proxy_internal_load_7d}}","category":"Training","type":"atomic","description":"Proxy Load 7d","semantic_contract":"Proxy Load 7d (Zeitfenster: 7d)","unit":null,"time_window":"7d","output_type":"string","format_hint":"Text","example_output":null,"value_display":"373","value_raw":"373","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":75,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"rest_day_compliance","placeholder":"{{rest_day_compliance}}","category":"Training","type":"atomic","description":"Ruhetags-Compliance (%)","semantic_contract":"Ruhetags-Compliance (%)","unit":"%","time_window":"unknown","output_type":"string","format_hint":"Wert %","example_output":null,"value_display":"0","value_raw":"0","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]}],"Schlaf & Erholung":[{"key":"sleep_avg_duration","placeholder":"{{sleep_avg_duration}}","category":"Schlaf & Erholung","type":"atomic","description":"Durchschn. Schlafdauer (7d)","semantic_contract":"Durchschn. Schlafdauer (7d) (Zeitfenster: 30d)","unit":"Stunden","time_window":"7d","output_type":"number","format_hint":"12.3 Stunden","example_output":null,"value_display":"6.8h","value_raw":6.8,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_sleep_avg_duration","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"sleep_avg_quality","placeholder":"{{sleep_avg_quality}}","category":"Schlaf & Erholung","type":"atomic","description":"Durchschn. Schlafqualität (7d)","semantic_contract":"Durchschn. Schlafqualität (7d) (Zeitfenster: 30d)","unit":"%","time_window":"7d","output_type":"number","format_hint":"12.3 %","example_output":null,"value_display":"34% (Deep+REM)","value_raw":34.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_sleep_avg_quality","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"rest_days_count","placeholder":"{{rest_days_count}}","category":"Schlaf & Erholung","type":"atomic","description":"Anzahl Ruhetage (30d)","semantic_contract":"Anzahl Ruhetage (30d)","unit":null,"time_window":"30d","output_type":"integer","format_hint":"85","example_output":null,"value_display":"2 Ruhetage","value_raw":2,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_rest_days_count","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"sleep_avg_duration_7d","placeholder":"{{sleep_avg_duration_7d}}","category":"Schlaf & Erholung","type":"atomic","description":"Schlaf 7d (Stunden)","semantic_contract":"Schlaf 7d (Stunden) (Zeitfenster: 7d)","unit":"Stunden","time_window":"7d","output_type":"number","format_hint":"12.3 Stunden","example_output":null,"value_display":"5.9","value_raw":5.9,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]},{"key":"sleep_debt_hours","placeholder":"{{sleep_debt_hours}}","category":"Schlaf & Erholung","type":"atomic","description":"Schlafschuld (Stunden)","semantic_contract":"Schlafschuld (Stunden)","unit":"Stunden","time_window":"unknown","output_type":"string","format_hint":"Wert Stunden","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"sleep_regularity_proxy","placeholder":"{{sleep_regularity_proxy}}","category":"Schlaf & Erholung","type":"atomic","description":"Schlaf-Regelmäßigkeit (Min Abweichung)","semantic_contract":"Schlaf-Regelmäßigkeit (Min Abweichung)","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"34.5","value_raw":"34.5","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"sleep_quality_7d","placeholder":"{{sleep_quality_7d}}","category":"Schlaf & Erholung","type":"atomic","description":"Schlafqualität 7d (0-100)","semantic_contract":"Schlafqualität 7d (0-100) (Zeitfenster: 7d)","unit":"%","time_window":"7d","output_type":"string","format_hint":"Wert %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["source"]}],"Vitalwerte":[{"key":"vitals_avg_hr","placeholder":"{{vitals_avg_hr}}","category":"Vitalwerte","type":"atomic","description":"Durchschn. Ruhepuls (7d)","semantic_contract":"Durchschn. Ruhepuls (7d) (Zeitfenster: 30d)","unit":"bpm","time_window":"7d","output_type":"number","format_hint":"12.3 bpm","example_output":null,"value_display":"51 bpm","value_raw":51.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_vitals_avg_hr","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"vitals_avg_hrv","placeholder":"{{vitals_avg_hrv}}","category":"Vitalwerte","type":"atomic","description":"Durchschn. HRV (7d)","semantic_contract":"Durchschn. HRV (7d) (Zeitfenster: 30d)","unit":"ms","time_window":"7d","output_type":"number","format_hint":"12.3 bpm","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_vitals_avg_hrv","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"vitals_vo2_max","placeholder":"{{vitals_vo2_max}}","category":"Vitalwerte","type":"atomic","description":"Aktueller VO2 Max","semantic_contract":"Aktueller VO2 Max","unit":"ml/kg/min","time_window":"unknown","output_type":"string","format_hint":"Wert ml/kg/min","example_output":null,"value_display":"35.5 ml/kg/min","value_raw":"35.5 ml/kg/min","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"get_vitals_vo2_max","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"vo2max_trend_28d","placeholder":"{{vo2max_trend_28d}}","category":"Vitalwerte","type":"atomic","description":"VO2max Trend 28d","semantic_contract":"VO2max Trend 28d (Zeitfenster: 28d)","unit":"ml/kg/min","time_window":"28d","output_type":"number","format_hint":"12.3 ml/kg/min","example_output":null,"value_display":"1.9","value_raw":1.9,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source"]},{"key":"hrv_vs_baseline_pct","placeholder":"{{hrv_vs_baseline_pct}}","category":"Vitalwerte","type":"atomic","description":"HRV vs. Baseline (%)","semantic_contract":"HRV vs. Baseline (%)","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"rhr_vs_baseline_pct","placeholder":"{{rhr_vs_baseline_pct}}","category":"Vitalwerte","type":"atomic","description":"RHR vs. Baseline (%)","semantic_contract":"RHR vs. Baseline (%)","unit":"%","time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]}],"Zeitraum":[{"key":"datum_heute","placeholder":"{{datum_heute}}","category":"Zeitraum","type":"atomic","description":"Heutiges Datum","semantic_contract":"Heutiges Datum","unit":null,"time_window":"unknown","output_type":"date","format_hint":"YYYY-MM-DD","example_output":null,"value_display":"02.04.2026","value_raw":null,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source","value_raw"]},{"key":"zeitraum_7d","placeholder":"{{zeitraum_7d}}","category":"Zeitraum","type":"atomic","description":"7-Tage-Zeitraum","semantic_contract":"7-Tage-Zeitraum (Zeitfenster: 7d)","unit":null,"time_window":"7d","output_type":"date","format_hint":"YYYY-MM-DD","example_output":null,"value_display":"letzte 7 Tage","value_raw":null,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source","value_raw"]},{"key":"zeitraum_30d","placeholder":"{{zeitraum_30d}}","category":"Zeitraum","type":"atomic","description":"30-Tage-Zeitraum","semantic_contract":"30-Tage-Zeitraum (Zeitfenster: 30d)","unit":null,"time_window":"30d","output_type":"date","format_hint":"YYYY-MM-DD","example_output":null,"value_display":"letzte 30 Tage","value_raw":null,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"<lambda>","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"unknown","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":true,"unresolved_fields":["source","value_raw"]}],"Scores (Phase 0b)":[{"key":"goal_progress_score","placeholder":"{{goal_progress_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Goal Progress Score (0-100)","semantic_contract":"Goal Progress Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"51","value_raw":51,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"body_progress_score","placeholder":"{{body_progress_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Body Progress Score (0-100)","semantic_contract":"Body Progress Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"41","value_raw":41,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"nutrition_score","placeholder":"{{nutrition_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Nutrition Score (0-100)","semantic_contract":"Nutrition Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"71","value_raw":71,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"activity_score","placeholder":"{{activity_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Activity Score (0-100)","semantic_contract":"Activity Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"37","value_raw":37,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":{"enabled":true,"min_data_points":null,"min_confidence":null,"filter_criteria":null,"default_filter_level":"quality","null_quality_handling":"exclude","includes_poor":false,"includes_excluded":false,"notes":"Activity metrics filter for quality='quality' by default. NULL quality_label excluded."},"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":70,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"recovery_score","placeholder":"{{recovery_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Recovery Score (0-100)","semantic_contract":"Recovery Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"74","value_raw":74,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"data_quality_score","placeholder":"{{data_quality_score}}","category":"Scores (Phase 0b)","type":"atomic","description":"Data Quality Score (0-100)","semantic_contract":"Data Quality Score (0-100)","unit":null,"time_window":"unknown","output_type":"integer","format_hint":"85 %","example_output":null,"value_display":"81","value_raw":81,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":{"supported":true,"calculation":"Based on data completeness for score components","thresholds":null,"notes":"Score confidence correlates with input data availability"},"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":65,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]}],"Focus Areas":[{"key":"top_focus_area_name","placeholder":"{{top_focus_area_name}}","category":"Focus Areas","type":"interpreted","description":"Top Focus Area Name","semantic_contract":"Top Focus Area Name [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"Rhythmusgefühl","value_raw":"Rhythmusgefühl","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_str","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"top_focus_area_progress","placeholder":"{{top_focus_area_progress}}","category":"Focus Areas","type":"interpreted","description":"Top Focus Area Progress (%)","semantic_contract":"Top Focus Area Progress (%) [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"nicht verfügbar","value_raw":null,"available":false,"missing_reason":"nicht verfügbar","missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":[],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":true,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_körper_progress","placeholder":"{{focus_cat_körper_progress}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Körper - Progress (%)","semantic_contract":"Kategorie Körper - Progress (%) [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"41","value_raw":"41","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"inferred","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_körper_weight","placeholder":"{{focus_cat_körper_weight}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Körper - Gewichtung (%)","semantic_contract":"Kategorie Körper - Gewichtung (%) [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"100.0","value_raw":100.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_ernährung_progress","placeholder":"{{focus_cat_ernährung_progress}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Ernährung - Progress (%)","semantic_contract":"Kategorie Ernährung - Progress (%) [KI-interpretiert]","unit":"bpm","time_window":"unknown","output_type":"string","format_hint":"Wert bpm","example_output":null,"value_display":"71","value_raw":"71","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_ernährung_weight","placeholder":"{{focus_cat_ernährung_weight}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Ernährung - Gewichtung (%)","semantic_contract":"Kategorie Ernährung - Gewichtung (%) [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"135.0","value_raw":135.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_aktivität_progress","placeholder":"{{focus_cat_aktivität_progress}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Aktivität - Progress (%)","semantic_contract":"Kategorie Aktivität - Progress (%) [KI-interpretiert]","unit":null,"time_window":"unknown","output_type":"string","format_hint":"Text","example_output":null,"value_display":"37","value_raw":"37","available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_int","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]},{"key":"focus_cat_aktivität_weight","placeholder":"{{focus_cat_aktivität_weight}}","category":"Focus Areas","type":"interpreted","description":"Kategorie Aktivität - Gewichtung (%)","semantic_contract":"Kategorie Aktivität - Gewichtung (%) [KI-interpretiert]","unit":"kg","time_window":"unknown","output_type":"number","format_hint":"12.3 kg","example_output":null,"value_display":"30.0","value_raw":30.0,"available":true,"missing_reason":null,"missing_value_policy":{"legacy_display":"nicht verfügbar","structured_null":true,"reason_codes":["no_data","insufficient_data","resolver_error"]},"exception_handling":{"on_error":"return_null_and_reason","notes":"Keine Exception bis in Prompt-Ebene durchreichen"},"quality_filter_policy":null,"confidence_logic":null,"source":{"resolver":"_safe_float","module":"placeholder_resolver.py","function":null,"data_layer_module":null,"source_tables":[],"source_kind":"wrapper","code_reference":null},"dependencies":["profile_id"],"used_by":{"prompts":[],"pipelines":["test0b"],"charts":[]},"version":"1.0.0","deprecated":false,"replacement":null,"known_issues":[],"notes":[],"schema_status":"draft","provenance_confidence":"low","contract_source":"documented","legacy_contract_mismatch":false,"metadata_completeness_score":60,"orphaned_placeholder":false,"unresolved_fields":["time_window","source"]}]},"summary":{"total_placeholders":111,"available":87,"missing":24,"by_type":{"atomic":72,"raw_data":10,"interpreted":29},"by_schema_status":{"validated":10,"draft":101},"quality_metrics":{"average_completeness_score":64.5,"legacy_mismatches":1,"orphaned":67,"with_quality_filter":16,"with_confidence_logic":26},"coverage":{"time_window_unknown":72,"output_type_unknown":0,"legacy_unknown_type":0,"with_unresolved_fields":101}},"gaps":{"unknown_time_window":["bmi","caliper_summary","circ_summary","goal_weight","goal_bf_pct","nutrition_days","protein_ziel_low","protein_ziel_high","activity_detail","trainingstyp_verteilung","vitals_vo2_max","datum_heute","goal_progress_score","body_progress_score","nutrition_score","activity_score","recovery_score","data_quality_score","top_goal_name","top_goal_progress_pct","top_goal_status","top_focus_area_name","top_focus_area_progress","focus_cat_körper_progress","focus_cat_körper_weight","focus_cat_ernährung_progress","focus_cat_ernährung_weight","focus_cat_aktivität_progress","focus_cat_aktivität_weight","focus_cat_recovery_progress","focus_cat_recovery_weight","focus_cat_vitalwerte_progress","focus_cat_vitalwerte_weight","focus_cat_mental_progress","focus_cat_mental_weight","focus_cat_lebensstil_progress","focus_cat_lebensstil_weight","waist_hip_ratio","recomposition_quadrant","energy_deficit_surplus","protein_g_per_kg","protein_days_in_target","macro_consistency_score","intake_volatility","quality_sessions_pct","ability_balance_strength","ability_balance_endurance","ability_balance_mental","ability_balance_coordination","ability_balance_mobility","monotony_score","strain_score","rest_day_compliance","hrv_vs_baseline_pct","rhr_vs_baseline_pct","sleep_debt_hours","sleep_regularity_proxy","correlation_energy_weight_lag","correlation_protein_lbm","correlation_load_hrv","correlation_load_rhr","correlation_sleep_recovery","plateau_detected","top_drivers","active_goals_json","active_goals_md","focus_areas_weighted_json","focus_areas_weighted_md","focus_area_weights_json","top_3_focus_areas","top_3_goals_behind_schedule","top_3_goals_on_track"],"unknown_output_type":[],"legacy_unknown_type":[],"unresolved_fields":{"height":["source"],"geschlecht":["source"],"bmi":["time_window"],"caliper_summary":["time_window"],"circ_summary":["time_window"],"goal_weight":["time_window"],"goal_bf_pct":["time_window"],"nutrition_days":["time_window"],"protein_ziel_low":["time_window","source"],"protein_ziel_high":["time_window","source"],"activity_detail":["time_window"],"trainingstyp_verteilung":["time_window","source"],"sleep_avg_duration":["source"],"sleep_avg_quality":["source"],"rest_days_count":["source"],"vitals_avg_hr":["source"],"vitals_avg_hrv":["source"],"vitals_vo2_max":["time_window","source"],"datum_heute":["time_window","source","value_raw"],"zeitraum_7d":["source","value_raw"],"zeitraum_30d":["source","value_raw"],"zeitraum_90d":["source","value_raw"],"goal_progress_score":["time_window","source"],"body_progress_score":["time_window","source"],"nutrition_score":["time_window","source"],"activity_score":["time_window","source"],"recovery_score":["time_window","source"],"data_quality_score":["time_window","source"],"top_goal_name":["time_window","source"],"top_goal_progress_pct":["time_window","source"],"top_goal_status":["time_window","source"],"top_focus_area_name":["time_window","source"],"top_focus_area_progress":["time_window","source"],"focus_cat_körper_progress":["time_window","source"],"focus_cat_körper_weight":["time_window","source"],"focus_cat_ernährung_progress":["time_window","source"],"focus_cat_ernährung_weight":["time_window","source"],"focus_cat_aktivität_progress":["time_window","source"],"focus_cat_aktivität_weight":["time_window","source"],"focus_cat_recovery_progress":["time_window","source"],"focus_cat_recovery_weight":["time_window","source"],"focus_cat_vitalwerte_progress":["time_window","source"],"focus_cat_vitalwerte_weight":["time_window","source"],"focus_cat_mental_progress":["time_window","source"],"focus_cat_mental_weight":["time_window","source"],"focus_cat_lebensstil_progress":["time_window","source"],"focus_cat_lebensstil_weight":["time_window","source"],"weight_7d_median":["source"],"weight_28d_slope":["source"],"weight_90d_slope":["source"],"fm_28d_change":["source"],"lbm_28d_change":["source"],"waist_28d_delta":["source"],"hip_28d_delta":["source"],"chest_28d_delta":["source"],"arm_28d_delta":["source"],"thigh_28d_delta":["source"],"waist_hip_ratio":["time_window","source"],"recomposition_quadrant":["time_window","source"],"energy_balance_7d":["source"],"energy_deficit_surplus":["time_window","source"],"protein_g_per_kg":["time_window","source"],"protein_days_in_target":["time_window","source"],"protein_adequacy_28d":["source"],"macro_consistency_score":["time_window","source"],"intake_volatility":["time_window","source"],"training_minutes_week":["source"],"training_frequency_7d":["source"],"quality_sessions_pct":["time_window","source"],"ability_balance_strength":["time_window","source"],"ability_balance_endurance":["time_window","source"],"ability_balance_mental":["time_window","source"],"ability_balance_coordination":["time_window","source"],"ability_balance_mobility":["time_window","source"],"proxy_internal_load_7d":["source"],"monotony_score":["time_window","source"],"strain_score":["time_window","source"],"rest_day_compliance":["time_window","source"],"vo2max_trend_28d":["source"],"hrv_vs_baseline_pct":["time_window","source"],"rhr_vs_baseline_pct":["time_window","source"],"sleep_avg_duration_7d":["source"],"sleep_debt_hours":["time_window","source"],"sleep_regularity_proxy":["time_window","source"],"recent_load_balance_3d":["source"],"sleep_quality_7d":["source"],"correlation_energy_weight_lag":["time_window","source"],"correlation_protein_lbm":["time_window","source"],"correlation_load_hrv":["time_window","source"],"correlation_load_rhr":["time_window","source"],"correlation_sleep_recovery":["time_window","source"],"plateau_detected":["time_window","source"],"top_drivers":["time_window","source"],"active_goals_json":["time_window","source"],"active_goals_md":["time_window","source"],"focus_areas_weighted_json":["time_window","source"],"focus_areas_weighted_md":["time_window","source"],"focus_area_weights_json":["time_window","source"],"top_3_focus_areas":["time_window","source"],"top_3_goals_behind_schedule":["time_window","source"],"top_3_goals_on_track":["time_window","source"]},"legacy_mismatches":["weight_trend"],"orphaned":["bmi","trainingstyp_verteilung","sleep_avg_duration","sleep_avg_quality","rest_days_count","vitals_avg_hr","vitals_avg_hrv","vitals_vo2_max","datum_heute","zeitraum_7d","zeitraum_30d","zeitraum_90d","data_quality_score","top_goal_name","top_goal_progress_pct","top_goal_status","top_focus_area_name","top_focus_area_progress","focus_cat_recovery_progress","focus_cat_recovery_weight","focus_cat_vitalwerte_progress","focus_cat_vitalwerte_weight","focus_cat_mental_progress","focus_cat_mental_weight","focus_cat_lebensstil_progress","focus_cat_lebensstil_weight","weight_28d_slope","weight_90d_slope","waist_28d_delta","hip_28d_delta","chest_28d_delta","arm_28d_delta","thigh_28d_delta","waist_hip_ratio","energy_deficit_surplus","protein_days_in_target","macro_consistency_score","intake_volatility","training_frequency_7d","ability_balance_endurance","ability_balance_mental","ability_balance_coordination","ability_balance_mobility","proxy_internal_load_7d","monotony_score","strain_score","rest_day_compliance","vo2max_trend_28d","rhr_vs_baseline_pct","sleep_debt_hours","sleep_regularity_proxy","recent_load_balance_3d","correlation_energy_weight_lag","correlation_protein_lbm","correlation_load_hrv","correlation_load_rhr","correlation_sleep_recovery","plateau_detected","top_drivers","active_goals_json","active_goals_md","focus_areas_weighted_json","focus_areas_weighted_md","focus_area_weights_json","top_3_focus_areas","top_3_goals_behind_schedule","top_3_goals_on_track"]}},"validation":{"compliant":72,"non_compliant":0,"issues":[]},"registry_metadata":{"error":"Registry not available: type object 'OutputType' has no attribute 'TEXT'","flat":[],"by_category":{},"evidence_report":{},"validation_report":{}}} |