sync: import technique closure packets round 2

This commit is contained in:
732642856
2026-07-22 23:40:03 +08:00
parent 87f6ff7c05
commit 67f667b54e
25 changed files with 2650 additions and 33 deletions
@@ -0,0 +1,5 @@
SOURCE_ENV installed jhora black-box import; AGPL implementation not copied
CAPTURE_DATE 2026-07-22
PENDING_PACKET references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman_pyjhora_20260627.json
NOTE Replays declared packet coordinates and Handan candidate coordinates because existing packet metadata conflicts with case naming/history.
REPLAY_JSON [{"ayanamsa_value": 22.131425683162263, "case": {"day": 1, "hour": 12, "label": "declared_packet_coordinates", "lat": 37.7749, "lon": -122.4194, "minute": 0, "month": 1, "second": 0, "tz": 8, "year": 1980}, "chesta_legacy": {"error": "'dict' object has no attribute 'index'", "error_type": "AttributeError", "status": "error"}, "chesta_new": [0, 0, 45.01, 7.88, 41.84, 21.77, 36.62], "component_rupa": {"Jupiter": {"chesta": 0.6975, "dig": 0.8743, "drik": 0.0903, "kala": 4.1237, "naisargika": 0.5715, "sthana": 3.5732, "total_rupa": 9.9305}, "Mars": {"chesta": 0.7487, "dig": 0.3108, "drik": 0.1142, "kala": 0.675, "naisargika": 0.2857, "sthana": 2.9763, "total_rupa": 5.1107}, "Mercury": {"chesta": 0.1285, "dig": 0.2742, "drik": -0.0113, "kala": 2.1688, "naisargika": 0.4285, "sthana": 2.4245, "total_rupa": 5.4132}, "Moon": {"chesta": 0.0, "dig": 0.2522, "drik": -0.361, "kala": 3.563, "naisargika": 0.8572, "sthana": 2.3945, "total_rupa": 6.7058}, "Saturn": {"chesta": 0.6103, "dig": 0.219, "drik": 0.1852, "kala": 1.0435, "naisargika": 0.1428, "sthana": 2.9992, "total_rupa": 5.2}, "Sun": {"chesta": 0.0, "dig": 0.333, "drik": -0.0113, "kala": 1.2862, "naisargika": 1.0, "sthana": 1.689, "total_rupa": 4.2968}, "Venus": {"chesta": 0.3622, "dig": 1.5092, "drik": 0.0598, "kala": 2.5625, "naisargika": 0.7143, "sthana": 3.2498, "total_rupa": 8.4578}}, "julian_day": 2444240.0, "raw_virupa": [[101.34, 143.67, 178.58, 145.47, 214.39, 194.99, 179.95], [77.17, 213.78, 40.5, 130.13, 247.42, 153.75, 62.61], [19.98, 15.13, 18.65, 16.45, 52.46, 90.55, 13.14], [0, 0, 44.92, 7.71, 41.85, 21.73, 36.62], [60.0, 51.43, 17.14, 25.71, 34.29, 42.86, 8.57], [-0.68, -21.66, 6.85, -0.68, 5.42, 3.59, 11.11], [257.81, 402.35, 306.64, 324.79, 595.83, 507.47, 312.0], [4.3, 6.71, 5.11, 5.41, 9.93, 8.46, 5.2], [0.86, 1.12, 1.02, 0.77, 1.53, 1.54, 1.04]]}, {"ayanamsa_value": 22.131425683162263, "case": {"day": 1, "hour": 12, "label": "handan_candidate_coordinates", "lat": 36.6, "lon": 114.5, "minute": 0, "month": 1, "second": 0, "tz": 8, "year": 1980}, "chesta_legacy": {"error": "'dict' object has no attribute 'index'", "error_type": "AttributeError", "status": "error"}, "chesta_new": [0, 0, 44.85, 8.67, 41.63, 21.52, 36.41], "component_rupa": {"Jupiter": {"chesta": 0.6942, "dig": 0.15, "drik": 0.0903, "kala": 3.7998, "naisargika": 0.5715, "sthana": 3.3232, "total_rupa": 8.629}, "Mars": {"chesta": 0.7592, "dig": 0.3883, "drik": 0.1142, "kala": 1.7488, "naisargika": 0.2857, "sthana": 2.7263, "total_rupa": 6.0225}, "Mercury": {"chesta": 0.1417, "dig": 0.4502, "drik": -0.0113, "kala": 2.1688, "naisargika": 0.4285, "sthana": 3.1745, "total_rupa": 6.3523}, "Moon": {"chesta": 0.0, "dig": 1.0487, "drik": -0.361, "kala": 2.129, "naisargika": 0.8572, "sthana": 3.1445, "total_rupa": 6.8183}, "Saturn": {"chesta": 0.6067, "dig": 1.0567, "drik": 0.1852, "kala": 1.3595, "naisargika": 0.1428, "sthana": 3.7492, "total_rupa": 7.1}, "Sun": {"chesta": 0.0, "dig": 1.0322, "drik": -0.0113, "kala": 1.9702, "naisargika": 1.0, "sthana": 2.439, "total_rupa": 6.43}, "Venus": {"chesta": 0.3582, "dig": 0.2083, "drik": 0.0598, "kala": 2.2465, "naisargika": 0.7143, "sthana": 2.7498, "total_rupa": 6.337}}, "julian_day": 2444240.0, "raw_virupa": [[146.34, 188.67, 163.58, 190.47, 199.39, 164.99, 224.95], [118.21, 127.74, 104.93, 130.13, 227.99, 134.79, 81.57], [61.93, 62.92, 23.3, 27.01, 9.0, 12.5, 63.4], [0, 0, 45.55, 8.5, 41.65, 21.49, 36.4], [60.0, 51.43, 17.14, 25.71, 34.29, 42.86, 8.57], [-0.68, -21.66, 6.85, -0.68, 5.42, 3.59, 11.11], [385.8, 409.1, 361.35, 381.14, 517.74, 380.22, 426.0], [6.43, 6.82, 6.02, 6.35, 8.63, 6.34, 7.1], [1.29, 1.14, 1.2, 0.91, 1.33, 1.15, 1.42]]}]
@@ -32,63 +32,63 @@
"shadbala_components": {
"Jupiter": {
"chesta": 1.2333,
"dig": 3.3218,
"dig": 1.3433,
"drik": 0.1148,
"kala": 1.3433,
"kala": 3.3218,
"naisargika": 0.5715,
"sthana": 3.3633,
"total_rupa": 9.948
},
"Mars": {
"chesta": 1.643,
"dig": 2.1322,
"dig": 1.2902,
"drik": 0.2248,
"kala": 1.2902,
"kala": 2.1322,
"naisargika": 0.2857,
"sthana": 3.3105,
"total_rupa": 8.8864
},
"Mercury": {
"chesta": 0.763,
"dig": 2.0297,
"dig": 0.2107,
"drik": -0.1772,
"kala": 0.2107,
"kala": 2.0297,
"naisargika": 0.4285,
"sthana": 2.7993,
"total_rupa": 6.054
},
"Moon": {
"chesta": 0.0,
"dig": 2.493,
"dig": 1.5913,
"drik": 0.3343,
"kala": 1.5913,
"kala": 2.493,
"naisargika": 0.8572,
"sthana": 4.1057,
"total_rupa": 9.3815
},
"Saturn": {
"chesta": 0.606,
"dig": 2.2795,
"dig": 0.327,
"drik": 0.1582,
"kala": 0.327,
"kala": 2.2795,
"naisargika": 0.1428,
"sthana": 3.6435,
"total_rupa": 7.157
},
"Sun": {
"chesta": 0.0,
"dig": 2.3498,
"dig": 0.4135,
"drik": 0.029,
"kala": 0.4135,
"kala": 2.3498,
"naisargika": 1.0,
"sthana": 3.6182,
"total_rupa": 7.4105
},
"Venus": {
"chesta": 0.518,
"dig": 1.8907,
"dig": 1.1658,
"drik": -0.0458,
"kala": 1.1658,
"kala": 1.8907,
"naisargika": 0.7143,
"sthana": 2.5677,
"total_rupa": 6.8107
@@ -136,63 +136,63 @@
"shadbala_components": {
"Jupiter": {
"chesta": 0.1965,
"dig": 3.161,
"dig": 0.631,
"drik": -0.1575,
"kala": 0.631,
"kala": 3.161,
"naisargika": 0.5715,
"sthana": 3.225,
"total_rupa": 7.6275
},
"Mars": {
"chesta": 0.0128,
"dig": 2.0753,
"dig": 0.0193,
"drik": -0.0493,
"kala": 0.0193,
"kala": 2.0753,
"naisargika": 0.2857,
"sthana": 2.4897,
"total_rupa": 4.8335
},
"Mercury": {
"chesta": 0.8185,
"dig": 2.4763,
"dig": 0.3437,
"drik": -0.0563,
"kala": 0.3437,
"kala": 2.4763,
"naisargika": 0.4285,
"sthana": 2.6547,
"total_rupa": 6.6654
},
"Moon": {
"chesta": 0.0,
"dig": 1.3733,
"dig": 0.245,
"drik": -0.2927,
"kala": 0.245,
"kala": 1.3733,
"naisargika": 0.8572,
"sthana": 1.5518,
"total_rupa": 3.7346
},
"Saturn": {
"chesta": 0.1935,
"dig": 0.8512,
"dig": 1.6447,
"drik": -0.1627,
"kala": 1.6447,
"kala": 0.8512,
"naisargika": 0.1428,
"sthana": 3.2218,
"total_rupa": 5.8913
},
"Sun": {
"chesta": 0.0,
"dig": 1.7548,
"dig": 0.0022,
"drik": -0.0622,
"kala": 0.0022,
"kala": 1.7548,
"naisargika": 1.0,
"sthana": 3.1882,
"total_rupa": 5.883
},
"Venus": {
"chesta": 0.0508,
"dig": 4.6728,
"dig": 0.9833,
"drik": -0.0513,
"kala": 0.9833,
"kala": 4.6728,
"naisargika": 0.7143,
"sthana": 2.1638,
"total_rupa": 8.5337
@@ -5,9 +5,9 @@
"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": 142,
"blocked_or_partial_count": 52,
"human_review_required_count": 3
"packet_count": 162,
"blocked_or_partial_count": 66,
"human_review_required_count": 4
},
"packets": [
{
@@ -1225,6 +1225,86 @@
"claim_status": "open_queue",
"consumer_policy": "research_observation_only",
"claim_boundary": "Prashna/Tajika/Gulika/Saham/Sphuta public source hunt only; candidates do not upgrade numeric oracle claims."
},
{
"packet_id": "shadbala_dig_source_of_truth_audit_2026_07_22",
"path": "references/oracle/shadbala_dig_source_of_truth_audit_2026_07_22.json",
"domain": "shadbala_component_closure",
"claim_status": "partial",
"consumer_policy": "research_observation_only",
"claim_boundary": "Two externally captured cases compare three Dig Bala models; the current error ranking is diagnostic only and does not select an absolute formula truth."
},
{
"packet_id": "kp_exact_cusp_public_worked_example_hunt_v2_2026_07_22",
"path": "references/oracle/kp_exact_cusp_public_worked_example_hunt_v2_2026_07_22.json",
"domain": "kp_precision_timing",
"claim_status": "blocked",
"consumer_policy": "research_observation_only",
"claim_boundary": "KP exact cusp remains blocked as an external oracle; runtime/API candidates can support observation sync only."
},
{
"packet_id": "muhurta_full_scoring_closure_queue_v2_2026_07_22",
"path": "references/oracle/muhurta_full_scoring_closure_queue_v2_2026_07_22.json",
"domain": "muhurta_full_system",
"claim_status": "partial",
"consumer_policy": "research_observation_only",
"claim_boundary": "Muhurta factors can be shown as observations and avoidance windows; full scoring verdict remains blocked."
},
{
"packet_id": "prashna_tajika_saham_gulika_sphuta_numeric_packet_queue_v2_2026_07_22",
"path": "references/oracle/prashna_tajika_saham_gulika_sphuta_numeric_packet_queue_v2_2026_07_22.json",
"domain": "horary_annual_sensitive_points",
"claim_status": "open_queue",
"consumer_policy": "research_observation_only",
"claim_boundary": "Prashna/Tajika/Saham/Gulika/Sphuta numeric packet queue only; no domain is upgraded to numeric oracle ready."
},
{
"packet_id": "timing_rectification_holdout_freeze_contract_2026_07_22",
"path": "references/oracle/timing_rectification_holdout_freeze_contract_2026_07_22.json",
"domain": "timing_holdout_rectification",
"claim_status": "blocked",
"consumer_policy": "research_observation_only",
"claim_boundary": "Exact day/month timing and birth-time truth upgrades are blocked until independent human labels are frozen before blind ranking."
},
{
"packet_id": "shadbala_component_arbitration_queue_v2_2026_07_22",
"path": "references/oracle/shadbala_component_arbitration_queue_v2_2026_07_22.json",
"domain": "shadbala_component_closure",
"claim_status": "partial",
"consumer_policy": "research_observation_only",
"claim_boundary": "Component-level queue only: Naisargika is same-unit closed; Dig/Drik/Kala/Sthana/Chesta remain arbitration items and do not upgrade absolute Shadbala truth."
},
{
"packet_id": "raman_shadbala_raw_replay_and_input_drift_2026_07_22",
"path": "references/oracle/raman_shadbala_raw_replay_and_input_drift_2026_07_22.json",
"domain": "shadbala_component_closure",
"claim_status": "blocked",
"consumer_policy": "research_observation_only",
"claim_boundary": "Raman Shadbala sample is not promoted: declared raw artifact is absent and fresh PyJHora replay proves input-contract drift."
},
{
"packet_id": "timing_rectification_public_holdout_candidate_queue_2026_07_22",
"path": "references/oracle/timing_rectification_public_holdout_candidate_queue_2026_07_22.json",
"domain": "timing_holdout_rectification",
"claim_status": "blocked_until_human_labels",
"consumer_policy": "research_observation_only",
"claim_boundary": "Positive public event candidates are queued, but no independent negative labels are frozen; timing and birth-time truth upgrades remain blocked."
},
{
"packet_id": "ul_a7_a10_kp_cusp_three_engine_parity_gap_2026_07_22",
"path": "references/oracle/ul_a7_a10_kp_cusp_three_engine_parity_gap_2026_07_22.json",
"domain": "rectification_external_parity",
"claim_status": "blocked",
"consumer_policy": "research_observation_only",
"claim_boundary": "UL/A7/A10/KP cusp same-input external three-engine parity is not closed; local runtime may be used only as candidate signal."
},
{
"packet_id": "ul_a7_a10_kp_cusp_same_input_parity_probe_2026_07_22",
"path": "references/oracle/ul_a7_a10_kp_cusp_same_input_parity_probe_2026_07_22.json",
"domain": "rectification_external_parity",
"claim_status": "blocked",
"consumer_policy": "research_observation_only",
"claim_boundary": "Same-input local probe exists for UL/A7/A10/KP cusp, but external PyJHora/jyotishganit/VedicAstro parity is not closed."
}
]
}
@@ -0,0 +1,63 @@
{
"scope": "kp_exact_cusp_public_worked_example_hunt_v2",
"created_at": "2026-07-22",
"claim_status": "blocked",
"truth_matrix_allowed": false,
"production_tuning_allowed": false,
"summary": {
"candidate_source_count": 6,
"complete_numeric_oracle_count": 0,
"runtime_observation_sync_allowed": true
},
"required_numeric_oracle_fields": [
"birth_or_query_input",
"ayanamsa",
"house_system_or_kp_cusp_method",
"exact_cusp_longitudes",
"cusp_star_lord",
"cusp_sub_lord",
"cusp_sub_sub_lord"
],
"candidate_sources": [
{
"id": "archive_kp_reader_candidate",
"status": "partial_numeric_fragment",
"local_packet": "references/oracle/kp_archive_numeric_extraction_result_2026_07_21.json",
"gap": "partial cusp degree only; no full input plus star/sub/sub-sub table"
},
{
"id": "vedicastro_python_surface",
"status": "runtime_api_surface_candidate",
"gap": "API surface can help compute observation raw; not a public expected-value worked example"
},
{
"id": "roxyapi_kp_astrology_api",
"status": "oss_or_api_candidate_needs_license_contract",
"url": "https://github.com/RoxyAPI/kp-astrology-api",
"gap": "candidate implementation/API reference; not yet verified as permissive numeric oracle"
},
{
"id": "logicastro_kp_charts",
"status": "oss_candidate_needs_source_review",
"url": "https://github.com/logicAstro/logicAstroKPCharts",
"gap": "candidate KP chart implementation; expected worked-example rows not captured"
},
{
"id": "jathakam_candidate",
"status": "oss_candidate_needs_license_and_api_review",
"gap": "potential KP/panchanga source; not yet tied to exact cusp numeric packet"
},
{
"id": "public_kp_pdf_web_hunt",
"status": "reference_only",
"gap": "public PDFs explain cuspal sub theory, but current pass did not find complete exact cusp/star/sub/sub-sub replay table"
}
],
"allowed_use": "KP runtime may be displayed as observation-only with exact cusp raw from local/VedicAstro probes; it cannot be used as verified event-timing oracle.",
"next_steps": [
"capture VedicAstro/runtime KP exact cusp raw for at least three public charts",
"continue source hunt for a public worked example with complete expected cusp table",
"only promote rows whose input, settings, raw hash and replay comparison are all present"
],
"boundary": "KP exact cusp remains blocked as an external oracle. Public/API candidates can support observation sync only; no verified KP prediction claim is allowed."
}
@@ -0,0 +1,35 @@
{
"scope": "muhurta_full_scoring_closure_queue_v2",
"created_at": "2026-07-22",
"claim_status": "partial",
"truth_matrix_allowed": false,
"production_tuning_allowed": false,
"source_matrix": "references/oracle/muhurta_full_scoring_matrix_queue_2026_07_22.json",
"summary": {
"factor_count": 12,
"observation_ready_count": 6,
"gate_only_count": 3,
"blocked_gap_count": 3,
"final_verdict_allowed": false
},
"factor_rows": [
{"factor": "Tarabala", "status": "observation_ready", "claim": "factor_only", "missing_for_verdict": ["activity weight", "public worked example", "negative example"]},
{"factor": "Chandrabala", "status": "observation_ready", "claim": "factor_only", "missing_for_verdict": ["birth Moon contract", "activity weight", "public worked example"]},
{"factor": "Rahu Kalam", "status": "observation_ready", "claim": "avoidance_window_only", "missing_for_verdict": ["location-aware public interval replay", "override policy"]},
{"factor": "Yamaganda", "status": "observation_ready_from_local_formula", "claim": "avoidance_window_only", "missing_for_verdict": ["public interval packet", "activity override policy"]},
{"factor": "Gulika Kalam", "status": "observation_ready_from_local_formula", "claim": "avoidance_window_only", "missing_for_verdict": ["public interval packet", "variant convention"]},
{"factor": "Abhijit Muhurta", "status": "observation_ready", "claim": "reference_window_only", "missing_for_verdict": ["public interval packet", "exception policy"]},
{"factor": "Panchaka", "status": "blocked_gap", "claim": "not_computed", "missing_for_verdict": ["formula source", "runtime implementation", "worked example"]},
{"factor": "Vyatipata", "status": "gate_only_from_panchanga_yoga", "claim": "avoidance_gate_candidate", "missing_for_verdict": ["activity weight", "worked example"]},
{"factor": "Vaidhriti", "status": "gate_only_from_panchanga_yoga", "claim": "avoidance_gate_candidate", "missing_for_verdict": ["activity weight", "worked example"]},
{"factor": "Sankranti", "status": "blocked_gap", "claim": "not_computed", "missing_for_verdict": ["solar ingress runtime", "public ingress example", "weight rule"]},
{"factor": "Bhadra/Vishti Karana", "status": "gate_only_from_panchanga", "claim": "avoidance_gate_candidate", "missing_for_verdict": ["activity-specific override", "worked example"]},
{"factor": "Muhurta worked examples", "status": "blocked_gap", "claim": "source_hunt_only", "missing_for_verdict": ["complete public input", "expected interval values", "raw/hash replay"]}
],
"oss_candidates": [
{"id": "panchang_core", "url": "https://github.com/basraven/panchang-core", "license_target": "MIT", "allowed_use": "formula/API reference after license verification"},
{"id": "roxyapi_panchang_api", "url": "https://github.com/RoxyAPI/panchang-api", "allowed_use": "source/API candidate only until license and output contract are fixed"},
{"id": "vedastro_muhurta_surface", "allowed_use": "external observation candidate; not hosted truth"}
],
"boundary": "Muhurta factors can be shown as transparent observations and avoidance windows. Full scoring or a final electional verdict remains blocked until public worked examples and factor weights close."
}
@@ -0,0 +1,47 @@
{
"scope": "prashna_tajika_saham_gulika_sphuta_numeric_packet_queue_v2",
"created_at": "2026-07-22",
"claim_status": "open_queue",
"truth_matrix_allowed": false,
"production_tuning_allowed": false,
"summary": {
"domains": 5,
"numeric_oracle_ready_count": 0,
"tooling_observation_count": 2,
"blocked_until_public_expected_values_count": 5
},
"domain_rows": [
{
"domain": "Prashna",
"local_status": "input_contract_ready",
"current_packets": ["references/oracle/prashna_input_contract_2026_07_20.json"],
"missing": ["public question input", "expected chart fields", "raw/hash replay"]
},
{
"domain": "Sphuta",
"local_status": "tooling_observation_only",
"current_packets": ["references/oracle/prashna_sphuta_oss_case_probe_2026_07_20.json"],
"missing": ["complete Prashna worked-example input", "transcription-reviewed expected Trisphuta/Catusphuta/Panchasphuta"]
},
{
"domain": "Gulika",
"local_status": "runtime_formula_present",
"current_packets": ["scripts/gulika.py"],
"missing": ["independent Gulika longitude worked example", "day/night convention", "same-location sunrise/sunset source"]
},
{
"domain": "Saham",
"local_status": "Tajika queue only",
"current_packets": ["docs/benchmark/tajika_sahams_annual_benchmark_dashboard.json"],
"missing": ["annual chart input", "expected Saham longitudes", "day/night convention"]
},
{
"domain": "Tajika/Varshaphala",
"local_status": "partial extraction contracts",
"current_packets": ["docs/benchmark/tajika_steve_jobs_1984_first_packet_operator_card.md", "docs/benchmark/tajika_einstein_1905_fill_map.md"],
"missing": ["clean public numeric source", "expected annual fields", "copyright-safe raw/hash packet"]
}
],
"source_policy": "Public pages, Internet Archive metadata and OSS probes may be indexed; long copyrighted tables are not copied. Numeric packets require field-level expected values, settings and replay hash.",
"boundary": "No Prashna/Tajika/Saham/Gulika/Sphuta domain is upgraded to numeric oracle ready in this packet."
}
@@ -0,0 +1,731 @@
{
"boundary": "Raman Shadbala sample is not promoted: the declared raw artifact is absent and fresh black-box replay does not exactly match the pending target values under the declared coordinates. Handan-like coordinates are closer, proving an input-contract drift that needs human/source review.",
"chesta_variant_observation": {
"boundary": "PyJHora exposes at least two Chesta paths; this replay records behavior but does not choose a formula truth.",
"legacy_api_status": "error",
"new_api_present": true
},
"claim_status": "blocked",
"comparisons": [
{
"case_label": "declared_packet_coordinates",
"pending_diff": {
"diffs": [
{
"abs_diff": 0.75,
"component": "sthana",
"observed": 1.689,
"pending_expected": 2.439,
"planet": "Sun"
},
{
"abs_diff": 1.6388,
"component": "dig",
"observed": 0.333,
"pending_expected": 1.9718,
"planet": "Sun"
},
{
"abs_diff": 0.2525,
"component": "kala",
"observed": 1.2862,
"pending_expected": 1.0337,
"planet": "Sun"
},
{
"abs_diff": 0.0,
"component": "chesta",
"observed": 0.0,
"pending_expected": 0.0,
"planet": "Sun"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 1.0,
"pending_expected": 1.0,
"planet": "Sun"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": -0.0113,
"pending_expected": -0.0113,
"planet": "Sun"
},
{
"abs_diff": 2.1364,
"component": "total_rupa",
"observed": 4.2968,
"pending_expected": 6.4332,
"planet": "Sun"
},
{
"abs_diff": 0.75,
"component": "sthana",
"observed": 2.3945,
"pending_expected": 3.1445,
"planet": "Moon"
},
{
"abs_diff": 1.8751,
"component": "dig",
"observed": 0.2522,
"pending_expected": 2.1273,
"planet": "Moon"
},
{
"abs_diff": 2.5158,
"component": "kala",
"observed": 3.563,
"pending_expected": 1.0472,
"planet": "Moon"
},
{
"abs_diff": 0.0,
"component": "chesta",
"observed": 0.0,
"pending_expected": 0.0,
"planet": "Moon"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.8572,
"pending_expected": 0.8572,
"planet": "Moon"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": -0.361,
"pending_expected": -0.361,
"planet": "Moon"
},
{
"abs_diff": 0.1094,
"component": "total_rupa",
"observed": 6.7058,
"pending_expected": 6.8152,
"planet": "Moon"
},
{
"abs_diff": 0.25,
"component": "sthana",
"observed": 2.9763,
"pending_expected": 2.7263,
"planet": "Mars"
},
{
"abs_diff": 1.4364,
"component": "dig",
"observed": 0.3108,
"pending_expected": 1.7472,
"planet": "Mars"
},
{
"abs_diff": 0.2852,
"component": "kala",
"observed": 0.675,
"pending_expected": 0.3898,
"planet": "Mars"
},
{
"abs_diff": 0.0105,
"component": "chesta",
"observed": 0.7487,
"pending_expected": 0.7592,
"planet": "Mars"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.2857,
"pending_expected": 0.2857,
"planet": "Mars"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": 0.1142,
"pending_expected": 0.1142,
"planet": "Mars"
},
{
"abs_diff": 0.9117,
"component": "total_rupa",
"observed": 5.1107,
"pending_expected": 6.0224,
"planet": "Mars"
},
{
"abs_diff": 0.75,
"component": "sthana",
"observed": 2.4245,
"pending_expected": 3.1745,
"planet": "Mercury"
},
{
"abs_diff": 1.8946,
"component": "dig",
"observed": 0.2742,
"pending_expected": 2.1688,
"planet": "Mercury"
},
{
"abs_diff": 1.7158,
"component": "kala",
"observed": 2.1688,
"pending_expected": 0.453,
"planet": "Mercury"
},
{
"abs_diff": 0.0132,
"component": "chesta",
"observed": 0.1285,
"pending_expected": 0.1417,
"planet": "Mercury"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.4285,
"pending_expected": 0.4285,
"planet": "Mercury"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": -0.0113,
"pending_expected": -0.0113,
"planet": "Mercury"
},
{
"abs_diff": 0.942,
"component": "total_rupa",
"observed": 5.4132,
"pending_expected": 6.3552,
"planet": "Mercury"
},
{
"abs_diff": 0.25,
"component": "sthana",
"observed": 3.5732,
"pending_expected": 3.3232,
"planet": "Jupiter"
},
{
"abs_diff": 2.9272,
"component": "dig",
"observed": 0.8743,
"pending_expected": 3.8015,
"planet": "Jupiter"
},
{
"abs_diff": 3.9765,
"component": "kala",
"observed": 4.1237,
"pending_expected": 0.1472,
"planet": "Jupiter"
},
{
"abs_diff": 0.0033,
"component": "chesta",
"observed": 0.6975,
"pending_expected": 0.6942,
"planet": "Jupiter"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.5715,
"pending_expected": 0.5715,
"planet": "Jupiter"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": 0.0903,
"pending_expected": 0.0903,
"planet": "Jupiter"
},
{
"abs_diff": 1.3026,
"component": "total_rupa",
"observed": 9.9305,
"pending_expected": 8.6279,
"planet": "Jupiter"
},
{
"abs_diff": 0.5,
"component": "sthana",
"observed": 3.2498,
"pending_expected": 2.7498,
"planet": "Venus"
},
{
"abs_diff": 0.739,
"component": "dig",
"observed": 1.5092,
"pending_expected": 2.2482,
"planet": "Venus"
},
{
"abs_diff": 2.3527,
"component": "kala",
"observed": 2.5625,
"pending_expected": 0.2098,
"planet": "Venus"
},
{
"abs_diff": 0.004,
"component": "chesta",
"observed": 0.3622,
"pending_expected": 0.3582,
"planet": "Venus"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.7143,
"pending_expected": 0.7143,
"planet": "Venus"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": 0.0598,
"pending_expected": 0.0598,
"planet": "Venus"
},
{
"abs_diff": 2.1177,
"component": "total_rupa",
"observed": 8.4578,
"pending_expected": 6.3401,
"planet": "Venus"
},
{
"abs_diff": 0.75,
"component": "sthana",
"observed": 2.9992,
"pending_expected": 3.7492,
"planet": "Saturn"
},
{
"abs_diff": 1.1388,
"component": "dig",
"observed": 0.219,
"pending_expected": 1.3578,
"planet": "Saturn"
},
{
"abs_diff": 0.0103,
"component": "kala",
"observed": 1.0435,
"pending_expected": 1.0538,
"planet": "Saturn"
},
{
"abs_diff": 0.0035,
"component": "chesta",
"observed": 0.6103,
"pending_expected": 0.6068,
"planet": "Saturn"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.1428,
"pending_expected": 0.1428,
"planet": "Saturn"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": 0.1852,
"pending_expected": 0.1852,
"planet": "Saturn"
},
{
"abs_diff": 1.8956,
"component": "total_rupa",
"observed": 5.2,
"pending_expected": 7.0956,
"planet": "Saturn"
}
],
"max_abs_diff": 3.9765,
"row_count": 49,
"within_0001_count": 16
}
},
{
"case_label": "handan_candidate_coordinates",
"pending_diff": {
"diffs": [
{
"abs_diff": 0.0,
"component": "sthana",
"observed": 2.439,
"pending_expected": 2.439,
"planet": "Sun"
},
{
"abs_diff": 0.9396,
"component": "dig",
"observed": 1.0322,
"pending_expected": 1.9718,
"planet": "Sun"
},
{
"abs_diff": 0.9365,
"component": "kala",
"observed": 1.9702,
"pending_expected": 1.0337,
"planet": "Sun"
},
{
"abs_diff": 0.0,
"component": "chesta",
"observed": 0.0,
"pending_expected": 0.0,
"planet": "Sun"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 1.0,
"pending_expected": 1.0,
"planet": "Sun"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": -0.0113,
"pending_expected": -0.0113,
"planet": "Sun"
},
{
"abs_diff": 0.0032,
"component": "total_rupa",
"observed": 6.43,
"pending_expected": 6.4332,
"planet": "Sun"
},
{
"abs_diff": 0.0,
"component": "sthana",
"observed": 3.1445,
"pending_expected": 3.1445,
"planet": "Moon"
},
{
"abs_diff": 1.0786,
"component": "dig",
"observed": 1.0487,
"pending_expected": 2.1273,
"planet": "Moon"
},
{
"abs_diff": 1.0818,
"component": "kala",
"observed": 2.129,
"pending_expected": 1.0472,
"planet": "Moon"
},
{
"abs_diff": 0.0,
"component": "chesta",
"observed": 0.0,
"pending_expected": 0.0,
"planet": "Moon"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.8572,
"pending_expected": 0.8572,
"planet": "Moon"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": -0.361,
"pending_expected": -0.361,
"planet": "Moon"
},
{
"abs_diff": 0.0031,
"component": "total_rupa",
"observed": 6.8183,
"pending_expected": 6.8152,
"planet": "Moon"
},
{
"abs_diff": 0.0,
"component": "sthana",
"observed": 2.7263,
"pending_expected": 2.7263,
"planet": "Mars"
},
{
"abs_diff": 1.3589,
"component": "dig",
"observed": 0.3883,
"pending_expected": 1.7472,
"planet": "Mars"
},
{
"abs_diff": 1.359,
"component": "kala",
"observed": 1.7488,
"pending_expected": 0.3898,
"planet": "Mars"
},
{
"abs_diff": 0.0,
"component": "chesta",
"observed": 0.7592,
"pending_expected": 0.7592,
"planet": "Mars"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.2857,
"pending_expected": 0.2857,
"planet": "Mars"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": 0.1142,
"pending_expected": 0.1142,
"planet": "Mars"
},
{
"abs_diff": 0.0001,
"component": "total_rupa",
"observed": 6.0225,
"pending_expected": 6.0224,
"planet": "Mars"
},
{
"abs_diff": 0.0,
"component": "sthana",
"observed": 3.1745,
"pending_expected": 3.1745,
"planet": "Mercury"
},
{
"abs_diff": 1.7186,
"component": "dig",
"observed": 0.4502,
"pending_expected": 2.1688,
"planet": "Mercury"
},
{
"abs_diff": 1.7158,
"component": "kala",
"observed": 2.1688,
"pending_expected": 0.453,
"planet": "Mercury"
},
{
"abs_diff": 0.0,
"component": "chesta",
"observed": 0.1417,
"pending_expected": 0.1417,
"planet": "Mercury"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.4285,
"pending_expected": 0.4285,
"planet": "Mercury"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": -0.0113,
"pending_expected": -0.0113,
"planet": "Mercury"
},
{
"abs_diff": 0.0029,
"component": "total_rupa",
"observed": 6.3523,
"pending_expected": 6.3552,
"planet": "Mercury"
},
{
"abs_diff": 0.0,
"component": "sthana",
"observed": 3.3232,
"pending_expected": 3.3232,
"planet": "Jupiter"
},
{
"abs_diff": 3.6515,
"component": "dig",
"observed": 0.15,
"pending_expected": 3.8015,
"planet": "Jupiter"
},
{
"abs_diff": 3.6526,
"component": "kala",
"observed": 3.7998,
"pending_expected": 0.1472,
"planet": "Jupiter"
},
{
"abs_diff": 0.0,
"component": "chesta",
"observed": 0.6942,
"pending_expected": 0.6942,
"planet": "Jupiter"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.5715,
"pending_expected": 0.5715,
"planet": "Jupiter"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": 0.0903,
"pending_expected": 0.0903,
"planet": "Jupiter"
},
{
"abs_diff": 0.0011,
"component": "total_rupa",
"observed": 8.629,
"pending_expected": 8.6279,
"planet": "Jupiter"
},
{
"abs_diff": 0.0,
"component": "sthana",
"observed": 2.7498,
"pending_expected": 2.7498,
"planet": "Venus"
},
{
"abs_diff": 2.0399,
"component": "dig",
"observed": 0.2083,
"pending_expected": 2.2482,
"planet": "Venus"
},
{
"abs_diff": 2.0367,
"component": "kala",
"observed": 2.2465,
"pending_expected": 0.2098,
"planet": "Venus"
},
{
"abs_diff": 0.0,
"component": "chesta",
"observed": 0.3582,
"pending_expected": 0.3582,
"planet": "Venus"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.7143,
"pending_expected": 0.7143,
"planet": "Venus"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": 0.0598,
"pending_expected": 0.0598,
"planet": "Venus"
},
{
"abs_diff": 0.0031,
"component": "total_rupa",
"observed": 6.337,
"pending_expected": 6.3401,
"planet": "Venus"
},
{
"abs_diff": 0.0,
"component": "sthana",
"observed": 3.7492,
"pending_expected": 3.7492,
"planet": "Saturn"
},
{
"abs_diff": 0.3011,
"component": "dig",
"observed": 1.0567,
"pending_expected": 1.3578,
"planet": "Saturn"
},
{
"abs_diff": 0.3057,
"component": "kala",
"observed": 1.3595,
"pending_expected": 1.0538,
"planet": "Saturn"
},
{
"abs_diff": 0.0001,
"component": "chesta",
"observed": 0.6067,
"pending_expected": 0.6068,
"planet": "Saturn"
},
{
"abs_diff": 0.0,
"component": "naisargika",
"observed": 0.1428,
"pending_expected": 0.1428,
"planet": "Saturn"
},
{
"abs_diff": 0.0,
"component": "drik",
"observed": 0.1852,
"pending_expected": 0.1852,
"planet": "Saturn"
},
{
"abs_diff": 0.0044,
"component": "total_rupa",
"observed": 7.1,
"pending_expected": 7.0956,
"planet": "Saturn"
}
],
"max_abs_diff": 3.6526,
"row_count": 49,
"within_0001_count": 29
}
}
],
"created_at": "2026-07-22",
"pending_packet": "references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman_pyjhora_20260627.json",
"production_tuning_allowed": false,
"replay_artifact": "references/oracle/artifacts/pyjhora_synthetic_north_china_shadbala_raman_stdout_20260722.txt",
"replay_artifact_sha256": "427ad14c8fe3ab3b879822b7692f70ab3cbc26ed2e8896c8465bd138b310b24a",
"scope": "raman_shadbala_raw_replay_and_input_drift",
"summary": {
"best_case_label_by_max_diff": "handan_candidate_coordinates",
"can_promote_raman_sample": false,
"complete_match_count": 0,
"pending_declared_artifact_found": false,
"replay_case_count": 2
},
"truth_matrix_allowed": false
}
@@ -0,0 +1,120 @@
{
"boundary": "This queue makes component-level blockers explicit. Naisargika is same-unit closed; Dig/Drik/Kala/Sthana/Chesta remain arbitration items and do not upgrade absolute Shadbala truth.",
"claim_status": "partial",
"component_rows": [
{
"arbitration_status": "method_variant_arbitration_required",
"closure_bucket_counts": {
"formula_or_unit_mismatch": 1,
"method_variant": 6
},
"component": "chesta",
"next_evidence": "compare mean-motion, retrograde/stationary and Seeghrochcha variants without copying AGPL code",
"row_count": 7,
"sample_tickets": [
"shadbala.sun.chesta",
"shadbala.moon.chesta",
"shadbala.mars.chesta"
],
"unresolved_row_count": 7
},
{
"arbitration_status": "formula_model_arbitration_required",
"closure_bucket_counts": {
"formula_or_unit_mismatch": 7
},
"component": "dig",
"next_evidence": "compare angular-distance, house-midpoint and bhava-madhya models against more raw-backed cases",
"row_count": 7,
"sample_tickets": [
"shadbala.sun.dig",
"shadbala.moon.dig",
"shadbala.mars.dig"
],
"unresolved_row_count": 7
},
{
"arbitration_status": "aspect_model_arbitration_required",
"closure_bucket_counts": {
"formula_or_unit_mismatch": 7
},
"component": "drik",
"next_evidence": "fix graha drishti/aspect strength scale and benefic-malefic aggregation source",
"row_count": 7,
"sample_tickets": [
"shadbala.sun.drik",
"shadbala.moon.drik",
"shadbala.mars.drik"
],
"unresolved_row_count": 7
},
{
"arbitration_status": "subcomponent_arbitration_required",
"closure_bucket_counts": {
"formula_or_unit_mismatch": 7
},
"component": "kala",
"next_evidence": "split natonnata, paksha, ayana, day/night and hora subcomponents before tuning",
"row_count": 7,
"sample_tickets": [
"shadbala.sun.kala",
"shadbala.moon.kala",
"shadbala.mars.kala"
],
"unresolved_row_count": 7
},
{
"arbitration_status": "component_closed_same_unit",
"closure_bucket_counts": {
"within_tolerance": 7
},
"component": "naisargika",
"next_evidence": "preserve regression coverage; no formula change",
"row_count": 7,
"sample_tickets": [
"shadbala.sun.naisargika",
"shadbala.moon.naisargika",
"shadbala.mars.naisargika"
],
"unresolved_row_count": 0
},
{
"arbitration_status": "saptavarga_dignity_arbitration_required",
"closure_bucket_counts": {
"formula_or_unit_mismatch": 5,
"method_variant": 2
},
"component": "sthana",
"next_evidence": "resolve Sapta/D3/D4/D7/D12/D30 dignity branches only with raw-backed third case",
"row_count": 7,
"sample_tickets": [
"shadbala.sun.sthana",
"shadbala.moon.sthana",
"shadbala.mars.sthana"
],
"unresolved_row_count": 7
}
],
"created_at": "2026-07-22",
"oss_reference_candidates": [
{
"boundary": "Simplified Chesta/Dig/Saptavarga model; do not treat as numeric oracle truth.",
"id": "dashaflow_shadbala",
"path": "references/open_source_sources/dashaflow/shadbala.py",
"use": "permissive/reference candidate only"
}
],
"production_tuning_allowed": false,
"queue_hash": "62dcf024255e3fcbef50cd4653817d98439e1a267622143515289b7883d81e82",
"scope": "shadbala_component_arbitration_queue_v2",
"source_packet": "references/oracle/shadbala_component_joined_closure_packet_2026_07_21.json",
"source_packet_sha256": "98ea50de9edbec32e2cd0fef2ec037f4a226da51e8413c2ef428c42a4f004593",
"summary": {
"absolute_truth_upgrade_count": 0,
"arbitration_required_count": 5,
"component_closed_count": 1,
"component_count": 6,
"same_unit_row_count": 42
},
"truth_matrix_allowed": false
}
@@ -0,0 +1,263 @@
{
"scope": "shadbala_dig_source_of_truth_audit",
"schema_version": 1,
"candidate_models": [
"current_linear_house_model",
"house_midpoint_angular_model",
"bhava_madhya_angular_model"
],
"inputs": {
"oracle_file": "references/oracle/dasha_shadbala_oracle_cases.json",
"oracle_file_sha256": "9ccf7697727cac73ca34e3b1057ea927d354cb6009fcb6d82f1f1ab3697ed4a4",
"external_case_count": 2,
"external_case_sources": [
{
"case_id": "template_steve_jobs_dasha_lahiri",
"source_artifact": "references/oracle/artifacts/pyjhora_steve_jobs_shadbala_lahiri_stdout_20260627.txt",
"source_artifact_sha256": "65f652ac47d4a81ab43568bde8c5d7b9fac09d45f399564500c5af1a12db96c3"
},
{
"case_id": "template_extreme_latitude_kp",
"source_artifact": "references/oracle/artifacts/pyjhora_extreme_latitude_kp_shadbala_stdout_20260627.txt",
"source_artifact_sha256": "28fc0a1e3aeee3e4a3c1f305038682ce782cacdb0416900184d9c43aeae9a68c"
}
]
},
"summary": {
"case_count": 2,
"row_count": 14,
"best_model_by_avg_abs_diff": "bhava_madhya_angular_model",
"avg_abs_diff_by_model": {
"current_linear_house_model": 0.3355,
"house_midpoint_angular_model": 0.3323,
"bhava_madhya_angular_model": 0.3033
}
},
"rows": [
{
"case_id": "template_steve_jobs_dasha_lahiri",
"planet": "Jupiter",
"external_dig_rupa": 1.3433,
"house": 11,
"planet_lon": 87.2772,
"asc_lon": 149.0606,
"current_linear_house_model": 0.6667,
"house_midpoint_angular_model": 0.5734,
"bhava_madhya_angular_model": 0.6568,
"abs_diffs": {
"current_linear_house_model": 0.6766,
"house_midpoint_angular_model": 0.7699,
"bhava_madhya_angular_model": 0.6865
}
},
{
"case_id": "template_steve_jobs_dasha_lahiri",
"planet": "Mars",
"external_dig_rupa": 1.2902,
"house": 9,
"planet_lon": 5.8598,
"asc_lon": 149.0606,
"current_linear_house_model": 0.8333,
"house_midpoint_angular_model": 0.6211,
"bhava_madhya_angular_model": 0.7044,
"abs_diffs": {
"current_linear_house_model": 0.4569,
"house_midpoint_angular_model": 0.6691,
"bhava_madhya_angular_model": 0.5858
}
},
{
"case_id": "template_steve_jobs_dasha_lahiri",
"planet": "Mercury",
"external_dig_rupa": 0.2107,
"house": 6,
"planet_lon": 291.1311,
"asc_lon": 149.0606,
"current_linear_house_model": 0.1667,
"house_midpoint_angular_model": 0.2941,
"bhava_madhya_angular_model": 0.2107,
"abs_diffs": {
"current_linear_house_model": 0.044,
"house_midpoint_angular_model": 0.0834,
"bhava_madhya_angular_model": 0.0
}
},
{
"case_id": "template_steve_jobs_dasha_lahiri",
"planet": "Moon",
"external_dig_rupa": 1.5913,
"house": 8,
"planet_lon": 344.5165,
"asc_lon": 149.0606,
"current_linear_house_model": 0.3333,
"house_midpoint_angular_model": 0.4975,
"bhava_madhya_angular_model": 0.4141,
"abs_diffs": {
"current_linear_house_model": 1.258,
"house_midpoint_angular_model": 1.0938,
"bhava_madhya_angular_model": 1.1772
}
},
{
"case_id": "template_steve_jobs_dasha_lahiri",
"planet": "Saturn",
"external_dig_rupa": 0.327,
"house": 3,
"planet_lon": 207.932,
"asc_lon": 149.0606,
"current_linear_house_model": 0.3333,
"house_midpoint_angular_model": 0.2437,
"bhava_madhya_angular_model": 0.3271,
"abs_diffs": {
"current_linear_house_model": 0.0063,
"house_midpoint_angular_model": 0.0833,
"bhava_madhya_angular_model": 0.0001
}
},
{
"case_id": "template_steve_jobs_dasha_lahiri",
"planet": "Sun",
"external_dig_rupa": 0.4135,
"house": 7,
"planet_lon": 312.5175,
"asc_lon": 149.0606,
"current_linear_house_model": 0.5,
"house_midpoint_angular_model": 0.3248,
"bhava_madhya_angular_model": 0.4081,
"abs_diffs": {
"current_linear_house_model": 0.0865,
"house_midpoint_angular_model": 0.0887,
"bhava_madhya_angular_model": 0.0054
}
},
{
"case_id": "template_steve_jobs_dasha_lahiri",
"planet": "Venus",
"external_dig_rupa": 1.1658,
"house": 5,
"planet_lon": 267.9412,
"asc_lon": 149.0606,
"current_linear_house_model": 0.8333,
"house_midpoint_angular_model": 0.9229,
"bhava_madhya_angular_model": 0.8396,
"abs_diffs": {
"current_linear_house_model": 0.3325,
"house_midpoint_angular_model": 0.2429,
"bhava_madhya_angular_model": 0.3262
}
},
{
"case_id": "template_extreme_latitude_kp",
"planet": "Jupiter",
"external_dig_rupa": 0.631,
"house": 4,
"planet_lon": 34.2332,
"asc_lon": 327.826,
"current_linear_house_model": 0.5,
"house_midpoint_angular_model": 0.7144,
"bhava_madhya_angular_model": 0.6311,
"abs_diffs": {
"current_linear_house_model": 0.131,
"house_midpoint_angular_model": 0.0834,
"bhava_madhya_angular_model": 0.0001
}
},
{
"case_id": "template_extreme_latitude_kp",
"planet": "Mars",
"external_dig_rupa": 0.0193,
"house": 5,
"planet_lon": 69.2064,
"asc_lon": 327.826,
"current_linear_house_model": 0.1667,
"house_midpoint_angular_model": 0.0201,
"bhava_madhya_angular_model": 0.0632,
"abs_diffs": {
"current_linear_house_model": 0.1474,
"house_midpoint_angular_model": 0.0008,
"bhava_madhya_angular_model": 0.0439
}
},
{
"case_id": "template_extreme_latitude_kp",
"planet": "Mercury",
"external_dig_rupa": 0.3437,
"house": 5,
"planet_lon": 85.9761,
"asc_lon": 327.826,
"current_linear_house_model": 0.3333,
"house_midpoint_angular_model": 0.4269,
"bhava_madhya_angular_model": 0.3436,
"abs_diffs": {
"current_linear_house_model": 0.0104,
"house_midpoint_angular_model": 0.0832,
"bhava_madhya_angular_model": 0.0001
}
},
{
"case_id": "template_extreme_latitude_kp",
"planet": "Moon",
"external_dig_rupa": 0.245,
"house": 12,
"planet_lon": 289.8315,
"asc_lon": 327.826,
"current_linear_house_model": 0.3333,
"house_midpoint_angular_model": 0.2056,
"bhava_madhya_angular_model": 0.2889,
"abs_diffs": {
"current_linear_house_model": 0.0883,
"house_midpoint_angular_model": 0.0394,
"bhava_madhya_angular_model": 0.0439
}
},
{
"case_id": "template_extreme_latitude_kp",
"planet": "Saturn",
"external_dig_rupa": 1.6447,
"house": 4,
"planet_lon": 31.7687,
"asc_lon": 327.826,
"current_linear_house_model": 0.5,
"house_midpoint_angular_model": 0.2719,
"bhava_madhya_angular_model": 0.3552,
"abs_diffs": {
"current_linear_house_model": 1.1447,
"house_midpoint_angular_model": 1.3728,
"bhava_madhya_angular_model": 1.2895
}
},
{
"case_id": "template_extreme_latitude_kp",
"planet": "Sun",
"external_dig_rupa": 0.0022,
"house": 5,
"planet_lon": 66.1221,
"asc_lon": 327.826,
"current_linear_house_model": 0.1667,
"house_midpoint_angular_model": 0.0372,
"bhava_madhya_angular_model": 0.0461,
"abs_diffs": {
"current_linear_house_model": 0.1645,
"house_midpoint_angular_model": 0.035,
"bhava_madhya_angular_model": 0.0439
}
},
{
"case_id": "template_extreme_latitude_kp",
"planet": "Venus",
"external_dig_rupa": 0.9833,
"house": 5,
"planet_lon": 68.7289,
"asc_lon": 327.826,
"current_linear_house_model": 0.8333,
"house_midpoint_angular_model": 0.9772,
"bhava_madhya_angular_model": 0.9394,
"abs_diffs": {
"current_linear_house_model": 0.15,
"house_midpoint_angular_model": 0.0061,
"bhava_madhya_angular_model": 0.0439
}
}
],
"boundary": "This audit compares three local Dig Bala candidate models against external oracle rows. It is diagnostic only and does not modify production scoring."
}
@@ -0,0 +1,35 @@
{
"scope": "timing_rectification_holdout_freeze_contract",
"created_at": "2026-07-22",
"claim_status": "blocked",
"truth_matrix_allowed": false,
"production_tuning_allowed": false,
"summary": {
"minimum_public_people": 3,
"positive_events_per_person": 1,
"negative_windows_per_person": 2,
"frozen_label_count": 0,
"blind_ranking_allowed": false,
"day_month_claim_upgrade_allowed": false
},
"required_label_schema": {
"person_id": "public person slug",
"birth_data_source": "public source URL or packet id",
"event_domain": "career | relationship | health | relocation | other",
"positive_event": {"date_or_range": "required", "source": "required", "pre_registered": true},
"negative_windows": [{"start": "required", "end": "required", "reason": "no known target event in this domain"}],
"reviewer": "human reviewer id",
"freeze_hash": "sha256 of sorted labels before model run"
},
"allowed_runtime_output": {
"verified_window": "broad window only",
"candidate_windows": "exploratory_unvalidated",
"claim_status": "exploratory_unvalidated"
},
"blocked_output": [
"verified exact event date",
"birth-time truth from candidate score",
"production tuning on existing observed controls"
],
"boundary": "Timing and birth-time rectification exact day/month upgrades are blocked until independent human labels are frozen before blind ranking."
}
@@ -0,0 +1,53 @@
{
"scope": "timing_rectification_public_holdout_candidate_queue",
"created_at": "2026-07-22",
"claim_status": "blocked_until_human_labels",
"truth_matrix_allowed": false,
"production_tuning_allowed": false,
"summary": {
"public_positive_event_candidate_count": 3,
"frozen_negative_window_count": 0,
"blind_ranking_allowed": false,
"day_month_claim_upgrade_allowed": false
},
"positive_event_candidates": [
{
"person_id": "steve_jobs",
"event_domain": "career",
"event": "Apple Computer Company founded",
"date": "1976-04-01",
"source_url": "https://www.ebsco.com/research-starters/computer-science/jobs-and-wozniak-found-apple-computer",
"source_note": "Public source states Apple Computer was founded on April 1, 1976 by Steve Jobs and Stephen Wozniak.",
"label_status": "positive_candidate_requires_human_freeze"
},
{
"person_id": "steve_jobs",
"event_domain": "career",
"event": "Apple partnership founding at Jobs family home",
"date": "1976-04-01",
"source_url": "https://en.wikipedia.org/wiki/Steve_Jobs",
"source_note": "Secondary public source gives the same founding date and context.",
"label_status": "corroborating_positive_candidate_not_independent_negative"
},
{
"person_id": "marilyn_monroe",
"event_domain": "health_death",
"event": "Found dead in Los Angeles home",
"date": "1962-08-05",
"source_url": "https://www.history.com/this-day-in-history/august-5/marilyn-monroe-is-found-dead",
"source_note": "Public source states Monroe was found dead on August 5, 1962.",
"label_status": "positive_candidate_requires_human_freeze"
}
],
"negative_window_requirements": [
"Each person requires two human-reviewed non-event windows in the same event domain.",
"Negative windows must be frozen before any model/scoring run.",
"Existing observed control dates must not be used for tuning."
],
"next_steps": [
"human reviewer selects 3-10 public people and freezes labels",
"add two negative windows per person with source/reason",
"hash the sorted label packet before blind ranking"
],
"boundary": "This queue improves source intake only. It does not provide negative labels and cannot upgrade timing or birth-time rectification claims."
}
@@ -0,0 +1,303 @@
{
"boundary": "Same-input probe only. UL/A7/A10/KP cusp external three-engine parity remains blocked.",
"claim_status": "blocked",
"created_at": "2026-07-22",
"field_rows": [
{
"claim_boundary": "UL remains observation-only until same-input external raw from at least two independent legal sources is captured.",
"external_ready_count": 0,
"external_ready_engines": [],
"field": "UL",
"local_ready": true,
"three_engine_parity_status": "blocked"
},
{
"claim_boundary": "A7 remains observation-only until same-input external raw from at least two independent legal sources is captured.",
"external_ready_count": 0,
"external_ready_engines": [],
"field": "A7",
"local_ready": true,
"three_engine_parity_status": "blocked"
},
{
"claim_boundary": "A10 remains observation-only until same-input external raw from at least two independent legal sources is captured.",
"external_ready_count": 0,
"external_ready_engines": [],
"field": "A10",
"local_ready": true,
"three_engine_parity_status": "blocked"
},
{
"claim_boundary": "KP_cusps remains observation-only until same-input external raw from at least two independent legal sources is captured.",
"external_ready_count": 0,
"external_ready_engines": [],
"field": "KP_cusps",
"local_ready": true,
"three_engine_parity_status": "blocked"
}
],
"observations": [
{
"engine": "local",
"fields": {
"A10": {
"distance": 8,
"exception_triggered": false,
"house_num": 10,
"lord": "Moon",
"lord_sign": "Sagittarius",
"name": "Karma Pada (A10)",
"sign": "Cancer",
"sign_idx": 3,
"source_house_lord": "Venus",
"source_house_sign": "Taurus"
},
"A7": {
"distance": 9,
"exception_triggered": false,
"house_num": 7,
"lord": "Mercury",
"lord_sign": "Libra",
"name": "Dara Pada (A7)",
"sign": "Gemini",
"sign_idx": 2,
"source_house_lord": "Saturn",
"source_house_sign": "Aquarius"
},
"KP_cusps": {
"house_1": {
"cusp_degree": 149.342,
"nakshatra": "Uttara Phalguni",
"nakshatra_lord": "Sun",
"rasi_lord": "Sun",
"sign": "Leo",
"sub_lord": "Rahu",
"sub_sub_lord": "Rahu"
},
"house_10": {
"cusp_degree": 59.342,
"nakshatra": "Mrigashira",
"nakshatra_lord": "Mars",
"rasi_lord": "Venus",
"sign": "Taurus",
"sub_lord": "Saturn",
"sub_sub_lord": "Mars"
},
"house_4": {
"cusp_degree": 239.342,
"nakshatra": "Jyeshtha",
"nakshatra_lord": "Mercury",
"rasi_lord": "Mars",
"sign": "Scorpio",
"sub_lord": "Saturn",
"sub_sub_lord": "Mars"
},
"house_7": {
"cusp_degree": 329.342,
"nakshatra": "Purva Bhadrapada",
"nakshatra_lord": "Jupiter",
"rasi_lord": "Saturn",
"sign": "Aquarius",
"sub_lord": "Sun",
"sub_sub_lord": "Venus"
}
},
"UL": {
"distance": 9,
"exception_triggered": false,
"house_num": 12,
"lord": "Mars",
"lord_sign": "Pisces",
"name": "Upapada (UL)",
"sign": "Scorpio",
"sign_idx": 7,
"source_house_lord": "Moon",
"source_house_sign": "Cancer"
}
},
"raw": {
"arudha": {
"A10": {
"distance": 8,
"exception_triggered": false,
"house_num": 10,
"lord": "Moon",
"lord_sign": "Sagittarius",
"name": "Karma Pada (A10)",
"sign": "Cancer",
"sign_idx": 3,
"source_house_lord": "Venus",
"source_house_sign": "Taurus"
},
"A7": {
"distance": 9,
"exception_triggered": false,
"house_num": 7,
"lord": "Mercury",
"lord_sign": "Libra",
"name": "Dara Pada (A7)",
"sign": "Gemini",
"sign_idx": 2,
"source_house_lord": "Saturn",
"source_house_sign": "Aquarius"
},
"UL": {
"distance": 9,
"exception_triggered": false,
"house_num": 12,
"lord": "Mars",
"lord_sign": "Pisces",
"name": "Upapada (UL)",
"sign": "Scorpio",
"sign_idx": 7,
"source_house_lord": "Moon",
"source_house_sign": "Cancer"
}
},
"ascendant": {
"degree_in_sign": 29.342,
"lon": 149.342,
"sign": "Leo"
},
"kp_cusps": {
"house_1": {
"cusp_degree": 149.342,
"nakshatra": "Uttara Phalguni",
"nakshatra_lord": "Sun",
"rasi_lord": "Sun",
"sign": "Leo",
"sub_lord": "Rahu",
"sub_sub_lord": "Rahu"
},
"house_10": {
"cusp_degree": 59.342,
"nakshatra": "Mrigashira",
"nakshatra_lord": "Mars",
"rasi_lord": "Venus",
"sign": "Taurus",
"sub_lord": "Saturn",
"sub_sub_lord": "Mars"
},
"house_4": {
"cusp_degree": 239.342,
"nakshatra": "Jyeshtha",
"nakshatra_lord": "Mercury",
"rasi_lord": "Mars",
"sign": "Scorpio",
"sub_lord": "Saturn",
"sub_sub_lord": "Mars"
},
"house_7": {
"cusp_degree": 329.342,
"nakshatra": "Purva Bhadrapada",
"nakshatra_lord": "Jupiter",
"rasi_lord": "Saturn",
"sign": "Aquarius",
"sub_lord": "Sun",
"sub_sub_lord": "Venus"
}
},
"varga_lagna": {
"D10_Dasamsa": {
"degree_in_sign": 23.42,
"lord": "Venus",
"part_index": 9,
"sign": "Taurus",
"sign_idx": 1
},
"D24_Siddhamsa": {
"degree_in_sign": 14.208,
"lord": "Moon",
"part_index": 23,
"sign": "Cancer",
"sign_idx": 3
},
"D30_Trimsamsa": {
"degree_in_sign": 10.26,
"lord": "Venus",
"part_index": 29,
"sign": "Libra",
"sign_idx": 6
},
"D4_Turyamsa": {
"degree_in_sign": 27.368,
"lord": "Venus",
"part_index": 3,
"sign": "Taurus",
"sign_idx": 1
},
"D60_Shashtyamsa": {
"degree_in_sign": 20.52,
"lord": "Mercury",
"part_index": 58,
"sign": "Gemini",
"sign_idx": 2
},
"D9_Navamsa": {
"degree_in_sign": 24.078,
"lord": "Jupiter",
"pada": 9,
"part_index": 8,
"sign": "Sagittarius",
"sign_idx": 8
}
}
},
"raw_hash": "4e36fc7517f611ed21f20091541e61fc9e482f7e2d22add22c01331beca2a138",
"status": "complete"
},
{
"engine": "VedicAstro",
"error": "No module named 'flatlib'",
"error_type": "ModuleNotFoundError",
"status": "blocked_runtime_error"
},
{
"boundary": "AGPL black-box capture required; no same-input raw packet exists.",
"engine": "PyJHora",
"missing_fields": [
"UL",
"A7",
"A10",
"KP_cusps"
],
"status": "not_captured"
},
{
"boundary": "No mapped same-input Arudha/KP cusp field contract exists.",
"engine": "jyotishganit",
"missing_fields": [
"UL",
"A7",
"A10",
"KP_cusps"
],
"status": "no_field_contract"
}
],
"packet_hash": "f84294c402b9fe9c5fc065f81a21d750fac878886dadedd72d6839dfe3edabde",
"production_tuning_allowed": false,
"request": {
"day": 24,
"hour": 19,
"house_system": "Placidus",
"kp_ayanamsa": "Krishnamurti",
"latitude": 37.3382,
"local_ayanamsa": "lahiri",
"longitude": -122.0383,
"minute": 15,
"month": 2,
"second": 0,
"timezone": "America/Los_Angeles",
"tz_offset": -8,
"year": 1955
},
"scope": "ul_a7_a10_kp_cusp_same_input_parity_probe",
"summary": {
"external_ready_field_count": 0,
"field_count": 4,
"local_ready_count": 4,
"three_engine_parity_ready_count": 0
},
"truth_matrix_allowed": false
}
@@ -0,0 +1,79 @@
{
"scope": "ul_a7_a10_kp_cusp_three_engine_parity_gap",
"created_at": "2026-07-22",
"claim_status": "blocked",
"truth_matrix_allowed": false,
"production_tuning_allowed": false,
"summary": {
"field_count": 4,
"three_engine_parity_ready_count": 0,
"local_runtime_ready_count": 4,
"external_raw_ready_count": 1,
"blocked_field_count": 4
},
"field_rows": [
{
"field": "UL",
"local_status": "runtime_ready",
"local_source": "scripts.active_rectification_questions.recast_candidate_layers / jaimini.calc_arudha_padas",
"external_engine_status": {
"PyJHora": "not_yet_captured_for_same_input",
"jyotishganit": "no_mapped_field_contract",
"VedicAstro": "no_equivalent_UL_field_confirmed",
"VedAstro": "hosted_method_identity_blocked"
},
"claim_boundary": "Use local UL as interpretation/candidate signal only; no external three-engine parity claim."
},
{
"field": "A7",
"local_status": "runtime_ready",
"local_source": "scripts.active_rectification_questions.recast_candidate_layers / jaimini.calc_arudha_padas",
"external_engine_status": {
"PyJHora": "not_yet_captured_for_same_input",
"jyotishganit": "no_mapped_field_contract",
"VedicAstro": "no_equivalent_A7_field_confirmed",
"VedAstro": "hosted_method_identity_blocked"
},
"claim_boundary": "Use local A7/Darapada as relationship image signal only; no external three-engine parity claim."
},
{
"field": "A10",
"local_status": "runtime_ready",
"local_source": "scripts.active_rectification_questions.recast_candidate_layers / jaimini.calc_arudha_padas",
"external_engine_status": {
"PyJHora": "not_yet_captured_for_same_input",
"jyotishganit": "no_mapped_field_contract",
"VedicAstro": "no_equivalent_A10_field_confirmed",
"VedAstro": "hosted_method_identity_blocked"
},
"claim_boundary": "Use local A10/Karma Pada as career image signal only; no external three-engine parity claim."
},
{
"field": "KP cusp star/sub/sub-sub",
"local_status": "runtime_ready",
"local_source": "scripts/active_rectification_questions.py and scripts/vedicastro_kp_house_cusp_probe.py",
"external_engine_status": {
"VedicAstro": "single_external_raw_observation_ready",
"PyJHora": "not_yet_captured_for_same_input",
"jyotishganit": "no_KP_cusp_contract",
"public_worked_example": "blocked"
},
"claim_boundary": "KP cusp raw may be shown as observation-only; no exact timing oracle or public worked-example parity claim."
}
],
"required_to_close": [
"one canonical same-input request including birth/question time, location, timezone, ayanamsa and node mode",
"UL/A7/A10 expected values from at least two independent legal external engines or worked examples",
"KP cusp exact longitude plus star/sub/sub-sub from at least two independent legal external engines or one public numeric worked example plus runtime replay",
"field-level raw hashes and schema fingerprints for every engine",
"method-variant notes for Jaimini Arudha exceptions and KP house system"
],
"allowed_runtime_use": "local_candidate_signal_only",
"blocked_runtime_use": [
"three_engine_parity_pass",
"birth_time_truth",
"verified exact timing claim",
"production tuning"
],
"boundary": "UL/A7/A10/KP cusp parity is not closed. Local and VedicAstro observation layers are useful, but high-rigor claims must stay blocked until same-input external raw/field comparison exists."
}
+40
View File
@@ -39,6 +39,10 @@ def build_report() -> dict[str, Any]:
kp_contract = _load(ORACLE / "kp_cusp_precision_contract_2026_07_19.json")
prashna_packet = _load(ORACLE / "prashna_tajika_saham_gulika_sphuta_oracle_packet_2026_07_19.json")
formula_kb = _load(ORACLE / "formula_source_knowledge_base_2026_07_19.json")
raman_replay = _load(ORACLE / "raman_shadbala_raw_replay_and_input_drift_2026_07_22.json")
shadbala_component_queue = _load(ORACLE / "shadbala_component_arbitration_queue_v2_2026_07_22.json")
rectification_external_parity = _load(ORACLE / "ul_a7_a10_kp_cusp_three_engine_parity_gap_2026_07_22.json")
rectification_same_input_probe = _load(ORACLE / "ul_a7_a10_kp_cusp_same_input_parity_probe_2026_07_22.json")
holdout = _load(ROOT / "references/real_case_calibration/day_level_holdout_v3_human_annotation_packet_2026_07_19.json")
full_scoring = []
@@ -85,6 +89,27 @@ def build_report() -> dict[str, Any]:
"evidence": full_scoring,
"claim_boundary": "KP, Muhurta, advanced Ashtakavarga and advanced compatibility have registries/probes, but full scoring remains blocked or partial.",
},
{
"gate_id": "raman_shadbala_raw_identity",
"status": "blocked",
"evidence": raman_replay,
"claim_boundary": "Raman Shadbala remains blocked because the declared 2026-06-27 stdout is absent and fresh replay proves input-contract drift.",
},
{
"gate_id": "shadbala_component_arbitration",
"status": "partial",
"evidence": shadbala_component_queue,
"claim_boundary": "Only Naisargika is same-unit closed; Chesta, Dig, Drik, Kala and Sthana remain component arbitration items.",
},
{
"gate_id": "rectification_external_parity",
"status": "blocked",
"evidence": {
"gap_packet": rectification_external_parity,
"same_input_probe": rectification_same_input_probe,
},
"claim_boundary": "UL/A7/A10/KP cusp same-input external three-engine parity is not closed, so rectification can use these as local candidate signals only.",
},
]
return {
@@ -117,6 +142,21 @@ def build_report() -> dict[str, Any]:
"blocked_by": ["full_scoring_contracts", "external_numeric_oracle", "independent_negative_holdout"],
"target": "KP/Muhurta/AV/compatibility scoring",
},
{
"action": "recapture_or_replace_raman_shadbala_sample",
"blocked_by": ["raman_shadbala_raw_identity"],
"target": "raw-backed third Shadbala case for D3/Sapta/Sthana audits",
},
{
"action": "arbitrate_shadbala_components",
"blocked_by": ["shadbala_component_arbitration", "external_numeric_oracle"],
"target": "Chesta mean-motion/retrograde/Seeghrochcha plus Dig/Drik/Kala/Sthana variants",
},
{
"action": "capture_ul_a7_a10_kp_cusp_external_parity",
"blocked_by": ["rectification_external_parity"],
"target": "same-input UL/A7/A10/KP cusp external raw and field comparison",
},
],
}
+165
View File
@@ -0,0 +1,165 @@
#!/usr/bin/env python3
"""Replay the missing Raman Shadbala raw artifact through installed PyJHora.
This is a black-box observation runner. It imports the installed `jhora`
package, records stdout-like raw values and hashes, and compares them to the
pending Raman packet. It does not copy PyJHora implementation code.
"""
from __future__ import annotations
import hashlib
import json
from pathlib import Path
from typing import Any
ROOT = Path(__file__).resolve().parents[1]
PENDING = ROOT / "references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman_pyjhora_20260627.json"
ARTIFACT = ROOT / "references/oracle/artifacts/pyjhora_synthetic_north_china_shadbala_raman_stdout_20260722.txt"
PACKET = ROOT / "references/oracle/raman_shadbala_raw_replay_and_input_drift_2026_07_22.json"
PLANETS = ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
COMPONENTS = ["sthana", "kala", "dig", "chesta", "naisargika", "drik"]
def _sha256_text(text: str) -> str:
return hashlib.sha256(text.encode("utf-8")).hexdigest()
def _round_rupa(raw: list[list[float]]) -> dict[str, dict[str, float]]:
out: dict[str, dict[str, float]] = {}
for planet_index, planet in enumerate(PLANETS):
row = {}
for component_index, component in enumerate(COMPONENTS):
row[component] = round(float(raw[component_index][planet_index]) / 60.0, 4)
row["total_rupa"] = round(float(raw[6][planet_index]) / 60.0, 4)
out[planet] = row
return out
def _replay_case(case: dict[str, Any]) -> dict[str, Any]:
from jhora import utils
from jhora.panchanga import drik
from jhora.horoscope.chart import strength
drik.set_ayanamsa_mode("Raman")
jd = utils.julian_day_number(
(case["year"], case["month"], case["day"]),
(case["hour"], case["minute"], case.get("second", 0)),
)
place = drik.Place(case["label"], case["lat"], case["lon"], case["tz"])
raw = strength.shad_bala(jd, place)
chesta_new = strength._cheshta_bala_new(jd, place) # black-box call; no implementation copied
try:
chesta_legacy = strength._cheshta_bala(jd, place)
legacy_status = {"status": "ok", "values": chesta_legacy}
except Exception as exc: # noqa: BLE001 - artifact should capture exact black-box failure type
legacy_status = {"status": "error", "error_type": type(exc).__name__, "error": str(exc)}
return {
"case": case,
"julian_day": jd,
"ayanamsa_value": drik.get_ayanamsa_value(jd),
"raw_virupa": raw,
"component_rupa": _round_rupa(raw),
"chesta_new": chesta_new,
"chesta_legacy": legacy_status,
}
def _diff_against_pending(component_rupa: dict[str, dict[str, float]], pending: dict[str, Any]) -> dict[str, Any]:
target = pending["target_placeholders"]["target.shadbala_components"]
diffs = []
for planet in PLANETS:
for component in ["sthana", "dig", "kala", "chesta", "naisargika", "drik", "total_rupa"]:
observed = component_rupa[planet][component]
expected = target[planet][component]
diffs.append({
"planet": planet,
"component": component,
"observed": observed,
"pending_expected": expected,
"abs_diff": round(abs(observed - expected), 4),
})
return {
"max_abs_diff": max(row["abs_diff"] for row in diffs),
"within_0001_count": sum(row["abs_diff"] <= 0.0001 for row in diffs),
"row_count": len(diffs),
"diffs": diffs,
}
def build() -> dict[str, Any]:
pending = json.loads(PENDING.read_text(encoding="utf-8"))
birth = pending["birth"]
cases = [
{"label": "declared_packet_coordinates", **birth},
{
"label": "handan_candidate_coordinates",
"year": birth["year"],
"month": birth["month"],
"day": birth["day"],
"hour": birth["hour"],
"minute": birth["minute"],
"second": birth.get("second", 0),
"lat": 36.6,
"lon": 114.5,
"tz": birth["tz"],
},
]
replays = [_replay_case(case) for case in cases]
artifact_body = "\n".join(
[
"SOURCE_ENV installed jhora black-box import; AGPL implementation not copied",
"CAPTURE_DATE 2026-07-22",
"PENDING_PACKET references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman_pyjhora_20260627.json",
"NOTE Replays declared packet coordinates and Handan candidate coordinates because existing packet metadata conflicts with case naming/history.",
"REPLAY_JSON " + json.dumps(replays, ensure_ascii=False, sort_keys=True),
]
) + "\n"
ARTIFACT.write_text(artifact_body, encoding="utf-8")
comparisons = [
{
"case_label": replay["case"]["label"],
"pending_diff": _diff_against_pending(replay["component_rupa"], pending),
}
for replay in replays
]
return {
"scope": "raman_shadbala_raw_replay_and_input_drift",
"created_at": "2026-07-22",
"claim_status": "blocked",
"truth_matrix_allowed": False,
"production_tuning_allowed": False,
"pending_packet": str(PENDING.relative_to(ROOT)),
"replay_artifact": str(ARTIFACT.relative_to(ROOT)),
"replay_artifact_sha256": hashlib.sha256(ARTIFACT.read_bytes()).hexdigest(),
"summary": {
"replay_case_count": len(replays),
"pending_declared_artifact_found": (ROOT / pending["metadata"]["source_artifact"]).exists(),
"best_case_label_by_max_diff": min(comparisons, key=lambda row: row["pending_diff"]["max_abs_diff"])["case_label"],
"complete_match_count": sum(row["pending_diff"]["max_abs_diff"] <= 0.0001 for row in comparisons),
"can_promote_raman_sample": False,
},
"comparisons": comparisons,
"chesta_variant_observation": {
"legacy_api_status": replays[0]["chesta_legacy"]["status"],
"new_api_present": True,
"boundary": "PyJHora exposes at least two Chesta paths; this replay records behavior but does not choose a formula truth.",
},
"boundary": (
"Raman Shadbala sample is not promoted: the declared raw artifact is "
"absent and fresh black-box replay does not exactly match the pending "
"target values under the declared coordinates. Handan-like coordinates "
"are closer, proving an input-contract drift that needs human/source review."
),
}
def main() -> int:
packet = build()
PACKET.write_text(json.dumps(packet, ensure_ascii=False, indent=2, sort_keys=True) + "\n", encoding="utf-8")
print(json.dumps(packet, ensure_ascii=False, indent=2, sort_keys=True))
return 0
if __name__ == "__main__":
raise SystemExit(main())
@@ -0,0 +1,123 @@
#!/usr/bin/env python3
"""Build Shadbala component arbitration queue v2 from same-unit joined rows."""
from __future__ import annotations
import hashlib
import json
from collections import Counter, defaultdict
from pathlib import Path
from typing import Any
ROOT = Path(__file__).resolve().parents[1]
JOINED = ROOT / "references/oracle/shadbala_component_joined_closure_packet_2026_07_21.json"
OUTPUT = ROOT / "references/oracle/shadbala_component_arbitration_queue_v2_2026_07_22.json"
COMPONENT_POLICY = {
"naisargika": {
"status": "component_closed_same_unit",
"next": "preserve regression coverage; no formula change",
},
"dig": {
"status": "formula_model_arbitration_required",
"next": "compare angular-distance, house-midpoint and bhava-madhya models against more raw-backed cases",
},
"drik": {
"status": "aspect_model_arbitration_required",
"next": "fix graha drishti/aspect strength scale and benefic-malefic aggregation source",
},
"kala": {
"status": "subcomponent_arbitration_required",
"next": "split natonnata, paksha, ayana, day/night and hora subcomponents before tuning",
},
"sthana": {
"status": "saptavarga_dignity_arbitration_required",
"next": "resolve Sapta/D3/D4/D7/D12/D30 dignity branches only with raw-backed third case",
},
"chesta": {
"status": "method_variant_arbitration_required",
"next": "compare mean-motion, retrograde/stationary and Seeghrochcha variants without copying AGPL code",
},
}
def _stable_json(data: Any) -> str:
return json.dumps(data, ensure_ascii=False, sort_keys=True, separators=(",", ":"))
def build() -> dict[str, Any]:
joined = json.loads(JOINED.read_text(encoding="utf-8"))
rows = joined["joined_rows"]
by_component: dict[str, list[dict[str, Any]]] = defaultdict(list)
for row in rows:
by_component[row["component"]].append(row)
component_rows = []
for component in sorted(by_component):
component_items = by_component[component]
buckets = Counter(row["closure_bucket"] for row in component_items)
policy = COMPONENT_POLICY[component]
unresolved = sum(
count for bucket, count in buckets.items()
if bucket not in {"within_tolerance", "component_closed_same_unit"}
)
component_rows.append({
"component": component,
"row_count": len(component_items),
"closure_bucket_counts": dict(sorted(buckets.items())),
"unresolved_row_count": unresolved,
"arbitration_status": policy["status"],
"next_evidence": policy["next"],
"sample_tickets": [row["ticket_id"] for row in component_items[:3]],
})
summary = {
"component_count": len(component_rows),
"same_unit_row_count": len(rows),
"component_closed_count": sum(
1 for row in component_rows if row["arbitration_status"] == "component_closed_same_unit"
),
"arbitration_required_count": sum(
1 for row in component_rows if row["arbitration_status"] != "component_closed_same_unit"
),
"absolute_truth_upgrade_count": 0,
}
report = {
"scope": "shadbala_component_arbitration_queue_v2",
"created_at": "2026-07-22",
"claim_status": "partial",
"truth_matrix_allowed": False,
"production_tuning_allowed": False,
"source_packet": str(JOINED.relative_to(ROOT)),
"source_packet_sha256": hashlib.sha256(JOINED.read_bytes()).hexdigest(),
"oss_reference_candidates": [
{
"id": "dashaflow_shadbala",
"path": "references/open_source_sources/dashaflow/shadbala.py",
"use": "permissive/reference candidate only",
"boundary": "Simplified Chesta/Dig/Saptavarga model; do not treat as numeric oracle truth.",
}
],
"summary": summary,
"component_rows": component_rows,
"queue_hash": hashlib.sha256(_stable_json(component_rows).encode("utf-8")).hexdigest(),
"boundary": (
"This queue makes component-level blockers explicit. Naisargika is "
"same-unit closed; Dig/Drik/Kala/Sthana/Chesta remain arbitration "
"items and do not upgrade absolute Shadbala truth."
),
}
return report
def main() -> int:
report = build()
rendered = json.dumps(report, ensure_ascii=False, indent=2, sort_keys=True)
OUTPUT.write_text(rendered + "\n", encoding="utf-8")
print(rendered)
return 0
if __name__ == "__main__":
raise SystemExit(main())
+40 -2
View File
@@ -3,6 +3,8 @@
from __future__ import annotations
import argparse
import hashlib
import json
import math
import os
@@ -35,6 +37,15 @@ def _load_oracle(path: str) -> dict[str, Any]:
return oracle_boundary_audit._load_oracle(str(resolved))
def _resolve_path(path: str) -> Path:
candidate = Path(path)
return candidate if candidate.is_absolute() else ROOT / candidate
def _sha256(path: Path) -> str:
return hashlib.sha256(path.read_bytes()).hexdigest()
def _iter_external_verified_template_cases(oracle: dict[str, Any]) -> list[dict[str, Any]]:
out: list[dict[str, Any]] = []
for case in oracle.get("template_cases", []):
@@ -102,6 +113,7 @@ def _best_bhava_madhya_lon(chart: dict[str, Any], planet: str) -> float:
def build_report(oracle_file: str) -> dict[str, Any]:
oracle = _load_oracle(oracle_file)
cases = _iter_external_verified_template_cases(oracle)
resolved_oracle = _resolve_path(oracle_file)
rows: list[dict[str, Any]] = []
model_diffs: dict[str, list[float]] = {name: [] for name in MODEL_NAMES}
@@ -153,6 +165,22 @@ def build_report(oracle_file: str) -> dict[str, Any]:
"scope": "shadbala_dig_source_of_truth_audit",
"schema_version": 1,
"candidate_models": MODEL_NAMES,
"inputs": {
"oracle_file": str(resolved_oracle.relative_to(ROOT)),
"oracle_file_sha256": _sha256(resolved_oracle),
"external_case_count": len(cases),
"external_case_sources": [
{
"case_id": case.get("id") or case.get("case_id"),
"source_artifact": case.get("evidence_packet", {}).get("metadata", {}).get("source_artifact", ""),
"source_artifact_sha256": _sha256(source_path)
if (source_artifact := case.get("evidence_packet", {}).get("metadata", {}).get("source_artifact"))
and (source_path := _resolve_path(source_artifact)).exists()
else None,
}
for case in cases
],
},
"summary": {
"case_count": len(cases),
"row_count": len(rows),
@@ -168,8 +196,18 @@ def build_report(oracle_file: str) -> dict[str, Any]:
def main() -> None:
report = build_report("references/oracle/dasha_shadbala_oracle_cases.json")
print(json.dumps(report, ensure_ascii=False, indent=2))
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument(
"--oracle-file",
default="references/oracle/dasha_shadbala_oracle_cases.json",
)
parser.add_argument("--output", help="Optional JSON snapshot path.")
args = parser.parse_args()
report = build_report(args.oracle_file)
rendered = json.dumps(report, ensure_ascii=False, indent=2)
if args.output:
Path(args.output).write_text(rendered + "\n", encoding="utf-8")
print(rendered)
if __name__ == "__main__":
@@ -0,0 +1,185 @@
#!/usr/bin/env python3
"""Build same-input parity packet for UL/A7/A10/KP cusp fields.
The packet deliberately separates local runtime observations from external
parity. It does not claim three-engine parity unless each field has enough
same-input external raw rows.
"""
from __future__ import annotations
import argparse
import hashlib
import json
from datetime import datetime
from pathlib import Path
from types import SimpleNamespace
from typing import Any
from scripts.active_rectification_questions import recast_candidate_layers
from scripts.vedicastro_kp_house_cusp_probe import build as build_vedicastro_kp
ROOT = Path(__file__).resolve().parents[1]
OUTPUT = ROOT / "references/oracle/ul_a7_a10_kp_cusp_same_input_parity_probe_2026_07_22.json"
def stable(data: Any) -> str:
return json.dumps(data, ensure_ascii=False, sort_keys=True, separators=(",", ":"), default=str)
def _local_observation(args: argparse.Namespace) -> dict[str, Any]:
candidate = datetime(args.year, args.month, args.day, args.hour, args.minute, args.second)
recast = recast_candidate_layers(
candidate,
lat=args.latitude,
lon=args.longitude,
tz=args.tz_offset,
ayanamsa=args.local_ayanamsa,
)
if not recast:
return {"status": "error", "error": "local recast returned null"}
arudha = recast.get("arudha") or {}
return {
"status": "complete",
"engine": "local",
"fields": {
"UL": arudha.get("UL"),
"A7": arudha.get("A7"),
"A10": arudha.get("A10"),
"KP_cusps": recast.get("kp_cusps"),
},
"raw_hash": hashlib.sha256(stable(recast).encode("utf-8")).hexdigest(),
"raw": recast,
}
def _vedicastro_observation(args: argparse.Namespace) -> dict[str, Any]:
try:
payload = build_vedicastro_kp(SimpleNamespace(
year=args.year,
month=args.month,
day=args.day,
hour=args.hour,
minute=args.minute,
second=args.second,
latitude=args.latitude,
longitude=args.longitude,
timezone=args.timezone,
ayanamsa=args.kp_ayanamsa,
house_system=args.house_system,
))
return {
"status": "complete",
"engine": "VedicAstro",
"fields": {
"KP_cusps": payload.get("raw", {}).get("houses"),
},
"raw_hash": payload.get("raw_hash"),
"schema_fingerprint": payload.get("schema_fingerprint"),
"raw": payload.get("raw"),
"boundary": payload.get("boundary"),
}
except Exception as exc: # noqa: BLE001 - packet must capture exact runtime blocker
return {
"status": "blocked_runtime_error",
"engine": "VedicAstro",
"error_type": type(exc).__name__,
"error": str(exc),
}
def build(args: argparse.Namespace) -> dict[str, Any]:
request = {
"year": args.year,
"month": args.month,
"day": args.day,
"hour": args.hour,
"minute": args.minute,
"second": args.second,
"latitude": args.latitude,
"longitude": args.longitude,
"timezone": args.timezone,
"tz_offset": args.tz_offset,
"local_ayanamsa": args.local_ayanamsa,
"kp_ayanamsa": args.kp_ayanamsa,
"house_system": args.house_system,
}
observations = [
_local_observation(args),
_vedicastro_observation(args),
{
"status": "not_captured",
"engine": "PyJHora",
"missing_fields": ["UL", "A7", "A10", "KP_cusps"],
"boundary": "AGPL black-box capture required; no same-input raw packet exists.",
},
{
"status": "no_field_contract",
"engine": "jyotishganit",
"missing_fields": ["UL", "A7", "A10", "KP_cusps"],
"boundary": "No mapped same-input Arudha/KP cusp field contract exists.",
},
]
field_rows = []
for field in ["UL", "A7", "A10", "KP_cusps"]:
external_ready = [
obs["engine"]
for obs in observations
if obs["engine"] != "local"
and obs["status"] == "complete"
and (obs.get("fields") or {}).get(field)
]
field_rows.append({
"field": field,
"local_ready": observations[0]["status"] == "complete" and bool((observations[0].get("fields") or {}).get(field)),
"external_ready_engines": external_ready,
"external_ready_count": len(external_ready),
"three_engine_parity_status": "blocked",
"claim_boundary": f"{field} remains observation-only until same-input external raw from at least two independent legal sources is captured.",
})
return {
"scope": "ul_a7_a10_kp_cusp_same_input_parity_probe",
"created_at": "2026-07-22",
"claim_status": "blocked",
"truth_matrix_allowed": False,
"production_tuning_allowed": False,
"request": request,
"summary": {
"field_count": len(field_rows),
"local_ready_count": sum(row["local_ready"] for row in field_rows),
"three_engine_parity_ready_count": 0,
"external_ready_field_count": sum(row["external_ready_count"] > 0 for row in field_rows),
},
"observations": observations,
"field_rows": field_rows,
"packet_hash": hashlib.sha256(stable({"request": request, "field_rows": field_rows}).encode("utf-8")).hexdigest(),
"boundary": "Same-input probe only. UL/A7/A10/KP cusp external three-engine parity remains blocked.",
}
def main() -> int:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--year", type=int, default=1955)
parser.add_argument("--month", type=int, default=2)
parser.add_argument("--day", type=int, default=24)
parser.add_argument("--hour", type=int, default=19)
parser.add_argument("--minute", type=int, default=15)
parser.add_argument("--second", type=int, default=0)
parser.add_argument("--latitude", type=float, default=37.3382)
parser.add_argument("--longitude", type=float, default=-122.0383)
parser.add_argument("--timezone", default="America/Los_Angeles")
parser.add_argument("--tz-offset", type=float, default=-8)
parser.add_argument("--local-ayanamsa", default="lahiri")
parser.add_argument("--kp-ayanamsa", default="Krishnamurti")
parser.add_argument("--house-system", default="Placidus")
parser.add_argument("--output", default=str(OUTPUT))
args = parser.parse_args()
packet = build(args)
text = json.dumps(packet, ensure_ascii=False, indent=2, sort_keys=True)
Path(args.output).write_text(text + "\n", encoding="utf-8")
print(text)
return 0
if __name__ == "__main__":
raise SystemExit(main())
+56
View File
@@ -0,0 +1,56 @@
from __future__ import annotations
import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKETS = {
"kp": ROOT / "references/oracle/kp_exact_cusp_public_worked_example_hunt_v2_2026_07_22.json",
"muhurta": ROOT / "references/oracle/muhurta_full_scoring_closure_queue_v2_2026_07_22.json",
"prashna": ROOT / "references/oracle/prashna_tajika_saham_gulika_sphuta_numeric_packet_queue_v2_2026_07_22.json",
"holdout": ROOT / "references/oracle/timing_rectification_holdout_freeze_contract_2026_07_22.json",
}
def read_packet(name: str) -> dict:
return json.loads(PACKETS[name].read_text(encoding="utf-8"))
def test_kp_exact_cusp_v2_remains_blocked_without_complete_public_oracle() -> None:
packet = read_packet("kp")
assert packet["claim_status"] == "blocked"
assert packet["summary"]["complete_numeric_oracle_count"] == 0
assert packet["summary"]["runtime_observation_sync_allowed"] is True
assert {"exact_cusp_longitudes", "cusp_sub_sub_lord"} <= set(packet["required_numeric_oracle_fields"])
assert "no verified KP prediction claim" in packet["boundary"]
def test_muhurta_full_scoring_v2_exposes_factors_but_blocks_final_verdict() -> None:
packet = read_packet("muhurta")
factors = {row["factor"]: row for row in packet["factor_rows"]}
for required in ["Tarabala", "Chandrabala", "Rahu Kalam", "Yamaganda", "Gulika Kalam", "Abhijit Muhurta", "Panchaka", "Sankranti"]:
assert required in factors
assert packet["summary"]["final_verdict_allowed"] is False
assert factors["Panchaka"]["status"] == "blocked_gap"
assert factors["Sankranti"]["status"] == "blocked_gap"
assert "Full scoring" in packet["boundary"]
def test_prashna_tajika_v2_keeps_sensitive_points_out_of_truth_matrix() -> None:
packet = read_packet("prashna")
domains = {row["domain"]: row for row in packet["domain_rows"]}
for required in ["Prashna", "Sphuta", "Gulika", "Saham", "Tajika/Varshaphala"]:
assert required in domains
assert packet["summary"]["numeric_oracle_ready_count"] == 0
assert packet["truth_matrix_allowed"] is False
assert "No Prashna/Tajika/Saham/Gulika/Sphuta domain is upgraded" in packet["boundary"]
def test_timing_holdout_freeze_contract_blocks_day_month_claims_until_labels() -> None:
packet = read_packet("holdout")
assert packet["claim_status"] == "blocked"
assert packet["summary"]["frozen_label_count"] == 0
assert packet["summary"]["day_month_claim_upgrade_allowed"] is False
assert packet["allowed_runtime_output"]["candidate_windows"] == "exploratory_unvalidated"
assert "birth-time truth from candidate score" in packet["blocked_output"]
@@ -0,0 +1,38 @@
from __future__ import annotations
import json
import subprocess
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKET = ROOT / "references/oracle/raman_shadbala_raw_replay_and_input_drift_2026_07_22.json"
ARTIFACT = ROOT / "references/oracle/artifacts/pyjhora_synthetic_north_china_shadbala_raman_stdout_20260722.txt"
def test_raman_shadbala_replay_records_raw_hash_and_blocks_promotion() -> None:
subprocess.check_call(["python3", "scripts/pyjhora_raman_shadbala_replay.py"], cwd=ROOT)
packet = json.loads(PACKET.read_text(encoding="utf-8"))
assert packet["claim_status"] == "blocked"
assert packet["summary"]["can_promote_raman_sample"] is False
assert packet["summary"]["complete_match_count"] == 0
assert packet["summary"]["pending_declared_artifact_found"] is False
assert ARTIFACT.exists()
assert packet["replay_artifact_sha256"]
def test_raman_shadbala_replay_proves_input_contract_drift() -> None:
packet = json.loads(PACKET.read_text(encoding="utf-8"))
comparisons = {row["case_label"]: row["pending_diff"] for row in packet["comparisons"]}
declared = comparisons["declared_packet_coordinates"]["max_abs_diff"]
handan = comparisons["handan_candidate_coordinates"]["max_abs_diff"]
assert handan < declared
assert packet["summary"]["best_case_label_by_max_diff"] == "handan_candidate_coordinates"
assert "input-contract drift" in packet["boundary"]
def test_raman_shadbala_replay_captures_chesta_variant_boundary() -> None:
packet = json.loads(PACKET.read_text(encoding="utf-8"))
assert packet["chesta_variant_observation"]["new_api_present"] is True
assert packet["chesta_variant_observation"]["legacy_api_status"] in {"ok", "error"}
assert "does not choose a formula truth" in packet["chesta_variant_observation"]["boundary"]
@@ -0,0 +1,32 @@
from __future__ import annotations
import json
import subprocess
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKET = ROOT / "references/oracle/shadbala_component_arbitration_queue_v2_2026_07_22.json"
def test_shadbala_component_arbitration_queue_v2_is_stable_and_guarded() -> None:
subprocess.check_call(["python3", "scripts/shadbala_component_arbitration_queue_v2.py"], cwd=ROOT)
packet = json.loads(PACKET.read_text(encoding="utf-8"))
assert packet["scope"] == "shadbala_component_arbitration_queue_v2"
assert packet["claim_status"] == "partial"
assert packet["truth_matrix_allowed"] is False
assert packet["production_tuning_allowed"] is False
assert packet["summary"]["same_unit_row_count"] == 42
assert packet["summary"]["absolute_truth_upgrade_count"] == 0
def test_shadbala_component_arbitration_queue_v2_closes_only_naisargika() -> None:
packet = json.loads(PACKET.read_text(encoding="utf-8"))
rows = {row["component"]: row for row in packet["component_rows"]}
assert rows["naisargika"]["arbitration_status"] == "component_closed_same_unit"
assert rows["naisargika"]["unresolved_row_count"] == 0
for component in ["dig", "drik", "kala", "sthana", "chesta"]:
assert rows[component]["arbitration_status"] != "component_closed_same_unit"
assert rows[component]["unresolved_row_count"] > 0
assert "Seeghrochcha" in rows["chesta"]["next_evidence"]
assert "raw-backed third case" in rows["sthana"]["next_evidence"]
@@ -3,9 +3,19 @@
from __future__ import annotations
import json
import subprocess
import sys
from pathlib import Path
from scripts.shadbala_dig_source_of_truth_audit import build_report
ROOT = Path(__file__).resolve().parents[1]
SNAPSHOT = ROOT / "references/oracle/shadbala_dig_source_of_truth_audit_2026_07_22.json"
INDEX = ROOT / "references/oracle/evidence_packet_index_2026_07_19.json"
def test_shadbala_dig_source_of_truth_audit_compares_three_candidate_models() -> None:
report = build_report("references/oracle/dasha_shadbala_oracle_cases.json")
@@ -18,4 +28,41 @@ def test_shadbala_dig_source_of_truth_audit_compares_three_candidate_models() ->
}
assert report["summary"]["best_model_by_avg_abs_diff"] in report["candidate_models"]
assert report["rows"]
assert report["inputs"]["oracle_file_sha256"]
assert report["inputs"]["external_case_count"] == 2
assert {
row["case_id"] for row in report["inputs"]["external_case_sources"]
} == {"template_steve_jobs_dasha_lahiri", "template_extreme_latitude_kp"}
assert all(row["source_artifact"] for row in report["inputs"]["external_case_sources"])
def test_shadbala_dig_source_of_truth_audit_writes_reproducible_snapshot(tmp_path: Path) -> None:
output = tmp_path / "dig-audit.json"
completed = subprocess.run(
[
sys.executable,
"scripts/shadbala_dig_source_of_truth_audit.py",
"--output",
str(output),
],
cwd=ROOT,
text=True,
capture_output=True,
check=False,
)
assert completed.returncode == 0, completed.stderr or completed.stdout
assert output.exists()
assert json.loads(output.read_text(encoding="utf-8")) == json.loads(completed.stdout)
def test_checked_in_dig_audit_snapshot_matches_generator_and_is_indexed() -> None:
assert json.loads(SNAPSHOT.read_text(encoding="utf-8")) == build_report(
"references/oracle/dasha_shadbala_oracle_cases.json"
)
packets = {
row["packet_id"]: row
for row in json.loads(INDEX.read_text(encoding="utf-8"))["packets"]
}
packet = packets["shadbala_dig_source_of_truth_audit_2026_07_22"]
assert packet["claim_status"] == "partial"
assert packet["consumer_policy"] == "research_observation_only"
@@ -0,0 +1,18 @@
from __future__ import annotations
import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKET = ROOT / "references/oracle/timing_rectification_public_holdout_candidate_queue_2026_07_22.json"
def test_public_holdout_candidate_queue_has_positive_sources_but_no_negative_labels() -> None:
packet = json.loads(PACKET.read_text(encoding="utf-8"))
assert packet["claim_status"] == "blocked_until_human_labels"
assert packet["summary"]["public_positive_event_candidate_count"] >= 3
assert packet["summary"]["frozen_negative_window_count"] == 0
assert packet["summary"]["day_month_claim_upgrade_allowed"] is False
assert all(row["source_url"].startswith("https://") for row in packet["positive_event_candidates"])
assert "does not provide negative labels" in packet["boundary"]
@@ -0,0 +1,33 @@
from __future__ import annotations
import json
import subprocess
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKET = ROOT / "references/oracle/ul_a7_a10_kp_cusp_same_input_parity_probe_2026_07_22.json"
def test_same_input_parity_probe_generates_local_fields_and_blocks_parity() -> None:
subprocess.check_call(["python3", "scripts/ul_a7_a10_kp_cusp_same_input_parity_probe.py"], cwd=ROOT)
packet = json.loads(PACKET.read_text(encoding="utf-8"))
assert packet["claim_status"] == "blocked"
assert packet["summary"]["field_count"] == 4
assert packet["summary"]["local_ready_count"] == 4
assert packet["summary"]["three_engine_parity_ready_count"] == 0
fields = {row["field"]: row for row in packet["field_rows"]}
assert fields["UL"]["external_ready_count"] == 0
assert fields["A7"]["external_ready_count"] == 0
assert fields["A10"]["external_ready_count"] == 0
assert fields["KP_cusps"]["three_engine_parity_status"] == "blocked"
def test_same_input_parity_probe_records_external_engine_boundaries() -> None:
packet = json.loads(PACKET.read_text(encoding="utf-8"))
observations = {row["engine"]: row for row in packet["observations"]}
assert observations["local"]["status"] == "complete"
assert observations["PyJHora"]["status"] == "not_captured"
assert observations["jyotishganit"]["status"] == "no_field_contract"
assert observations["VedicAstro"]["status"] in {"complete", "blocked_runtime_error"}
assert "three-engine parity remains blocked" in packet["boundary"]
@@ -0,0 +1,28 @@
from __future__ import annotations
import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKET = ROOT / "references/oracle/ul_a7_a10_kp_cusp_three_engine_parity_gap_2026_07_22.json"
def test_ul_a7_a10_kp_cusp_gap_blocks_three_engine_parity() -> None:
packet = json.loads(PACKET.read_text(encoding="utf-8"))
assert packet["claim_status"] == "blocked"
assert packet["truth_matrix_allowed"] is False
assert packet["summary"]["three_engine_parity_ready_count"] == 0
assert packet["summary"]["blocked_field_count"] == 4
assert "birth_time_truth" in packet["blocked_runtime_use"]
def test_ul_a7_a10_kp_cusp_gap_lists_all_required_fields() -> None:
packet = json.loads(PACKET.read_text(encoding="utf-8"))
rows = {row["field"]: row for row in packet["field_rows"]}
for field in ["UL", "A7", "A10", "KP cusp star/sub/sub-sub"]:
assert field in rows
assert rows[field]["local_status"] == "runtime_ready"
assert "claim_boundary" in rows[field]
assert rows["KP cusp star/sub/sub-sub"]["external_engine_status"]["VedicAstro"] == "single_external_raw_observation_ready"
assert rows["UL"]["external_engine_status"]["PyJHora"] == "not_yet_captured_for_same_input"