wire existing interpretation sources into strict workflow

This commit is contained in:
732642856
2026-07-02 11:44:21 +08:00
parent ab5af2c8ba
commit 682a5cf7f2
8 changed files with 265 additions and 3 deletions
+10
View File
@@ -266,6 +266,10 @@ def test_full_reading_reports_ayanamsa_metadata_and_ai_prompt_pack() -> None:
assert "Raman" in prompt_pack["prompt_zh"]
assert "不要仅凭单一配置下结论" in prompt_pack["prompt_zh"]
assert "references/ai-reading-workflow-prompt.md" in prompt_pack["retrieval_plan"]["local_reference_docs"]
assert "references/interpretation_template_registry.json" in prompt_pack["retrieval_plan"]["local_reference_docs"]
assert "references/open_source_sources/vedic-astro-skills/codex/skills/vedic-core/resources/p1_p12.md" in prompt_pack["retrieval_plan"]["local_reference_docs"]
assert "references/open_source_sources/vedic-astro-skills/codex/skills/vedic-core/resources/house_framework.md" in prompt_pack["retrieval_plan"]["local_reference_docs"]
assert "references/mandatory-verification-gate-protocol.md" in prompt_pack["retrieval_plan"]["local_reference_docs"]
assert prompt_pack["evidence_snapshot"]["ayanamsa"]["name"] == "raman"
assert prompt_pack["evidence_snapshot"]["core"]["ascendant"]["sign"] == result["chart"]["ascendant"]["sign"]
timing = prompt_pack["evidence_snapshot"]["timing"]
@@ -279,6 +283,9 @@ def test_full_reading_reports_ayanamsa_metadata_and_ai_prompt_pack() -> None:
assert isinstance(functional["functional_malefics"], list)
audit_table = prompt_pack["evidence_snapshot"]["technique_audit_table"]
assert isinstance(audit_table, list)
assert any(row["technique"] == "MEVG / Global Web Evidence" for row in audit_table)
assert any(row["technique"] == "Real Case Calibration" for row in audit_table)
assert any(row["technique"] == "Interpretation Source Pack" for row in audit_table)
functional_rows = [row for row in audit_table if row["technique"] == "Functional Benefic/Malefic"]
assert functional_rows
assert functional_rows[0]["status"] == "used"
@@ -437,6 +444,9 @@ def test_full_reading_prompt_pack_carries_compact_technique_audit_summary() -> N
career = result["ai_prompt_pack"]["evidence_snapshot"]["strict_workflow_contracts"]["career"]
assert "technique_audit_summary" in career
assert career["technique_audit_summary"]["functional_benefic_malefic"]["gate"] == "hard"
assert career["technique_audit_summary"]["interpretation_source_pack"]["used"] is True
assert career["technique_audit_summary"]["mevg_global_web_evidence"]["status"] == "blocked"
assert career["technique_audit_summary"]["real_case_calibration"]["status"] == "blocked"
assert "audit_gate_frame" in career["multi_reference_reading_summary"]
+20
View File
@@ -72,6 +72,26 @@ def test_career_collects_a10_amk_karakamsha_as_strict_evidence() -> None:
]
def test_career_strict_contract_attaches_existing_interpretation_source_pack() -> None:
strict = _collect_strict_evidence("career", _base_career_result())
source_pack = strict["present_evidence"]["interpretation_source_pack"]
assert source_pack["status"] == "used"
assert "references/interpretation_template_registry.json" in source_pack["source_refs"]
assert "references/open_source_sources/vedic-astro-skills/codex/skills/vedic-core/resources/p1_p12.md" in source_pack["source_refs"]
assert "references/open_source_sources/vedic-astro-skills/codex/skills/vedic-core/resources/house_framework.md" in source_pack["source_refs"]
assert "references/raman-house-judgment-methodology.md" in source_pack["source_refs"]
assert "jyotish-app/planet-house-details-a.js" in source_pack["source_refs"]
assert source_pack["template_registry"]["template_count"] >= 11
assert source_pack["frontend_planet_house_details"]["planet_count"] == 9
assert source_pack["frontend_planet_house_details"]["house_count"] == 12
audit = strict["technique_audit_summary"]
assert audit["interpretation_source_pack"]["used"] is True
assert audit["mevg_global_web_evidence"]["status"] == "blocked"
assert audit["real_case_calibration"]["status"] == "blocked"
def test_career_blocks_label_when_d10_is_missing_but_preserves_jaimini_context() -> None:
result = _base_career_result()
del result["modules"]["varga_full"]["D10_Dasamsa"]
+16
View File
@@ -34,6 +34,22 @@ def test_finance_public_wealth_label_requires_at_least_moderate_window() -> None
assert judgement["secondary_context"] == []
def test_finance_strict_contract_attaches_existing_interpretation_source_pack() -> None:
strict = _collect_strict_evidence("finance", {"modules": {}})
source_pack = strict["present_evidence"]["interpretation_source_pack"]
assert source_pack["status"] == "used"
assert "lakshmi_dhana_activation_chain" in source_pack["template_registry"]["template_ids"]
assert "yogi_asc_tight_orb_wealth" in source_pack["template_registry"]["template_ids"]
assert source_pack["bphs_raman_layer"]["status"] == "available"
assert source_pack["frontend_planet_house_details"]["coverage"] == "9_planets_x_12_houses"
audit = strict["technique_audit_summary"]
assert audit["interpretation_source_pack"]["used"] is True
assert audit["mevg_global_web_evidence"]["effect_on_confidence"] == "blocks_or_downgrades_interpretive_claims_until_completed"
assert audit["real_case_calibration"]["effect_on_confidence"] == "caps_confidence_without_matching_cases"
def test_finance_public_wealth_label_can_lift_visible_wealth_cases() -> None:
judgement = _derive_event_judgement(
"finance",
@@ -62,6 +62,23 @@ def test_relationship_jaimini_bridge_lifts_legal_marriage_label() -> None:
]
def test_relationship_strict_contract_attaches_existing_interpretation_source_pack() -> None:
strict = _collect_strict_evidence("relationship", _base_relationship_result())
source_pack = strict["present_evidence"]["interpretation_source_pack"]
assert source_pack["status"] == "used"
assert "darakaraka_ul_spouse_depth" in source_pack["template_registry"]["template_ids"]
assert "rtn_high_order_d9" in source_pack["template_registry"]["template_ids"]
assert "p1_p12" in source_pack["frameworks"]
assert "house_framework" in source_pack["frameworks"]
assert "raman_functional_house_judgment" in source_pack["frameworks"]
audit = strict["technique_audit_summary"]
assert audit["interpretation_source_pack"]["source"] == "repo_existing_interpretation_sources"
assert audit["mevg_global_web_evidence"]["required"] is True
assert audit["real_case_calibration"]["required"] is True
def test_relationship_jaimini_bridge_stays_context_only_when_d9_missing() -> None:
result = _base_relationship_result()
del result["modules"]["varga_full"]["D9_Navamsa"]