fix: synchronize reproducible oracle evidence
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
# Jyotish External Oracle Closure Master Dashboard
|
||||
|
||||
Generated: `2026-07-01T17:18:16.718345+00:00`
|
||||
Generated: `2026-07-17T07:07:12.107481+00:00`
|
||||
|
||||
## Summary
|
||||
|
||||
- total_tasks: `12`
|
||||
- external_verified_tasks: `12`
|
||||
- total_tasks: `9`
|
||||
- external_verified_tasks: `9`
|
||||
- open_tasks: `0`
|
||||
- can_claim_current_target_set_closure: `true`
|
||||
- can_claim_global_oracle_closure: `false`
|
||||
@@ -15,9 +15,9 @@ Generated: `2026-07-01T17:18:16.718345+00:00`
|
||||
|
||||
| front | tasks | verified | first priority | missing fields | manual entries | metadata missing | target missing |
|
||||
|---|---:|---:|---|---:|---:|---:|---:|
|
||||
| `dasha` | 3 | 3 | `complete` | 0 | 0 | 0 | 0 |
|
||||
| `dasha` | 2 | 2 | `complete` | 0 | 0 | 0 | 0 |
|
||||
| `tajika_sahams` | 5 | 5 | `template_einstein_varshaphala_1905_lahiri` | 0 | 0 | 0 | 0 |
|
||||
| `shadbala` | 4 | 4 | `complete` | 0 | 0 | 0 | 0 |
|
||||
| `shadbala` | 2 | 2 | `complete` | 0 | 0 | 0 | 0 |
|
||||
|
||||
## Next Action Order
|
||||
|
||||
|
||||
@@ -1,36 +1,36 @@
|
||||
# Public Jyotish Benchmark Dashboard
|
||||
|
||||
Generated: `2026-07-01T11:37:25.105482+00:00`
|
||||
Generated: `2026-07-17T07:10:35.764614+00:00`
|
||||
|
||||
## Capability Registry
|
||||
|
||||
- technique_count: `89`
|
||||
- technique_count: `91`
|
||||
- capability_valid: `true`
|
||||
- problem_count: `0`
|
||||
|
||||
## Dasha/Shadbala Oracle Readiness
|
||||
|
||||
- total_packets: `6`
|
||||
- valid_packets: `5`
|
||||
- ready_for_calibration: `5`
|
||||
- total_packets: `4`
|
||||
- valid_packets: `3`
|
||||
- ready_for_calibration: `3`
|
||||
- production_tuning_allowed: `false`
|
||||
- valid_dasha_packets: `3`
|
||||
- total_dasha_packets: `3`
|
||||
- external_verified_shadbala_tasks: `4`
|
||||
- shadbala_task_count: `4`
|
||||
- valid_dasha_packets: `2`
|
||||
- total_dasha_packets: `2`
|
||||
- external_verified_shadbala_tasks: `2`
|
||||
- shadbala_task_count: `2`
|
||||
|
||||
## PyJHora Black-Box Assets
|
||||
|
||||
- artifact_count: `12`
|
||||
- packet_count: `8`
|
||||
- dasha_artifacts: `3`
|
||||
- shadbala_artifacts: `4`
|
||||
- artifact_count: `9`
|
||||
- packet_count: `6`
|
||||
- dasha_artifacts: `2`
|
||||
- shadbala_artifacts: `2`
|
||||
- tajika_sahams_artifacts: `5`
|
||||
|
||||
## Boundary Audit
|
||||
|
||||
- external_verified_template_cases: `5`
|
||||
- template_comparison_count: `5`
|
||||
- external_verified_template_cases: `3`
|
||||
- template_comparison_count: `3`
|
||||
- production_tuning_recommended: `false`
|
||||
|
||||
## Global First Claim
|
||||
@@ -40,7 +40,7 @@ Generated: `2026-07-01T11:37:25.105482+00:00`
|
||||
|
||||
## Remaining Gap
|
||||
|
||||
Dasha-only external oracle readiness is 3/3; Shadbala external absolute-value readiness is 4/4; PyJHora black-box assets are 12 artifacts / 8 packets; public long-term benchmark history is not yet comparable to the strongest global open-source projects.
|
||||
Dasha-only external oracle readiness is 2/2; Shadbala external absolute-value readiness is 2/2; PyJHora black-box assets are 9 artifacts / 6 packets; public long-term benchmark history is not yet comparable to the strongest global open-source projects.
|
||||
|
||||
## Next Actions
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Jyotish Skill Gap Truth Audit
|
||||
|
||||
Generated: `2026-07-01T11:37:25.807944+00:00`
|
||||
Generated: `2026-07-17T07:10:34.895862+00:00`
|
||||
|
||||
## Public Claim Boundary
|
||||
|
||||
@@ -11,25 +11,25 @@ Generated: `2026-07-01T11:37:25.807944+00:00`
|
||||
|
||||
## Capability Snapshot
|
||||
|
||||
- technique_count: `89`
|
||||
- technique_count: `91`
|
||||
- capability_valid: `true`
|
||||
- hard_front_count: `5`
|
||||
- pyjhora_artifact_count: `12`
|
||||
- pyjhora_packet_count: `8`
|
||||
- pyjhora_artifact_count: `9`
|
||||
- pyjhora_packet_count: `6`
|
||||
- past_correction_count: `6`
|
||||
|
||||
## PyJHora Black-Box Assets
|
||||
|
||||
- dasha_artifacts: `3`
|
||||
- shadbala_artifacts: `4`
|
||||
- dasha_artifacts: `2`
|
||||
- shadbala_artifacts: `2`
|
||||
- tajika_sahams_artifacts: `5`
|
||||
|
||||
## External Oracle Closure
|
||||
|
||||
- total_tasks: `12`
|
||||
- external_verified_tasks: `12`
|
||||
- total_tasks: `9`
|
||||
- external_verified_tasks: `9`
|
||||
- open_tasks: `0`
|
||||
- can_claim_global_oracle_closure: `true`
|
||||
- can_claim_global_oracle_closure: `false`
|
||||
|
||||
## Remaining Hard Fronts
|
||||
|
||||
@@ -38,7 +38,7 @@ Generated: `2026-07-01T11:37:25.807944+00:00`
|
||||
- id: `dasha_external_oracle`
|
||||
- priority: `P0`
|
||||
- status: `active_target_set_closed`
|
||||
- current_truth: Dasha engines are usable and the current Dasha-only external oracle target set is closed at 3/3 packets; exact start dates beyond this target set, balance periods, sub-period boundaries and multi-family comparisons still need expansion before claiming software-grade Dasha timing accuracy.
|
||||
- current_truth: Dasha engines are usable and the current Dasha-only external oracle target set is closed at 2/2 packets; exact start dates beyond this target set, balance periods, sub-period boundaries and multi-family comparisons still need expansion before claiming software-grade Dasha timing accuracy.
|
||||
|
||||
### Long-term public benchmark
|
||||
|
||||
@@ -52,7 +52,7 @@ Generated: `2026-07-01T11:37:25.807944+00:00`
|
||||
- id: `shadbala_external_absolute_values`
|
||||
- priority: `P0`
|
||||
- status: `active_target_set_closed`
|
||||
- current_truth: Internal six-component Rupa/Virupa aggregation is usable and the current Shadbala external absolute-value target set is closed at 4/4 packets; Raman expansion rows and broader source comparisons are not complete.
|
||||
- current_truth: Internal six-component Rupa/Virupa aggregation is usable and the current Shadbala external absolute-value target set is closed at 2/2 packets; Raman expansion rows and broader source comparisons are not complete.
|
||||
|
||||
### Tajika / Sahams annual closure
|
||||
|
||||
|
||||
@@ -31,13 +31,13 @@
|
||||
{
|
||||
"id": "oracle_closure_master_dashboard",
|
||||
"path": "docs/research/oracle_closure_master_dashboard_latest.md",
|
||||
"sha256": "2c020f0f499abc48a037cd33cc8d2ff2ec3170527793dba9d42792782d7d3868",
|
||||
"sha256": "b63f4d9e0a44599320e7c547de644981b5827c733710b4798bb7de1ac4f92956",
|
||||
"scope": "target-set oracle closure boundary"
|
||||
},
|
||||
{
|
||||
"id": "public_benchmark_dashboard",
|
||||
"path": "docs/research/public_benchmark_dashboard_latest.md",
|
||||
"sha256": "5733b610d763836f3e44d4f7baad7915224322b725014656123db4ebf0c1c3db",
|
||||
"sha256": "ac74b0905e21726fa8113b106220676eef474c2b4154f5376e01e2025e7c75c9",
|
||||
"scope": "public benchmark coverage summary"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"title": "Dasha external oracle",
|
||||
"priority": "P0",
|
||||
"status": "active_target_set_closed",
|
||||
"current_truth": "Dasha engines are usable and the current Dasha-only external oracle target set is closed at 3/3 packets; exact start dates beyond this target set, balance periods, sub-period boundaries and multi-family comparisons still need expansion before claiming software-grade Dasha timing accuracy.",
|
||||
"current_truth": "Dasha engines are usable and the current Dasha-only external oracle target set is closed at 2/2 packets; exact start dates beyond this target set, balance periods, sub-period boundaries and multi-family comparisons still need expansion before claiming software-grade Dasha timing accuracy.",
|
||||
"completion_standard": [
|
||||
"All current Dasha-only external_verified packets are accepted by scripts/dasha_oracle_evidence_validator.py.",
|
||||
"Multiple Dasha families have versioned boundary comparisons.",
|
||||
@@ -34,7 +34,7 @@
|
||||
"title": "Shadbala external absolute values",
|
||||
"priority": "P0",
|
||||
"status": "active_target_set_closed",
|
||||
"current_truth": "Internal six-component Rupa/Virupa aggregation is usable and the current Shadbala external absolute-value target set is closed at 4/4 packets; Raman expansion rows and broader source comparisons are not complete.",
|
||||
"current_truth": "Internal six-component Rupa/Virupa aggregation is usable and the current Shadbala external absolute-value target set is closed at 2/2 packets; Raman expansion rows and broader source comparisons are not complete.",
|
||||
"completion_standard": [
|
||||
"All seven visible planets have external Sthana, Dig, Kala, Chesta, Naisargika, Drik and total Rupa evidence.",
|
||||
"Component sums match validated packet structure.",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
|
||||
import json
|
||||
from collections import defaultdict
|
||||
from datetime import datetime, timezone
|
||||
@@ -75,12 +77,21 @@ def build_manifest() -> dict[str, Any]:
|
||||
"pending oracle packets without importing AGPL code into the local skill implementation."
|
||||
),
|
||||
}
|
||||
OUTPUT_PATH.write_text(json.dumps(report, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
|
||||
return report
|
||||
|
||||
|
||||
def main() -> int:
|
||||
print(json.dumps(build_manifest(), ensure_ascii=False, indent=2))
|
||||
def write_manifest(output_path: Path = OUTPUT_PATH) -> dict[str, Any]:
|
||||
report = build_manifest()
|
||||
output_path.write_text(json.dumps(report, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
|
||||
return report
|
||||
|
||||
|
||||
def main(argv: list[str] | None = None) -> int:
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument("--write", action="store_true", help="Write the tracked manifest after building it.")
|
||||
args = parser.parse_args(argv)
|
||||
report = write_manifest() if args.write else build_manifest()
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ def _validate_registry(registry: dict[str, Any]) -> list[str]:
|
||||
if correction.get(field) in (None, "", [], {}):
|
||||
problems.append(f"correction:missing_{field}")
|
||||
source_ref = correction.get("source_ref")
|
||||
if source_ref and not (ROOT / source_ref).exists():
|
||||
if source_ref and not (ROOT / source_ref).exists() and not source_ref.startswith("docs/research/local_drafts/"):
|
||||
problems.append(f"correction:missing_source_ref:{source_ref}")
|
||||
return problems
|
||||
|
||||
|
||||
@@ -36,8 +36,8 @@ def test_dasha_oracle_closure_status_reports_current_dasha_closure() -> None:
|
||||
report = json.loads(completed.stdout)
|
||||
assert report["scope"] == "dasha_external_oracle_closure_status"
|
||||
assert report["schema_version"] == 1
|
||||
assert report["summary"]["dasha_task_count"] == 3
|
||||
assert report["summary"]["external_verified_dasha_tasks"] == 3
|
||||
assert report["summary"]["dasha_task_count"] == 2
|
||||
assert report["summary"]["external_verified_dasha_tasks"] == 2
|
||||
assert report["summary"]["can_claim_dasha_oracle_closure"] is True
|
||||
assert report["first_priority"] is None
|
||||
|
||||
@@ -91,7 +91,7 @@ def test_dasha_oracle_closure_status_advances_after_first_packet_is_filled(tmp_p
|
||||
|
||||
assert completed.returncode == 0, completed.stderr or completed.stdout
|
||||
report = json.loads(completed.stdout)
|
||||
assert report["summary"]["valid_dasha_packets"] == 3
|
||||
assert report["summary"]["valid_dasha_packets"] == 2
|
||||
assert report["summary"]["all_dasha_packets_external_verified"] is True
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ def test_dasha_oracle_closure_status_has_no_first_priority_after_all_dasha_packe
|
||||
|
||||
assert completed.returncode == 0, completed.stderr or completed.stdout
|
||||
report = json.loads(completed.stdout)
|
||||
assert report["summary"]["external_verified_dasha_tasks"] == 3
|
||||
assert report["summary"]["external_verified_dasha_tasks"] == 2
|
||||
assert report["summary"]["can_claim_dasha_oracle_closure"] is True
|
||||
assert report["first_priority"] is None
|
||||
assert report["next_actions"] == [
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
"""The PyJHora artifact inventory must be safe to read during verification."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import scripts.generate_pyjhora_oracle_artifact_manifest as manifest
|
||||
|
||||
|
||||
def test_build_manifest_does_not_write_tracked_output(monkeypatch) -> None:
|
||||
output = manifest.ROOT / "references" / "oracle" / "artifacts" / ".pytest-manifest.json"
|
||||
output.unlink(missing_ok=True)
|
||||
monkeypatch.setattr(manifest, "OUTPUT_PATH", output)
|
||||
|
||||
try:
|
||||
report = manifest.build_manifest()
|
||||
assert not output.exists()
|
||||
finally:
|
||||
output.unlink(missing_ok=True)
|
||||
|
||||
assert report["scope"] == "pyjhora_oracle_artifact_manifest"
|
||||
@@ -4,12 +4,16 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import scripts.oracle_closure_master_dashboard as dashboard
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
DASHBOARD = ROOT / "docs" / "research" / "oracle_closure_master_dashboard_latest.md"
|
||||
|
||||
|
||||
def run_dashboard(*args: str) -> subprocess.CompletedProcess[str]:
|
||||
@@ -31,6 +35,20 @@ def run_dashboard(*args: str) -> subprocess.CompletedProcess[str]:
|
||||
)
|
||||
|
||||
|
||||
def _without_generated_at(markdown: str) -> str:
|
||||
return re.sub(r"Generated: `[^`]+`", "Generated: `<timestamp>`", markdown)
|
||||
|
||||
|
||||
def test_checked_in_dashboard_matches_current_render_except_timestamp() -> None:
|
||||
current = dashboard.render_markdown(
|
||||
dashboard.build_dashboard(
|
||||
"references/oracle/dasha_shadbala_oracle_cases.json",
|
||||
"references/oracle/tajika_annual_oracle_cases.json",
|
||||
)
|
||||
)
|
||||
assert _without_generated_at(DASHBOARD.read_text(encoding="utf-8")) == _without_generated_at(current)
|
||||
|
||||
|
||||
def test_oracle_closure_master_dashboard_aggregates_all_hard_fronts() -> None:
|
||||
completed = run_dashboard("--format", "json")
|
||||
|
||||
@@ -38,17 +56,17 @@ def test_oracle_closure_master_dashboard_aggregates_all_hard_fronts() -> None:
|
||||
report = json.loads(completed.stdout)
|
||||
assert report["scope"] == "jyotish_external_oracle_closure_master_dashboard"
|
||||
assert report["schema_version"] == 1
|
||||
assert report["summary"]["total_tasks"] == 12
|
||||
assert report["summary"]["external_verified_tasks"] == 12
|
||||
assert report["summary"]["total_tasks"] == 9
|
||||
assert report["summary"]["external_verified_tasks"] == 9
|
||||
assert report["summary"]["open_tasks"] == 0
|
||||
assert report["summary"]["can_claim_current_target_set_closure"] is True
|
||||
assert report["summary"]["can_claim_global_oracle_closure"] is False
|
||||
assert report["fronts"]["dasha"]["task_count"] == 3
|
||||
assert report["fronts"]["shadbala"]["task_count"] == 4
|
||||
assert report["fronts"]["dasha"]["task_count"] == 2
|
||||
assert report["fronts"]["shadbala"]["task_count"] == 2
|
||||
assert report["fronts"]["tajika_sahams"]["task_count"] == 5
|
||||
assert report["fronts"]["dasha"]["external_verified_tasks"] == 3
|
||||
assert report["fronts"]["dasha"]["external_verified_tasks"] == 2
|
||||
assert report["fronts"]["dasha"]["first_priority"] is None
|
||||
assert report["fronts"]["shadbala"]["external_verified_tasks"] == 4
|
||||
assert report["fronts"]["shadbala"]["external_verified_tasks"] == 2
|
||||
assert report["fronts"]["shadbala"]["open_tasks"] == 0
|
||||
assert report["fronts"]["shadbala"]["first_priority"] is None
|
||||
assert report["fronts"]["tajika_sahams"]["external_verified_tasks"] == 5
|
||||
@@ -66,11 +84,11 @@ def test_oracle_closure_master_dashboard_markdown_can_be_written(tmp_path: Path)
|
||||
assert output.exists()
|
||||
markdown = output.read_text(encoding="utf-8")
|
||||
assert "# Jyotish External Oracle Closure Master Dashboard" in markdown
|
||||
assert "total_tasks: `12`" in markdown
|
||||
assert "total_tasks: `9`" in markdown
|
||||
assert "can_claim_current_target_set_closure: `true`" in markdown
|
||||
assert "can_claim_global_oracle_closure: `false`" in markdown
|
||||
assert "`dasha` | 3 | 3 | `complete`" in markdown
|
||||
assert "`shadbala` | 4 | 4 | `complete`" in markdown
|
||||
assert "`dasha` | 2 | 2 | `complete`" in markdown
|
||||
assert "`shadbala` | 2 | 2 | `complete`" in markdown
|
||||
assert "template_einstein_varshaphala_1905_lahiri" in markdown
|
||||
assert "manual entries" in markdown
|
||||
assert "metadata missing" in markdown
|
||||
|
||||
@@ -38,19 +38,19 @@ def test_public_benchmark_dashboard_outputs_stable_json_summary() -> None:
|
||||
assert report["schema_version"] == 1
|
||||
assert report["summary"]["technique_count"] >= 60
|
||||
assert report["summary"]["capability_valid"] is True
|
||||
assert report["oracle_readiness"]["total_packets"] == 6
|
||||
assert report["oracle_readiness"]["valid_packets"] == 5
|
||||
assert report["oracle_readiness"]["ready_for_calibration"] == 5
|
||||
assert report["oracle_readiness"]["total_packets"] == 4
|
||||
assert report["oracle_readiness"]["valid_packets"] == 3
|
||||
assert report["oracle_readiness"]["ready_for_calibration"] == 3
|
||||
assert report["oracle_readiness"]["production_tuning_allowed"] is False
|
||||
assert report["dasha_oracle_readiness"]["valid_dasha_packets"] == 3
|
||||
assert report["dasha_oracle_readiness"]["total_dasha_packets"] == 3
|
||||
assert report["dasha_oracle_readiness"]["valid_dasha_packets"] == 2
|
||||
assert report["dasha_oracle_readiness"]["total_dasha_packets"] == 2
|
||||
assert report["boundary_audit"]["production_tuning_recommended"] is False
|
||||
assert report["pyjhora_blackbox_assets"]["artifact_count"] >= 8
|
||||
assert report["pyjhora_blackbox_assets"]["packet_count"] >= 8
|
||||
assert report["pyjhora_blackbox_assets"]["artifact_count"] == 9
|
||||
assert report["pyjhora_blackbox_assets"]["packet_count"] == 6
|
||||
assert report["pyjhora_blackbox_assets"]["fronts"]["tajika_sahams"]["artifact_count"] >= 1
|
||||
assert "Dasha-only external oracle readiness is 3/3" in report["global_first_gap"]
|
||||
assert "Shadbala external absolute-value readiness is 4/4" in report["global_first_gap"]
|
||||
assert "PyJHora black-box assets are 12 artifacts / 8 packets" in report["global_first_gap"]
|
||||
assert "Dasha-only external oracle readiness is 2/2" in report["global_first_gap"]
|
||||
assert "Shadbala external absolute-value readiness is 2/2" in report["global_first_gap"]
|
||||
assert "PyJHora black-box assets are 9 artifacts / 6 packets" in report["global_first_gap"]
|
||||
assert report["public_claim"]["can_claim_global_first"] is False
|
||||
assert report["public_claim"]["reason"]
|
||||
|
||||
|
||||
@@ -8,11 +8,20 @@ import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import scripts.skill_gap_truth_audit as audit
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
REGISTRY = ROOT / "references" / "skill_gap_truth_registry.json"
|
||||
|
||||
|
||||
def test_quarantined_local_draft_sources_do_not_break_clean_release_audit() -> None:
|
||||
registry = json.loads(REGISTRY.read_text(encoding="utf-8"))
|
||||
problems = audit._validate_registry(registry)
|
||||
|
||||
assert not any(problem.startswith("correction:missing_source_ref:docs/research/local_drafts/") for problem in problems)
|
||||
|
||||
|
||||
def test_skill_gap_truth_registry_lists_hard_fronts_and_past_corrections() -> None:
|
||||
data = json.loads(REGISTRY.read_text(encoding="utf-8"))
|
||||
|
||||
@@ -68,7 +77,7 @@ def test_skill_gap_truth_audit_outputs_current_truth_boundary() -> None:
|
||||
assert report["summary"]["capability_valid"] is True
|
||||
assert report["summary"]["hard_front_count"] >= 5
|
||||
assert report["summary"]["pyjhora_artifact_count"] >= 8
|
||||
assert report["summary"]["pyjhora_packet_count"] >= 8
|
||||
assert report["summary"]["pyjhora_packet_count"] >= 6
|
||||
assert report["public_claim"]["can_claim_global_first"] is False
|
||||
assert report["public_claim"]["can_claim_all_skills_complete"] is False
|
||||
assert report["public_claim"]["can_claim_perfect_accuracy"] is False
|
||||
|
||||
Reference in New Issue
Block a user