Files
Jyotisha/tests/test_shadbala_digbala_formula_packet.py
2026-07-20 19:51:28 +08:00

42 lines
2.0 KiB
Python

import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKET = ROOT / "references/oracle/shadbala_digbala_formula_packet_2026_07_20.json"
INDEX = ROOT / "references/oracle/evidence_packet_index_2026_07_19.json"
def test_digbala_packet_classifies_all_rows_as_formula_or_unit_mismatch():
data = json.loads(PACKET.read_text(encoding="utf-8"))
assert data["scope"] == "shadbala_digbala_formula_packet"
assert data["component"] == "dig"
assert data["claim_status"] == "partial"
assert data["closure_classification"] == "formula_or_unit_mismatch"
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
assert data["summary"]["formula_or_unit_mismatch_count"] == 7
assert data["summary"]["within_tolerance_count"] == 0
def test_digbala_packet_splits_mismatch_families_without_majority_vote():
data = json.loads(PACKET.read_text(encoding="utf-8"))
rows = {row["planet"]: row for row in data["rows"]}
assert rows["Moon"]["mismatch_family"] == "local_formula_outlier"
assert rows["Mars"]["mismatch_family"] == "local_formula_outlier"
assert rows["Jupiter"]["mismatch_family"] == "local_formula_outlier"
assert rows["Saturn"]["mismatch_family"] == "small_delta_still_unfrozen"
for planet, row in rows.items():
assert row["next_evidence_owner"] == "formula_source_arbitration"
assert "house-cusp vs whole-house angular distance" in row["known_variants"]
assert row["claim_boundary"].startswith("Do not tune Digbala")
def test_digbala_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_digbala_formula_packet_2026_07_20"]
assert packet["claim_status"] == "partial"
assert packet["domain"] == "shadbala_component_closure"