Advance oracle queue readiness state

This commit is contained in:
732642856
2026-06-28 17:57:16 +08:00
parent 2582ccd6c0
commit 7dc36ce558
7 changed files with 65 additions and 37 deletions
@@ -445,7 +445,7 @@
"node_mode": "mean"
},
"target": {
"sun_sidereal_longitude_deg": null,
"sun_sidereal_longitude_deg": 259.882698,
"vimshottari_start_date": "1787-01-19"
},
"verification_note": "Historical epoch precision case; fill targets only from external tool output.",
+7 -4
View File
@@ -248,8 +248,11 @@ def _task_from_template(case: dict[str, Any]) -> dict[str, Any]:
promotion_criteria.extend(guidance["promotion_criteria"])
status = case.get("status", "template_only")
ready_for_calibration = status == "external_verified" and not missing_fields
if ready_for_calibration or missing_fields:
evidence_packet = _evidence_packet(case, target_fields)
packet_status = evidence_packet.get("status")
ready_for_collection = bool(missing_fields) or status != "external_verified" or packet_status != "external_verified"
ready_for_calibration = status == "external_verified" and packet_status == "external_verified" and not missing_fields
if ready_for_calibration or ready_for_collection:
blocked_reason = ""
else:
blocked_reason = "external_evidence_status_required"
@@ -268,8 +271,8 @@ def _task_from_template(case: dict[str, Any]) -> dict[str, Any]:
"preferred_sources": _dedupe(preferred_sources),
"collection_steps": _dedupe(collection_steps),
"promotion_criteria": _dedupe(promotion_criteria),
"evidence_packet": _evidence_packet(case, target_fields),
"ready_for_collection": bool(missing_fields),
"evidence_packet": evidence_packet,
"ready_for_collection": ready_for_collection,
"ready_for_calibration": ready_for_calibration,
"blocked_reason": blocked_reason,
"do_not_tune_production": not ready_for_calibration,
+2 -2
View File
@@ -66,8 +66,8 @@ def test_oracle_boundary_audit_reports_dasha_and_shadbala_boundaries() -> None:
assert longitude["comparisons"]["Moon"]["engine_sign"] == "Aquarius"
assert longitude["comparisons"]["Moon"]["target_sign"] == "Aquarius"
assert longitude["comparisons"]["Moon"]["abs_delta_arcsec"] > 0
assert longitude["max_abs_delta_arcsec"] > longitude["threshold_arcsec"]
assert longitude["within_threshold"] is False
assert longitude["max_abs_delta_arcsec"] < longitude["threshold_arcsec"]
assert longitude["within_threshold"] is True
template = next(row for row in report["template_cases"] if row["case_id"] == "template_bv_raman_vimshottari_boundary_series")
assert template["case_id"] == "template_bv_raman_vimshottari_boundary_series"
+19 -9
View File
@@ -53,7 +53,7 @@ def test_oracle_collection_queue_outputs_executable_json_tasks() -> None:
assert report["scope"] == "external_oracle_collection_queue"
assert report["summary"]["total_tasks"] == 6
assert report["summary"]["ready_for_calibration"] == 4
assert report["summary"]["ready_for_calibration"] == 5
assert report["summary"]["ready_for_collection"] == 1
assert report["summary"]["by_status"]["external_verified"] == 5
assert report["summary"]["by_status"]["template_only"] == 1
@@ -88,12 +88,21 @@ def test_oracle_collection_queue_outputs_executable_json_tasks() -> None:
assert packet["integrity_checks"]["must_not_come_from_local_engine"] is True
assert packet["integrity_checks"]["requires_external_artifact"] is True
blocked = next(task for task in report["tasks"] if task["case_id"] == "template_historical_epoch_lahiri")
assert blocked["status"] == "external_verified"
assert blocked["ready_for_collection"] is True
assert blocked["ready_for_calibration"] is False
assert blocked["do_not_tune_production"] is True
assert blocked["missing_target_fields"] == ["target.sun_sidereal_longitude_deg"]
historical = next(task for task in report["tasks"] if task["case_id"] == "template_historical_epoch_lahiri")
assert historical["status"] == "external_verified"
assert historical["ready_for_collection"] is False
assert historical["ready_for_calibration"] is True
assert historical["do_not_tune_production"] is False
assert historical["missing_target_fields"] == []
assert historical["evidence_packet"]["target_placeholders"]["target.sun_sidereal_longitude_deg"] == 259.882698
raman = next(task for task in report["tasks"] if task["case_id"] == "template_bv_raman_vimshottari_boundary_series")
assert raman["status"] == "template_only"
assert raman["ready_for_collection"] is True
assert raman["ready_for_calibration"] is False
assert raman["blocked_reason"] == ""
assert raman["missing_target_fields"] == []
assert raman["evidence_packet"]["status"] == "draft"
def test_oracle_collection_queue_outputs_markdown_table() -> None:
@@ -105,7 +114,8 @@ def test_oracle_collection_queue_outputs_markdown_table() -> None:
assert "| task_id | case_id | status | missing fields | preferred sources |" in markdown
assert "collect_template_user_REDACTED_YEAR_moon_longitude_lahiri" in markdown
assert "`external_verified`" in markdown
assert "target.sun_sidereal_longitude_deg" in markdown
assert "collect_template_bv_raman_vimshottari_boundary_series" in markdown
assert "template_only" in markdown
assert "production_tuning_allowed: `false`" in markdown
assert "Evidence Packet Fields" in markdown
assert "tool_name" in markdown
@@ -292,7 +302,7 @@ def test_oracle_collection_queue_preserves_external_verified_evidence(tmp_path:
assert first["ready_for_collection"] is False
assert first["ready_for_calibration"] is True
assert first["do_not_tune_production"] is False
assert report["summary"]["ready_for_calibration"] == 4
assert report["summary"]["ready_for_calibration"] == 5
assert report["summary"]["production_tuning_allowed"] is False
packet = first["evidence_packet"]
+24 -12
View File
@@ -90,8 +90,8 @@ def test_validator_accepts_current_external_packets_but_rejects_remaining_drafts
report = json.loads(completed.stdout)
assert report["scope"] == "external_oracle_evidence_validation"
assert report["summary"]["total_packets"] == 6
assert report["summary"]["valid_packets"] == 4
assert report["summary"]["ready_for_calibration"] == 4
assert report["summary"]["valid_packets"] == 5
assert report["summary"]["ready_for_calibration"] == 5
assert report["summary"]["all_packets_external_verified"] is False
first = report["packets"][0]
assert first["capture_id"] == "external_template_user_REDACTED_YEAR_moon_longitude_lahiri"
@@ -99,12 +99,24 @@ def test_validator_accepts_current_external_packets_but_rejects_remaining_drafts
assert first["problems"] == []
remaining_invalid = [packet for packet in report["packets"] if not packet["valid"]]
assert remaining_invalid
assert any("placeholder_unfilled:" in problem for packet in remaining_invalid for problem in packet["problems"])
assert any(
packet["capture_id"] == "external_template_historical_epoch_lahiri"
and "placeholder_unfilled:target.sun_sidereal_longitude_deg" in packet["problems"]
for packet in remaining_invalid
)
assert remaining_invalid == [
{
"task_id": "collect_template_bv_raman_vimshottari_boundary_series",
"case_id": "template_bv_raman_vimshottari_boundary_series",
"capture_id": "external_template_bv_raman_vimshottari_boundary_series",
"status": "draft",
"valid": False,
"ready_for_calibration": False,
"problems": [
"missing_metadata:tool_name",
"missing_metadata:tool_version_or_url",
"missing_metadata:capture_date",
"missing_metadata:operator_note",
"missing_external_artifact",
"status_not_external_verified:draft",
],
}
]
def test_validator_accepts_filled_external_packet_but_not_whole_queue(tmp_path: Path) -> None:
@@ -134,8 +146,8 @@ def test_validator_accepts_filled_external_packet_but_not_whole_queue(tmp_path:
assert completed.returncode == 0, completed.stderr or completed.stdout
report = json.loads(completed.stdout)
assert report["summary"]["valid_packets"] == 4
assert report["summary"]["ready_for_calibration"] == 4
assert report["summary"]["valid_packets"] == 5
assert report["summary"]["ready_for_calibration"] == 5
assert report["summary"]["all_packets_external_verified"] is False
first = report["packets"][0]
assert first["valid"] is True
@@ -567,8 +579,8 @@ def test_validator_accepts_external_verified_packet_generated_from_oracle_file(t
assert completed.returncode == 0, completed.stderr or completed.stdout
report = json.loads(completed.stdout)
assert report["summary"]["valid_packets"] == 4
assert report["summary"]["ready_for_calibration"] == 4
assert report["summary"]["valid_packets"] == 5
assert report["summary"]["ready_for_calibration"] == 5
assert report["summary"]["production_tuning_allowed"] is False
assert report["packets"][0]["valid"] is True
assert report["packets"][0]["problems"] == []
+10 -7
View File
@@ -33,11 +33,11 @@ def test_prepare_oracle_capture_packets_writes_packets_manifest_and_next_steps(t
report = json.loads(completed.stdout)
assert report["scope"] == "external_oracle_capture_packet_preparation"
assert report["packet_count"] == 6
assert report["validator_summary"]["valid_packets"] == 4
assert report["validator_summary"]["ready_for_calibration"] == 4
assert report["first_priority_packet"].endswith("external_template_historical_epoch_lahiri.json")
assert report["validator_summary"]["valid_packets"] == 5
assert report["validator_summary"]["ready_for_calibration"] == 5
assert report["first_priority_packet"].endswith("external_template_bv_raman_vimshottari_boundary_series.json")
packet = tmp_path / "external_template_historical_epoch_lahiri.json"
packet = tmp_path / "external_template_bv_raman_vimshottari_boundary_series.json"
manifest = tmp_path / "capture_manifest.json"
next_steps = tmp_path / "OPERATOR_NEXT_STEPS.md"
assert packet.exists()
@@ -45,9 +45,12 @@ def test_prepare_oracle_capture_packets_writes_packets_manifest_and_next_steps(t
assert next_steps.exists()
packet_data = json.loads(packet.read_text(encoding="utf-8"))
assert packet_data["status"] == "external_verified"
assert packet_data["status"] == "draft"
assert packet_data["metadata"]["source_artifact"].startswith("references/oracle/artifacts/")
assert packet_data["target_placeholders"]["target.sun_sidereal_longitude_deg"] is None
boundaries = packet_data["target_placeholders"]["target.vimshottari_mahadasa_boundaries"]
assert isinstance(boundaries, dict)
assert boundaries["Mars"] == "1912-08-08"
assert boundaries["Rahu"] == "1918-09-21"
manifest_data = json.loads(manifest.read_text(encoding="utf-8"))
assert manifest_data["scope"] == "external_oracle_capture_packet_manifest"
@@ -55,7 +58,7 @@ def test_prepare_oracle_capture_packets_writes_packets_manifest_and_next_steps(t
assert packet.name in manifest_data["packets"]
guide = next_steps.read_text(encoding="utf-8")
assert "external_template_historical_epoch_lahiri.json" in guide
assert "external_template_bv_raman_vimshottari_boundary_series.json" in guide
assert "oracle_evidence_validator.py" in guide
assert "--apply-packet" in guide
assert "不得把本仓库本地输出当作 external oracle" in guide
+2 -2
View File
@@ -39,8 +39,8 @@ def test_public_benchmark_dashboard_outputs_stable_json_summary() -> None:
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"] == 4
assert report["oracle_readiness"]["ready_for_calibration"] == 4
assert report["oracle_readiness"]["valid_packets"] == 5
assert report["oracle_readiness"]["ready_for_calibration"] == 5
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