feat(skill): advance shadbala oracle closure

This commit is contained in:
732642856
2026-06-27 02:26:58 +08:00
parent 1d24ad0b68
commit 48dc051b3a
12 changed files with 234 additions and 43 deletions
+2 -2
View File
@@ -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: 2``ready_for_calibration: 2`个 Shadbala 外部绝对值样本已通过,剩余 Shadbala rows 与非 Dasha 靶点尚未封顶。
- 全局 Dasha/Shadbala Calibration Status 仍未完成:`external_oracle_evidence_validation.valid_packets: 3``ready_for_calibration: 3`个 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:46:35.915403+00:00`
Generated: `2026-06-26T18:24:45.835960+00:00`
## Summary
- total_tasks: `12`
- external_verified_tasks: `5`
- open_tasks: `7`
- external_verified_tasks: `6`
- open_tasks: `6`
- can_claim_global_oracle_closure: `false`
- production_tuning_allowed: `false`
@@ -16,7 +16,7 @@ Generated: `2026-06-26T17:46:35.915403+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 | 2 | `template_steve_jobs_dasha_lahiri` | 54 | 54 | 5 | 49 |
| `shadbala` | 4 | 3 | `template_extreme_latitude_kp` | 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_steve_jobs_dasha_lahiri`
- capture_id: `external_template_steve_jobs_dasha_lahiri`
- case_id: `template_extreme_latitude_kp`
- capture_id: `external_template_extreme_latitude_kp`
- 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_steve_jobs_dasha_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_extreme_latitude_kp.json --format json
```
## Boundary
@@ -1,6 +1,6 @@
# Public Jyotish Benchmark Dashboard
Generated: `2026-06-26T17:46:35.446001+00:00`
Generated: `2026-06-26T18:24:45.350060+00:00`
## Capability Registry
@@ -11,18 +11,18 @@ Generated: `2026-06-26T17:46:35.446001+00:00`
## Dasha/Shadbala Oracle Readiness
- total_packets: `5`
- valid_packets: `2`
- ready_for_calibration: `2`
- valid_packets: `3`
- ready_for_calibration: `3`
- production_tuning_allowed: `false`
- valid_dasha_packets: `3`
- total_dasha_packets: `3`
- external_verified_shadbala_tasks: `2`
- external_verified_shadbala_tasks: `3`
- shadbala_task_count: `4`
## Boundary Audit
- external_verified_template_cases: `2`
- template_comparison_count: `2`
- external_verified_template_cases: `3`
- template_comparison_count: `3`
- production_tuning_recommended: `false`
## Global First Claim
@@ -32,7 +32,7 @@ Generated: `2026-06-26T17:46:35.446001+00:00`
## Remaining Gap
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.
Dasha-only external oracle readiness is 3/3; Shadbala external absolute-value readiness is 3/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:46:36.511213+00:00`
Generated: `2026-06-26T18:24:46.495916+00:00`
## Public Claim Boundary
@@ -19,8 +19,8 @@ Generated: `2026-06-26T17:46:36.511213+00:00`
## External Oracle Closure
- total_tasks: `12`
- external_verified_tasks: `5`
- open_tasks: `7`
- external_verified_tasks: `6`
- open_tasks: `6`
- can_claim_global_oracle_closure: `false`
## Remaining Hard Fronts
@@ -44,7 +44,7 @@ Generated: `2026-06-26T17:46:36.511213+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 two external Shadbala absolute-value packets are accepted; remaining Shadbala rows and broader source comparisons are not complete.
- current_truth: Internal six-component Rupa/Virupa aggregation is usable and three external Shadbala absolute-value packets are accepted; remaining Shadbala rows and broader source comparisons are not complete.
### Tajika / Sahams annual closure
@@ -0,0 +1,115 @@
{
"capture_id": "external_template_steve_jobs_dasha_lahiri",
"status": "external_verified",
"case_id": "template_steve_jobs_dasha_lahiri",
"birth": {
"year": 1955,
"month": 2,
"day": 24,
"hour": 19,
"minute": 15,
"second": 0,
"lat": 37.7749,
"lon": -122.4194,
"tz": -8
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "true"
},
"required_metadata_fields": [
"tool_name",
"tool_version_or_url",
"capture_date",
"source_artifact",
"ayanamsa",
"node_mode",
"timezone",
"operator_note"
],
"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_steve_jobs_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 generated output is stored as external evidence. Shadbala raw values are Virupa; packet stores Rupa values by dividing by 60."
},
"target_placeholders": {
"target.vimshottari_start_date": "1939-03-22",
"target.shadbala_components": {
"Jupiter": {
"chesta": 1.2333,
"dig": 3.3218,
"drik": 0.1148,
"kala": 1.3433,
"naisargika": 0.5715,
"sthana": 3.3633,
"total_rupa": 9.948
},
"Mars": {
"chesta": 1.643,
"dig": 2.1322,
"drik": 0.2248,
"kala": 1.2902,
"naisargika": 0.2857,
"sthana": 3.3105,
"total_rupa": 8.8864
},
"Mercury": {
"chesta": 0.763,
"dig": 2.0297,
"drik": -0.1772,
"kala": 0.2107,
"naisargika": 0.4285,
"sthana": 2.7993,
"total_rupa": 6.054
},
"Moon": {
"chesta": 0.0,
"dig": 2.493,
"drik": 0.3343,
"kala": 1.5913,
"naisargika": 0.8572,
"sthana": 4.1057,
"total_rupa": 9.3815
},
"Saturn": {
"chesta": 0.606,
"dig": 2.2795,
"drik": 0.1582,
"kala": 0.327,
"naisargika": 0.1428,
"sthana": 3.6435,
"total_rupa": 7.157
},
"Sun": {
"chesta": 0.0,
"dig": 2.3498,
"drik": 0.029,
"kala": 0.4135,
"naisargika": 1.0,
"sthana": 3.6182,
"total_rupa": 7.4105
},
"Venus": {
"chesta": 0.518,
"dig": 1.8907,
"drik": -0.0458,
"kala": 1.1658,
"naisargika": 0.7143,
"sthana": 2.5677,
"total_rupa": 6.8107
}
}
},
"integrity_checks": {
"must_not_come_from_local_engine": true,
"requires_external_artifact": true,
"requires_status_external_verified_before_calibration": true,
"reject_global_shadbala_scaling": true
},
"promotion_status_after_fill": "external_verified"
}
@@ -0,0 +1,12 @@
panchanga /Users/wuyongnaren added to system path ['', '/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip', '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11', '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload', '/private/tmp/jyotish_pyjhora_blackbox/lib/python3.11/site-packages', '/Users/wuyongnaren']
/Users added to system path ['', '/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip', '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11', '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload', '/private/tmp/jyotish_pyjhora_blackbox/lib/python3.11/site-packages', '/Users/wuyongnaren', '/Users']
PYJHORA_BLACKBOX_VERSION 4.8.7
CASE_ID template_steve_jobs_dasha_lahiri
DOB (1955, 2, 24)
TOB (19, 15, 0)
PLACE Place(Place='San Francisco, CA Steve Jobs Lahiri template', latitude=37.7749, longitude=-122.4194, timezone=-8.0, elevation=0.0)
AYANAMSA LAHIRI
JD 2435163.3020833335
RASI_CHART_RAW [['L', (4, 29.05555677556339)], [0, (10, 12.518195231814047)], [1, (11, 14.511681812210952)], [2, (0, 5.862334338243072)], [3, (9, 21.12589362817465)], [4, (2, 27.270551502164935)], [5, (8, 27.94211928370015)], [6, (6, 27.92738390514674)], [7, (8, 10.175705298398015)], [8, (2, 10.175705298398043)]]
SHADBALA_RAW_VIRUPA [[217.09, 246.34, 198.63, 167.96, 201.8, 154.06, 218.61], [140.99, 149.58, 127.93, 121.78, 199.31, 113.44, 136.77], [24.81, 95.48, 77.41, 12.64, 80.6, 69.95, 19.62], [0, 0, 98.58, 45.78, 74.0, 31.08, 36.36], [60.0, 51.43, 17.14, 25.71, 34.29, 42.86, 8.57], [1.74, 20.06, 13.49, -10.63, 6.89, -2.75, 9.49], [444.63, 562.89, 533.18, 363.24, 596.89, 408.64, 429.42], [7.41, 9.38, 8.89, 6.05, 9.95, 6.81, 7.16], [1.48, 1.56, 1.78, 0.86, 1.53, 1.24, 1.43]]
SHADBALA_COMPONENT_RUPA_JSON {"Jupiter": {"chesta": 1.2333, "dig": 3.3218, "drik": 0.1148, "kala": 1.3433, "naisargika": 0.5715, "pyjhora_total_rupa": 9.9482, "sthana": 3.3633, "total_rupa": 9.948}, "Mars": {"chesta": 1.643, "dig": 2.1322, "drik": 0.2248, "kala": 1.2902, "naisargika": 0.2857, "pyjhora_total_rupa": 8.8863, "sthana": 3.3105, "total_rupa": 8.8864}, "Mercury": {"chesta": 0.763, "dig": 2.0297, "drik": -0.1772, "kala": 0.2107, "naisargika": 0.4285, "pyjhora_total_rupa": 6.054, "sthana": 2.7993, "total_rupa": 6.054}, "Moon": {"chesta": 0.0, "dig": 2.493, "drik": 0.3343, "kala": 1.5913, "naisargika": 0.8572, "pyjhora_total_rupa": 9.3815, "sthana": 4.1057, "total_rupa": 9.3815}, "Saturn": {"chesta": 0.606, "dig": 2.2795, "drik": 0.1582, "kala": 0.327, "naisargika": 0.1428, "pyjhora_total_rupa": 7.157, "sthana": 3.6435, "total_rupa": 7.157}, "Sun": {"chesta": 0.0, "dig": 2.3498, "drik": 0.029, "kala": 0.4135, "naisargika": 1.0, "pyjhora_total_rupa": 7.4105, "sthana": 3.6182, "total_rupa": 7.4105}, "Venus": {"chesta": 0.518, "dig": 1.8907, "drik": -0.0458, "kala": 1.1658, "naisargika": 0.7143, "pyjhora_total_rupa": 6.8107, "sthana": 2.5677, "total_rupa": 6.8107}}
@@ -134,7 +134,71 @@
},
"target": {
"vimshottari_start_date": "1939-03-22",
"shadbala_components": null
"shadbala_components": {
"Jupiter": {
"chesta": 1.2333,
"dig": 3.3218,
"drik": 0.1148,
"kala": 1.3433,
"naisargika": 0.5715,
"sthana": 3.3633,
"total_rupa": 9.948
},
"Mars": {
"chesta": 1.643,
"dig": 2.1322,
"drik": 0.2248,
"kala": 1.2902,
"naisargika": 0.2857,
"sthana": 3.3105,
"total_rupa": 8.8864
},
"Mercury": {
"chesta": 0.763,
"dig": 2.0297,
"drik": -0.1772,
"kala": 0.2107,
"naisargika": 0.4285,
"sthana": 2.7993,
"total_rupa": 6.054
},
"Moon": {
"chesta": 0.0,
"dig": 2.493,
"drik": 0.3343,
"kala": 1.5913,
"naisargika": 0.8572,
"sthana": 4.1057,
"total_rupa": 9.3815
},
"Saturn": {
"chesta": 0.606,
"dig": 2.2795,
"drik": 0.1582,
"kala": 0.327,
"naisargika": 0.1428,
"sthana": 3.6435,
"total_rupa": 7.157
},
"Sun": {
"chesta": 0.0,
"dig": 2.3498,
"drik": 0.029,
"kala": 0.4135,
"naisargika": 1.0,
"sthana": 3.6182,
"total_rupa": 7.4105
},
"Venus": {
"chesta": 0.518,
"dig": 1.8907,
"drik": -0.0458,
"kala": 1.1658,
"naisargika": 0.7143,
"sthana": 2.5677,
"total_rupa": 6.8107
}
}
},
"verification_note": "Verify Dasha boundaries from an external oracle before promotion to external_verified.",
"evidence_packet": {
@@ -144,11 +208,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_steve_jobs_dasha_stdout_20260627.txt",
"source_artifact": "references/oracle/artifacts/pyjhora_steve_jobs_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 generated output is stored as external evidence. Shadbala raw values are Virupa; packet stores Rupa values by dividing by 60."
}
}
},
+1 -1
View File
@@ -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 two external Shadbala absolute-value packets are accepted; remaining Shadbala rows and broader source comparisons are not complete.",
"current_truth": "Internal six-component Rupa/Virupa aggregation is usable and three 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.",
@@ -39,16 +39,16 @@ 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"] == 5
assert report["summary"]["open_tasks"] == 7
assert report["summary"]["external_verified_tasks"] == 6
assert report["summary"]["open_tasks"] == 6
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"] == 2
assert report["fronts"]["shadbala"]["first_priority"]["case_id"] == "template_steve_jobs_dasha_lahiri"
assert report["fronts"]["shadbala"]["external_verified_tasks"] == 3
assert report["fronts"]["shadbala"]["first_priority"]["case_id"] == "template_extreme_latitude_kp"
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"] == 54
@@ -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_steve_jobs_dasha_lahiri" in markdown
assert "template_extreme_latitude_kp" in markdown
assert "template_steve_jobs_varshaphala_1984_lahiri" in markdown
assert "manual entries" in markdown
assert "metadata missing" in markdown
+6 -6
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"] == 5
assert report["summary"]["valid_packets"] == 2
assert report["summary"]["ready_for_calibration"] == 2
assert report["summary"]["valid_packets"] == 3
assert report["summary"]["ready_for_calibration"] == 3
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"
@@ -129,8 +129,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"] == 2
assert report["summary"]["ready_for_calibration"] == 2
assert report["summary"]["valid_packets"] == 3
assert report["summary"]["ready_for_calibration"] == 3
assert report["summary"]["all_packets_external_verified"] is False
first = report["packets"][0]
assert first["valid"] is True
@@ -562,8 +562,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"] == 2
assert report["summary"]["ready_for_calibration"] == 2
assert report["summary"]["valid_packets"] == 3
assert report["summary"]["ready_for_calibration"] == 3
assert report["summary"]["production_tuning_allowed"] is False
assert report["packets"][0]["valid"] is True
assert report["packets"][0]["problems"] == []
+3 -3
View File
@@ -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"] == 2
assert report["oracle_readiness"]["ready_for_calibration"] == 2
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["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 2/4" in report["global_first_gap"]
assert "Shadbala external absolute-value readiness is 3/4" in report["global_first_gap"]
assert report["public_claim"]["can_claim_global_first"] is False
assert report["public_claim"]["reason"]
+5 -5
View File
@@ -37,12 +37,12 @@ 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"] == 2
assert report["summary"]["external_verified_shadbala_tasks"] == 3
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_steve_jobs_dasha_lahiri"
assert report["first_priority"]["capture_id"] == "external_template_steve_jobs_dasha_lahiri"
assert report["first_priority"]["case_id"] == "template_extreme_latitude_kp"
assert report["first_priority"]["capture_id"] == "external_template_extreme_latitude_kp"
assert report["first_priority"]["required_target_fields"] == ["target.shadbala_components"]
assert "metadata.tool_name" in report["first_priority"]["missing_fields"]
assert "target.shadbala_components.Sun.sthana" in report["first_priority"]["missing_fields"]
@@ -50,7 +50,7 @@ def test_shadbala_oracle_closure_status_identifies_first_absolute_value_packet()
assert report["first_priority"]["missing_groups"]["metadata"]["count"] == 5
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"]["prefilled_fields"]["metadata"]["ayanamsa"] == "kp"
assert report["first_priority"]["manual_fill_plan"]["status_value"] == "external_verified"
assert report["first_priority"]["manual_fill_plan"]["manual_entry_count"] == 54
assert report["first_priority"]["reject_global_scaling"] is True
@@ -66,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_steve_jobs_dasha_lahiri" in markdown
assert "external_template_extreme_latitude_kp" in markdown
assert "target.shadbala_components.Sun.sthana" in markdown
assert "## Missing Summary" in markdown
assert "## Prefilled Fields" in markdown