"""Versioned and strictly separated reference contexts for Dashboard V5."""
from __future__ import annotations

from typing import Any

REFERENCE_CONTRACT_VERSION = "dashboard_v5_reference_context_v1"
NUTRITION_REFERENCE_SOURCE_VERSION = "DGE-EFSA-retrieved-2026-07-18"


def public_reference_context(metric: Any) -> dict[str, Any]:
    """Return presentation metadata only; never invent a numeric medical range."""
    if metric.source == "laborwerte":
        return {
            "type": "laboratory_reference",
            "label": "Laborreferenz",
            "source": "Original-Laborbericht der jeweiligen Beobachtung",
            "version": "observation-specific",
            "range_status": "per_observation",
            "display_rule": "Segmentweise; fehlender Bereich bleibt Nicht dokumentiert.",
            "contract_version": REFERENCE_CONTRACT_VERSION,
        }
    if metric.source in {"apple_health", "symptom_log"}:
        return {
            "type": "personal_comparison",
            "label": "Persönlicher Vergleich",
            "source": "Frühere eigene dokumentierte Beobachtungen",
            "version": metric.parser_contract,
            "range_status": "rolling_median_when_available",
            "display_rule": "Persönliche frühere Median-Baseline; kein Normalbereich.",
            "contract_version": REFERENCE_CONTRACT_VERSION,
        }
    if metric.source == "nutrition_daily_summary_v2":
        return {
            "type": "nutrition_orientation",
            "label": "Ernährungsorientierung",
            "source": "DGE-Referenzwerte und EFSA Dietary Reference Values",
            "version": NUTRITION_REFERENCE_SOURCE_VERSION,
            "profile": "Allgemeine Orientierung für Erwachsene; persönliches Alters-/Geschlechtsprofil nicht vollständig",
            "range_status": "not_shown_without_complete_profile_and_value_contract",
            "display_rule": "Kein Zahlenband ohne belastbare, profilpassende Quelle.",
            "contract_version": REFERENCE_CONTRACT_VERSION,
        }
    return {
        "type": "none",
        "label": "Kein Referenzkontext",
        "source": "Nicht dokumentiert",
        "version": REFERENCE_CONTRACT_VERSION,
        "range_status": "not_documented",
        "display_rule": "Kein Bereich dargestellt.",
        "contract_version": REFERENCE_CONTRACT_VERSION,
    }


def reference_label(context: dict[str, Any]) -> str:
    return str(context.get("label") or "Kein Referenzkontext")
