35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
from __future__ import annotations
|
|
|
|
import json
|
|
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
def _load(path: str) -> dict:
|
|
return json.loads((ROOT / path).read_text(encoding="utf-8"))
|
|
|
|
|
|
def test_real_case_calibration_schema_defines_replay_contract() -> None:
|
|
schema = _load("references/real_case_calibration/catalog.schema.json")
|
|
props = schema["properties"]
|
|
|
|
assert schema["title"] == "Real Case Calibration Catalog"
|
|
assert {"case_id", "source", "chart_signature", "event_outcomes", "similarity", "replay"} <= set(props)
|
|
assert props["source"]["properties"]["source_grade"]["enum"] == ["primary", "verified_secondary", "forum_claim", "unverified"]
|
|
assert "outcome_replay_status" in props["replay"]["properties"]
|
|
assert "do_not_use_for_prediction" in props["replay"]["properties"]
|
|
|
|
|
|
def test_three_engine_parity_replay_schema_defines_raw_oracle_slots() -> None:
|
|
schema = _load("references/oracle/three_engine_parity_replay.schema.json")
|
|
engines = schema["properties"]["engines"]["properties"]
|
|
|
|
assert schema["title"] == "Three Engine Same-Chart Parity Replay"
|
|
assert {"VedAstro", "PyJHora_JHora", "jyotishganit"} <= set(engines)
|
|
assert "official_raw_response_path" in engines["VedAstro"]["properties"]
|
|
assert "raw_output_path" in engines["PyJHora_JHora"]["properties"]
|
|
assert "comparison_rows" in schema["properties"]
|
|
assert "blocked_reason" in schema["properties"]
|