fix(rectification): score family events and allow appearance follow-up
Independent Staging Quality Gate / validate (push) Successful in 10m19s
Independent Staging Quality Gate / publish (push) Successful in 8m7s

Dated family evidence now moves candidates via D12 and kin houses, career receipts expose both D1-10 and D10, and appearance/marks may be asked as auxiliary first-house scores. New cases bind Skill 10.0.4.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-08-20 08:35:46 +08:00
parent a3196584d2
commit b1b4f5fac9
41 changed files with 1159 additions and 79 deletions
+4 -1
View File
@@ -113,7 +113,7 @@ def _split_track_points(rule_ids: Sequence[str], points: float) -> tuple[float,
return points * vim / total, points * narayana / total
_LAYER_LABEL = {"d1": "本命上升", "d9": "D9", "d10": "D10", "d4": "D4"}
_LAYER_LABEL = {"d1": "本命上升", "d9": "D9", "d10": "D10", "d4": "D4", "d12": "D12"}
def window_scan(built: dict[str, Any]) -> dict[str, Any]:
@@ -128,6 +128,7 @@ def window_scan(built: dict[str, Any]) -> dict[str, Any]:
"d9": vargas.get("D9") if isinstance(vargas.get("D9"), int) else None,
"d10": vargas.get("D10") if isinstance(vargas.get("D10"), int) else None,
"d4": vargas.get("D4") if isinstance(vargas.get("D4"), int) else None,
"d12": vargas.get("D12") if isinstance(vargas.get("D12"), int) else None,
}
for layer, bucket in counts.items():
value = current[layer]
@@ -153,10 +154,12 @@ def window_scan(built: dict[str, Any]) -> dict[str, Any]:
"d9_lagna_count": len(counts["d9"]),
"d10_lagna_count": len(counts["d10"]),
"d4_lagna_count": len(counts["d4"]),
"d12_lagna_count": len(counts["d12"]),
"d1_candidates_differ": len(counts["d1"]) > 1,
"d9_candidates_differ": len(counts["d9"]) > 1,
"d10_candidates_differ": len(counts["d10"]) > 1,
"d4_candidates_differ": len(counts["d4"]) > 1,
"d12_candidates_differ": len(counts["d12"]) > 1,
"transitions": transitions,
}