Files
Jyotisha/tests/test_claim_audit_runtime_gate.py
2026-07-19 23:30:46 +08:00

41 lines
1.6 KiB
Python

from __future__ import annotations
from pathlib import Path
from scripts.claim_audit_runtime_gate import evaluate_claim
ROOT = Path(__file__).resolve().parents[1]
INDEX = ROOT / "references/oracle/evidence_packet_index_2026_07_19.json"
def test_claim_gate_blocks_verified_claims_for_blocked_domain() -> None:
result = evaluate_claim(INDEX, "timing_holdout", "verified_precise_prediction")
assert result["decision"] == "block"
assert result["allowed_claim_status"] == "exploratory_unvalidated"
assert result["production_tuning_allowed"] is False
assert set(result["blocking_packets"]) == {
"day_level_human_annotation_packet",
"day_level_holdout_readiness_ledger",
}
def test_claim_gate_degrades_partial_domains() -> None:
result = evaluate_claim(INDEX, "shadbala_ashtakavarga", "complete_absolute_truth")
assert result["decision"] == "degrade"
assert result["allowed_claim_status"] == "partial_method_variant"
assert result["blocking_packets"] == ["xalen_shadbala_av_delta_report"]
assert "formulas/units/school variants remain open" in result["boundaries"][0]
def test_claim_gate_allows_ready_contract_but_not_prediction_truth() -> None:
result = evaluate_claim(INDEX, "profile_schema", "ready_contract")
assert result["decision"] == "allow"
assert result["allowed_claim_status"] == "ready_contract"
assert result["blocking_packets"] == []
def test_claim_gate_blocks_unknown_domain() -> None:
result = evaluate_claim(INDEX, "unknown_domain", "complete")
assert result["decision"] == "block"
assert result["allowed_claim_status"] == "blocked_unknown_domain"