INNER CODE UNIT · Python
_error_out
simonlin1212/Vibe-Research · calc/cli.py:69
def _error_out(reason: str, kind: str = "error") -> dict:
return {"status": "error", "value": None, "unit": "", "reason": reason, "details": {"kind": kind}, "display": None}
def _canon(obj):
"""规范化用于哈希:整数值浮点转 int(含 -0.0 → 0),dict 键排序。"""
if isinstance(obj, bool):
return obj
if isinstance(obj, float):
return int(obj) if obj.is_integer() else obj # 30.0 → 30,-0.0 → 0:数值相等则身份相等
if isinstance(obj, dict):
return {str(k): _canon(obj[k]) for k in sorted(obj, key=str)}
if isinstance(obj, (list, tuple)):
return [_canon(v) for v in obj]
return obj
def normalize_refs(evidence_ids: list, calc_ids: list) -> list[dict]: