"""Focused contracts for Hermes's local inference admission proxy.""" from __future__ import annotations import json from pathlib import Path import yaml HERMES = Path(__file__).parents[2] / "services/hermes" def _model_gate_namespace() -> dict: document = yaml.safe_load((HERMES / "model-gate-configmap.yaml").read_text()) namespace = {"__name__": "hermes_model_gate_test"} exec(compile(document["data"]["model_gate.py"], "model_gate.py", "exec"), namespace) return namespace def test_model_gate_clamps_hosted_only_reasoning_efforts(): normalize = _model_gate_namespace()["_normalize_reasoning"] top_level = json.loads(normalize(b'{"reasoning_effort":"xhigh"}')) string_reasoning = json.loads(normalize(b'{"reasoning":"max"}')) nested = json.loads(normalize(b'{"reasoning":{"effort":"xhigh"}}')) assert top_level["reasoning_effort"] == "high" assert string_reasoning["reasoning"] == "high" assert nested["reasoning"]["effort"] == "high" def test_model_gate_preserves_supported_and_non_json_requests(): normalize = _model_gate_namespace()["_normalize_reasoning"] supported = b'{"reasoning_effort":"medium","messages":[]}' non_json = b"streamed-body" assert normalize(supported) == supported assert normalize(non_json) == non_json