Files
Jyotisha/tests/test_jyotishganit_field_closure_rows.py
T
2026-07-21 16:52:58 +08:00

38 lines
1.5 KiB
Python

import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKET = ROOT / "references/oracle/jyotishganit_field_closure_rows_2026_07_21.json"
INDEX = ROOT / "references/oracle/evidence_packet_index_2026_07_19.json"
def test_jyotishganit_field_closure_rows_are_observation_only():
data = json.loads(PACKET.read_text(encoding="utf-8"))
assert data["scope"] == "jyotishganit_field_closure_rows"
assert data["claim_status"] == "observation_only"
assert data["truth_matrix_allowed"] is False
assert data["source_selected_hash"] == "4709b8ade84efdea4d0a67c15f3e32cea516a5aa2e8abe3885578feda20cb3f4"
assert len(data["rows"]) == 7
def test_jyotishganit_field_rows_mark_shadbala_as_gap():
data = json.loads(PACKET.read_text(encoding="utf-8"))
rows = {row["field"]: row for row in data["rows"]}
for field in ["D2", "D4", "D9", "D10", "Panchanga", "BAV", "SAV"]:
assert rows[field]["closure_status"] == "ready_for_field_comparison"
assert data["explicit_gaps"] == [{"field": "Shadbala", "reason": "jyotishganit probe did not expose shadbala/strengths in selected raw"}]
def test_jyotishganit_field_rows_are_registered():
index = json.loads(INDEX.read_text(encoding="utf-8"))
entry = next(
row for row in index["packets"]
if row["packet_id"] == "jyotishganit_field_closure_rows_2026_07_21"
)
assert entry["domain"] == "three_engine_parity"
assert entry["claim_status"] == "observation_only"