feat(skill): advance shadbala oracle evidence
This commit is contained in:
@@ -144,10 +144,10 @@ description: 印度占星(Jyotish)专业解盘与推运系统。核心能力
|
||||
**普通用户解释时必须显式区分基础排盘高可信与高阶绝对值待外部校准。**
|
||||
|
||||
- Dasha-only 外部证据当前目标集已闭环:`dasha_external_oracle_evidence_validation.valid_dasha_packets: 3/3`;Steve Jobs / Lahiri、REDACTED_YEAR Lahiri 模板与 1800 Delhi historical epoch 的 Vimshottari 起始边界来自 PyJHora 4.8.7 隔离黑盒 stdout artifact。
|
||||
- 全局 Dasha/Shadbala Calibration Status 仍未完成:`external_oracle_evidence_validation.valid_packets: 1`,`ready_for_calibration: 1`;首个 Shadbala 外部绝对值样本已通过,剩余 Shadbala rows 与非 Dasha 靶点尚未封顶。
|
||||
- 全局 Dasha/Shadbala Calibration Status 仍未完成:`external_oracle_evidence_validation.valid_packets: 2`,`ready_for_calibration: 2`;两个 Shadbala 外部绝对值样本已通过,剩余 Shadbala rows 与非 Dasha 靶点尚未封顶。
|
||||
- D1/D9/SAV 高可信;Dasha 精细日期可引用已验证 Dasha-only 样本的局部进度,但不得把全部大运边界、Shadbala 绝对值或全局精度说成已完成外部校准。
|
||||
- `production_tuning_allowed: false` 前,禁止为了贴合单份 PDF、单个 JHora 截图或本仓库本地输出而改生产常数。
|
||||
- 对普通用户的建议话术:基础落座、D9、SAV 可作为稳定证据;当前 Dasha-only 目标集已完成外部黑盒验证,但多 Dasha 家族、Antardasha/Pratyantar 细边界仍需扩展;Shadbala 已有首个外部六分量样本,绝对值断语仍需更多 JHora/PyJHora/公开书例证据后再提升置信度。
|
||||
- 对普通用户的建议话术:基础落座、D9、SAV 可作为稳定证据;当前 Dasha-only 目标集已完成外部黑盒验证,但多 Dasha 家族、Antardasha/Pratyantar 细边界仍需扩展;Shadbala 已有两个外部六分量样本,绝对值断语仍需更多 JHora/PyJHora/公开书例证据后再提升置信度。
|
||||
- 工作流要求:Dasha-only packet 用 `python3 scripts/dasha_oracle_evidence_validator.py --queue-file <queue.json>` 验证;全局校准仍必须跑 `python3 scripts/oracle_evidence_validator.py --queue-file <queue.json>`,两者不可混用。
|
||||
|
||||
### Ashtakavarga 口径冻结(v6.0.8-av-calibration)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Jyotish External Oracle Closure Master Dashboard
|
||||
|
||||
Generated: `2026-06-26T17:25:44.270300+00:00`
|
||||
Generated: `2026-06-26T17:46:35.915403+00:00`
|
||||
|
||||
## Summary
|
||||
|
||||
- total_tasks: `12`
|
||||
- external_verified_tasks: `4`
|
||||
- open_tasks: `8`
|
||||
- external_verified_tasks: `5`
|
||||
- open_tasks: `7`
|
||||
- can_claim_global_oracle_closure: `false`
|
||||
- production_tuning_allowed: `false`
|
||||
|
||||
@@ -16,7 +16,7 @@ Generated: `2026-06-26T17:25:44.270300+00:00`
|
||||
|---|---:|---:|---|---:|---:|---:|---:|
|
||||
| `dasha` | 3 | 3 | `complete` | 0 | 0 | 0 | 0 |
|
||||
| `tajika_sahams` | 5 | 0 | `template_steve_jobs_varshaphala_1984_lahiri` | 15 | 15 | 5 | 10 |
|
||||
| `shadbala` | 4 | 1 | `template_user_REDACTED_YEAR_moon_longitude_lahiri` | 55 | 55 | 5 | 50 |
|
||||
| `shadbala` | 4 | 2 | `template_steve_jobs_dasha_lahiri` | 54 | 54 | 5 | 49 |
|
||||
|
||||
## Next Action Order
|
||||
|
||||
@@ -33,13 +33,13 @@ python3 scripts/tajika_annual_oracle_queue.py --oracle-file references/oracle/ta
|
||||
|
||||
### shadbala
|
||||
|
||||
- case_id: `template_user_REDACTED_YEAR_moon_longitude_lahiri`
|
||||
- capture_id: `external_template_user_REDACTED_YEAR_moon_longitude_lahiri`
|
||||
- missing_field_count: `55`
|
||||
- manual_entry_count: `55`
|
||||
- case_id: `template_steve_jobs_dasha_lahiri`
|
||||
- capture_id: `external_template_steve_jobs_dasha_lahiri`
|
||||
- missing_field_count: `54`
|
||||
- manual_entry_count: `54`
|
||||
|
||||
```bash
|
||||
python3 scripts/oracle_collection_queue.py --oracle-file references/oracle/dasha_shadbala_oracle_cases.json --apply-packet references/oracle/artifacts/pending_packets/external_template_user_REDACTED_YEAR_moon_longitude_lahiri.json --format json
|
||||
python3 scripts/oracle_collection_queue.py --oracle-file references/oracle/dasha_shadbala_oracle_cases.json --apply-packet references/oracle/artifacts/pending_packets/external_template_steve_jobs_dasha_lahiri.json --format json
|
||||
```
|
||||
|
||||
## Boundary
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Public Jyotish Benchmark Dashboard
|
||||
|
||||
Generated: `2026-06-26T17:25:43.800702+00:00`
|
||||
Generated: `2026-06-26T17:46:35.446001+00:00`
|
||||
|
||||
## Capability Registry
|
||||
|
||||
@@ -11,18 +11,18 @@ Generated: `2026-06-26T17:25:43.800702+00:00`
|
||||
## Dasha/Shadbala Oracle Readiness
|
||||
|
||||
- total_packets: `5`
|
||||
- valid_packets: `1`
|
||||
- ready_for_calibration: `1`
|
||||
- valid_packets: `2`
|
||||
- ready_for_calibration: `2`
|
||||
- production_tuning_allowed: `false`
|
||||
- valid_dasha_packets: `3`
|
||||
- total_dasha_packets: `3`
|
||||
- external_verified_shadbala_tasks: `1`
|
||||
- external_verified_shadbala_tasks: `2`
|
||||
- shadbala_task_count: `4`
|
||||
|
||||
## Boundary Audit
|
||||
|
||||
- external_verified_template_cases: `1`
|
||||
- template_comparison_count: `1`
|
||||
- external_verified_template_cases: `2`
|
||||
- template_comparison_count: `2`
|
||||
- production_tuning_recommended: `false`
|
||||
|
||||
## Global First Claim
|
||||
@@ -32,7 +32,7 @@ Generated: `2026-06-26T17:25:43.800702+00:00`
|
||||
|
||||
## Remaining Gap
|
||||
|
||||
Dasha-only external oracle readiness is 3/3; Shadbala external absolute-value readiness is 1/4; public long-term benchmark history is not yet comparable to the strongest global open-source projects.
|
||||
Dasha-only external oracle readiness is 3/3; Shadbala external absolute-value readiness is 2/4; 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-06-26T17:25:44.917972+00:00`
|
||||
Generated: `2026-06-26T17:46:36.511213+00:00`
|
||||
|
||||
## Public Claim Boundary
|
||||
|
||||
@@ -19,8 +19,8 @@ Generated: `2026-06-26T17:25:44.917972+00:00`
|
||||
## External Oracle Closure
|
||||
|
||||
- total_tasks: `12`
|
||||
- external_verified_tasks: `4`
|
||||
- open_tasks: `8`
|
||||
- external_verified_tasks: `5`
|
||||
- open_tasks: `7`
|
||||
- can_claim_global_oracle_closure: `false`
|
||||
|
||||
## Remaining Hard Fronts
|
||||
@@ -44,7 +44,7 @@ Generated: `2026-06-26T17:25:44.917972+00:00`
|
||||
- id: `shadbala_external_absolute_values`
|
||||
- priority: `P0`
|
||||
- status: `active_partial_external_evidence`
|
||||
- current_truth: Internal six-component Rupa/Virupa aggregation is usable and the first external Shadbala absolute-value packet is accepted; remaining Shadbala rows and broader source comparisons are not complete.
|
||||
- current_truth: Internal six-component Rupa/Virupa aggregation is usable and two external Shadbala absolute-value packets are accepted; remaining Shadbala rows and broader source comparisons are not complete.
|
||||
|
||||
### Tajika / Sahams annual closure
|
||||
|
||||
|
||||
@@ -28,9 +28,73 @@
|
||||
"node_mode": "mean"
|
||||
},
|
||||
"target": {
|
||||
"moon_sidereal_longitude_deg": null,
|
||||
"moon_sidereal_longitude_deg": 311.774424,
|
||||
"vimshottari_start_date": "1986-05-25",
|
||||
"shadbala_components": null
|
||||
"shadbala_components": {
|
||||
"Sun": {
|
||||
"sthana": 3.964,
|
||||
"dig": 1.5362,
|
||||
"kala": 1.1985,
|
||||
"chesta": 0.0,
|
||||
"naisargika": 1.0,
|
||||
"drik": 0.045,
|
||||
"total_rupa": 7.7437
|
||||
},
|
||||
"Moon": {
|
||||
"sthana": 3.1737,
|
||||
"dig": -0.5255,
|
||||
"kala": 1.5142,
|
||||
"chesta": 0.0,
|
||||
"naisargika": 0.8572,
|
||||
"drik": -0.0947,
|
||||
"total_rupa": 4.9249
|
||||
},
|
||||
"Mars": {
|
||||
"sthana": 1.3982,
|
||||
"dig": 1.4362,
|
||||
"kala": 0.7107,
|
||||
"chesta": 0.5905,
|
||||
"naisargika": 0.2857,
|
||||
"drik": 0.076,
|
||||
"total_rupa": 4.4973
|
||||
},
|
||||
"Mercury": {
|
||||
"sthana": 2.411,
|
||||
"dig": 3.6523,
|
||||
"kala": 0.1455,
|
||||
"chesta": 0.6908,
|
||||
"naisargika": 0.4285,
|
||||
"drik": 0.0872,
|
||||
"total_rupa": 7.4153
|
||||
},
|
||||
"Jupiter": {
|
||||
"sthana": 1.9613,
|
||||
"dig": 4.4507,
|
||||
"kala": 0.8252,
|
||||
"chesta": 0.9133,
|
||||
"naisargika": 0.5715,
|
||||
"drik": -0.0692,
|
||||
"total_rupa": 8.6528
|
||||
},
|
||||
"Venus": {
|
||||
"sthana": 2.7835,
|
||||
"dig": 2.808,
|
||||
"kala": 1.674,
|
||||
"chesta": 0.1385,
|
||||
"naisargika": 0.7143,
|
||||
"drik": 0.1038,
|
||||
"total_rupa": 8.2221
|
||||
},
|
||||
"Saturn": {
|
||||
"sthana": 3.2332,
|
||||
"dig": 1.994,
|
||||
"kala": 0.9553,
|
||||
"chesta": 1.6748,
|
||||
"naisargika": 0.1428,
|
||||
"drik": -0.0792,
|
||||
"total_rupa": 7.9209
|
||||
}
|
||||
}
|
||||
},
|
||||
"verification_note": "Only fill target fields when the value comes from external oracle, not from this repo.",
|
||||
"evidence_packet": {
|
||||
@@ -40,11 +104,11 @@
|
||||
"tool_name": "PyJHora",
|
||||
"tool_version_or_url": "PyJHora 4.8.7 isolated /tmp black-box run",
|
||||
"capture_date": "2026-06-27",
|
||||
"source_artifact": "references/oracle/artifacts/pyjhora_user_REDACTED_YEAR_dasha_stdout_20260627.txt",
|
||||
"source_artifact": "references/oracle/artifacts/pyjhora_user_REDACTED_YEAR_shadbala_lahiri_stdout_20260627.txt",
|
||||
"ayanamsa": "lahiri",
|
||||
"node_mode": "PyJHora default",
|
||||
"timezone": "UTC+08:00",
|
||||
"operator_note": "Black-box stdout from isolated /tmp virtualenv. PyJHora AGPL code was not copied into this repository; only the generated output artifact is stored as external evidence."
|
||||
"operator_note": "Black-box stdout from isolated /tmp virtualenv. PyJHora AGPL code was not copied into this repository; only the generated output artifact is stored as external evidence. Shadbala raw values are Virupa; packet stores Rupa values by dividing by 60."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"title": "Shadbala external absolute values",
|
||||
"priority": "P0",
|
||||
"status": "active_partial_external_evidence",
|
||||
"current_truth": "Internal six-component Rupa/Virupa aggregation is usable and the first external Shadbala absolute-value packet is accepted; remaining Shadbala rows and broader source comparisons are not complete.",
|
||||
"current_truth": "Internal six-component Rupa/Virupa aggregation is usable and two external Shadbala absolute-value packets are accepted; remaining Shadbala 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.",
|
||||
|
||||
@@ -27,7 +27,8 @@ LOCAL_ENGINE_MARKERS = [
|
||||
SHADBALA_REQUIRED_PLANETS = ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
|
||||
SHADBALA_REQUIRED_COMPONENTS = ["sthana", "dig", "kala", "chesta", "naisargika", "drik"]
|
||||
SHADBALA_COMPONENT_MAX_RUPA = 20.0
|
||||
SHADBALA_DRIK_MIN_RUPA = -20.0
|
||||
SHADBALA_NEGATIVE_ALLOWED_COMPONENTS = {"dig", "drik"}
|
||||
SHADBALA_COMPONENT_MIN_RUPA = -20.0
|
||||
SHADBALA_TOTAL_TOLERANCE_RUPA = 0.05
|
||||
ASHTAKOOT_SCORE_RANGES = {
|
||||
"target.total_score": (0.0, 36.0),
|
||||
@@ -154,10 +155,10 @@ def _validate_shadbala_components(value: Any) -> list[str]:
|
||||
if not isinstance(component_value, (int, float)) or isinstance(component_value, bool):
|
||||
problems.append(f"invalid_shadbala_component_type:{planet}.{component}")
|
||||
continue
|
||||
if component == "drik" and component_value < SHADBALA_DRIK_MIN_RUPA:
|
||||
if component in SHADBALA_NEGATIVE_ALLOWED_COMPONENTS and component_value < SHADBALA_COMPONENT_MIN_RUPA:
|
||||
problems.append(f"invalid_shadbala_component_range:{planet}.{component}")
|
||||
continue
|
||||
if component != "drik" and component_value < 0:
|
||||
if component not in SHADBALA_NEGATIVE_ALLOWED_COMPONENTS and component_value < 0:
|
||||
problems.append(f"invalid_shadbala_component_negative:{planet}.{component}")
|
||||
continue
|
||||
if component_value > SHADBALA_COMPONENT_MAX_RUPA:
|
||||
|
||||
@@ -39,19 +39,19 @@ def test_oracle_closure_master_dashboard_aggregates_all_hard_fronts() -> None:
|
||||
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"] == 4
|
||||
assert report["summary"]["open_tasks"] == 8
|
||||
assert report["summary"]["external_verified_tasks"] == 5
|
||||
assert report["summary"]["open_tasks"] == 7
|
||||
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"]["tajika_sahams"]["task_count"] == 5
|
||||
assert report["fronts"]["dasha"]["external_verified_tasks"] == 3
|
||||
assert report["fronts"]["dasha"]["first_priority"] is None
|
||||
assert report["fronts"]["shadbala"]["external_verified_tasks"] == 1
|
||||
assert report["fronts"]["shadbala"]["first_priority"]["case_id"] == "template_user_REDACTED_YEAR_moon_longitude_lahiri"
|
||||
assert report["fronts"]["shadbala"]["external_verified_tasks"] == 2
|
||||
assert report["fronts"]["shadbala"]["first_priority"]["case_id"] == "template_steve_jobs_dasha_lahiri"
|
||||
assert report["fronts"]["tajika_sahams"]["first_priority"]["case_id"] == "template_steve_jobs_varshaphala_1984_lahiri"
|
||||
assert report["fronts"]["tajika_sahams"]["first_priority"]["missing_groups"]["target"]["count"] == 10
|
||||
assert report["fronts"]["shadbala"]["first_priority"]["manual_fill_plan"]["manual_entry_count"] == 55
|
||||
assert report["fronts"]["shadbala"]["first_priority"]["manual_fill_plan"]["manual_entry_count"] == 54
|
||||
assert report["next_action_order"][0]["front"] == "tajika_sahams"
|
||||
assert report["next_action_order"][1]["front"] == "shadbala"
|
||||
|
||||
@@ -67,7 +67,7 @@ def test_oracle_closure_master_dashboard_markdown_can_be_written(tmp_path: Path)
|
||||
assert "total_tasks: `12`" in markdown
|
||||
assert "can_claim_global_oracle_closure: `false`" in markdown
|
||||
assert "`dasha` | 3 | 3 | `complete`" in markdown
|
||||
assert "template_user_REDACTED_YEAR_moon_longitude_lahiri" in markdown
|
||||
assert "template_steve_jobs_dasha_lahiri" in markdown
|
||||
assert "template_steve_jobs_varshaphala_1984_lahiri" in markdown
|
||||
assert "manual entries" in markdown
|
||||
assert "metadata missing" in markdown
|
||||
|
||||
@@ -80,7 +80,7 @@ def run_validator(input_path: Path) -> subprocess.CompletedProcess[str]:
|
||||
)
|
||||
|
||||
|
||||
def test_validator_rejects_draft_packets_without_external_artifacts(tmp_path: Path) -> None:
|
||||
def test_validator_accepts_current_external_packets_but_rejects_remaining_drafts(tmp_path: Path) -> None:
|
||||
queue_path = tmp_path / "queue.json"
|
||||
queue_path.write_text(json.dumps(build_queue(), ensure_ascii=False), encoding="utf-8")
|
||||
|
||||
@@ -90,14 +90,16 @@ def test_validator_rejects_draft_packets_without_external_artifacts(tmp_path: Pa
|
||||
report = json.loads(completed.stdout)
|
||||
assert report["scope"] == "external_oracle_evidence_validation"
|
||||
assert report["summary"]["total_packets"] == 5
|
||||
assert report["summary"]["valid_packets"] == 1
|
||||
assert report["summary"]["ready_for_calibration"] == 1
|
||||
assert report["summary"]["valid_packets"] == 2
|
||||
assert report["summary"]["ready_for_calibration"] == 2
|
||||
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"
|
||||
assert first["valid"] is False
|
||||
assert "placeholder_unfilled:target.moon_sidereal_longitude_deg" in first["problems"]
|
||||
assert "missing_shadbala_component:Sun.sthana" in first["problems"]
|
||||
assert first["valid"] is True
|
||||
assert first["problems"] == []
|
||||
remaining_drafts = [packet for packet in report["packets"] if not packet["valid"]]
|
||||
assert remaining_drafts
|
||||
assert any("status_not_external_verified:draft" in packet["problems"] for packet in remaining_drafts)
|
||||
|
||||
|
||||
def test_validator_accepts_filled_external_packet_but_not_whole_queue(tmp_path: Path) -> None:
|
||||
@@ -180,7 +182,7 @@ def test_validator_rejects_non_numeric_or_negative_shadbala_components(tmp_path:
|
||||
packet = queue["tasks"][0]["evidence_packet"]
|
||||
shadbala = complete_shadbala_components()
|
||||
shadbala["Sun"]["sthana"] = "100"
|
||||
shadbala["Moon"]["dig"] = -1.0
|
||||
shadbala["Moon"]["kala"] = -1.0
|
||||
packet["metadata"] = {
|
||||
"tool_name": "JHora",
|
||||
"tool_version_or_url": "manual-screenshot-v1",
|
||||
@@ -207,7 +209,7 @@ def test_validator_rejects_non_numeric_or_negative_shadbala_components(tmp_path:
|
||||
first = report["packets"][0]
|
||||
assert first["valid"] is False
|
||||
assert "invalid_shadbala_component_type:Sun.sthana" in first["problems"]
|
||||
assert "invalid_shadbala_component_negative:Moon.dig" in first["problems"]
|
||||
assert "invalid_shadbala_component_negative:Moon.kala" in first["problems"]
|
||||
|
||||
|
||||
def test_validator_accepts_negative_drik_bala_when_component_sum_matches(tmp_path: Path) -> None:
|
||||
@@ -244,6 +246,45 @@ def test_validator_accepts_negative_drik_bala_when_component_sum_matches(tmp_pat
|
||||
assert first["problems"] == []
|
||||
|
||||
|
||||
def test_validator_accepts_pyjhora_negative_dig_and_drik_values(tmp_path: Path) -> None:
|
||||
queue = build_queue()
|
||||
packet = queue["tasks"][0]["evidence_packet"]
|
||||
shadbala = complete_shadbala_components()
|
||||
for component in SHADBALA_COMPONENTS:
|
||||
shadbala["Moon"][component] = 1.0
|
||||
shadbala["Moon"]["dig"] = -0.5255
|
||||
shadbala["Moon"]["drik"] = -0.0947
|
||||
shadbala["Moon"]["total_rupa"] = round(sum(shadbala["Moon"][component] for component in SHADBALA_COMPONENTS), 4)
|
||||
shadbala["Jupiter"]["drik"] = -0.0692
|
||||
shadbala["Jupiter"]["total_rupa"] = round(sum(shadbala["Jupiter"][component] for component in SHADBALA_COMPONENTS), 4)
|
||||
packet["metadata"] = {
|
||||
"tool_name": "PyJHora",
|
||||
"tool_version_or_url": "PyJHora 4.8.7 isolated /tmp black-box run",
|
||||
"capture_date": "2026-06-27",
|
||||
"source_artifact": "references/oracle/artifacts/pyjhora_user_REDACTED_YEAR_shadbala_lahiri_stdout_20260627.txt",
|
||||
"ayanamsa": "lahiri",
|
||||
"node_mode": "PyJHora default",
|
||||
"timezone": "UTC+08:00",
|
||||
"operator_note": "Black-box external stdout; PyJHora can emit negative Dig and Drik Bala values.",
|
||||
}
|
||||
packet["target_placeholders"] = {
|
||||
"target.moon_sidereal_longitude_deg": 311.774424,
|
||||
"target.vimshottari_start_date": "1986-05-25",
|
||||
"target.shadbala_components": shadbala,
|
||||
}
|
||||
packet["status"] = "external_verified"
|
||||
queue_path = tmp_path / "queue.json"
|
||||
queue_path.write_text(json.dumps(queue, ensure_ascii=False), encoding="utf-8")
|
||||
|
||||
completed = run_validator(queue_path)
|
||||
|
||||
assert completed.returncode == 0, completed.stderr or completed.stdout
|
||||
report = json.loads(completed.stdout)
|
||||
first = report["packets"][0]
|
||||
assert first["valid"] is True
|
||||
assert first["problems"] == []
|
||||
|
||||
|
||||
def test_validator_rejects_missing_shadbala_total_rupa(tmp_path: Path) -> None:
|
||||
queue = build_queue()
|
||||
packet = queue["tasks"][0]["evidence_packet"]
|
||||
|
||||
@@ -39,14 +39,14 @@ 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"] == 5
|
||||
assert report["oracle_readiness"]["valid_packets"] == 1
|
||||
assert report["oracle_readiness"]["ready_for_calibration"] == 1
|
||||
assert report["oracle_readiness"]["valid_packets"] == 2
|
||||
assert report["oracle_readiness"]["ready_for_calibration"] == 2
|
||||
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["boundary_audit"]["production_tuning_recommended"] is False
|
||||
assert "Dasha-only external oracle readiness is 3/3" in report["global_first_gap"]
|
||||
assert "Shadbala external absolute-value readiness is 1/4" in report["global_first_gap"]
|
||||
assert "Shadbala external absolute-value readiness is 2/4" in report["global_first_gap"]
|
||||
assert report["public_claim"]["can_claim_global_first"] is False
|
||||
assert report["public_claim"]["reason"]
|
||||
|
||||
|
||||
@@ -37,26 +37,22 @@ def test_shadbala_oracle_closure_status_identifies_first_absolute_value_packet()
|
||||
assert report["scope"] == "shadbala_external_absolute_value_closure_status"
|
||||
assert report["schema_version"] == 1
|
||||
assert report["summary"]["shadbala_task_count"] == 4
|
||||
assert report["summary"]["external_verified_shadbala_tasks"] == 1
|
||||
assert report["summary"]["external_verified_shadbala_tasks"] == 2
|
||||
assert report["summary"]["can_claim_shadbala_absolute_closure"] is False
|
||||
assert report["summary"]["required_planets"] == ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
|
||||
assert report["summary"]["required_components"] == ["sthana", "dig", "kala", "chesta", "naisargika", "drik", "total_rupa"]
|
||||
assert report["first_priority"]["case_id"] == "template_user_REDACTED_YEAR_moon_longitude_lahiri"
|
||||
assert report["first_priority"]["capture_id"] == "external_template_user_REDACTED_YEAR_moon_longitude_lahiri"
|
||||
assert report["first_priority"]["required_target_fields"] == [
|
||||
"target.moon_sidereal_longitude_deg",
|
||||
"target.shadbala_components",
|
||||
]
|
||||
assert report["first_priority"]["case_id"] == "template_steve_jobs_dasha_lahiri"
|
||||
assert report["first_priority"]["capture_id"] == "external_template_steve_jobs_dasha_lahiri"
|
||||
assert report["first_priority"]["required_target_fields"] == ["target.shadbala_components"]
|
||||
assert "metadata.tool_name" in report["first_priority"]["missing_fields"]
|
||||
assert "target.moon_sidereal_longitude_deg" in report["first_priority"]["missing_fields"]
|
||||
assert "target.shadbala_components.Sun.sthana" in report["first_priority"]["missing_fields"]
|
||||
assert "target.shadbala_components.Saturn.total_rupa" in report["first_priority"]["missing_fields"]
|
||||
assert report["first_priority"]["missing_groups"]["metadata"]["count"] == 5
|
||||
assert report["first_priority"]["missing_groups"]["target"]["count"] == 50
|
||||
assert report["first_priority"]["missing_groups"]["target"]["count"] == 49
|
||||
assert report["first_priority"]["missing_groups"]["bodies"]["Sun"]["count"] == 7
|
||||
assert report["first_priority"]["prefilled_fields"]["metadata"]["ayanamsa"] == "lahiri"
|
||||
assert report["first_priority"]["manual_fill_plan"]["status_value"] == "external_verified"
|
||||
assert report["first_priority"]["manual_fill_plan"]["manual_entry_count"] == 55
|
||||
assert report["first_priority"]["manual_fill_plan"]["manual_entry_count"] == 54
|
||||
assert report["first_priority"]["reject_global_scaling"] is True
|
||||
assert report["first_priority"]["validate_command"]
|
||||
|
||||
@@ -70,7 +66,7 @@ def test_shadbala_oracle_closure_status_markdown_can_be_written(tmp_path: Path)
|
||||
markdown = output.read_text(encoding="utf-8")
|
||||
assert "# Shadbala External Absolute-Value Closure Status" in markdown
|
||||
assert "can_claim_shadbala_absolute_closure: `false`" in markdown
|
||||
assert "external_template_user_REDACTED_YEAR_moon_longitude_lahiri" in markdown
|
||||
assert "external_template_steve_jobs_dasha_lahiri" in markdown
|
||||
assert "target.shadbala_components.Sun.sthana" in markdown
|
||||
assert "## Missing Summary" in markdown
|
||||
assert "## Prefilled Fields" in markdown
|
||||
|
||||
Reference in New Issue
Block a user