fix(functional): yogakaraka needs a kendra among 4/7/10 and a trikona among 5/9; grouping unchanged (BUG-1158 partial)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
Jesse_Chen
2026-10-02 09:06:29 +08:00
co-authored by Claude Opus 5.5
parent 81f6e5130a
commit ffafa28b79
6 changed files with 58 additions and 9 deletions
@@ -63,7 +63,10 @@ def test_functional_benefic_module_calculates_lagna_roles_without_planets() -> N
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"
# 原值: source == "strict_functional_benefic_malefic_v1"
# 新值: "strict_functional_benefic_malefic_v2"
# 原因: 产品 2026-10-02 决定 yogakaraka 只认同时主 4/7/10 之一与 5/9 之一(BUG-1158 部分修复),吉凶分组不变
assert functional["source"] == "strict_functional_benefic_malefic_v2"
def test_relationship_functional_layer_uses_ascendant_even_when_planets_missing() -> None:
@@ -101,4 +104,7 @@ def test_oracle_functional_benefics_cli_exposes_json_contract() -> None:
assert "Sun" in report["functional_benefics"]
assert "Venus" in report["functional_malefics"]
assert "Mars" in report["yogakarakas"]
assert report["source"] == "strict_functional_benefic_malefic_v1"
# 原值: source == "strict_functional_benefic_malefic_v1"
# 新值: "strict_functional_benefic_malefic_v2"
# 原因: 产品 2026-10-02 决定 yogakaraka 只认同时主 4/7/10 之一与 5/9 之一(BUG-1158 部分修复),吉凶分组不变
assert report["source"] == "strict_functional_benefic_malefic_v2"