def evaluate(c,evaluation_time):
    fresh=c.get("source_freshness")=="CURRENT"
    prov=bool(c.get("provenance_complete"))
    api=c.get("api_compatible") is True
    bridge=bool(c.get("bridge_valid"))
    if not fresh:
        return {"comparison_status":"STALE_EVIDENCE","decision":"REFRESH_METADATA","regime_changed":False,"bridge_valid":bridge,"source_fresh":False,"provenance_complete":prov,"api_compatible":api,"control_reason":"METADATA_OR_PROVENANCE_STALE"}
    if not prov or c.get("event_schema_same") is None or c.get("metric_semantics_same") is None:
        return {"comparison_status":"UNKNOWN","decision":"DEFER_MISSING_EVIDENCE","regime_changed":True,"bridge_valid":bridge,"source_fresh":True,"provenance_complete":False,"api_compatible":api,"control_reason":"PROVENANCE_OR_SEMANTICS_UNKNOWN"}
    semantic_equiv=bool(c.get("event_schema_same") and c.get("parameter_mapping")=="EXACT" and c.get("dimension_scope_same") and c.get("metric_semantics_same") and c.get("unit_mapping")=="EXACT" and c.get("aggregation_same") and c.get("filter_set_same") and c.get("cardinality_change")=="NONE")
    if semantic_equiv:
        return {"comparison_status":"COMPARABLE","decision":"PRESERVE_SERIES","regime_changed":False,"bridge_valid":False,"source_fresh":True,"provenance_complete":True,"api_compatible":api,"control_reason":"SAME_MEASUREMENT_REGIME"}
    if bridge and c.get("event_schema_same") and c.get("metric_semantics_same") and c.get("aggregation_same") and c.get("filter_set_same") and c.get("unit_mapping") in ("EXACT","MS_TO_S_0.001"):
        return {"comparison_status":"BRIDGED","decision":"COMPARE_WITH_BRIDGE","regime_changed":True,"bridge_valid":True,"source_fresh":True,"provenance_complete":True,"api_compatible":api,"control_reason":"EXPLICIT_SEMANTIC_BRIDGE"}
    if c.get("needs_rebase"):
        return {"comparison_status":"REBASE_REQUIRED","decision":"START_NEW_REGIME_REBASE","regime_changed":True,"bridge_valid":False,"source_fresh":True,"provenance_complete":True,"api_compatible":api,"control_reason":"SEMANTIC_BREAK_REQUIRES_NEW_BASELINE"}
    return {"comparison_status":"NOT_COMPARABLE","decision":"DO_NOT_COMPARE","regime_changed":True,"bridge_valid":False,"source_fresh":True,"provenance_complete":True,"api_compatible":api,"control_reason":"SEMANTIC_MISMATCH_API_COMPATIBILITY_NOT_ENOUGH"}
