feat(oracle): align annual and shadbala closure boards

This commit is contained in:
732642856
2026-06-26 20:14:24 +08:00
parent f166b1a972
commit 882e0145fe
12 changed files with 1033 additions and 20 deletions
@@ -1,7 +1,7 @@
{
"scope": "jyotish_external_oracle_closure_master_dashboard",
"schema_version": 1,
"generated_at": "2026-06-26T10:31:36.549795+00:00",
"generated_at": "2026-06-26T12:13:47.440227+00:00",
"summary": {
"total_tasks": 12,
"external_verified_tasks": 0,
@@ -30,6 +30,49 @@
"metadata.source_artifact",
"target.vimshottari_start_date"
],
"missing_groups": {
"metadata": {
"count": 5,
"fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact"
]
},
"target": {
"count": 1,
"fields": [
"target.vimshottari_start_date"
]
}
},
"prefilled_fields": {
"status": "draft",
"promotion_status_after_fill": "external_verified",
"metadata": {
"ayanamsa": "Lahiri",
"node_mode": "true node",
"timezone": "UTC-08:00"
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "true"
}
},
"manual_fill_plan": {
"status_value": "external_verified",
"manual_entry_count": 6,
"remaining_manual_fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact",
"target.vimshottari_start_date"
]
},
"apply_command": "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",
"validate_command": "python3 scripts/oracle_collection_queue.py --oracle-file references/oracle/dasha_shadbala_oracle_cases.json --format json > /tmp/jyotish_oracle_queue_filled.json && python3 scripts/oracle_evidence_validator.py --queue-file /tmp/jyotish_oracle_queue_filled.json"
}
@@ -103,6 +146,233 @@
"target.shadbala_components.Saturn.drik",
"target.shadbala_components.Saturn.total_rupa"
],
"missing_groups": {
"metadata": {
"count": 5,
"fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact"
]
},
"target": {
"count": 50,
"fields": [
"target.moon_sidereal_longitude_deg",
"target.shadbala_components.Sun.sthana",
"target.shadbala_components.Sun.dig",
"target.shadbala_components.Sun.kala",
"target.shadbala_components.Sun.chesta",
"target.shadbala_components.Sun.naisargika",
"target.shadbala_components.Sun.drik",
"target.shadbala_components.Sun.total_rupa",
"target.shadbala_components.Moon.sthana",
"target.shadbala_components.Moon.dig",
"target.shadbala_components.Moon.kala",
"target.shadbala_components.Moon.chesta",
"target.shadbala_components.Moon.naisargika",
"target.shadbala_components.Moon.drik",
"target.shadbala_components.Moon.total_rupa",
"target.shadbala_components.Mars.sthana",
"target.shadbala_components.Mars.dig",
"target.shadbala_components.Mars.kala",
"target.shadbala_components.Mars.chesta",
"target.shadbala_components.Mars.naisargika",
"target.shadbala_components.Mars.drik",
"target.shadbala_components.Mars.total_rupa",
"target.shadbala_components.Mercury.sthana",
"target.shadbala_components.Mercury.dig",
"target.shadbala_components.Mercury.kala",
"target.shadbala_components.Mercury.chesta",
"target.shadbala_components.Mercury.naisargika",
"target.shadbala_components.Mercury.drik",
"target.shadbala_components.Mercury.total_rupa",
"target.shadbala_components.Jupiter.sthana",
"target.shadbala_components.Jupiter.dig",
"target.shadbala_components.Jupiter.kala",
"target.shadbala_components.Jupiter.chesta",
"target.shadbala_components.Jupiter.naisargika",
"target.shadbala_components.Jupiter.drik",
"target.shadbala_components.Jupiter.total_rupa",
"target.shadbala_components.Venus.sthana",
"target.shadbala_components.Venus.dig",
"target.shadbala_components.Venus.kala",
"target.shadbala_components.Venus.chesta",
"target.shadbala_components.Venus.naisargika",
"target.shadbala_components.Venus.drik",
"target.shadbala_components.Venus.total_rupa",
"target.shadbala_components.Saturn.sthana",
"target.shadbala_components.Saturn.dig",
"target.shadbala_components.Saturn.kala",
"target.shadbala_components.Saturn.chesta",
"target.shadbala_components.Saturn.naisargika",
"target.shadbala_components.Saturn.drik",
"target.shadbala_components.Saturn.total_rupa"
]
},
"bodies": {
"Jupiter": {
"count": 7,
"fields": [
"target.shadbala_components.Jupiter.sthana",
"target.shadbala_components.Jupiter.dig",
"target.shadbala_components.Jupiter.kala",
"target.shadbala_components.Jupiter.chesta",
"target.shadbala_components.Jupiter.naisargika",
"target.shadbala_components.Jupiter.drik",
"target.shadbala_components.Jupiter.total_rupa"
]
},
"Mars": {
"count": 7,
"fields": [
"target.shadbala_components.Mars.sthana",
"target.shadbala_components.Mars.dig",
"target.shadbala_components.Mars.kala",
"target.shadbala_components.Mars.chesta",
"target.shadbala_components.Mars.naisargika",
"target.shadbala_components.Mars.drik",
"target.shadbala_components.Mars.total_rupa"
]
},
"Mercury": {
"count": 7,
"fields": [
"target.shadbala_components.Mercury.sthana",
"target.shadbala_components.Mercury.dig",
"target.shadbala_components.Mercury.kala",
"target.shadbala_components.Mercury.chesta",
"target.shadbala_components.Mercury.naisargika",
"target.shadbala_components.Mercury.drik",
"target.shadbala_components.Mercury.total_rupa"
]
},
"Moon": {
"count": 7,
"fields": [
"target.shadbala_components.Moon.sthana",
"target.shadbala_components.Moon.dig",
"target.shadbala_components.Moon.kala",
"target.shadbala_components.Moon.chesta",
"target.shadbala_components.Moon.naisargika",
"target.shadbala_components.Moon.drik",
"target.shadbala_components.Moon.total_rupa"
]
},
"Saturn": {
"count": 7,
"fields": [
"target.shadbala_components.Saturn.sthana",
"target.shadbala_components.Saturn.dig",
"target.shadbala_components.Saturn.kala",
"target.shadbala_components.Saturn.chesta",
"target.shadbala_components.Saturn.naisargika",
"target.shadbala_components.Saturn.drik",
"target.shadbala_components.Saturn.total_rupa"
]
},
"Sun": {
"count": 7,
"fields": [
"target.shadbala_components.Sun.sthana",
"target.shadbala_components.Sun.dig",
"target.shadbala_components.Sun.kala",
"target.shadbala_components.Sun.chesta",
"target.shadbala_components.Sun.naisargika",
"target.shadbala_components.Sun.drik",
"target.shadbala_components.Sun.total_rupa"
]
},
"Venus": {
"count": 7,
"fields": [
"target.shadbala_components.Venus.sthana",
"target.shadbala_components.Venus.dig",
"target.shadbala_components.Venus.kala",
"target.shadbala_components.Venus.chesta",
"target.shadbala_components.Venus.naisargika",
"target.shadbala_components.Venus.drik",
"target.shadbala_components.Venus.total_rupa"
]
}
}
},
"prefilled_fields": {
"status": "draft",
"promotion_status_after_fill": "external_verified",
"metadata": {
"ayanamsa": "Raman",
"node_mode": "mean node",
"timezone": "UTC+08:00"
},
"settings": {
"ayanamsa": "raman",
"node_mode": "mean"
}
},
"manual_fill_plan": {
"status_value": "external_verified",
"manual_entry_count": 55,
"remaining_manual_fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact",
"target.moon_sidereal_longitude_deg",
"target.shadbala_components.Sun.sthana",
"target.shadbala_components.Sun.dig",
"target.shadbala_components.Sun.kala",
"target.shadbala_components.Sun.chesta",
"target.shadbala_components.Sun.naisargika",
"target.shadbala_components.Sun.drik",
"target.shadbala_components.Sun.total_rupa",
"target.shadbala_components.Moon.sthana",
"target.shadbala_components.Moon.dig",
"target.shadbala_components.Moon.kala",
"target.shadbala_components.Moon.chesta",
"target.shadbala_components.Moon.naisargika",
"target.shadbala_components.Moon.drik",
"target.shadbala_components.Moon.total_rupa",
"target.shadbala_components.Mars.sthana",
"target.shadbala_components.Mars.dig",
"target.shadbala_components.Mars.kala",
"target.shadbala_components.Mars.chesta",
"target.shadbala_components.Mars.naisargika",
"target.shadbala_components.Mars.drik",
"target.shadbala_components.Mars.total_rupa",
"target.shadbala_components.Mercury.sthana",
"target.shadbala_components.Mercury.dig",
"target.shadbala_components.Mercury.kala",
"target.shadbala_components.Mercury.chesta",
"target.shadbala_components.Mercury.naisargika",
"target.shadbala_components.Mercury.drik",
"target.shadbala_components.Mercury.total_rupa",
"target.shadbala_components.Jupiter.sthana",
"target.shadbala_components.Jupiter.dig",
"target.shadbala_components.Jupiter.kala",
"target.shadbala_components.Jupiter.chesta",
"target.shadbala_components.Jupiter.naisargika",
"target.shadbala_components.Jupiter.drik",
"target.shadbala_components.Jupiter.total_rupa",
"target.shadbala_components.Venus.sthana",
"target.shadbala_components.Venus.dig",
"target.shadbala_components.Venus.kala",
"target.shadbala_components.Venus.chesta",
"target.shadbala_components.Venus.naisargika",
"target.shadbala_components.Venus.drik",
"target.shadbala_components.Venus.total_rupa",
"target.shadbala_components.Saturn.sthana",
"target.shadbala_components.Saturn.dig",
"target.shadbala_components.Saturn.kala",
"target.shadbala_components.Saturn.chesta",
"target.shadbala_components.Saturn.naisargika",
"target.shadbala_components.Saturn.drik",
"target.shadbala_components.Saturn.total_rupa"
]
},
"apply_command": "python3 scripts/oracle_collection_queue.py --oracle-file references/oracle/dasha_shadbala_oracle_cases.json --apply-packet references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman.json --format json",
"validate_command": "python3 scripts/oracle_collection_queue.py --oracle-file references/oracle/dasha_shadbala_oracle_cases.json --format json > /tmp/jyotish_oracle_queue_filled.json && python3 scripts/oracle_evidence_validator.py --queue-file /tmp/jyotish_oracle_queue_filled.json"
}
@@ -136,6 +406,71 @@
"target.tajika_yogas",
"target.source_artifact"
],
"missing_groups": {
"metadata": {
"count": 5,
"fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact"
]
},
"target": {
"count": 10,
"fields": [
"target.solar_return_datetime",
"target.varsha_lagna_deg",
"target.muntha_sign",
"target.year_lord",
"target.mudda_dasha_first_lord",
"target.sahams.punya_saham",
"target.sahams.rajya_saham",
"target.sahams.vivah_saham",
"target.tajika_yogas",
"target.source_artifact"
]
}
},
"prefilled_fields": {
"status": "draft",
"promotion_status_after_fill": "external_verified",
"metadata": {
"ayanamsa": "Lahiri",
"node_mode": "true node",
"timezone": "UTC-08:00",
"annual_system": "Varshaphala/Tajika",
"target_year": 1984
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "true",
"annual_system": "varshaphala",
"target_year": 1984
}
},
"manual_fill_plan": {
"status_value": "external_verified",
"manual_entry_count": 15,
"remaining_manual_fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact",
"target.solar_return_datetime",
"target.varsha_lagna_deg",
"target.muntha_sign",
"target.year_lord",
"target.mudda_dasha_first_lord",
"target.sahams.punya_saham",
"target.sahams.rajya_saham",
"target.sahams.vivah_saham",
"target.tajika_yogas",
"target.source_artifact"
]
},
"apply_command": "python3 scripts/tajika_annual_oracle_queue.py --oracle-file references/oracle/tajika_annual_oracle_cases.json --apply-packet references/oracle/artifacts/pending_packets/external_template_steve_jobs_varshaphala_1984_lahiri.json --format json",
"validate_command": "python3 scripts/tajika_annual_oracle_queue.py --oracle-file references/oracle/tajika_annual_oracle_cases.json --format json && python3 scripts/tajika_annual_benchmark_dashboard.py --oracle-file references/oracle/tajika_annual_oracle_cases.json --format json"
}
@@ -147,6 +482,7 @@
"case_id": "template_steve_jobs_dasha_lahiri",
"capture_id": "external_template_steve_jobs_dasha_lahiri",
"missing_field_count": 6,
"manual_entry_count": 6,
"apply_command": "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"
},
{
@@ -154,6 +490,7 @@
"case_id": "template_steve_jobs_varshaphala_1984_lahiri",
"capture_id": "external_template_steve_jobs_varshaphala_1984_lahiri",
"missing_field_count": 15,
"manual_entry_count": 15,
"apply_command": "python3 scripts/tajika_annual_oracle_queue.py --oracle-file references/oracle/tajika_annual_oracle_cases.json --apply-packet references/oracle/artifacts/pending_packets/external_template_steve_jobs_varshaphala_1984_lahiri.json --format json"
},
{
@@ -161,6 +498,7 @@
"case_id": "template_redacted_place_shadbala_raman",
"capture_id": "external_template_redacted_place_shadbala_raman",
"missing_field_count": 55,
"manual_entry_count": 55,
"apply_command": "python3 scripts/oracle_collection_queue.py --oracle-file references/oracle/dasha_shadbala_oracle_cases.json --apply-packet references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman.json --format json"
}
],
@@ -1,6 +1,6 @@
# Jyotish External Oracle Closure Master Dashboard
Generated: `2026-06-26T10:31:38.662077+00:00`
Generated: `2026-06-26T12:13:46.930643+00:00`
## Summary
@@ -12,11 +12,11 @@ Generated: `2026-06-26T10:31:38.662077+00:00`
## Fronts
| front | tasks | verified | first priority | missing fields |
|---|---:|---:|---|---:|
| `dasha` | 3 | 0 | `template_steve_jobs_dasha_lahiri` | 6 |
| `tajika_sahams` | 5 | 0 | `template_steve_jobs_varshaphala_1984_lahiri` | 15 |
| `shadbala` | 4 | 0 | `template_redacted_place_shadbala_raman` | 55 |
| front | tasks | verified | first priority | missing fields | manual entries | metadata missing | target missing |
|---|---:|---:|---|---:|---:|---:|---:|
| `dasha` | 3 | 0 | `template_steve_jobs_dasha_lahiri` | 6 | 6 | 5 | 1 |
| `tajika_sahams` | 5 | 0 | `template_steve_jobs_varshaphala_1984_lahiri` | 15 | 15 | 5 | 10 |
| `shadbala` | 4 | 0 | `template_redacted_place_shadbala_raman` | 55 | 55 | 5 | 50 |
## Next Action Order
@@ -25,6 +25,7 @@ Generated: `2026-06-26T10:31:38.662077+00:00`
- case_id: `template_steve_jobs_dasha_lahiri`
- capture_id: `external_template_steve_jobs_dasha_lahiri`
- missing_field_count: `6`
- manual_entry_count: `6`
```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
@@ -35,6 +36,7 @@ python3 scripts/oracle_collection_queue.py --oracle-file references/oracle/dasha
- case_id: `template_steve_jobs_varshaphala_1984_lahiri`
- capture_id: `external_template_steve_jobs_varshaphala_1984_lahiri`
- missing_field_count: `15`
- manual_entry_count: `15`
```bash
python3 scripts/tajika_annual_oracle_queue.py --oracle-file references/oracle/tajika_annual_oracle_cases.json --apply-packet references/oracle/artifacts/pending_packets/external_template_steve_jobs_varshaphala_1984_lahiri.json --format json
@@ -45,6 +47,7 @@ python3 scripts/tajika_annual_oracle_queue.py --oracle-file references/oracle/ta
- case_id: `template_redacted_place_shadbala_raman`
- capture_id: `external_template_redacted_place_shadbala_raman`
- missing_field_count: `55`
- manual_entry_count: `55`
```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_redacted_place_shadbala_raman.json --format json
@@ -105,6 +105,233 @@
"target.shadbala_components.Saturn.drik",
"target.shadbala_components.Saturn.total_rupa"
],
"missing_groups": {
"metadata": {
"count": 5,
"fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact"
]
},
"target": {
"count": 50,
"fields": [
"target.moon_sidereal_longitude_deg",
"target.shadbala_components.Sun.sthana",
"target.shadbala_components.Sun.dig",
"target.shadbala_components.Sun.kala",
"target.shadbala_components.Sun.chesta",
"target.shadbala_components.Sun.naisargika",
"target.shadbala_components.Sun.drik",
"target.shadbala_components.Sun.total_rupa",
"target.shadbala_components.Moon.sthana",
"target.shadbala_components.Moon.dig",
"target.shadbala_components.Moon.kala",
"target.shadbala_components.Moon.chesta",
"target.shadbala_components.Moon.naisargika",
"target.shadbala_components.Moon.drik",
"target.shadbala_components.Moon.total_rupa",
"target.shadbala_components.Mars.sthana",
"target.shadbala_components.Mars.dig",
"target.shadbala_components.Mars.kala",
"target.shadbala_components.Mars.chesta",
"target.shadbala_components.Mars.naisargika",
"target.shadbala_components.Mars.drik",
"target.shadbala_components.Mars.total_rupa",
"target.shadbala_components.Mercury.sthana",
"target.shadbala_components.Mercury.dig",
"target.shadbala_components.Mercury.kala",
"target.shadbala_components.Mercury.chesta",
"target.shadbala_components.Mercury.naisargika",
"target.shadbala_components.Mercury.drik",
"target.shadbala_components.Mercury.total_rupa",
"target.shadbala_components.Jupiter.sthana",
"target.shadbala_components.Jupiter.dig",
"target.shadbala_components.Jupiter.kala",
"target.shadbala_components.Jupiter.chesta",
"target.shadbala_components.Jupiter.naisargika",
"target.shadbala_components.Jupiter.drik",
"target.shadbala_components.Jupiter.total_rupa",
"target.shadbala_components.Venus.sthana",
"target.shadbala_components.Venus.dig",
"target.shadbala_components.Venus.kala",
"target.shadbala_components.Venus.chesta",
"target.shadbala_components.Venus.naisargika",
"target.shadbala_components.Venus.drik",
"target.shadbala_components.Venus.total_rupa",
"target.shadbala_components.Saturn.sthana",
"target.shadbala_components.Saturn.dig",
"target.shadbala_components.Saturn.kala",
"target.shadbala_components.Saturn.chesta",
"target.shadbala_components.Saturn.naisargika",
"target.shadbala_components.Saturn.drik",
"target.shadbala_components.Saturn.total_rupa"
]
},
"bodies": {
"Jupiter": {
"count": 7,
"fields": [
"target.shadbala_components.Jupiter.sthana",
"target.shadbala_components.Jupiter.dig",
"target.shadbala_components.Jupiter.kala",
"target.shadbala_components.Jupiter.chesta",
"target.shadbala_components.Jupiter.naisargika",
"target.shadbala_components.Jupiter.drik",
"target.shadbala_components.Jupiter.total_rupa"
]
},
"Mars": {
"count": 7,
"fields": [
"target.shadbala_components.Mars.sthana",
"target.shadbala_components.Mars.dig",
"target.shadbala_components.Mars.kala",
"target.shadbala_components.Mars.chesta",
"target.shadbala_components.Mars.naisargika",
"target.shadbala_components.Mars.drik",
"target.shadbala_components.Mars.total_rupa"
]
},
"Mercury": {
"count": 7,
"fields": [
"target.shadbala_components.Mercury.sthana",
"target.shadbala_components.Mercury.dig",
"target.shadbala_components.Mercury.kala",
"target.shadbala_components.Mercury.chesta",
"target.shadbala_components.Mercury.naisargika",
"target.shadbala_components.Mercury.drik",
"target.shadbala_components.Mercury.total_rupa"
]
},
"Moon": {
"count": 7,
"fields": [
"target.shadbala_components.Moon.sthana",
"target.shadbala_components.Moon.dig",
"target.shadbala_components.Moon.kala",
"target.shadbala_components.Moon.chesta",
"target.shadbala_components.Moon.naisargika",
"target.shadbala_components.Moon.drik",
"target.shadbala_components.Moon.total_rupa"
]
},
"Saturn": {
"count": 7,
"fields": [
"target.shadbala_components.Saturn.sthana",
"target.shadbala_components.Saturn.dig",
"target.shadbala_components.Saturn.kala",
"target.shadbala_components.Saturn.chesta",
"target.shadbala_components.Saturn.naisargika",
"target.shadbala_components.Saturn.drik",
"target.shadbala_components.Saturn.total_rupa"
]
},
"Sun": {
"count": 7,
"fields": [
"target.shadbala_components.Sun.sthana",
"target.shadbala_components.Sun.dig",
"target.shadbala_components.Sun.kala",
"target.shadbala_components.Sun.chesta",
"target.shadbala_components.Sun.naisargika",
"target.shadbala_components.Sun.drik",
"target.shadbala_components.Sun.total_rupa"
]
},
"Venus": {
"count": 7,
"fields": [
"target.shadbala_components.Venus.sthana",
"target.shadbala_components.Venus.dig",
"target.shadbala_components.Venus.kala",
"target.shadbala_components.Venus.chesta",
"target.shadbala_components.Venus.naisargika",
"target.shadbala_components.Venus.drik",
"target.shadbala_components.Venus.total_rupa"
]
}
}
},
"prefilled_fields": {
"status": "draft",
"promotion_status_after_fill": "external_verified",
"metadata": {
"ayanamsa": "Raman",
"node_mode": "mean node",
"timezone": "UTC+08:00"
},
"settings": {
"ayanamsa": "raman",
"node_mode": "mean"
}
},
"manual_fill_plan": {
"status_value": "external_verified",
"manual_entry_count": 55,
"remaining_manual_fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact",
"target.moon_sidereal_longitude_deg",
"target.shadbala_components.Sun.sthana",
"target.shadbala_components.Sun.dig",
"target.shadbala_components.Sun.kala",
"target.shadbala_components.Sun.chesta",
"target.shadbala_components.Sun.naisargika",
"target.shadbala_components.Sun.drik",
"target.shadbala_components.Sun.total_rupa",
"target.shadbala_components.Moon.sthana",
"target.shadbala_components.Moon.dig",
"target.shadbala_components.Moon.kala",
"target.shadbala_components.Moon.chesta",
"target.shadbala_components.Moon.naisargika",
"target.shadbala_components.Moon.drik",
"target.shadbala_components.Moon.total_rupa",
"target.shadbala_components.Mars.sthana",
"target.shadbala_components.Mars.dig",
"target.shadbala_components.Mars.kala",
"target.shadbala_components.Mars.chesta",
"target.shadbala_components.Mars.naisargika",
"target.shadbala_components.Mars.drik",
"target.shadbala_components.Mars.total_rupa",
"target.shadbala_components.Mercury.sthana",
"target.shadbala_components.Mercury.dig",
"target.shadbala_components.Mercury.kala",
"target.shadbala_components.Mercury.chesta",
"target.shadbala_components.Mercury.naisargika",
"target.shadbala_components.Mercury.drik",
"target.shadbala_components.Mercury.total_rupa",
"target.shadbala_components.Jupiter.sthana",
"target.shadbala_components.Jupiter.dig",
"target.shadbala_components.Jupiter.kala",
"target.shadbala_components.Jupiter.chesta",
"target.shadbala_components.Jupiter.naisargika",
"target.shadbala_components.Jupiter.drik",
"target.shadbala_components.Jupiter.total_rupa",
"target.shadbala_components.Venus.sthana",
"target.shadbala_components.Venus.dig",
"target.shadbala_components.Venus.kala",
"target.shadbala_components.Venus.chesta",
"target.shadbala_components.Venus.naisargika",
"target.shadbala_components.Venus.drik",
"target.shadbala_components.Venus.total_rupa",
"target.shadbala_components.Saturn.sthana",
"target.shadbala_components.Saturn.dig",
"target.shadbala_components.Saturn.kala",
"target.shadbala_components.Saturn.chesta",
"target.shadbala_components.Saturn.naisargika",
"target.shadbala_components.Saturn.drik",
"target.shadbala_components.Saturn.total_rupa"
]
},
"external_sources": [
"JHora Shadbala component table screenshot",
"PyJHora black-box shadbala output",
@@ -11,9 +11,100 @@
- capture_id: `external_template_redacted_place_shadbala_raman`
- packet_path: `references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman.json`
- required_target_fields: `target.moon_sidereal_longitude_deg, target.shadbala_components`
- missing_fields: `metadata.tool_name, metadata.tool_version_or_url, metadata.capture_date, metadata.operator_note, metadata.source_artifact, target.moon_sidereal_longitude_deg, target.shadbala_components.Sun.sthana, target.shadbala_components.Sun.dig, target.shadbala_components.Sun.kala, target.shadbala_components.Sun.chesta, target.shadbala_components.Sun.naisargika, target.shadbala_components.Sun.drik, target.shadbala_components.Sun.total_rupa, target.shadbala_components.Moon.sthana, target.shadbala_components.Moon.dig, target.shadbala_components.Moon.kala, target.shadbala_components.Moon.chesta, target.shadbala_components.Moon.naisargika, target.shadbala_components.Moon.drik, target.shadbala_components.Moon.total_rupa, target.shadbala_components.Mars.sthana, target.shadbala_components.Mars.dig, target.shadbala_components.Mars.kala, target.shadbala_components.Mars.chesta, target.shadbala_components.Mars.naisargika, target.shadbala_components.Mars.drik, target.shadbala_components.Mars.total_rupa, target.shadbala_components.Mercury.sthana, target.shadbala_components.Mercury.dig, target.shadbala_components.Mercury.kala, target.shadbala_components.Mercury.chesta, target.shadbala_components.Mercury.naisargika, target.shadbala_components.Mercury.drik, target.shadbala_components.Mercury.total_rupa, target.shadbala_components.Jupiter.sthana, target.shadbala_components.Jupiter.dig, target.shadbala_components.Jupiter.kala, target.shadbala_components.Jupiter.chesta, target.shadbala_components.Jupiter.naisargika, target.shadbala_components.Jupiter.drik, target.shadbala_components.Jupiter.total_rupa, target.shadbala_components.Venus.sthana, target.shadbala_components.Venus.dig, target.shadbala_components.Venus.kala, target.shadbala_components.Venus.chesta, target.shadbala_components.Venus.naisargika, target.shadbala_components.Venus.drik, target.shadbala_components.Venus.total_rupa, target.shadbala_components.Saturn.sthana, target.shadbala_components.Saturn.dig, target.shadbala_components.Saturn.kala, target.shadbala_components.Saturn.chesta, target.shadbala_components.Saturn.naisargika, target.shadbala_components.Saturn.drik, target.shadbala_components.Saturn.total_rupa`
- reject_global_scaling: `true`
## Missing Summary
- metadata: `5`
- target: `50`
- bodies:
- Jupiter: `7`
- Mars: `7`
- Mercury: `7`
- Moon: `7`
- Saturn: `7`
- Sun: `7`
- Venus: `7`
## Prefilled Fields
- status: `draft`
- promotion_status_after_fill: `external_verified`
- metadata:
- ayanamsa: `Raman`
- node_mode: `mean node`
- timezone: `UTC+08:00`
- settings:
- ayanamsa: `raman`
- node_mode: `mean`
## Manual Fill Plan
- status_value: `external_verified`
- manual_entry_count: `55`
## Missing Fields
- `metadata.tool_name`
- `metadata.tool_version_or_url`
- `metadata.capture_date`
- `metadata.operator_note`
- `metadata.source_artifact`
- `target.moon_sidereal_longitude_deg`
- `target.shadbala_components.Sun.sthana`
- `target.shadbala_components.Sun.dig`
- `target.shadbala_components.Sun.kala`
- `target.shadbala_components.Sun.chesta`
- `target.shadbala_components.Sun.naisargika`
- `target.shadbala_components.Sun.drik`
- `target.shadbala_components.Sun.total_rupa`
- `target.shadbala_components.Moon.sthana`
- `target.shadbala_components.Moon.dig`
- `target.shadbala_components.Moon.kala`
- `target.shadbala_components.Moon.chesta`
- `target.shadbala_components.Moon.naisargika`
- `target.shadbala_components.Moon.drik`
- `target.shadbala_components.Moon.total_rupa`
- `target.shadbala_components.Mars.sthana`
- `target.shadbala_components.Mars.dig`
- `target.shadbala_components.Mars.kala`
- `target.shadbala_components.Mars.chesta`
- `target.shadbala_components.Mars.naisargika`
- `target.shadbala_components.Mars.drik`
- `target.shadbala_components.Mars.total_rupa`
- `target.shadbala_components.Mercury.sthana`
- `target.shadbala_components.Mercury.dig`
- `target.shadbala_components.Mercury.kala`
- `target.shadbala_components.Mercury.chesta`
- `target.shadbala_components.Mercury.naisargika`
- `target.shadbala_components.Mercury.drik`
- `target.shadbala_components.Mercury.total_rupa`
- `target.shadbala_components.Jupiter.sthana`
- `target.shadbala_components.Jupiter.dig`
- `target.shadbala_components.Jupiter.kala`
- `target.shadbala_components.Jupiter.chesta`
- `target.shadbala_components.Jupiter.naisargika`
- `target.shadbala_components.Jupiter.drik`
- `target.shadbala_components.Jupiter.total_rupa`
- `target.shadbala_components.Venus.sthana`
- `target.shadbala_components.Venus.dig`
- `target.shadbala_components.Venus.kala`
- `target.shadbala_components.Venus.chesta`
- `target.shadbala_components.Venus.naisargika`
- `target.shadbala_components.Venus.drik`
- `target.shadbala_components.Venus.total_rupa`
- `target.shadbala_components.Saturn.sthana`
- `target.shadbala_components.Saturn.dig`
- `target.shadbala_components.Saturn.kala`
- `target.shadbala_components.Saturn.chesta`
- `target.shadbala_components.Saturn.naisargika`
- `target.shadbala_components.Saturn.drik`
- `target.shadbala_components.Saturn.total_rupa`
## Required Matrix
- planets: `Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn`
@@ -57,6 +57,71 @@
"target.tajika_yogas",
"target.source_artifact"
],
"missing_groups": {
"metadata": {
"count": 5,
"fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact"
]
},
"target": {
"count": 10,
"fields": [
"target.solar_return_datetime",
"target.varsha_lagna_deg",
"target.muntha_sign",
"target.year_lord",
"target.mudda_dasha_first_lord",
"target.sahams.punya_saham",
"target.sahams.rajya_saham",
"target.sahams.vivah_saham",
"target.tajika_yogas",
"target.source_artifact"
]
}
},
"prefilled_fields": {
"status": "draft",
"promotion_status_after_fill": "external_verified",
"metadata": {
"ayanamsa": "Lahiri",
"node_mode": "true node",
"timezone": "UTC-08:00",
"annual_system": "Varshaphala/Tajika",
"target_year": 1984
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "true",
"annual_system": "varshaphala",
"target_year": 1984
}
},
"manual_fill_plan": {
"status_value": "external_verified",
"manual_entry_count": 15,
"remaining_manual_fields": [
"metadata.tool_name",
"metadata.tool_version_or_url",
"metadata.capture_date",
"metadata.operator_note",
"metadata.source_artifact",
"target.solar_return_datetime",
"target.varsha_lagna_deg",
"target.muntha_sign",
"target.year_lord",
"target.mudda_dasha_first_lord",
"target.sahams.punya_saham",
"target.sahams.rajya_saham",
"target.sahams.vivah_saham",
"target.tajika_yogas",
"target.source_artifact"
]
},
"external_sources": [
"JHora Varshaphala screenshot",
"PyJHora black-box annual output",
@@ -11,8 +11,54 @@
- capture_id: `external_template_steve_jobs_varshaphala_1984_lahiri`
- packet_path: `references/oracle/artifacts/pending_packets/external_template_steve_jobs_varshaphala_1984_lahiri.json`
- required_target_fields: `target.solar_return_datetime, target.varsha_lagna_deg, target.muntha_sign, target.year_lord, target.mudda_dasha_first_lord, target.sahams.punya_saham, target.sahams.rajya_saham, target.sahams.vivah_saham, target.tajika_yogas, target.source_artifact`
- missing_fields: `metadata.tool_name, metadata.tool_version_or_url, metadata.capture_date, metadata.operator_note, metadata.source_artifact, target.solar_return_datetime, target.varsha_lagna_deg, target.muntha_sign, target.year_lord, target.mudda_dasha_first_lord, target.sahams.punya_saham, target.sahams.rajya_saham, target.sahams.vivah_saham, target.tajika_yogas, target.source_artifact`
## Missing Summary
- metadata: `5`
- target: `10`
## Prefilled Fields
- status: `draft`
- promotion_status_after_fill: `external_verified`
- metadata:
- ayanamsa: `Lahiri`
- node_mode: `true node`
- timezone: `UTC-08:00`
- annual_system: `Varshaphala/Tajika`
- target_year: `1984`
- settings:
- ayanamsa: `lahiri`
- node_mode: `true`
- annual_system: `varshaphala`
- target_year: `1984`
## Manual Fill Plan
- status_value: `external_verified`
- manual_entry_count: `15`
## Missing Fields
- `metadata.tool_name`
- `metadata.tool_version_or_url`
- `metadata.capture_date`
- `metadata.operator_note`
- `metadata.source_artifact`
- `target.solar_return_datetime`
- `target.varsha_lagna_deg`
- `target.muntha_sign`
- `target.year_lord`
- `target.mudda_dasha_first_lord`
- `target.sahams.punya_saham`
- `target.sahams.rajya_saham`
- `target.sahams.vivah_saham`
- `target.tajika_yogas`
- `target.source_artifact`
## Commands
```bash
+12 -3
View File
@@ -49,6 +49,9 @@ def _front_from_status(name: str, status: dict[str, Any], task_key: str, verifie
"packet_path": first["packet_path"],
"missing_field_count": len(missing_fields),
"missing_fields": missing_fields,
"missing_groups": first.get("missing_groups", {}),
"prefilled_fields": first.get("prefilled_fields", {}),
"manual_fill_plan": first.get("manual_fill_plan", {}),
"apply_command": first.get("apply_command", ""),
"validate_command": first.get("validate_command", ""),
},
@@ -113,6 +116,7 @@ def build_dashboard(dasha_oracle_file: str, tajika_oracle_file: str) -> dict[str
"case_id": front["first_priority"]["case_id"],
"capture_id": front["first_priority"]["capture_id"],
"missing_field_count": front["first_priority"]["missing_field_count"],
"manual_entry_count": int(front["first_priority"].get("manual_fill_plan", {}).get("manual_entry_count", front["first_priority"]["missing_field_count"])),
"apply_command": front["first_priority"]["apply_command"],
}
for front in fronts.values()
@@ -157,14 +161,18 @@ def render_markdown(report: dict[str, Any]) -> str:
"",
"## Fronts",
"",
"| front | tasks | verified | first priority | missing fields |",
"|---|---:|---:|---|---:|",
"| front | tasks | verified | first priority | missing fields | manual entries | metadata missing | target missing |",
"|---|---:|---:|---|---:|---:|---:|---:|",
]
for key in ["dasha", "tajika_sahams", "shadbala"]:
front = report["fronts"][key]
first = front["first_priority"]
missing_groups = first.get("missing_groups", {})
manual_fill_plan = first.get("manual_fill_plan", {})
lines.append(
f"| `{key}` | {front['task_count']} | {front['external_verified_tasks']} | `{first['case_id']}` | {first['missing_field_count']} |"
f"| `{key}` | {front['task_count']} | {front['external_verified_tasks']} | `{first['case_id']}` | "
f"{first['missing_field_count']} | {manual_fill_plan.get('manual_entry_count', first['missing_field_count'])} | "
f"{missing_groups.get('metadata', {}).get('count', 0)} | {missing_groups.get('target', {}).get('count', 0)} |"
)
lines.extend(["", "## Next Action Order", ""])
for item in report["next_action_order"]:
@@ -175,6 +183,7 @@ def render_markdown(report: dict[str, Any]) -> str:
f"- case_id: `{item['case_id']}`",
f"- capture_id: `{item['capture_id']}`",
f"- missing_field_count: `{item['missing_field_count']}`",
f"- manual_entry_count: `{item['manual_entry_count']}`",
"",
"```bash",
item["apply_command"],
+123 -4
View File
@@ -14,6 +14,7 @@ from typing import Any
ROOT = Path(__file__).resolve().parents[1]
PYTHON = sys.executable
FIRST_PRIORITY_CASE_ID = "template_redacted_place_shadbala_raman"
FIRST_PRIORITY_TEMPLATE_PATH = "references/oracle/evidence_packet_templates/shadbala_redacted_place_raman_first_packet.json"
SHADBALA_TARGET_FIELD = "target.shadbala_components"
SUPPORTING_TARGET_FIELDS = ["target.moon_sidereal_longitude_deg"]
REQUIRED_PLANETS = ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
@@ -82,6 +83,67 @@ def _supporting_missing(packet: dict[str, Any], target_fields: list[str]) -> lis
return missing
def _group_missing_fields(missing_fields: list[str]) -> dict[str, Any]:
metadata_fields = [field for field in missing_fields if field.startswith("metadata.")]
target_fields = [field for field in missing_fields if field.startswith("target.")]
body_groups: dict[str, list[str]] = {}
prefix = f"{SHADBALA_TARGET_FIELD}."
for field in target_fields:
if not field.startswith(prefix):
continue
remainder = field[len(prefix):]
body, _, component = remainder.partition(".")
if not body or not component:
continue
body_groups.setdefault(body, []).append(field)
grouped_bodies = {
body: {
"count": len(fields),
"fields": fields,
}
for body, fields in sorted(body_groups.items())
}
return {
"metadata": {
"count": len(metadata_fields),
"fields": metadata_fields,
},
"target": {
"count": len(target_fields),
"fields": target_fields,
},
"bodies": grouped_bodies,
}
def _prefilled_fields(packet: dict[str, Any], missing_fields: list[str]) -> dict[str, Any]:
missing = set(missing_fields)
metadata = {
key: value
for key, value in packet.get("metadata", {}).items()
if f"metadata.{key}" not in missing and value not in ("", None, [], {})
}
settings = {
key: value
for key, value in packet.get("settings", {}).items()
if value not in ("", None, [], {})
}
return {
"status": packet.get("status"),
"promotion_status_after_fill": packet.get("promotion_status_after_fill"),
"metadata": metadata,
"settings": settings,
}
def _manual_fill_plan(packet: dict[str, Any], missing_fields: list[str]) -> dict[str, Any]:
return {
"status_value": packet.get("promotion_status_after_fill", "external_verified"),
"manual_entry_count": len(missing_fields),
"remaining_manual_fields": missing_fields,
}
def _apply_command(packet_path: str, oracle_file: str) -> str:
return (
"python3 scripts/oracle_collection_queue.py "
@@ -111,12 +173,15 @@ def build_status(oracle_file: str) -> dict[str, Any]:
if priority is None:
raise RuntimeError("No Shadbala target task found")
packet = priority["evidence_packet"]
capture_id = packet["capture_id"]
queue_packet = priority["evidence_packet"]
capture_id = queue_packet["capture_id"]
packet_path = f"references/oracle/artifacts/pending_packets/{capture_id}.json"
template_path = FIRST_PRIORITY_TEMPLATE_PATH if priority["case_id"] == FIRST_PRIORITY_CASE_ID else packet_path
packet = json.loads((ROOT / template_path).read_text(encoding="utf-8"))
target_fields = priority.get("target_fields", [])
supporting_target_fields = [field for field in SUPPORTING_TARGET_FIELDS if field in target_fields]
missing_fields = _metadata_missing(packet) + _supporting_missing(packet, target_fields) + _shadbala_missing(packet)
missing_groups = _group_missing_fields(missing_fields)
external_verified = [
task for task in shadbala_tasks
if (
@@ -145,6 +210,9 @@ def build_status(oracle_file: str) -> dict[str, Any]:
"settings": priority.get("settings", {}),
"required_target_fields": supporting_target_fields + [SHADBALA_TARGET_FIELD],
"missing_fields": missing_fields,
"missing_groups": missing_groups,
"prefilled_fields": _prefilled_fields(packet, missing_fields),
"manual_fill_plan": _manual_fill_plan(packet, missing_fields),
"external_sources": [
"JHora Shadbala component table screenshot",
"PyJHora black-box shadbala output",
@@ -186,9 +254,59 @@ def render_markdown(report: dict[str, Any]) -> str:
f"- capture_id: `{first['capture_id']}`",
f"- packet_path: `{first['packet_path']}`",
f"- required_target_fields: `{', '.join(first['required_target_fields'])}`",
f"- missing_fields: `{', '.join(first['missing_fields'])}`",
f"- reject_global_scaling: `{str(first['reject_global_scaling']).lower()}`",
"",
"## Missing Summary",
"",
f"- metadata: `{first['missing_groups']['metadata']['count']}`",
f"- target: `{first['missing_groups']['target']['count']}`",
]
if first["missing_groups"]["bodies"]:
lines.extend(["- bodies:", ""])
lines.extend(
f" - {body}: `{payload['count']}`"
for body, payload in first["missing_groups"]["bodies"].items()
)
lines.extend(
[
"",
"## Prefilled Fields",
"",
f"- status: `{first['prefilled_fields']['status']}`",
f"- promotion_status_after_fill: `{first['prefilled_fields']['promotion_status_after_fill']}`",
"",
]
)
if first["prefilled_fields"]["metadata"]:
lines.append("- metadata:")
lines.append("")
lines.extend(
f" - {key}: `{value}`"
for key, value in first["prefilled_fields"]["metadata"].items()
)
lines.append("")
if first["prefilled_fields"]["settings"]:
lines.append("- settings:")
lines.append("")
lines.extend(
f" - {key}: `{value}`"
for key, value in first["prefilled_fields"]["settings"].items()
)
lines.append("")
lines.extend(
[
"## Manual Fill Plan",
"",
f"- status_value: `{first['manual_fill_plan']['status_value']}`",
f"- manual_entry_count: `{first['manual_fill_plan']['manual_entry_count']}`",
"",
"## Missing Fields",
"",
]
)
lines.extend(f"- `{field}`" for field in first["missing_fields"])
lines.extend(
[
"## Required Matrix",
"",
f"- planets: `{', '.join(summary['required_planets'])}`",
@@ -206,7 +324,8 @@ def render_markdown(report: dict[str, Any]) -> str:
"",
"## Next Actions",
"",
]
]
)
lines.extend(f"- {item}" for item in report["next_actions"])
lines.extend(["", "## Boundary", "", report["boundary"], ""])
return "\n".join(lines)
+95 -4
View File
@@ -14,6 +14,7 @@ from typing import Any
ROOT = Path(__file__).resolve().parents[1]
PYTHON = sys.executable
FIRST_PRIORITY_CASE_ID = "template_steve_jobs_varshaphala_1984_lahiri"
FIRST_PRIORITY_TEMPLATE_PATH = "references/oracle/evidence_packet_templates/tajika_steve_jobs_1984_first_packet.json"
REQUIRED_TARGET_FIELDS = [
"target.solar_return_datetime",
"target.varsha_lagna_deg",
@@ -66,6 +67,49 @@ def _target_missing(packet: dict[str, Any]) -> list[str]:
return missing
def _group_missing_fields(missing_fields: list[str]) -> dict[str, Any]:
metadata_fields = [field for field in missing_fields if field.startswith("metadata.")]
target_fields = [field for field in missing_fields if field.startswith("target.")]
return {
"metadata": {
"count": len(metadata_fields),
"fields": metadata_fields,
},
"target": {
"count": len(target_fields),
"fields": target_fields,
},
}
def _prefilled_fields(packet: dict[str, Any], missing_fields: list[str]) -> dict[str, Any]:
missing = set(missing_fields)
metadata = {
key: value
for key, value in packet.get("metadata", {}).items()
if f"metadata.{key}" not in missing and value not in ("", None, [], {})
}
settings = {
key: value
for key, value in packet.get("settings", {}).items()
if value not in ("", None, [], {})
}
return {
"status": packet.get("status"),
"promotion_status_after_fill": packet.get("promotion_status_after_fill"),
"metadata": metadata,
"settings": settings,
}
def _manual_fill_plan(packet: dict[str, Any], missing_fields: list[str]) -> dict[str, Any]:
return {
"status_value": packet.get("promotion_status_after_fill", "external_verified"),
"manual_entry_count": len(missing_fields),
"remaining_manual_fields": missing_fields,
}
def _apply_command(packet_path: str, oracle_file: str) -> str:
return (
"python3 scripts/tajika_annual_oracle_queue.py "
@@ -93,10 +137,13 @@ def build_status(oracle_file: str) -> dict[str, Any]:
if priority is None:
raise RuntimeError("No Tajika annual task found")
packet = priority["evidence_packet"]
capture_id = packet["capture_id"]
queue_packet = priority["evidence_packet"]
capture_id = queue_packet["capture_id"]
packet_path = f"references/oracle/artifacts/pending_packets/{capture_id}.json"
template_path = FIRST_PRIORITY_TEMPLATE_PATH if priority["case_id"] == FIRST_PRIORITY_CASE_ID else packet_path
packet = json.loads((ROOT / template_path).read_text(encoding="utf-8"))
missing_fields = _metadata_missing(packet) + _target_missing(packet)
missing_groups = _group_missing_fields(missing_fields)
external_verified = [
task for task in annual_tasks
if task.get("status") == "external_verified" and not _target_missing(task.get("evidence_packet", {}))
@@ -119,6 +166,9 @@ def build_status(oracle_file: str) -> dict[str, Any]:
"settings": priority.get("settings", {}),
"required_target_fields": REQUIRED_TARGET_FIELDS,
"missing_fields": missing_fields,
"missing_groups": missing_groups,
"prefilled_fields": _prefilled_fields(packet, missing_fields),
"manual_fill_plan": _manual_fill_plan(packet, missing_fields),
"external_sources": [
"JHora Varshaphala screenshot",
"PyJHora black-box annual output",
@@ -158,8 +208,48 @@ def render_markdown(report: dict[str, Any]) -> str:
f"- capture_id: `{first['capture_id']}`",
f"- packet_path: `{first['packet_path']}`",
f"- required_target_fields: `{', '.join(first['required_target_fields'])}`",
f"- missing_fields: `{', '.join(first['missing_fields'])}`",
"",
"## Missing Summary",
"",
f"- metadata: `{first['missing_groups']['metadata']['count']}`",
f"- target: `{first['missing_groups']['target']['count']}`",
"",
"## Prefilled Fields",
"",
f"- status: `{first['prefilled_fields']['status']}`",
f"- promotion_status_after_fill: `{first['prefilled_fields']['promotion_status_after_fill']}`",
"",
]
if first["prefilled_fields"]["metadata"]:
lines.append("- metadata:")
lines.append("")
lines.extend(
f" - {key}: `{value}`"
for key, value in first["prefilled_fields"]["metadata"].items()
)
lines.append("")
if first["prefilled_fields"]["settings"]:
lines.append("- settings:")
lines.append("")
lines.extend(
f" - {key}: `{value}`"
for key, value in first["prefilled_fields"]["settings"].items()
)
lines.append("")
lines.extend(
[
"## Manual Fill Plan",
"",
f"- status_value: `{first['manual_fill_plan']['status_value']}`",
f"- manual_entry_count: `{first['manual_fill_plan']['manual_entry_count']}`",
"",
"## Missing Fields",
"",
]
)
lines.extend(f"- `{field}`" for field in first["missing_fields"])
lines.extend(
[
"## Commands",
"",
"```bash",
@@ -172,7 +262,8 @@ def render_markdown(report: dict[str, Any]) -> str:
"",
"## Next Actions",
"",
]
]
)
lines.extend(f"- {item}" for item in report["next_actions"])
lines.extend(["", "## Boundary", "", report["boundary"], ""])
return "\n".join(lines)
@@ -48,8 +48,13 @@ def test_oracle_closure_master_dashboard_aggregates_all_hard_fronts() -> None:
assert report["fronts"]["dasha"]["first_priority"]["case_id"] == "template_steve_jobs_dasha_lahiri"
assert report["fronts"]["shadbala"]["first_priority"]["case_id"] == "template_redacted_place_shadbala_raman"
assert report["fronts"]["tajika_sahams"]["first_priority"]["case_id"] == "template_steve_jobs_varshaphala_1984_lahiri"
assert report["fronts"]["dasha"]["first_priority"]["missing_groups"]["metadata"]["count"] == 5
assert report["fronts"]["dasha"]["first_priority"]["manual_fill_plan"]["manual_entry_count"] == 6
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["next_action_order"][0]["front"] == "dasha"
assert report["next_action_order"][0]["missing_field_count"] == 6
assert report["next_action_order"][0]["manual_entry_count"] == 6
assert report["next_action_order"][1]["front"] == "tajika_sahams"
assert report["next_action_order"][2]["front"] == "shadbala"
@@ -67,3 +72,5 @@ def test_oracle_closure_master_dashboard_markdown_can_be_written(tmp_path: Path)
assert "template_steve_jobs_dasha_lahiri" in markdown
assert "template_redacted_place_shadbala_raman" in markdown
assert "template_steve_jobs_varshaphala_1984_lahiri" in markdown
assert "manual entries" in markdown
assert "metadata missing" in markdown
@@ -51,6 +51,12 @@ def test_shadbala_oracle_closure_status_identifies_first_absolute_value_packet()
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"]["bodies"]["Sun"]["count"] == 7
assert report["first_priority"]["prefilled_fields"]["metadata"]["ayanamsa"] == "Raman"
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"]["reject_global_scaling"] is True
assert report["first_priority"]["validate_command"]
@@ -66,3 +72,6 @@ def test_shadbala_oracle_closure_status_markdown_can_be_written(tmp_path: Path)
assert "can_claim_shadbala_absolute_closure: `false`" in markdown
assert "external_template_redacted_place_shadbala_raman" in markdown
assert "target.shadbala_components.Sun.sthana" in markdown
assert "## Missing Summary" in markdown
assert "## Prefilled Fields" in markdown
assert "## Manual Fill Plan" in markdown
@@ -56,6 +56,11 @@ def test_tajika_annual_closure_status_identifies_first_annual_packet() -> None:
assert "metadata.tool_name" in report["first_priority"]["missing_fields"]
assert "target.solar_return_datetime" in report["first_priority"]["missing_fields"]
assert "target.sahams.punya_saham" in report["first_priority"]["missing_fields"]
assert report["first_priority"]["missing_groups"]["metadata"]["count"] == 5
assert report["first_priority"]["missing_groups"]["target"]["count"] == 10
assert report["first_priority"]["prefilled_fields"]["metadata"]["annual_system"] == "Varshaphala/Tajika"
assert report["first_priority"]["manual_fill_plan"]["status_value"] == "external_verified"
assert report["first_priority"]["manual_fill_plan"]["manual_entry_count"] == 15
assert report["first_priority"]["validate_command"]
@@ -70,3 +75,6 @@ def test_tajika_annual_closure_status_markdown_can_be_written(tmp_path: Path) ->
assert "can_claim_tajika_sahams_closure: `false`" in markdown
assert "external_template_steve_jobs_varshaphala_1984_lahiri" in markdown
assert "target.sahams.punya_saham" in markdown
assert "## Missing Summary" in markdown
assert "## Prefilled Fields" in markdown
assert "## Manual Fill Plan" in markdown