feat: sync shadbala same unit normalizer

This commit is contained in:
732642856
2026-07-19 22:40:15 +08:00
parent 05a7106006
commit bd9798342e
4 changed files with 985 additions and 1 deletions
@@ -5,7 +5,7 @@
"production_tuning_allowed": false,
"boundary": "Index of current governance packets only. Raw oracle artifacts remain in references/oracle/artifacts and are not all duplicated here.",
"summary": {
"packet_count": 61,
"packet_count": 62,
"blocked_or_partial_count": 40,
"human_review_required_count": 1
},
@@ -497,6 +497,14 @@
"claim_status": "partial",
"consumer_policy": "research_to_commercial_contract_only",
"claim_boundary": "Maps Shadbala components across local/Xalen/jyotishganit/VedicAstro observations. Closed components can inform provenance; open/method-variant rows must not be treated as absolute error."
},
{
"packet_id": "shadbala_same_unit_normalizer",
"path": "references/oracle/shadbala_same_unit_normalizer_2026_07_19.json",
"domain": "shadbala_component_closure",
"claim_status": "partial",
"consumer_policy": "research_to_commercial_contract_only",
"claim_boundary": "Normalizes local/Xalen/jyotishganit/VP Jain Shadbala rows into Virupa/Rupa where available; classifications are arbitration queues, not absolute truth."
}
]
}
@@ -0,0 +1,780 @@
{
"boundary": "All 42 rows are normalized to Virupa/Rupa fields where available. Classifications are arbitration queues, not absolute parity closure.",
"claim_status": "partial",
"created_at": "2026-07-19",
"matrix_hash": "c84396a4fff8ba610d8035696b9dca53a3fbc52a4dbf65962b84e6333116a659",
"production_tuning_allowed": false,
"rows": [
{
"canonical_component": "Sthanabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "method_variant",
"component": "sthana",
"jyotishganit_rupa": 2.555683,
"jyotishganit_virupa": 153.341,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Sun",
"vp_jain_local_virupa": 157.05,
"vp_jain_published_rupa": 2.867333,
"vp_jain_published_virupa": 172.04,
"vp_jain_status": "method_variant",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Digbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "dig",
"jyotishganit_rupa": 0.48625,
"jyotishganit_virupa": 29.175,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Sun",
"vp_jain_local_virupa": 6.6,
"vp_jain_published_rupa": 0.109833,
"vp_jain_published_virupa": 6.59,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Kaalabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "kala",
"jyotishganit_rupa": 2.48155,
"jyotishganit_virupa": 148.893,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Sun",
"vp_jain_local_virupa": 81.8,
"vp_jain_published_rupa": 1.363333,
"vp_jain_published_virupa": 81.8,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Cheshtabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "method_variant",
"component": "chesta",
"jyotishganit_rupa": 0.617667,
"jyotishganit_virupa": 37.06,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Sun",
"vp_jain_local_virupa": 70.14,
"vp_jain_published_rupa": 0.0,
"vp_jain_published_virupa": 0.0,
"vp_jain_status": "method_variant",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Naisargikabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "within_1_virupa_observation",
"component": "naisargika",
"jyotishganit_rupa": 1.0,
"jyotishganit_virupa": 60.0,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Sun",
"vp_jain_local_virupa": 60.0,
"vp_jain_published_rupa": 1.0,
"vp_jain_published_virupa": 60.0,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Drikbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "drik",
"jyotishganit_rupa": -0.1077,
"jyotishganit_virupa": -6.462,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Sun",
"vp_jain_local_virupa": 11.25,
"vp_jain_published_rupa": 0.187333,
"vp_jain_published_virupa": 11.24,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Sthanabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "sthana",
"jyotishganit_rupa": 2.355683,
"jyotishganit_virupa": 141.341,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Moon",
"vp_jain_local_virupa": 77.17,
"vp_jain_published_rupa": 1.286167,
"vp_jain_published_virupa": 77.17,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Digbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "dig",
"jyotishganit_rupa": 0.335983,
"jyotishganit_virupa": 20.159,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Moon",
"vp_jain_local_virupa": 12.21,
"vp_jain_published_rupa": 0.203667,
"vp_jain_published_virupa": 12.22,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Kaalabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "kala",
"jyotishganit_rupa": 3.051867,
"jyotishganit_virupa": 183.112,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Moon",
"vp_jain_local_virupa": 205.96,
"vp_jain_published_rupa": 3.430833,
"vp_jain_published_virupa": 205.85,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Cheshtabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "method_variant",
"component": "chesta",
"jyotishganit_rupa": 0.177783,
"jyotishganit_virupa": 10.667,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Moon",
"vp_jain_local_virupa": 108.76,
"vp_jain_published_rupa": 0.0,
"vp_jain_published_virupa": 0.0,
"vp_jain_status": "method_variant",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Naisargikabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "within_1_virupa_observation",
"component": "naisargika",
"jyotishganit_rupa": 0.857167,
"jyotishganit_virupa": 51.43,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Moon",
"vp_jain_local_virupa": 51.43,
"vp_jain_published_rupa": 0.857167,
"vp_jain_published_virupa": 51.43,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Drikbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "drik",
"jyotishganit_rupa": 0.232433,
"jyotishganit_virupa": 13.946,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Moon",
"vp_jain_local_virupa": -0.33,
"vp_jain_published_rupa": -0.005333,
"vp_jain_published_virupa": -0.32,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Sthanabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "sthana",
"jyotishganit_rupa": 3.872967,
"jyotishganit_virupa": 232.378,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mars",
"vp_jain_local_virupa": 184.94,
"vp_jain_published_rupa": 3.082333,
"vp_jain_published_virupa": 184.94,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Digbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "dig",
"jyotishganit_rupa": 0.782583,
"jyotishganit_virupa": 46.955,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mars",
"vp_jain_local_virupa": 20.98,
"vp_jain_published_rupa": 0.349833,
"vp_jain_published_virupa": 20.99,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Kaalabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "kala",
"jyotishganit_rupa": 1.77345,
"jyotishganit_virupa": 106.407,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mars",
"vp_jain_local_virupa": 158.34,
"vp_jain_published_rupa": 2.634667,
"vp_jain_published_virupa": 158.08,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Cheshtabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "method_variant",
"component": "chesta",
"jyotishganit_rupa": 0.381067,
"jyotishganit_virupa": 22.864,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mars",
"vp_jain_local_virupa": 19.25,
"vp_jain_published_rupa": 0.348833,
"vp_jain_published_virupa": 20.93,
"vp_jain_status": "method_variant",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Naisargikabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "within_1_virupa_observation",
"component": "naisargika",
"jyotishganit_rupa": 0.285667,
"jyotishganit_virupa": 17.14,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mars",
"vp_jain_local_virupa": 17.14,
"vp_jain_published_rupa": 0.285667,
"vp_jain_published_virupa": 17.14,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Drikbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "drik",
"jyotishganit_rupa": 0.20805,
"jyotishganit_virupa": 12.483,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mars",
"vp_jain_local_virupa": -5.1,
"vp_jain_published_rupa": -0.085,
"vp_jain_published_virupa": -5.1,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Sthanabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "method_variant",
"component": "sthana",
"jyotishganit_rupa": 1.861733,
"jyotishganit_virupa": 111.704,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mercury",
"vp_jain_local_virupa": 223.16,
"vp_jain_published_rupa": 3.969333,
"vp_jain_published_virupa": 238.16,
"vp_jain_status": "method_variant",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Digbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "dig",
"jyotishganit_rupa": 0.132567,
"jyotishganit_virupa": 7.954,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mercury",
"vp_jain_local_virupa": 31.97,
"vp_jain_published_rupa": 0.532833,
"vp_jain_published_virupa": 31.97,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Kaalabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "kala",
"jyotishganit_rupa": 1.201483,
"jyotishganit_virupa": 72.089,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mercury",
"vp_jain_local_virupa": 211.48,
"vp_jain_published_rupa": 3.511333,
"vp_jain_published_virupa": 210.68,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Cheshtabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "method_variant",
"component": "chesta",
"jyotishganit_rupa": 0.589467,
"jyotishganit_virupa": 35.368,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mercury",
"vp_jain_local_virupa": 18.08,
"vp_jain_published_rupa": 0.479333,
"vp_jain_published_virupa": 28.76,
"vp_jain_status": "method_variant",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Naisargikabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "within_1_virupa_observation",
"component": "naisargika",
"jyotishganit_rupa": 0.4285,
"jyotishganit_virupa": 25.71,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mercury",
"vp_jain_local_virupa": 25.71,
"vp_jain_published_rupa": 0.4285,
"vp_jain_published_virupa": 25.71,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Drikbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "drik",
"jyotishganit_rupa": -0.183083,
"jyotishganit_virupa": -10.985,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Mercury",
"vp_jain_local_virupa": 4.29,
"vp_jain_published_rupa": 0.0715,
"vp_jain_published_virupa": 4.29,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Sthanabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "sthana",
"jyotishganit_rupa": 3.769633,
"jyotishganit_virupa": 226.178,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Jupiter",
"vp_jain_local_virupa": 152.97,
"vp_jain_published_rupa": 2.549667,
"vp_jain_published_virupa": 152.98,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Digbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "dig",
"jyotishganit_rupa": 0.734917,
"jyotishganit_virupa": 44.095,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Jupiter",
"vp_jain_local_virupa": 31.99,
"vp_jain_published_rupa": 0.533167,
"vp_jain_published_virupa": 31.99,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Kaalabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "kala",
"jyotishganit_rupa": 4.183067,
"jyotishganit_virupa": 250.984,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Jupiter",
"vp_jain_local_virupa": 143.34,
"vp_jain_published_rupa": 2.403667,
"vp_jain_published_virupa": 144.22,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Cheshtabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "method_variant",
"component": "chesta",
"jyotishganit_rupa": 0.607067,
"jyotishganit_virupa": 36.424,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Jupiter",
"vp_jain_local_virupa": 11.23,
"vp_jain_published_rupa": 0.1405,
"vp_jain_published_virupa": 8.43,
"vp_jain_status": "method_variant",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Naisargikabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "within_1_virupa_observation",
"component": "naisargika",
"jyotishganit_rupa": 0.5715,
"jyotishganit_virupa": 34.29,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Jupiter",
"vp_jain_local_virupa": 34.29,
"vp_jain_published_rupa": 0.5715,
"vp_jain_published_virupa": 34.29,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Drikbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "within_1_virupa_observation",
"component": "drik",
"jyotishganit_rupa": 0.067867,
"jyotishganit_virupa": 4.072,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Jupiter",
"vp_jain_local_virupa": 4.31,
"vp_jain_published_rupa": 0.072,
"vp_jain_published_virupa": 4.32,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Sthanabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "sthana",
"jyotishganit_rupa": 1.880267,
"jyotishganit_virupa": 112.816,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Venus",
"vp_jain_local_virupa": 198.09,
"vp_jain_published_rupa": 3.301333,
"vp_jain_published_virupa": 198.08,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Digbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "dig",
"jyotishganit_rupa": 0.7614,
"jyotishganit_virupa": 45.684,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Venus",
"vp_jain_local_virupa": 53.29,
"vp_jain_published_rupa": 0.888167,
"vp_jain_published_virupa": 53.29,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Kaalabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "kala",
"jyotishganit_rupa": 1.0531,
"jyotishganit_virupa": 63.186,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Venus",
"vp_jain_local_virupa": 135.84,
"vp_jain_published_rupa": 2.264833,
"vp_jain_published_virupa": 135.89,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Cheshtabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "chesta",
"jyotishganit_rupa": 0.774433,
"jyotishganit_virupa": 46.466,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Venus",
"vp_jain_local_virupa": 27.23,
"vp_jain_published_rupa": 0.469667,
"vp_jain_published_virupa": 28.18,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Naisargikabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "within_1_virupa_observation",
"component": "naisargika",
"jyotishganit_rupa": 0.714333,
"jyotishganit_virupa": 42.86,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Venus",
"vp_jain_local_virupa": 42.86,
"vp_jain_published_rupa": 0.714333,
"vp_jain_published_virupa": 42.86,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Drikbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "drik",
"jyotishganit_rupa": -0.075183,
"jyotishganit_virupa": -4.511,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Venus",
"vp_jain_local_virupa": -2.85,
"vp_jain_published_rupa": -0.047667,
"vp_jain_published_virupa": -2.86,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Sthanabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "sthana",
"jyotishganit_rupa": 2.5184,
"jyotishganit_virupa": 151.104,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Saturn",
"vp_jain_local_virupa": 206.3,
"vp_jain_published_rupa": 3.4385,
"vp_jain_published_virupa": 206.31,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Digbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "dig",
"jyotishganit_rupa": 0.405217,
"jyotishganit_virupa": 24.313,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Saturn",
"vp_jain_local_virupa": 26.66,
"vp_jain_published_rupa": 0.4445,
"vp_jain_published_virupa": 26.67,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Kaalabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "kala",
"jyotishganit_rupa": 1.198817,
"jyotishganit_virupa": 71.929,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Saturn",
"vp_jain_local_virupa": 139.63,
"vp_jain_published_rupa": 2.326,
"vp_jain_published_virupa": 139.56,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Cheshtabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "method_variant",
"component": "chesta",
"jyotishganit_rupa": 0.96895,
"jyotishganit_virupa": 58.137,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Saturn",
"vp_jain_local_virupa": 6.78,
"vp_jain_published_rupa": 0.084167,
"vp_jain_published_virupa": 5.05,
"vp_jain_status": "method_variant",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Naisargikabala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "within_1_virupa_observation",
"component": "naisargika",
"jyotishganit_rupa": 0.142833,
"jyotishganit_virupa": 8.57,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Saturn",
"vp_jain_local_virupa": 8.57,
"vp_jain_published_rupa": 0.142833,
"vp_jain_published_virupa": 8.57,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
},
{
"canonical_component": "Drikbala",
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
"classification": "formula_or_unit_mismatch",
"component": "drik",
"jyotishganit_rupa": 0.134333,
"jyotishganit_virupa": 8.06,
"local_from_xalen_report_virupa": null,
"normalization_unit": "Virupa",
"planet": "Saturn",
"vp_jain_local_virupa": 5.83,
"vp_jain_published_rupa": 0.097,
"vp_jain_published_virupa": 5.82,
"vp_jain_status": "within_tolerance",
"xalen_rupa": null,
"xalen_status": null,
"xalen_virupa": null
}
],
"scope": "shadbala_same_unit_normalizer",
"sources": {
"jyotishganit": "references/oracle/jyotishganit_shadbala_surface_probe_steve_jobs_2026_07_19.json",
"vp_jain": "references/oracle/vp_jain_shadbala_component_benchmark_2026_07_17.json",
"xalen": "references/oracle/xalen_shadbala_av_component_delta_report_2026_07_19.json"
},
"status": "same_unit_matrix_ready",
"summary": {
"formula_or_unit_mismatch_count": 26,
"insufficient_numeric_sources_count": 0,
"method_variant_count": 8,
"row_count": 42,
"within_1_virupa_observation_count": 8
},
"truth_matrix_allowed": false
}
+144
View File
@@ -0,0 +1,144 @@
#!/usr/bin/env python3
"""Normalize local/jyotishganit/Xalen/VP Jain Shadbala component rows.
All component values are represented as Virupa plus derived Rupa=Virupa/60
when numeric. The output classifies row-level deltas without declaring
absolute truth.
"""
from __future__ import annotations
import hashlib
import json
from pathlib import Path
from typing import Any
ROOT = Path(__file__).resolve().parents[1]
JYO = ROOT / "references/oracle/jyotishganit_shadbala_surface_probe_steve_jobs_2026_07_19.json"
XALEN = ROOT / "references/oracle/xalen_shadbala_av_component_delta_report_2026_07_19.json"
VPJ = ROOT / "references/oracle/vp_jain_shadbala_component_benchmark_2026_07_17.json"
PLANETS = ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
COMPONENTS = {
"sthana": "Sthanabala",
"dig": "Digbala",
"kala": "Kaalabala",
"chesta": "Cheshtabala",
"naisargika": "Naisargikabala",
"drik": "Drikbala",
}
def stable(data: Any) -> str:
return json.dumps(data, ensure_ascii=False, sort_keys=True, separators=(",", ":"), default=str)
def rupa(v: float | None) -> float | None:
return None if v is None else round(v / 60.0, 6)
def get_jyo_value(jyo: dict[str, Any], planet: str, canonical: str) -> float | None:
val = jyo["raw"]["shadbala"].get(planet, {}).get(canonical)
if isinstance(val, dict):
val = val.get("Total")
return val if isinstance(val, (int, float)) else None
def xalen_index(xalen: dict[str, Any]) -> dict[tuple[str, str], dict[str, Any]]:
out: dict[tuple[str, str], dict[str, Any]] = {}
for group in xalen.get("component_groups", []):
component = group.get("component")
if component not in COMPONENTS:
continue
for row in group.get("rows", []):
planet = row.get("field") or row.get("planet")
out[(planet, component)] = row
return out
def vpj_index(vpj: dict[str, Any]) -> dict[tuple[str, str], dict[str, Any]]:
return {
(row.get("planet"), row.get("component")): row
for row in vpj.get("rows", [])
}
def classify(values: dict[str, float | None], statuses: dict[str, str | None]) -> str:
nums = {k: v for k, v in values.items() if isinstance(v, (int, float))}
if len(nums) < 2:
return "insufficient_numeric_sources"
span = max(nums.values()) - min(nums.values())
if span <= 1.0:
return "within_1_virupa_observation"
if any(status == "method_variant" for status in statuses.values() if status):
return "method_variant"
return "formula_or_unit_mismatch"
def build() -> dict[str, Any]:
jyo = json.loads(JYO.read_text(encoding="utf-8"))
xalen = xalen_index(json.loads(XALEN.read_text(encoding="utf-8")))
vpj = vpj_index(json.loads(VPJ.read_text(encoding="utf-8")))
rows = []
for planet in PLANETS:
for short, canonical in COMPONENTS.items():
jyo_v = get_jyo_value(jyo, planet, canonical)
xrow = xalen.get((planet, short), {})
vrow = vpj.get((planet, short), {})
values = {
"jyotishganit_virupa": jyo_v,
"xalen_virupa": xrow.get("xalen_value"),
"local_from_xalen_report_virupa": xrow.get("local_value"),
"vp_jain_published_virupa": vrow.get("published_value"),
"vp_jain_local_virupa": vrow.get("local_value"),
}
statuses = {
"xalen_status": xrow.get("status"),
"vp_jain_status": vrow.get("status"),
}
rows.append(
{
"planet": planet,
"component": short,
"canonical_component": canonical,
**values,
"jyotishganit_rupa": rupa(jyo_v),
"xalen_rupa": rupa(xrow.get("xalen_value")),
"vp_jain_published_rupa": rupa(vrow.get("published_value")),
**statuses,
"normalization_unit": "Virupa",
"classification": classify(values, statuses),
"claim_boundary": "Same-unit row only; formula truth still requires source variant selection and public worked example.",
}
)
summary = {
"row_count": len(rows),
"within_1_virupa_observation_count": sum(1 for r in rows if r["classification"] == "within_1_virupa_observation"),
"method_variant_count": sum(1 for r in rows if r["classification"] == "method_variant"),
"formula_or_unit_mismatch_count": sum(1 for r in rows if r["classification"] == "formula_or_unit_mismatch"),
"insufficient_numeric_sources_count": sum(1 for r in rows if r["classification"] == "insufficient_numeric_sources"),
}
return {
"scope": "shadbala_same_unit_normalizer",
"created_at": "2026-07-19",
"status": "same_unit_matrix_ready",
"claim_status": "partial",
"production_tuning_allowed": False,
"truth_matrix_allowed": False,
"sources": {
"jyotishganit": str(JYO.relative_to(ROOT)),
"xalen": str(XALEN.relative_to(ROOT)),
"vp_jain": str(VPJ.relative_to(ROOT)),
},
"summary": summary,
"matrix_hash": hashlib.sha256(stable(rows).encode("utf-8")).hexdigest(),
"rows": rows,
"boundary": "All 42 rows are normalized to Virupa/Rupa fields where available. Classifications are arbitration queues, not absolute parity closure.",
}
def main() -> int:
print(json.dumps(build(), ensure_ascii=False, indent=2, sort_keys=True))
return 0
if __name__ == "__main__":
raise SystemExit(main())
@@ -0,0 +1,52 @@
import json
import subprocess
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
ARTIFACT = ROOT / "references/oracle/shadbala_same_unit_normalizer_2026_07_19.json"
INDEX = ROOT / "references/oracle/evidence_packet_index_2026_07_19.json"
def test_normalizer_outputs_42_same_unit_rows():
data = json.loads(subprocess.check_output(["python3", "scripts/shadbala_same_unit_normalizer.py"], cwd=ROOT, text=True))
assert data["scope"] == "shadbala_same_unit_normalizer"
assert data["summary"]["row_count"] == 42
assert data["claim_status"] == "partial"
assert data["production_tuning_allowed"] is False
assert data["truth_matrix_allowed"] is False
assert data["matrix_hash"]
def test_normalizer_artifact_has_virupa_and_rupa_fields():
data = json.loads(ARTIFACT.read_text(encoding="utf-8"))
first = data["rows"][0]
assert first["normalization_unit"] == "Virupa"
assert "jyotishganit_virupa" in first
assert "jyotishganit_rupa" in first
assert "vp_jain_published_virupa" in first
assert first["classification"] in {
"within_1_virupa_observation",
"method_variant",
"formula_or_unit_mismatch",
"insufficient_numeric_sources",
}
def test_normalizer_classifies_all_rows_without_truth_upgrade():
data = json.loads(ARTIFACT.read_text(encoding="utf-8"))
total = (
data["summary"]["within_1_virupa_observation_count"]
+ data["summary"]["method_variant_count"]
+ data["summary"]["formula_or_unit_mismatch_count"]
+ data["summary"]["insufficient_numeric_sources_count"]
)
assert total == 42
assert data["summary"]["formula_or_unit_mismatch_count"] >= 1
assert "not absolute parity closure" in data["boundary"]
def test_evidence_index_registers_same_unit_normalizer():
index = json.loads(INDEX.read_text(encoding="utf-8"))
packets = {row["packet_id"]: row for row in index["packets"]}
assert packets["shadbala_same_unit_normalizer"]["claim_status"] == "partial"