Files
Jyotisha/tests/test_shadbala_naisargika_closure_packet.py
T
2026-07-20 18:40:02 +08:00

44 lines
2.0 KiB
Python

import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKET = ROOT / "references/oracle/shadbala_naisargika_closure_packet_2026_07_20.json"
INDEX = ROOT / "references/oracle/evidence_packet_index_2026_07_19.json"
def test_naisargika_packet_closes_same_unit_observation_without_truth_upgrade():
data = json.loads(PACKET.read_text(encoding="utf-8"))
assert data["scope"] == "shadbala_naisargika_closure_packet"
assert data["component"] == "naisargika"
assert data["claim_status"] == "partial"
assert data["closure_classification"] == "within_tolerance_observation"
assert data["absolute_parity_ready"] is False
assert data["production_tuning_allowed"] is False
assert data["truth_matrix_allowed"] is False
assert data["summary"] == {
"component_row_count": 7,
"max_delta_virupa": 0.0,
"source_count_per_row": 5,
"within_tolerance_count": 7,
}
def test_naisargika_packet_has_all_visible_planets_and_unit_contract():
data = json.loads(PACKET.read_text(encoding="utf-8"))
rows = {row["planet"]: row for row in data["rows"]}
assert set(rows) == {"Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"}
for row in rows.values():
values = row["normalized_values_virupa"]
assert set(values) == {"local", "jyotishganit", "xalen", "vp_jain_local", "vp_jain_published"}
assert max(values.values()) - min(values.values()) == 0
assert row["unit_contract"] == "Virupa fixed natural-strength table; 60 Virupa = 1 Rupa."
assert row["closure_status"] == "same_unit_observation_frozen"
def test_naisargika_packet_is_indexed_as_partial_component_closure():
index = json.loads(INDEX.read_text(encoding="utf-8"))
packets = {row["packet_id"]: row for row in index["packets"]}
packet = packets["shadbala_naisargika_closure_packet_2026_07_20"]
assert packet["claim_status"] == "partial"
assert packet["domain"] == "shadbala_component_closure"