- .gitignore: .claude/docs, rules, commands tracken; settings.local weiter ignorieren - DOCUMENTATION.md: verbindliche Ablage functional/technical/working/issues - .claude/README.md: Agent-Einstieg; GITEA_ISSUES_INDEX aus MCP (Stand 2026-04-08) - Arbeitspapiere von docs/ nach .claude/docs/working/ verschoben - docs/MEMBERSHIP_SYSTEM.md als Stub; kanonisch technical/MEMBERSHIP_SYSTEM.md - CLAUDE.md Pflichtlektüre und Links angepasst; docs/README.md vereinfacht Made-with: Cursor
7078 lines
204 KiB
JSON
7078 lines
204 KiB
JSON
{
|
|
"schema_version": "1.0.0",
|
|
"generated_at": "2026-03-29T19:26:40.148104",
|
|
"normative_standard": "PLACEHOLDER_METADATA_REQUIREMENTS_V2_NORMATIVE.md",
|
|
"total_placeholders": 111,
|
|
"placeholders": {
|
|
"ability_balance_coordination": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"ability_balance_endurance": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"ability_balance_mental": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"ability_balance_mobility": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"ability_balance_strength": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"active_goals_json": {
|
|
"key": "active_goals_json",
|
|
"placeholder": "{{active_goals_json}}",
|
|
"category": "Unknown",
|
|
"type": "raw_data",
|
|
"description": "No description available",
|
|
"semantic_contract": "JSON-Array aller aktiven Ziele mit vollständigen Details",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "json",
|
|
"format_hint": "JSON object",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"active_goals_md": {
|
|
"key": "active_goals_md",
|
|
"placeholder": "{{active_goals_md}}",
|
|
"category": "Unknown",
|
|
"type": "raw_data",
|
|
"description": "No description available",
|
|
"semantic_contract": "Markdown-formatierte Liste aller aktiven Ziele",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "markdown",
|
|
"format_hint": "Markdown-formatted text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"activity_detail": {
|
|
"key": "activity_detail",
|
|
"placeholder": "{{activity_detail}}",
|
|
"category": "Unknown",
|
|
"type": "raw_data",
|
|
"description": "No description available",
|
|
"semantic_contract": "Detaillierte Liste aller Trainingseinheiten mit Typ, Dauer, Intensität",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "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": "computed",
|
|
"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": [
|
|
"time_window_ambiguous: No clear time window specified"
|
|
],
|
|
"notes": [],
|
|
"schema_status": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"activity_score": {
|
|
"key": "activity_score",
|
|
"placeholder": "{{activity_score}}",
|
|
"category": "Scores (Phase 0b)",
|
|
"type": "atomic",
|
|
"description": "Activity Score (0-100)",
|
|
"semantic_contract": "Activity Score basierend auf Trainingsfrequenz, Qualitätssessions (0-100)",
|
|
"unit": "%",
|
|
"time_window": "unknown",
|
|
"output_type": "integer",
|
|
"format_hint": "85 %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"activity_summary": {
|
|
"key": "activity_summary",
|
|
"placeholder": "{{activity_summary}}",
|
|
"category": "Training",
|
|
"type": "raw_data",
|
|
"description": "Aktivitäts-Zusammenfassung (7d)",
|
|
"semantic_contract": "Strukturierte Zusammenfassung der Trainingsaktivität der letzten 7 Tage",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_activity_summary",
|
|
"module": "placeholder_resolver.py",
|
|
"function": "get_activity_summary_data",
|
|
"data_layer_module": "activity_metrics",
|
|
"source_tables": [
|
|
"activity_log"
|
|
],
|
|
"source_kind": "computed",
|
|
"code_reference": null
|
|
},
|
|
"dependencies": [
|
|
"profile_id"
|
|
],
|
|
"used_by": {
|
|
"prompts": [
|
|
"Gesamtanalyse"
|
|
],
|
|
"pipelines": [
|
|
"Gesamtanalyse"
|
|
],
|
|
"charts": []
|
|
},
|
|
"version": "1.0.0",
|
|
"deprecated": false,
|
|
"replacement": null,
|
|
"known_issues": [
|
|
"time_window_ambiguous: Function name suggests variable window, actual implementation unclear"
|
|
],
|
|
"notes": [],
|
|
"schema_status": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"age": {
|
|
"key": "age",
|
|
"placeholder": "{{age}}",
|
|
"category": "Profil",
|
|
"type": "atomic",
|
|
"description": "Alter in Jahren",
|
|
"semantic_contract": "Berechnet aus Geburtsdatum (dob) im Profil via calculate_age()",
|
|
"unit": "Jahre",
|
|
"time_window": "latest",
|
|
"output_type": "string",
|
|
"format_hint": "Wert Jahre",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "calculate_age",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"arm_28d_delta": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"bmi": {
|
|
"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": null,
|
|
"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": "calculate_bmi",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"body_progress_score": {
|
|
"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 basierend auf Gewicht/KFA-Ziel-Erreichung (0-100)",
|
|
"unit": "%",
|
|
"time_window": "unknown",
|
|
"output_type": "integer",
|
|
"format_hint": "85 %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"caliper_summary": {
|
|
"key": "caliper_summary",
|
|
"placeholder": "{{caliper_summary}}",
|
|
"category": "Unknown",
|
|
"type": "raw_data",
|
|
"description": "No description available",
|
|
"semantic_contract": "Strukturierte Zusammenfassung der letzten Caliper-Messungen mit Körperfettanteil und Methode",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_caliper_summary",
|
|
"module": "placeholder_resolver.py",
|
|
"function": "get_body_composition_data",
|
|
"data_layer_module": "body_metrics",
|
|
"source_tables": [
|
|
"caliper_log"
|
|
],
|
|
"source_kind": "computed",
|
|
"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": [
|
|
"Returns formatted text summary, not JSON"
|
|
],
|
|
"schema_status": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"carb_avg": {
|
|
"key": "carb_avg",
|
|
"placeholder": "{{carb_avg}}",
|
|
"category": "Ernährung",
|
|
"type": "atomic",
|
|
"description": "Durchschn. Kohlenhydrate in g (30d)",
|
|
"semantic_contract": "Durchschnittliche Kohlenhydrataufnahme in g über 30 Tage aus nutrition_log",
|
|
"unit": "g",
|
|
"time_window": "30d",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 g",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_nutrition_avg",
|
|
"module": "placeholder_resolver.py",
|
|
"function": "get_nutrition_average_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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"chest_28d_delta": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"circ_summary": {
|
|
"key": "circ_summary",
|
|
"placeholder": "{{circ_summary}}",
|
|
"category": "Unknown",
|
|
"type": "raw_data",
|
|
"description": "No description available",
|
|
"semantic_contract": "Best-of-Each Strategie: neueste Messung pro Körperstelle mit Altersangabe in Tagen",
|
|
"unit": null,
|
|
"time_window": "mixed",
|
|
"output_type": "string",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_circ_summary",
|
|
"module": "placeholder_resolver.py",
|
|
"function": "get_circumference_summary_data",
|
|
"data_layer_module": "body_metrics",
|
|
"source_tables": [
|
|
"circumference_log"
|
|
],
|
|
"source_kind": "computed",
|
|
"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": [
|
|
"Different body parts may have different timestamps"
|
|
],
|
|
"schema_status": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"correlation_energy_weight_lag": {
|
|
"key": "correlation_energy_weight_lag",
|
|
"placeholder": "{{correlation_energy_weight_lag}}",
|
|
"category": "Unknown",
|
|
"type": "interpreted",
|
|
"description": "No description available",
|
|
"semantic_contract": "Lag-Korrelation zwischen Energiebilanz und Gewichtsänderung (3d/7d/14d)",
|
|
"unit": "kg",
|
|
"time_window": "unknown",
|
|
"output_type": "json",
|
|
"format_hint": "12.3 kg",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"correlation_load_hrv": {
|
|
"key": "correlation_load_hrv",
|
|
"placeholder": "{{correlation_load_hrv}}",
|
|
"category": "Unknown",
|
|
"type": "interpreted",
|
|
"description": "No description available",
|
|
"semantic_contract": "No description available [KI-interpretiert]",
|
|
"unit": "bpm",
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Wert bpm",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"correlation_load_rhr": {
|
|
"key": "correlation_load_rhr",
|
|
"placeholder": "{{correlation_load_rhr}}",
|
|
"category": "Unknown",
|
|
"type": "interpreted",
|
|
"description": "No description available",
|
|
"semantic_contract": "No description available [KI-interpretiert]",
|
|
"unit": "bpm",
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Wert bpm",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"correlation_protein_lbm": {
|
|
"key": "correlation_protein_lbm",
|
|
"placeholder": "{{correlation_protein_lbm}}",
|
|
"category": "Unknown",
|
|
"type": "interpreted",
|
|
"description": "No description available",
|
|
"semantic_contract": "Korrelation zwischen Proteinaufnahme und Magermasse-Änderung",
|
|
"unit": "g",
|
|
"time_window": "unknown",
|
|
"output_type": "json",
|
|
"format_hint": "Wert g",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"correlation_sleep_recovery": {
|
|
"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": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"data_quality_score": {
|
|
"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": "%",
|
|
"time_window": "unknown",
|
|
"output_type": "integer",
|
|
"format_hint": "85 %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"datum_heute": {
|
|
"key": "datum_heute",
|
|
"placeholder": "{{datum_heute}}",
|
|
"category": "Zeitraum",
|
|
"type": "atomic",
|
|
"description": "Heutiges Datum",
|
|
"semantic_contract": "Aktuelles Datum im Format YYYY-MM-DD",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "date",
|
|
"format_hint": "2026-03-29",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"energy_balance_7d": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"energy_deficit_surplus": {
|
|
"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": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"fat_avg": {
|
|
"key": "fat_avg",
|
|
"placeholder": "{{fat_avg}}",
|
|
"category": "Ernährung",
|
|
"type": "atomic",
|
|
"description": "Durchschn. Fett in g (30d)",
|
|
"semantic_contract": "Durchschnittliche Fettaufnahme in g über 30 Tage aus nutrition_log",
|
|
"unit": "g",
|
|
"time_window": "30d",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 g",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_nutrition_avg",
|
|
"module": "placeholder_resolver.py",
|
|
"function": "get_nutrition_average_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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"fm_28d_change": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_area_weights_json": {
|
|
"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": "kg",
|
|
"time_window": "unknown",
|
|
"output_type": "json",
|
|
"format_hint": "JSON object",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_areas_weighted_json": {
|
|
"key": "focus_areas_weighted_json",
|
|
"placeholder": "{{focus_areas_weighted_json}}",
|
|
"category": "Unknown",
|
|
"type": "raw_data",
|
|
"description": "No description available",
|
|
"semantic_contract": "JSON-Array der gewichteten Focus Areas mit Progress",
|
|
"unit": "kg",
|
|
"time_window": "unknown",
|
|
"output_type": "json",
|
|
"format_hint": "JSON object",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_areas_weighted_md": {
|
|
"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": "kg",
|
|
"time_window": "unknown",
|
|
"output_type": "markdown",
|
|
"format_hint": "Markdown-formatted text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_aktivität_progress": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_aktivität_weight": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_ernährung_progress": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_ernährung_weight": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_körper_progress": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_körper_weight": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_lebensstil_progress": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_lebensstil_weight": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_mental_progress": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_mental_weight": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_recovery_progress": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_recovery_weight": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_vitalwerte_progress": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"focus_cat_vitalwerte_weight": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"geschlecht": {
|
|
"key": "geschlecht",
|
|
"placeholder": "{{geschlecht}}",
|
|
"category": "Profil",
|
|
"type": "atomic",
|
|
"description": "Geschlecht",
|
|
"semantic_contract": "Geschlecht aus Profil: m='männlich', w='weiblich'",
|
|
"unit": null,
|
|
"time_window": "latest",
|
|
"output_type": "enum",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"goal_bf_pct": {
|
|
"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": null,
|
|
"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": "get_goal_bf_pct",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"goal_progress_score": {
|
|
"key": "goal_progress_score",
|
|
"placeholder": "{{goal_progress_score}}",
|
|
"category": "Scores (Phase 0b)",
|
|
"type": "atomic",
|
|
"description": "Goal Progress Score (0-100)",
|
|
"semantic_contract": "Gewichteter Durchschnitts-Fortschritt aller aktiven Ziele (0-100)",
|
|
"unit": "%",
|
|
"time_window": "unknown",
|
|
"output_type": "integer",
|
|
"format_hint": "85 %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"goal_weight": {
|
|
"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": null,
|
|
"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": "get_goal_weight",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"height": {
|
|
"key": "height",
|
|
"placeholder": "{{height}}",
|
|
"category": "Profil",
|
|
"type": "atomic",
|
|
"description": "Körpergröße in cm",
|
|
"semantic_contract": "Körpergröße aus Profil in cm, unverändert",
|
|
"unit": "cm",
|
|
"time_window": "latest",
|
|
"output_type": "string",
|
|
"format_hint": "Wert cm",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"hip_28d_delta": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"hrv_vs_baseline_pct": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"intake_volatility": {
|
|
"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": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"kcal_avg": {
|
|
"key": "kcal_avg",
|
|
"placeholder": "{{kcal_avg}}",
|
|
"category": "Ernährung",
|
|
"type": "atomic",
|
|
"description": "Durchschn. Kalorien (30d)",
|
|
"semantic_contract": "Durchschnittliche Kalorienaufnahme über 30 Tage aus nutrition_log",
|
|
"unit": "kcal",
|
|
"time_window": "30d",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 kcal",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_nutrition_avg",
|
|
"module": "placeholder_resolver.py",
|
|
"function": "get_nutrition_average_data",
|
|
"data_layer_module": "nutrition_metrics",
|
|
"source_tables": [
|
|
"nutrition_log"
|
|
],
|
|
"source_kind": "computed",
|
|
"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": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"kf_aktuell": {
|
|
"key": "kf_aktuell",
|
|
"placeholder": "{{kf_aktuell}}",
|
|
"category": "Körper",
|
|
"type": "atomic",
|
|
"description": "Aktueller Körperfettanteil in %",
|
|
"semantic_contract": "Letzter berechneter Körperfettanteil aus caliper_log (JPL-7 oder JPL-3 Formel)",
|
|
"unit": "%",
|
|
"time_window": "latest",
|
|
"output_type": "string",
|
|
"format_hint": "Wert %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_latest_bf",
|
|
"module": "placeholder_resolver.py",
|
|
"function": "get_body_composition_data",
|
|
"data_layer_module": "body_metrics",
|
|
"source_tables": [
|
|
"caliper_log"
|
|
],
|
|
"source_kind": "computed",
|
|
"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": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"lbm_28d_change": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"macro_consistency_score": {
|
|
"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": "%",
|
|
"time_window": "unknown",
|
|
"output_type": "integer",
|
|
"format_hint": "85 %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"monotony_score": {
|
|
"key": "monotony_score",
|
|
"placeholder": "{{monotony_score}}",
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"name": {
|
|
"key": "name",
|
|
"placeholder": "{{name}}",
|
|
"category": "Profil",
|
|
"type": "atomic",
|
|
"description": "Name des Nutzers",
|
|
"semantic_contract": "Name des Profils aus der Datenbank, keine Transformation",
|
|
"unit": null,
|
|
"time_window": "latest",
|
|
"output_type": "string",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_profile_data",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"nutrition_days": {
|
|
"key": "nutrition_days",
|
|
"placeholder": "{{nutrition_days}}",
|
|
"category": "Unknown",
|
|
"type": "atomic",
|
|
"description": "No description available",
|
|
"semantic_contract": "Anzahl der Tage mit Ernährungsdaten in den letzten 30 Tagen",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "integer",
|
|
"format_hint": "85",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_nutrition_days",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"nutrition_score": {
|
|
"key": "nutrition_score",
|
|
"placeholder": "{{nutrition_score}}",
|
|
"category": "Scores (Phase 0b)",
|
|
"type": "atomic",
|
|
"description": "Nutrition Score (0-100)",
|
|
"semantic_contract": "Nutrition Score basierend auf Protein Adequacy, Makro-Konsistenz (0-100)",
|
|
"unit": "%",
|
|
"time_window": "unknown",
|
|
"output_type": "integer",
|
|
"format_hint": "85 %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"plateau_detected": {
|
|
"key": "plateau_detected",
|
|
"placeholder": "{{plateau_detected}}",
|
|
"category": "Unknown",
|
|
"type": "interpreted",
|
|
"description": "No description available",
|
|
"semantic_contract": "Plateau-Erkennung: Gewichtsstagnation trotz Kaloriendefizit",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "json",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"protein_adequacy_28d": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"protein_avg": {
|
|
"key": "protein_avg",
|
|
"placeholder": "{{protein_avg}}",
|
|
"category": "Ernährung",
|
|
"type": "atomic",
|
|
"description": "Durchschn. Protein in g (30d)",
|
|
"semantic_contract": "Durchschnittliche Proteinaufnahme in g über 30 Tage aus nutrition_log",
|
|
"unit": "g",
|
|
"time_window": "30d",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 g",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_nutrition_avg",
|
|
"module": "placeholder_resolver.py",
|
|
"function": "get_nutrition_average_data",
|
|
"data_layer_module": "nutrition_metrics",
|
|
"source_tables": [
|
|
"nutrition_log"
|
|
],
|
|
"source_kind": "computed",
|
|
"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": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"protein_days_in_target": {
|
|
"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": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"protein_g_per_kg": {
|
|
"key": "protein_g_per_kg",
|
|
"placeholder": "{{protein_g_per_kg}}",
|
|
"category": "Ernährung",
|
|
"type": "atomic",
|
|
"description": "Protein g/kg Körpergewicht",
|
|
"semantic_contract": "Aktuelle Proteinaufnahme normiert auf kg Körpergewicht (protein_avg / weight)",
|
|
"unit": "g",
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Wert g",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"protein_ziel_high": {
|
|
"key": "protein_ziel_high",
|
|
"placeholder": "{{protein_ziel_high}}",
|
|
"category": "Unknown",
|
|
"type": "atomic",
|
|
"description": "No description available",
|
|
"semantic_contract": "Obere Grenze der Protein-Zielspanne (2.2 g/kg Körpergewicht)",
|
|
"unit": "g",
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Wert g",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_protein_ziel_high",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"protein_ziel_low": {
|
|
"key": "protein_ziel_low",
|
|
"placeholder": "{{protein_ziel_low}}",
|
|
"category": "Unknown",
|
|
"type": "atomic",
|
|
"description": "No description available",
|
|
"semantic_contract": "Untere Grenze der Protein-Zielspanne (1.6 g/kg Körpergewicht)",
|
|
"unit": "g",
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Wert g",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_protein_ziel_low",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"proxy_internal_load_7d": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"quality_sessions_pct": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"recent_load_balance_3d": {
|
|
"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": "unknown",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"recomposition_quadrant": {
|
|
"key": "recomposition_quadrant",
|
|
"placeholder": "{{recomposition_quadrant}}",
|
|
"category": "Körper",
|
|
"type": "interpreted",
|
|
"description": "Rekomposition-Status",
|
|
"semantic_contract": "Klassifizierung basierend auf FM/LBM Änderungen: Optimal Recomposition (FM↓ LBM↑), Fat Loss (FM↓ LBM→), Muscle Gain (FM→ LBM↑), Weight Gain (FM↑ LBM↑)",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"recovery_score": {
|
|
"key": "recovery_score",
|
|
"placeholder": "{{recovery_score}}",
|
|
"category": "Scores (Phase 0b)",
|
|
"type": "atomic",
|
|
"description": "Recovery Score (0-100)",
|
|
"semantic_contract": "Recovery Score basierend auf Schlaf, HRV, Ruhepuls (0-100)",
|
|
"unit": "%",
|
|
"time_window": "unknown",
|
|
"output_type": "integer",
|
|
"format_hint": "85 %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"rest_day_compliance": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"rest_days_count": {
|
|
"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": "unknown",
|
|
"output_type": "integer",
|
|
"format_hint": "85",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_rest_days_count",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"rhr_vs_baseline_pct": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"sleep_avg_duration": {
|
|
"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": "30d",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 Stunden",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_sleep_avg_duration",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"sleep_avg_duration_7d": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"sleep_avg_quality": {
|
|
"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": "30d",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 %",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_sleep_avg_quality",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"sleep_debt_hours": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"sleep_quality_7d": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"sleep_regularity_proxy": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"strain_score": {
|
|
"key": "strain_score",
|
|
"placeholder": "{{strain_score}}",
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"thigh_28d_delta": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"top_3_focus_areas": {
|
|
"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": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"top_3_goals_behind_schedule": {
|
|
"key": "top_3_goals_behind_schedule",
|
|
"placeholder": "{{top_3_goals_behind_schedule}}",
|
|
"category": "Unknown",
|
|
"type": "interpreted",
|
|
"description": "No description available",
|
|
"semantic_contract": "Top 3 Ziele mit größter negativer Abweichung vom Zeitplan (Zeit-basiert)",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"top_3_goals_on_track": {
|
|
"key": "top_3_goals_on_track",
|
|
"placeholder": "{{top_3_goals_on_track}}",
|
|
"category": "Unknown",
|
|
"type": "interpreted",
|
|
"description": "No description available",
|
|
"semantic_contract": "Top 3 Ziele mit größter positiver Abweichung vom Zeitplan oder am besten im Plan",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"top_drivers": {
|
|
"key": "top_drivers",
|
|
"placeholder": "{{top_drivers}}",
|
|
"category": "Unknown",
|
|
"type": "interpreted",
|
|
"description": "No description available",
|
|
"semantic_contract": "Top Einflussfaktoren auf Ziel-Fortschritt (sortiert nach Impact)",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "json",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "_safe_json",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [
|
|
"goals",
|
|
"focus_area_definitions",
|
|
"goal_focus_contributions"
|
|
],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"top_focus_area_name": {
|
|
"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": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"top_focus_area_progress": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"top_goal_name": {
|
|
"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": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"top_goal_progress_pct": {
|
|
"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": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"top_goal_status": {
|
|
"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": null,
|
|
"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": "_safe_str",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"training_frequency_7d": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"training_minutes_week": {
|
|
"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": null,
|
|
"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": "_safe_int",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"trainingstyp_verteilung": {
|
|
"key": "trainingstyp_verteilung",
|
|
"placeholder": "{{trainingstyp_verteilung}}",
|
|
"category": "Training",
|
|
"type": "raw_data",
|
|
"description": "Verteilung nach Trainingstypen",
|
|
"semantic_contract": "Verteilung der Trainingstypen über einen Zeitraum (Anzahl Sessions pro Typ)",
|
|
"unit": null,
|
|
"time_window": "unknown",
|
|
"output_type": "string",
|
|
"format_hint": "Text",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_trainingstyp_verteilung",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"vitals_avg_hr": {
|
|
"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": "30d",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 bpm",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_vitals_avg_hr",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"vitals_avg_hrv": {
|
|
"key": "vitals_avg_hrv",
|
|
"placeholder": "{{vitals_avg_hrv}}",
|
|
"category": "Vitalwerte",
|
|
"type": "atomic",
|
|
"description": "Durchschn. HRV (7d)",
|
|
"semantic_contract": "Durchschn. HRV (7d) (Zeitfenster: 30d)",
|
|
"unit": "bpm",
|
|
"time_window": "30d",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 bpm",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "get_vitals_avg_hrv",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"vitals_vo2_max": {
|
|
"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": null,
|
|
"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": "get_vitals_vo2_max",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"vo2max_trend_28d": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"waist_28d_delta": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"waist_hip_ratio": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"weight_28d_slope": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"weight_7d_median": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"source_kind": "computed",
|
|
"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": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"weight_90d_slope": {
|
|
"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": null,
|
|
"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": "_safe_float",
|
|
"module": "placeholder_resolver.py",
|
|
"function": null,
|
|
"data_layer_module": null,
|
|
"source_tables": [],
|
|
"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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"weight_aktuell": {
|
|
"key": "weight_aktuell",
|
|
"placeholder": "{{weight_aktuell}}",
|
|
"category": "Körper",
|
|
"type": "atomic",
|
|
"description": "Aktuelles Gewicht in kg",
|
|
"semantic_contract": "Letzter verfügbarer Gewichtseintrag aus weight_log, keine Mittelung oder Glättung",
|
|
"unit": "kg",
|
|
"time_window": "latest",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 kg",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": {
|
|
"supported": true,
|
|
"calculation": "Confidence = 'high' if data exists, else 'insufficient'",
|
|
"thresholds": {
|
|
"min_data_points": 1
|
|
},
|
|
"notes": null
|
|
},
|
|
"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": "computed",
|
|
"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": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"weight_trend": {
|
|
"key": "weight_trend",
|
|
"placeholder": "{{weight_trend}}",
|
|
"category": "Körper",
|
|
"type": "atomic",
|
|
"description": "Gewichtstrend (7d/30d)",
|
|
"semantic_contract": "Gewichtstrend-Beschreibung über 28 Tage: stabil, steigend (+X kg), sinkend (-X kg)",
|
|
"unit": "kg",
|
|
"time_window": "28d",
|
|
"output_type": "number",
|
|
"format_hint": "12.3 kg",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "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": [
|
|
"time_window_inconsistent: Description says 7d/30d, implementation uses 28d"
|
|
],
|
|
"notes": [
|
|
"Consider splitting into weight_trend_7d and weight_trend_28d"
|
|
],
|
|
"schema_status": "draft",
|
|
"provenance_confidence": "medium",
|
|
"contract_source": "inferred",
|
|
"legacy_contract_mismatch": false,
|
|
"metadata_completeness_score": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"zeitraum_30d": {
|
|
"key": "zeitraum_30d",
|
|
"placeholder": "{{zeitraum_30d}}",
|
|
"category": "Zeitraum",
|
|
"type": "atomic",
|
|
"description": "30-Tage-Zeitraum",
|
|
"semantic_contract": "Zeitraum der letzten 30 Tage als Text",
|
|
"unit": null,
|
|
"time_window": "30d",
|
|
"output_type": "date",
|
|
"format_hint": "letzte 30 Tage (2026-02-27 bis 2026-03-29)",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"zeitraum_7d": {
|
|
"key": "zeitraum_7d",
|
|
"placeholder": "{{zeitraum_7d}}",
|
|
"category": "Zeitraum",
|
|
"type": "atomic",
|
|
"description": "7-Tage-Zeitraum",
|
|
"semantic_contract": "Zeitraum der letzten 7 Tage als Text",
|
|
"unit": null,
|
|
"time_window": "7d",
|
|
"output_type": "date",
|
|
"format_hint": "letzte 7 Tage (2026-03-22 bis 2026-03-29)",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
},
|
|
"zeitraum_90d": {
|
|
"key": "zeitraum_90d",
|
|
"placeholder": "{{zeitraum_90d}}",
|
|
"category": "Unknown",
|
|
"type": "atomic",
|
|
"description": "No description available",
|
|
"semantic_contract": "Zeitraum der letzten 90 Tage als Text",
|
|
"unit": null,
|
|
"time_window": "90d",
|
|
"output_type": "date",
|
|
"format_hint": "letzte 90 Tage (2025-12-29 bis 2026-03-29)",
|
|
"example_output": null,
|
|
"value_display": null,
|
|
"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": "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": 0,
|
|
"orphaned_placeholder": false,
|
|
"unresolved_fields": []
|
|
}
|
|
}
|
|
} |