diff --git a/scripts/jyotish_engine.py b/scripts/jyotish_engine.py index 53461aca..2f949b05 100644 --- a/scripts/jyotish_engine.py +++ b/scripts/jyotish_engine.py @@ -5651,6 +5651,19 @@ def cmd_full_reading(args): status='warning' if any(warn.startswith('vedastro-official-full-snapshot:') for warn in report['warnings']) else 'ok', ) + stage_started = time.perf_counter() + try: + _attach_vedastro_main_entry_overview(report, args) + except Exception as e: + report['warnings'].append(f"vedastro-main-entry-overview: {e}") + _record_stage_timing( + stage_timings, + 'vedastro_main_entry_overview', + stage_started, + enabled=profile_stages, + status='warning' if any(warn.startswith('vedastro-main-entry-overview:') for warn in report['warnings']) else 'ok', + ) + stage_started = time.perf_counter() try: strict_evidence_collector = _load_strict_evidence_collector() @@ -5676,19 +5689,6 @@ def cmd_full_reading(args): status='error' if any(err.startswith('strict-evidence-collector:') for err in report['errors']) else 'ok', ) - stage_started = time.perf_counter() - try: - _attach_vedastro_main_entry_overview(report, args) - except Exception as e: - report['warnings'].append(f"vedastro-main-entry-overview: {e}") - _record_stage_timing( - stage_timings, - 'vedastro_main_entry_overview', - stage_started, - enabled=profile_stages, - status='warning' if any(warn.startswith('vedastro-main-entry-overview:') for warn in report['warnings']) else 'ok', - ) - stage_started = time.perf_counter() try: report['modules']['guided_topics'] = build_guided_topics(report) diff --git a/tests/test_cli_smoke.py b/tests/test_cli_smoke.py index d455980f..ad4c6fb7 100644 --- a/tests/test_cli_smoke.py +++ b/tests/test_cli_smoke.py @@ -628,6 +628,13 @@ def test_full_reading_auto_attaches_vedastro_main_entry_boundary() -> None: assert vedastro["source_metadata"]["ingestion_profile"] == "main_entry_overview" assert vedastro["source_metadata"]["reference_date"] == "2026-06-29" assert sorted(vedastro["source_metadata"]["domain_statuses"]) == ["career", "marriage", "wealth"] + career_contract = result["modules"]["career_strict_evidence"] + assert "vedastro_range_scan_missing" not in career_contract["event_judgement"]["secondary_context"] + assert career_contract["present_evidence"]["external_activation"]["level"] == "none" + assert ( + career_contract["present_evidence"]["external_activation"]["provenance"]["domain_statuses"]["career"] + == "network_execution_disabled" + ) def test_full_reading_exposes_sensitive_point_modules() -> None: