55 lines
2.1 KiB
Python
55 lines
2.1 KiB
Python
from __future__ import annotations
|
|
|
|
import json
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
REGISTRY = ROOT / "references/relationship_gender_role_technique_registry_2026_07_19.json"
|
|
|
|
|
|
def test_relationship_gender_role_registry_keeps_gender_out_of_base_chart() -> None:
|
|
data = json.loads(REGISTRY.read_text(encoding="utf-8"))
|
|
assert data["scope"] == "relationship_gender_role_technique_registry"
|
|
assert data["default_profile_policy"] == "neutral_partner_a_b"
|
|
assert data["base_chart_requires_gender"] is False
|
|
assert data["production_tuning_allowed"] is False
|
|
assert data["truth_policy"] == "technique_registry_not_prediction_truth"
|
|
|
|
|
|
def test_relationship_gender_role_registry_covers_core_indian_and_western_methods() -> None:
|
|
data = json.loads(REGISTRY.read_text(encoding="utf-8"))
|
|
ids = {row["id"] for row in data["techniques"]}
|
|
for required in {
|
|
"vedic_venus_jupiter_spouse_significators",
|
|
"vedic_kuja_manglik_role_weighting",
|
|
"ashtakoot_yoni_energy_not_user_gender",
|
|
"ashtakoot_nadi_rajju_reproductive_safety",
|
|
"jaimini_darakaraka_upapada_spouse_role",
|
|
"d9_navamsa_gendered_interpretation_layer",
|
|
"adhana_conception_gender_sensitive_scaffold",
|
|
"western_venus_mars_sun_moon_partner_projection",
|
|
"western_synastry_composite_role_neutral_mode",
|
|
"western_progressed_angles_relationship_timing",
|
|
}:
|
|
assert required in ids
|
|
|
|
|
|
def test_relationship_gender_role_registry_marks_license_and_integration_boundaries() -> None:
|
|
data = json.loads(REGISTRY.read_text(encoding="utf-8"))
|
|
for row in data["techniques"]:
|
|
assert row["integration_action"] in {
|
|
"use_existing_local",
|
|
"add_interpretation_layer",
|
|
"oracle_only",
|
|
"blocked_until_source_verified",
|
|
}
|
|
assert row["gender_dependency"] in {
|
|
"none",
|
|
"interpretation_only",
|
|
"role_weighting",
|
|
"traditional_rule_variant",
|
|
}
|
|
assert row["license_boundary"]
|
|
assert row["claim_boundary"]
|
|
|