sync: add pyjhora boundary matrix

This commit is contained in:
732642856
2026-07-23 12:39:10 +08:00
parent 8b9671ed27
commit 543c857c4a
4 changed files with 299 additions and 2 deletions
@@ -5,8 +5,8 @@
"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": 180,
"blocked_or_partial_count": 77,
"packet_count": 181,
"blocked_or_partial_count": 165,
"human_review_required_count": 4
},
"packets": [
@@ -1449,6 +1449,14 @@
"claim_status": "reuse_plan_only",
"consumer_policy": "no_truth_upgrade_without_numeric_or_human_labels",
"claim_boundary": "Open-source and local fragments can reduce implementation/replay effort, but cannot replace missing terms, expected numeric values, raw/hash capture, or independent human labels."
},
{
"packet_id": "pyjhora_traditional_branch_oracle_boundary_2026_07_23",
"path": "references/oracle/pyjhora_traditional_branch_oracle_boundary_2026_07_23.json",
"domain": "tajika_kp_advanced_av_boundary",
"claim_status": "observation_boundary_matrix",
"consumer_policy": "sync_matrix_only_do_not_vendor_agpl_implementation",
"claim_boundary": "Tajika, KP exact cusp and advanced AV fields are mapped for local calculation, PyJHora observation, jyotishganit/VedicAstro reference, public worked-example status and commercial output allowance; no PyJHora implementation is synced."
}
]
}
@@ -0,0 +1,112 @@
{
"scope": "pyjhora_traditional_branch_oracle_boundary",
"created_at": "2026-07-23",
"claim_status": "observation_boundary_matrix",
"consumer_policy": "sync_matrix_only_do_not_vendor_agpl_implementation",
"license_boundary": "PyJHora/JHora traditional branch is AGPL/reference observation only; commercial repo may sync raw/hash/boundary matrices, not implementation.",
"truth_matrix_allowed": false,
"production_tuning_allowed": false,
"matrices": {
"tajika": [
{
"field": "varsha_pravesha_datetime",
"local_repo_can_calculate": true,
"pyjhora_can_observe": true,
"jyotishganit_or_vedicastro_can_reference": false,
"public_worked_example_status": "partial_source_candidates_only",
"commercial_output_allowed": "boundary_only"
},
{
"field": "muntha",
"local_repo_can_calculate": true,
"pyjhora_can_observe": true,
"jyotishganit_or_vedicastro_can_reference": false,
"public_worked_example_status": "not_closed",
"commercial_output_allowed": "allowed_with_variant_boundary"
},
{
"field": "saham_day_night_formulas",
"local_repo_can_calculate": true,
"pyjhora_can_observe": true,
"jyotishganit_or_vedicastro_can_reference": false,
"public_worked_example_status": "formula_reference_not_numeric_oracle",
"commercial_output_allowed": "allowed_as_reference_not_verdict"
},
{
"field": "tajika_yogas",
"local_repo_can_calculate": "partial",
"pyjhora_can_observe": true,
"jyotishganit_or_vedicastro_can_reference": false,
"public_worked_example_status": "blocked_named_yoga_examples_missing",
"commercial_output_allowed": "blocked_as_final_prediction"
}
],
"kp_exact_cusp": [
{
"field": "12_house_cusp_longitudes",
"local_repo_can_calculate": "partial",
"pyjhora_can_observe": "unknown_or_partial",
"jyotishganit_or_vedicastro_can_reference": "VedicAstro_reference_candidate",
"public_worked_example_status": "candidate_ezine159_not_full_truth",
"commercial_output_allowed": "boundary_only"
},
{
"field": "star_lord_sub_lord",
"local_repo_can_calculate": true,
"pyjhora_can_observe": "unknown_or_partial",
"jyotishganit_or_vedicastro_can_reference": "VedicAstro_csv_reference",
"public_worked_example_status": "partial_fixture_reference",
"commercial_output_allowed": "allowed_with_reference_boundary"
},
{
"field": "significator_workflow",
"local_repo_can_calculate": "workflow_gate_only",
"pyjhora_can_observe": "not_primary",
"jyotishganit_or_vedicastro_can_reference": "public_workflow_reference_only",
"public_worked_example_status": "no_complete_event_outcome_oracle",
"commercial_output_allowed": "explain_method_not_claim_event_truth"
}
],
"advanced_ashtakavarga": [
{
"field": "bav_sav_totals",
"local_repo_can_calculate": true,
"pyjhora_can_observe": true,
"jyotishganit_or_vedicastro_can_reference": "jyotishganit_candidate",
"public_worked_example_status": "component_variants_not_fully_arbitrated",
"commercial_output_allowed": "allowed_with_component_boundary"
},
{
"field": "prastara_av",
"local_repo_can_calculate": "partial_or_registry",
"pyjhora_can_observe": true,
"jyotishganit_or_vedicastro_can_reference": "not_closed",
"public_worked_example_status": "not_closed",
"commercial_output_allowed": "reference_only"
},
{
"field": "trikona_ekadhipatya_shodhana",
"local_repo_can_calculate": "partial_or_registry",
"pyjhora_can_observe": true,
"jyotishganit_or_vedicastro_can_reference": "not_closed",
"public_worked_example_status": "formula_variant_gap",
"commercial_output_allowed": "boundary_only"
},
{
"field": "transit_kakshya_av_application",
"local_repo_can_calculate": "partial",
"pyjhora_can_observe": true,
"jyotishganit_or_vedicastro_can_reference": "not_closed",
"public_worked_example_status": "real_case_holdout_missing",
"commercial_output_allowed": "blocked_as_precise_timing_truth"
}
]
},
"summary": {
"domain_count": 3,
"field_count": 11,
"commercial_final_truth_allowed_count": 0,
"commercial_blocked_or_boundary_count": 11
},
"boundary": "Use PyJHora as a traditional-technique radar and black-box observation source for Tajika, KP and advanced AV. Do not promote observed agreement to final truth without public worked examples, raw/hash replay and license-safe adapters."
}
@@ -0,0 +1,139 @@
#!/usr/bin/env python3
"""Build a field-level boundary matrix for PyJHora traditional-branch reuse."""
from __future__ import annotations
import json
from pathlib import Path
from typing import Any
ROOT = Path(__file__).resolve().parents[1]
OUT = ROOT / "references/oracle/pyjhora_traditional_branch_oracle_boundary_2026_07_23.json"
MATRICES: dict[str, list[dict[str, Any]]] = {
"tajika": [
{
"field": "varsha_pravesha_datetime",
"local_repo_can_calculate": True,
"pyjhora_can_observe": True,
"jyotishganit_or_vedicastro_can_reference": False,
"public_worked_example_status": "partial_source_candidates_only",
"commercial_output_allowed": "boundary_only",
},
{
"field": "muntha",
"local_repo_can_calculate": True,
"pyjhora_can_observe": True,
"jyotishganit_or_vedicastro_can_reference": False,
"public_worked_example_status": "not_closed",
"commercial_output_allowed": "allowed_with_variant_boundary",
},
{
"field": "saham_day_night_formulas",
"local_repo_can_calculate": True,
"pyjhora_can_observe": True,
"jyotishganit_or_vedicastro_can_reference": False,
"public_worked_example_status": "formula_reference_not_numeric_oracle",
"commercial_output_allowed": "allowed_as_reference_not_verdict",
},
{
"field": "tajika_yogas",
"local_repo_can_calculate": "partial",
"pyjhora_can_observe": True,
"jyotishganit_or_vedicastro_can_reference": False,
"public_worked_example_status": "blocked_named_yoga_examples_missing",
"commercial_output_allowed": "blocked_as_final_prediction",
},
],
"kp_exact_cusp": [
{
"field": "12_house_cusp_longitudes",
"local_repo_can_calculate": "partial",
"pyjhora_can_observe": "unknown_or_partial",
"jyotishganit_or_vedicastro_can_reference": "VedicAstro_reference_candidate",
"public_worked_example_status": "candidate_ezine159_not_full_truth",
"commercial_output_allowed": "boundary_only",
},
{
"field": "star_lord_sub_lord",
"local_repo_can_calculate": True,
"pyjhora_can_observe": "unknown_or_partial",
"jyotishganit_or_vedicastro_can_reference": "VedicAstro_csv_reference",
"public_worked_example_status": "partial_fixture_reference",
"commercial_output_allowed": "allowed_with_reference_boundary",
},
{
"field": "significator_workflow",
"local_repo_can_calculate": "workflow_gate_only",
"pyjhora_can_observe": "not_primary",
"jyotishganit_or_vedicastro_can_reference": "public_workflow_reference_only",
"public_worked_example_status": "no_complete_event_outcome_oracle",
"commercial_output_allowed": "explain_method_not_claim_event_truth",
},
],
"advanced_ashtakavarga": [
{
"field": "bav_sav_totals",
"local_repo_can_calculate": True,
"pyjhora_can_observe": True,
"jyotishganit_or_vedicastro_can_reference": "jyotishganit_candidate",
"public_worked_example_status": "component_variants_not_fully_arbitrated",
"commercial_output_allowed": "allowed_with_component_boundary",
},
{
"field": "prastara_av",
"local_repo_can_calculate": "partial_or_registry",
"pyjhora_can_observe": True,
"jyotishganit_or_vedicastro_can_reference": "not_closed",
"public_worked_example_status": "not_closed",
"commercial_output_allowed": "reference_only",
},
{
"field": "trikona_ekadhipatya_shodhana",
"local_repo_can_calculate": "partial_or_registry",
"pyjhora_can_observe": True,
"jyotishganit_or_vedicastro_can_reference": "not_closed",
"public_worked_example_status": "formula_variant_gap",
"commercial_output_allowed": "boundary_only",
},
{
"field": "transit_kakshya_av_application",
"local_repo_can_calculate": "partial",
"pyjhora_can_observe": True,
"jyotishganit_or_vedicastro_can_reference": "not_closed",
"public_worked_example_status": "real_case_holdout_missing",
"commercial_output_allowed": "blocked_as_precise_timing_truth",
},
],
}
def build() -> dict[str, Any]:
rows = [row for matrix in MATRICES.values() for row in matrix]
return {
"scope": "pyjhora_traditional_branch_oracle_boundary",
"created_at": "2026-07-23",
"claim_status": "observation_boundary_matrix",
"consumer_policy": "sync_matrix_only_do_not_vendor_agpl_implementation",
"license_boundary": "PyJHora/JHora traditional branch is AGPL/reference observation only; commercial repo may sync raw/hash/boundary matrices, not implementation.",
"truth_matrix_allowed": False,
"production_tuning_allowed": False,
"matrices": MATRICES,
"summary": {
"domain_count": len(MATRICES),
"field_count": len(rows),
"commercial_final_truth_allowed_count": 0,
"commercial_blocked_or_boundary_count": len(rows),
},
"boundary": "Use PyJHora as a traditional-technique radar and black-box observation source for Tajika, KP and advanced AV. Do not promote observed agreement to final truth without public worked examples, raw/hash replay and license-safe adapters.",
}
def main() -> int:
data = build()
OUT.write_text(json.dumps(data, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
return 0
if __name__ == "__main__":
raise SystemExit(main())
@@ -0,0 +1,38 @@
import json
import subprocess
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKET = ROOT / "references/oracle/pyjhora_traditional_branch_oracle_boundary_2026_07_23.json"
def test_pyjhora_traditional_boundary_is_matrix_only_not_runtime_copy() -> None:
data = json.loads(
subprocess.check_output(
["python3", "scripts/pyjhora_traditional_branch_oracle_boundary.py"],
cwd=ROOT,
text=True,
)
)
assert data["claim_status"] == "observation_boundary_matrix"
assert data["consumer_policy"] == "sync_matrix_only_do_not_vendor_agpl_implementation"
assert data["truth_matrix_allowed"] is False
assert data["production_tuning_allowed"] is False
assert data["summary"]["commercial_final_truth_allowed_count"] == 0
def test_pyjhora_traditional_boundary_covers_tajika_kp_and_advanced_av_fields() -> None:
data = json.loads(PACKET.read_text(encoding="utf-8"))
assert set(data["matrices"]) == {"tajika", "kp_exact_cusp", "advanced_ashtakavarga"}
for rows in data["matrices"].values():
for row in rows:
assert {
"field",
"local_repo_can_calculate",
"pyjhora_can_observe",
"jyotishganit_or_vedicastro_can_reference",
"public_worked_example_status",
"commercial_output_allowed",
} <= set(row)
assert data["matrices"]["kp_exact_cusp"][0]["commercial_output_allowed"] == "boundary_only"
assert data["matrices"]["advanced_ashtakavarga"][-1]["commercial_output_allowed"] == "blocked_as_precise_timing_truth"