Files
Jyotisha/scripts/rectification_technique_contract.py
T
732642856 4ceb3a5157 feat: enforce commercial rectification evidence contracts
* feat: enforce precise timing output contract

* fix: recognize package imports in fragment audit

* test: make workflow stream contract formatting-independent

* fix: preserve VedAstro evidence across async workflows

* feat: enforce commercial technique truth contract

* feat: add rectification technique receipt

* feat: extend rectification event evidence

* feat: score rectification arudha evidence

* feat: gate high rigor rectification confirmation

* feat: add controlled transit to rectification

* feat: include d11 in rectification finance scoring

* feat: add ashtakavarga rectification auxiliary

* feat: show rectification technique receipt

* feat: use verified shadbala components in rectification

* fix: trace transitive script references in fragment audit

* feat: run request-level rectification parity packet
2026-07-19 22:23:29 +08:00

29 lines
1.3 KiB
Python

"""Commercial claim contract for birth-time rectification receipts."""
from __future__ import annotations
from typing import Any
def build_rectification_technique_contract(*, event_count: int, domain_count: int, high_rigor: bool = False) -> dict[str, Any]:
blockers: list[str] = []
if event_count < 3:
blockers.append("insufficient_events")
if domain_count < 2:
blockers.append("insufficient_domains")
if high_rigor:
blockers.append("three_engine_parity_not_passed")
return {
"schema_version": 1,
"calculation_status": "not_started" if event_count == 0 else "evaluated",
"used_divisional_charts": ["D4", "D9", "D10", "D24", "D30"],
"used_arudha": ["A7", "UL", "A10"],
"dasha_tracks": ["vimshottari_md_ad_pd", "narayana_md_ad"],
"missing_layers": ["shadbala_kala_dig_chesta_total"],
"partial_layers": ["D2", "D11", "shadbala_sthana_drik_naisargika"],
"auxiliary_layers": ["functional_benefic_malefic", "controlled_transit", "ashtakavarga", "shadbala_verified_components"],
"external_engines": {"status": "required_not_run" if high_rigor else "not_run", "providers": ["pyjhora", "jyotishganit", "vedastro"]},
"hard_blockers": blockers,
"can_narrow_to_minute": False,
"boundary": "A candidate range is not a confirmed birth minute.",
}