Bridge functional benefic malefic layer

This commit is contained in:
732642856
2026-06-28 18:18:33 +08:00
parent 7dc36ce558
commit 09817b96fd
8 changed files with 317 additions and 105 deletions
@@ -4,6 +4,7 @@
from __future__ import annotations
from mcp_server import _collect_strict_evidence
from scripts.functional_benefics import derive_functional_benefic_malefic
def _base_relationship_result() -> dict:
@@ -48,3 +49,28 @@ def test_relationship_strict_workflow_exposes_functional_benefic_malefic_layer()
assert "Venus" in functional["functional_malefics"]
assert "functional_benefic_malefic_used" in strict["event_judgement"]["secondary_context"]
def test_functional_benefic_module_calculates_lagna_roles_without_planets() -> None:
functional = derive_functional_benefic_malefic("Leo")
assert functional["status"] == "used"
assert functional["ascendant"] == "Leo"
assert functional["owned_houses"]["Sun"] == [1]
assert functional["owned_houses"]["Venus"] == [3, 10]
assert "Sun" in functional["functional_benefics"]
assert "Venus" in functional["functional_malefics"]
assert functional["source"] == "strict_functional_benefic_malefic_v1"
def test_relationship_functional_layer_uses_ascendant_even_when_planets_missing() -> None:
result = _base_relationship_result()
result["modules"]["chart"] = {"ascendant": {"sign": "Leo"}}
strict = _collect_strict_evidence("relationship", result)
functional = strict["present_evidence"]["functional_benefic_malefic"]
assert functional["status"] == "used"
assert functional["ascendant"] == "Leo"
assert "Sun" in functional["functional_benefics"]
assert "Venus" in functional["functional_malefics"]
assert "functional_benefic_malefic_used" in strict["event_judgement"]["secondary_context"]