fix(rectification): separate adjacent minutes with transition proximity
Independent Staging Quality Gate / validate (push) Successful in 11m56s
Independent Staging Quality Gate / publish (push) Has been cancelled

Day-level events now score Vimshottari/Narayana transition closeness so
nearby candidate minutes can diverge, with gated quality probes and
answer-prior ranking so high-base-rate existence questions stay out.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-01 17:41:06 +08:00
parent 20df8c6022
commit 8743dcb105
18 changed files with 1402 additions and 55 deletions
+7 -2
View File
@@ -26,7 +26,7 @@ from scripts.rectification_policy import (
MIN_CONFIRMATION_MARGIN_PERCENT,
)
POLICY_VERSION = "rectification-candidate-policy-v2"
POLICY_VERSION = "rectification-candidate-policy-v3"
RECEIPT_VERSION = "candidate-decision-receipt-v2"
EXECUTION_LEDGER_VERSION = "rectification-execution-ledger-v2"
SCORE_QUANTUM = Decimal("0.0001")
@@ -71,6 +71,7 @@ _AUDIT_LABELS = {
"shadbala": ("Shadbala", "本轮已做已核验的 Shadbala 分量辅助对照。"),
"arudha-pada": ("Arudha Pada", "本轮已做 Arudha 辅助对照。"),
"functional-benefic-malefic": ("功能吉凶星", "本轮已叠加本命功能吉凶星。"),
"dasha-transition-proximity": ("换运贴近度", "本轮已对照日级事件与候选换运日期的贴近程度。"),
}
@@ -100,7 +101,9 @@ def _executed_public_methods(built: dict[str, Any]) -> list[str]:
methods.add(str(layer))
for rule in cell.get("rule_ids") or []:
text = str(rule)
if text.startswith("vim_"):
if "transition_proximity" in text:
methods.add("dasha-transition-proximity")
elif text.startswith("vim_"):
methods.add("vimshottari-dasha")
elif text.startswith("narayana_"):
methods.add("narayana-dasha")
@@ -652,6 +655,8 @@ def build_decision_receipt(
"evidence_collection_probes": packet.get("evidence_collection_probes") or [],
"candidate_contrast_opportunities": packet.get("candidate_contrast_opportunities") or [],
"holdout_validation_probes": packet.get("holdout_validation_probes") or [],
"dropped_probes": packet.get("dropped_probes") or [],
"prospective_probes": packet.get("prospective_probes") or [],
"horary_observation": build_horary_observation(request),
"unique_minute_claim": False,
})