bab0718700
Web export now calls the same full pack as the long skill report and caches an owner-only Markdown download. Appendix failure stays unavailable and does not change the main report status. Co-authored-by: Cursor <cursoragent@cursor.com>
44 lines
1.5 KiB
Python
Executable File
44 lines
1.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""Contract helpers for the KP three-year monthly report packet."""
|
|
|
|
from __future__ import annotations
|
|
|
|
try: # pragma: no cover - import path differs under CLI vs pytest
|
|
from kp_system import build_kp_western_support_surface, kp_maturity_profile
|
|
except ImportError: # pragma: no cover
|
|
from scripts.kp_system import build_kp_western_support_surface, kp_maturity_profile
|
|
|
|
|
|
def build_kp_monthly_report_contract(
|
|
*, start_month: str, month_count: int, timezone_offset: float
|
|
) -> dict:
|
|
maturity_profile = kp_maturity_profile()
|
|
return {
|
|
"schema": "jyotish.kp_monthly_report.v1",
|
|
"profile": {
|
|
"ayanamsa": "kp",
|
|
"house_system": "placidus",
|
|
"node_mode": "mean",
|
|
"status": "parameter_sensitive",
|
|
},
|
|
"maturity_profile": {
|
|
"claim_status": maturity_profile.get("claim_status"),
|
|
"truth_matrix_allowed": maturity_profile.get("truth_matrix_allowed") is True,
|
|
},
|
|
"window": {
|
|
"start_month": start_month,
|
|
"month_count": month_count,
|
|
"timezone_offset": timezone_offset,
|
|
"anchor_policy": "local_month_start_noon",
|
|
},
|
|
"supporting_systems": {
|
|
"western_kp_support": build_kp_western_support_surface(
|
|
maturity_profile=maturity_profile,
|
|
)
|
|
},
|
|
"must_not_claim": [
|
|
"exact_event_timing",
|
|
"specific_event_prediction",
|
|
],
|
|
}
|