Retarget Tajika packet assistant to Einstein 1905
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
# First Tajika/Sahams Annual Oracle Packet Operator Card
|
||||
|
||||
Goal: fill one external annual-chart packet for `template_einstein_varshaphala_1905_lahiri`.
|
||||
|
||||
This is for Varshaphala / Tajika / Sahams only. Do not use local `scripts/varshaphala.py` output as evidence.
|
||||
|
||||
## Birth And Year
|
||||
|
||||
- Birth date: `1879-03-14`
|
||||
- Birth time: `11:30:00`
|
||||
- Birth place: Ulm, Germany
|
||||
- Coordinates: `48.3984, 9.9916`
|
||||
- Birth timezone: `0.883333`
|
||||
- Ayanamsa: `lahiri`
|
||||
- Node mode: `mean`
|
||||
- Target annual year: `1905`
|
||||
|
||||
## External Tool
|
||||
|
||||
Use one external black-box source:
|
||||
|
||||
- JHora Varshaphala/Tajika annual chart screen, or
|
||||
- PyJHora black-box annual output, or
|
||||
- a printed Tajika/Varshaphala example.
|
||||
|
||||
Record the solar-return convention in `metadata.operator_note`, including timezone/DST handling and whether the tool calculates the annual chart at exact solar return.
|
||||
|
||||
## Fill This Packet
|
||||
|
||||
Template:
|
||||
|
||||
`references/oracle/artifacts/pending_packets/external_template_einstein_varshaphala_1905_lahiri.json`
|
||||
|
||||
Required metadata:
|
||||
|
||||
- `status`: set to `external_verified`
|
||||
- `metadata.tool_name`
|
||||
- `metadata.tool_version_or_url`
|
||||
- `metadata.capture_date`
|
||||
- `metadata.source_artifact`
|
||||
- `metadata.operator_note`
|
||||
|
||||
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`
|
||||
|
||||
Save the redacted screenshot, stdout snippet, or book citation under `references/oracle/artifacts/`.
|
||||
|
||||
## Screen Checklist
|
||||
|
||||
Capture only what is needed:
|
||||
|
||||
1. Settings screen: ayanamsa, node mode, location, target year and solar-return convention.
|
||||
2. Varshaphala chart: solar return datetime and Varsha Lagna.
|
||||
3. Muntha / Year Lord screen: Muntha sign and Year Lord.
|
||||
4. Mudda Dasha screen: first Mudda Dasha lord.
|
||||
5. Sahams screen: Punya Saham, Rajya Saham and Vivah Saham.
|
||||
6. Tajika Yogas screen: visible yogas such as Ithasala, Easarapha, Nakta or other tool labels.
|
||||
|
||||
## Apply
|
||||
|
||||
```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_einstein_varshaphala_1905_lahiri.json \
|
||||
--format json
|
||||
```
|
||||
|
||||
## Validate
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
Expected first milestone after real external evidence is filled:
|
||||
|
||||
- Tajika/Sahams annual closure board moves from `external_verified_annual_tasks: 1` to at least `2`.
|
||||
- Master dashboard still keeps `can_claim_global_oracle_closure: false` until all external oracle fronts are complete.
|
||||
@@ -41,8 +41,8 @@ FRONTS = {
|
||||
"--format",
|
||||
"json",
|
||||
],
|
||||
"operator_card": "docs/benchmark/tajika_steve_jobs_1984_first_packet_operator_card.md",
|
||||
"packet_template": "references/oracle/evidence_packet_templates/tajika_steve_jobs_1984_first_packet.json",
|
||||
"operator_card": "docs/benchmark/tajika_einstein_1905_first_packet_operator_card.md",
|
||||
"packet_template": "references/oracle/artifacts/pending_packets/external_template_einstein_varshaphala_1905_lahiri.json",
|
||||
"external_sources": [
|
||||
"JHora Varshaphala/Tajika annual chart screen",
|
||||
"PyJHora black-box annual output",
|
||||
@@ -173,10 +173,17 @@ def build_report(front: str) -> dict[str, Any]:
|
||||
raise RuntimeError(f"Unsupported front: {front}")
|
||||
config = FRONTS[front]
|
||||
status = _run_json(config["status_command"])
|
||||
first = status["first_priority"]
|
||||
packet = json.loads((ROOT / config["packet_template"]).read_text(encoding="utf-8"))
|
||||
first = status.get("first_priority") or {
|
||||
"case_id": packet.get("case_id"),
|
||||
"capture_id": packet.get("capture_id"),
|
||||
"apply_command": "",
|
||||
"validate_command": "",
|
||||
"packet_path": config["packet_template"],
|
||||
}
|
||||
packet_missing = _packet_missing(config["packet_template"])
|
||||
missing_groups = _group_missing_fields(packet_missing)
|
||||
packet = json.loads((ROOT / config["packet_template"]).read_text(encoding="utf-8"))
|
||||
apply_command = first["apply_command"].replace(first["packet_path"], config["packet_template"]) if first.get("apply_command") else ""
|
||||
return {
|
||||
"scope": "first_external_oracle_packet_assistant",
|
||||
"schema_version": 1,
|
||||
@@ -191,8 +198,8 @@ def build_report(front: str) -> dict[str, Any]:
|
||||
"manual_fill_plan": _manual_fill_plan(packet, packet_missing),
|
||||
"ready_to_apply": not packet_missing,
|
||||
"external_sources": config["external_sources"],
|
||||
"apply_command": first["apply_command"].replace(first["packet_path"], config["packet_template"]),
|
||||
"validate_command": first["validate_command"],
|
||||
"apply_command": apply_command,
|
||||
"validate_command": first.get("validate_command", ""),
|
||||
"boundary": (
|
||||
"This assistant only reports what to fill. It must not invent external oracle values, "
|
||||
"must not use local engine output as evidence, and must not copy incompatible external code."
|
||||
|
||||
@@ -93,9 +93,9 @@ def test_first_oracle_packet_assistant_reports_tajika_front() -> None:
|
||||
assert completed.returncode == 0, completed.stderr or completed.stdout
|
||||
report = json.loads(completed.stdout)
|
||||
assert report["front"] == "tajika_sahams"
|
||||
assert report["case_id"] == "template_steve_jobs_varshaphala_1984_lahiri"
|
||||
assert report["operator_card"].endswith("tajika_steve_jobs_1984_first_packet_operator_card.md")
|
||||
assert report["packet_template"].endswith("tajika_steve_jobs_1984_first_packet.json")
|
||||
assert report["case_id"] == "template_einstein_varshaphala_1905_lahiri"
|
||||
assert report["operator_card"].endswith("tajika_einstein_1905_first_packet_operator_card.md")
|
||||
assert report["packet_template"].endswith("external_template_einstein_varshaphala_1905_lahiri.json")
|
||||
assert report["missing_groups"]["metadata"]["count"] == 5
|
||||
assert report["missing_groups"]["target"]["count"] == 10
|
||||
assert report["manual_fill_plan"]["manual_entry_count"] == 15
|
||||
|
||||
@@ -46,7 +46,7 @@ def test_generate_blank_oracle_writes_first_packet_kit(tmp_path: Path) -> None:
|
||||
assert manifest_data["fronts"]["shadbala"]["missing_field_count"] == 55
|
||||
|
||||
dasha_packet = tmp_path / "dasha" / "external_template_steve_jobs_dasha_lahiri.json"
|
||||
tajika_packet = tmp_path / "tajika_sahams" / "external_template_steve_jobs_varshaphala_1984_lahiri.json"
|
||||
tajika_packet = tmp_path / "tajika_sahams" / "external_template_einstein_varshaphala_1905_lahiri.json"
|
||||
shadbala_packet = tmp_path / "shadbala" / "external_template_redacted_place_shadbala_raman.json"
|
||||
assert dasha_packet.exists()
|
||||
assert tajika_packet.exists()
|
||||
|
||||
Reference in New Issue
Block a user