fix(relationship): freeze marriage event classes and add conditional dashas (BUG-608)
Venus/Jupiter/Moon periods no longer collapse into one marriage-opportunity line. Full reading reports the ten BPHS conditional dasha families; Skill 6.9.16. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+25
-1
@@ -47,6 +47,7 @@ from functional_benefics import derive_functional_benefic_malefic
|
||||
from vedastro_priority import official_snapshot_evidence
|
||||
from unified_consultation_orchestrator import UnifiedConsultationOrchestrator
|
||||
from skill_experience import build_skill_doctor, build_skill_onboarding, summarize_execution_status
|
||||
from punarphoo import detect_punarphoo
|
||||
|
||||
load_local_env(SCRIPT_DIR)
|
||||
|
||||
@@ -2529,6 +2530,20 @@ def _derive_event_judgement(route: str, present: Dict[str, Any], missing: List[s
|
||||
secondary_context.append("dignity_supportive_friendship")
|
||||
elif dignity_guardrail.get("score_delta") == -5:
|
||||
secondary_context.append("dignity_high_friction")
|
||||
punarphoo = present.get("punarphoo") if isinstance(present.get("punarphoo"), dict) else {}
|
||||
romantic_activation = {
|
||||
"status": "observation_only",
|
||||
"natal_present": bool(punarphoo.get("natal_present")),
|
||||
"timing_observation_active": bool(punarphoo.get("timing_observation_active")),
|
||||
"claim_boundary": punarphoo.get("claim_boundary") or (
|
||||
"Punarphoo return is not marriage. Observation only; "
|
||||
"negative holdout not passed; do not promote to truth."
|
||||
),
|
||||
"production_tuning_allowed": False,
|
||||
}
|
||||
if romantic_activation["natal_present"] or romantic_activation["timing_observation_active"]:
|
||||
secondary_context.append("punarphoo_observation")
|
||||
secondary_context.append("romantic_activation_observation")
|
||||
secondary_context.extend([
|
||||
"dasha_timing_layer_used",
|
||||
"varga_strength_layer_used",
|
||||
@@ -2564,6 +2579,7 @@ def _derive_event_judgement(route: str, present: Dict[str, Any], missing: List[s
|
||||
"score": score,
|
||||
"verdict": verdict,
|
||||
"dominant_label": dominant_label,
|
||||
"romantic_activation": romantic_activation,
|
||||
"secondary_context": secondary_context,
|
||||
"primary_drivers": [
|
||||
key for key in (
|
||||
@@ -2577,6 +2593,10 @@ def _derive_event_judgement(route: str, present: Dict[str, Any], missing: List[s
|
||||
)
|
||||
if present.get(key)
|
||||
],
|
||||
"note": (
|
||||
"Do not merge romantic_activation / relationship_formation / legal_marriage "
|
||||
"into one relationship-opportunity label. Punarphoo return is not marriage."
|
||||
),
|
||||
}
|
||||
|
||||
if route == "finance":
|
||||
@@ -3840,9 +3860,13 @@ def _collect_strict_evidence(route: str, result: Dict[str, Any]) -> Dict[str, An
|
||||
present["dignity_guardrail"] = _derive_dignity_guardrail(route, present)
|
||||
present["functional_benefic_malefic"] = _derive_functional_benefic_malefic(modules)
|
||||
present["interpretation_source_pack"] = _existing_interpretation_source_pack()
|
||||
chart_core = present.get("chart") if isinstance(present.get("chart"), dict) else {}
|
||||
present["punarphoo"] = detect_punarphoo(
|
||||
chart_core.get("planets") if isinstance(chart_core.get("planets"), dict) else {},
|
||||
)
|
||||
missing = [
|
||||
key for key, value in present.items()
|
||||
if key not in {"chart", "external_activation", "external_technique_evidence", "vedastro_official_snapshot", "source_priority", "dignity_guardrail", "jaimini_marriage_support", "jaimini_timing_support", "synastry_relationship_support", "argala_support", "shadbala", "shadbala_component_audit", "functional_benefic_malefic", "interpretation_source_pack"}
|
||||
if key not in {"chart", "external_activation", "external_technique_evidence", "vedastro_official_snapshot", "source_priority", "dignity_guardrail", "jaimini_marriage_support", "jaimini_timing_support", "synastry_relationship_support", "argala_support", "shadbala", "shadbala_component_audit", "functional_benefic_malefic", "interpretation_source_pack", "punarphoo"}
|
||||
and value in (None, {}, [], "")
|
||||
]
|
||||
convergence = present["marriage_convergence"] or {}
|
||||
|
||||
Reference in New Issue
Block a user