4ceb3a5157
* 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
29 lines
1.3 KiB
Python
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.",
|
|
}
|