fix(rectification): 候选分钟不变量记忆化(BUG-721)
Shadbala / Ashtakavarga / Dasha 时间轴进 static context;过境盘按事件日期缓存 chart;探针网格相同时只算一次。打分与决策回执与基线 golden 逐字相同(剔除计时字段)。
This commit is contained in:
@@ -697,7 +697,11 @@ def build_refinement_packet(
|
||||
"unique_minute_claim": False,
|
||||
"confirmation_allowed": False,
|
||||
}
|
||||
from scripts.rectification.candidate_contrast import PROBE_PHASE_HOLDOUT_VALIDATION, event_year
|
||||
from scripts.rectification.candidate_contrast import (
|
||||
PROBE_PHASE_HOLDOUT_VALIDATION,
|
||||
event_year,
|
||||
opportunity_from_probe,
|
||||
)
|
||||
from scripts.rectification.case_holdout import reserved_holdout_events
|
||||
from scripts.rectification.event_probes import (
|
||||
candidate_contrast_opportunities,
|
||||
@@ -729,13 +733,16 @@ def build_refinement_packet(
|
||||
dropped = list(bundle["dropped"])
|
||||
clarification = event_clarification_probes(request)
|
||||
collection = evidence_collection_probes(request)
|
||||
opportunities = candidate_contrast_opportunities(
|
||||
request,
|
||||
built,
|
||||
scan=scan,
|
||||
candidate_times=grid_times,
|
||||
representative_time=representative_time,
|
||||
)
|
||||
if probe_times == grid_times:
|
||||
opportunities = [opportunity_from_probe(probe) for probe in probes]
|
||||
else:
|
||||
opportunities = candidate_contrast_opportunities(
|
||||
request,
|
||||
built,
|
||||
scan=scan,
|
||||
candidate_times=grid_times,
|
||||
representative_time=representative_time,
|
||||
)
|
||||
reserved = reserved_holdout_events(request.get("events") or [])
|
||||
holdout = [
|
||||
{
|
||||
|
||||
@@ -5,7 +5,6 @@ import json
|
||||
from collections import defaultdict
|
||||
from collections.abc import Callable, Sequence
|
||||
from datetime import date, timedelta
|
||||
from functools import lru_cache
|
||||
from typing import Any
|
||||
|
||||
from scripts.active_rectification_event_engine import compute_candidate_static_contexts, compute_event_candidate_rows
|
||||
@@ -126,11 +125,6 @@ def _canonical(value: Any) -> str:
|
||||
return json.dumps(value, ensure_ascii=True, sort_keys=True, separators=(",", ":"))
|
||||
|
||||
|
||||
@lru_cache(maxsize=4096)
|
||||
def _cached_rows(serialized: str) -> tuple[CandidateScoreRow, ...]:
|
||||
return tuple(compute_event_candidate_rows(json.loads(serialized)))
|
||||
|
||||
|
||||
_SUPPORT_RULES = (
|
||||
"functional_benefic_auxiliary",
|
||||
"arudha_auxiliary",
|
||||
|
||||
Reference in New Issue
Block a user