research(rectification): holdout v5 — drop current-year events (harness cutoff 2026-09-14), index pages

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
Jesse_Chen
2026-09-29 19:52:43 +08:00
co-authored by Claude Fable 5.1
parent 57118b2697
commit 8ceb94da02
6 changed files with 17 additions and 57 deletions
+5
View File
@@ -33,6 +33,7 @@ MIN_DOMAINS = 4
MIN_CASES = 60
DOMAINS = {"education", "relocation", "relationship", "career", "finance", "health_pressure", "family", "appearance", "occupation"}
PRECISION_FORMAT = {"year": 4, "month": 7, "day": 10}
EVENT_CUTOFF = "2026-09-14" # TODAY of minute_resolution_sweep / cluster_width_probe
def load(path: Path) -> Any:
@@ -71,6 +72,10 @@ def validate_event(case_id: str, event: dict[str, Any], problems: list[str]) ->
date = str(event.get("date", ""))
if precision not in PRECISION_FORMAT or len(date) != PRECISION_FORMAT[precision]:
problems.append(f"{case_id}: date {date!r} does not match precision {precision!r}")
# The replay harnesses evaluate at a fixed date (2026-09-14); the scoring contract
# rejects events after "today", and a year-precision event resolves inside its year.
if date[:4] >= EVENT_CUTOFF[:4] and (precision == "year" or date > EVENT_CUTOFF):
problems.append(f"{case_id}: event {event.get('id')} dated {date} is not before the harness cutoff {EVENT_CUTOFF}")
source = event.get("source") or {}
if not source.get("url") or not source.get("independent_of_birth_source"):
problems.append(f"{case_id}: event {event.get('id')} lacks an independent source url")