Files
Jyotisha/scripts/research/holdout_v4_build.py
T
jesse-ux 2d2467dca1
Independent Staging Quality Gate / validate (push) Failing after 9m27s
Independent Staging Quality Gate / publish (push) Skipped
docs(research): measure minute-resolution scoring; no variant clears all radii
Build holdout v4 from the public AA set, correct the two v3 dates, and sweep
R1–R5 plus pairs offline. No production scoring defaults change. No
implementation brief: delivered width stays the full window on every radius.
2026-09-14 20:43:27 +08:00

306 lines
30 KiB
Python

#!/usr/bin/env python3
"""Build minute_rectification_holdout_v4 from the corrected v3 public AA set.
Adds dated public events so each case has at least 7 events and 4 domains.
Does not use private user data. Working dates for the two v3 audit errors
are the verified public dates.
"""
from __future__ import annotations
import json
import sys
from pathlib import Path
from typing import Any
ROOT = Path(__file__).resolve().parents[2]
V3_PATH = ROOT / "references" / "real_case_calibration" / "minute_rectification_holdout_v3.json"
V4_PATH = ROOT / "references" / "real_case_calibration" / "minute_rectification_holdout_v4.json"
RADII = (10, 30, 60)
MIN_EVENTS = 7
MIN_DOMAINS = 4
def event(
event_id: str,
domain: str,
date: str,
precision: str,
description: str,
publisher: str,
url: str,
) -> dict[str, Any]:
return {
"id": event_id,
"domain": domain,
"date": date,
"precision": precision,
"description": description,
"source": {
"publisher": publisher,
"url": url,
"independent_of_birth_source": True,
},
}
WIKI = "Wikipedia"
BRIT = "Encyclopaedia Britannica"
OSCARS = "Academy of Motion Picture Arts and Sciences"
# Full event lists replace the 3-event v3 rows. Birth records stay from v3.
EVENTS: dict[str, list[dict[str, Any]]] = {
"barack_obama_1961_aa_v4_holdout": [
event("obama_columbia_1983", "education", "1983", "year", "Graduated from Columbia University.", WIKI, "https://en.wikipedia.org/wiki/Barack_Obama"),
event("obama_chicago_1985", "relocation", "1985", "year", "Moved to Chicago as a community organizer.", BRIT, "https://www.britannica.com/biography/Barack-Obama"),
event("obama_harvard_law_1991", "education", "1991", "year", "Graduated from Harvard Law School.", WIKI, "https://en.wikipedia.org/wiki/Barack_Obama"),
event("obama_wedding_1992_v4", "relationship", "1992-10-03", "day", "Married Michelle Robinson.", "Obama Foundation", "https://obama.org/about/administration/chicago-where-it-began/"),
event("obama_illinois_senate_1996_v4", "career", "1996-11-05", "day", "Elected to the Illinois State Senate.", WIKI, "https://en.wikipedia.org/wiki/Illinois_Senate_career_of_Barack_Obama"),
event("obama_malia_1998", "family", "1998-07-04", "day", "Daughter Malia was born.", WIKI, "https://en.wikipedia.org/wiki/Malia_Obama"),
event("obama_us_senate_2004", "career", "2004-11-02", "day", "Elected to the United States Senate.", WIKI, "https://en.wikipedia.org/wiki/2004_United_States_Senate_election_in_Illinois"),
event("obama_presidential_election_2008_v4", "career", "2008-11-04", "day", "Elected President of the United States.", "White House Archives", "https://obamawhitehouse.archives.gov/1600/presidents/barackobama/"),
],
"angelina_jolie_1975_aa_v4_holdout": [
event("jolie_gia_1998", "career", "1998", "year", "Starred in the television film Gia.", WIKI, "https://en.wikipedia.org/wiki/Angelina_Jolie"),
event("jolie_oscar_2000", "career", "2000-03-26", "day", "Won the Academy Award for supporting actress.", OSCARS, "https://www.oscars.org/oscars/ceremonies/2000"),
event("jolie_thornton_2000", "relationship", "2000-05-05", "day", "Married Billy Bob Thornton.", BRIT, "https://www.britannica.com/biography/Angelina-Jolie"),
event("jolie_maddox_2002", "family", "2002-03-10", "day", "Adopted Maddox from Cambodia.", WIKI, "https://en.wikipedia.org/wiki/Angelina_Jolie"),
event("jolie_shiloh_2006", "family", "2006-05-27", "day", "Daughter Shiloh was born.", WIKI, "https://en.wikipedia.org/wiki/Shiloh_Jolie"),
event("jolie_mastectomy_2013", "health_pressure", "2013", "year", "Underwent preventive double mastectomy treatment.", "The New York Times", "https://www.nytimes.com/2013/05/14/opinion/my-medical-choice.html"),
event("jolie_marriage_2014", "relationship", "2014-08-23", "day", "Married Brad Pitt.", BRIT, "https://www.britannica.com/biography/Angelina-Jolie"),
event("jolie_divorce_filed_2016", "relationship", "2016-09-19", "day", "Filed for divorce from Brad Pitt.", WIKI, "https://en.wikipedia.org/wiki/Angelina_Jolie"),
],
"tiger_woods_1975_aa_v4_holdout": [
event("woods_stanford_1994", "education", "1994", "year", "Enrolled at Stanford University.", WIKI, "https://en.wikipedia.org/wiki/Tiger_Woods"),
event("woods_turned_professional_1996", "career", "1996", "year", "Turned professional as a golfer.", "PGA Tour", "https://www.pgatour.com/player/08793/tiger-woods/bio"),
event("woods_masters_1997", "career", "1997-04-13", "day", "Won the Masters Tournament.", WIKI, "https://en.wikipedia.org/wiki/1997_Masters_Tournament"),
event("woods_marriage_2004", "relationship", "2004-10-05", "day", "Married Elin Nordegren.", BRIT, "https://www.britannica.com/biography/Tiger-Woods"),
event("woods_sam_2007", "family", "2007-06-18", "day", "Daughter Sam was born.", WIKI, "https://en.wikipedia.org/wiki/Tiger_Woods"),
event("woods_divorce_2010", "relationship", "2010-08-23", "day", "Divorce from Elin Nordegren was finalized.", WIKI, "https://en.wikipedia.org/wiki/Tiger_Woods"),
event("woods_car_crash_2021", "health_pressure", "2021-02-23", "day", "Sustained serious injuries in a motor-vehicle crash.", WIKI, "https://en.wikipedia.org/wiki/Tiger_Woods"),
],
"elizabeth_taylor_1932_aa_v4_holdout": [
event("taylor_moved_us_1939", "relocation", "1939", "year", "The family moved from London to the United States.", BRIT, "https://www.britannica.com/biography/Elizabeth-Taylor-American-actress"),
event("taylor_national_velvet_1944", "career", "1944", "year", "Starred in National Velvet.", WIKI, "https://en.wikipedia.org/wiki/Elizabeth_Taylor"),
event("taylor_first_marriage_1950", "relationship", "1950-05-06", "day", "Married Conrad Hilton Jr.", BRIT, "https://www.britannica.com/biography/Elizabeth-Taylor-American-actress"),
event("taylor_first_child_1953", "family", "1953-01-06", "day", "Her first child was born.", WIKI, "https://en.wikipedia.org/wiki/Elizabeth_Taylor"),
event("taylor_oscar_1961", "career", "1961-04-17", "day", "Won the Academy Award for Butterfield 8.", OSCARS, "https://www.oscars.org/oscars/ceremonies/1961"),
event("taylor_burton_marriage_1964", "relationship", "1964-03-15", "day", "Married Richard Burton.", WIKI, "https://en.wikipedia.org/wiki/Elizabeth_Taylor"),
event("taylor_brain_surgery_1997", "health_pressure", "1997", "year", "Underwent surgery for a benign brain tumor.", BRIT, "https://www.britannica.com/biography/Elizabeth-Taylor-American-actress/Final-films-and-HIV-AIDS-activism"),
],
"elizabeth_montgomery_1933_aa_v4_holdout": [
event("montgomery_academy_1951", "education", "1951", "year", "Studied at the American Academy of Dramatic Arts.", WIKI, "https://en.wikipedia.org/wiki/Elizabeth_Montgomery"),
event("montgomery_first_marriage_1954", "relationship", "1954", "year", "Married Frederick Gallatin Cammann.", WIKI, "https://en.wikipedia.org/wiki/Elizabeth_Montgomery"),
event("montgomery_marriage_asher_1963", "relationship", "1963", "year", "Married producer William Asher.", WIKI, "https://en.wikipedia.org/wiki/Elizabeth_Montgomery"),
event("montgomery_bewitched_1964", "career", "1964-09-17", "day", "Bewitched premiered on television.", WIKI, "https://en.wikipedia.org/wiki/Bewitched"),
event("montgomery_william_jr_1964", "family", "1964-07-24", "day", "Son William Asher Jr. was born.", WIKI, "https://en.wikipedia.org/wiki/Elizabeth_Montgomery"),
event("montgomery_moved_into_series_fame_1964b", "career", "1966", "year", "Won a Golden Globe for Bewitched.", WIKI, "https://en.wikipedia.org/wiki/Elizabeth_Montgomery"),
event("montgomery_cancer_1995", "health_pressure", "1995", "year", "Was diagnosed with colorectal cancer and died later that year.", "The New York Times", "https://www.nytimes.com/1995/05/19/obituaries/elizabeth-montgomery-62-star-of-the-tv-comedy-bewitched.html"),
],
"pablo_picasso_1881_aa_v4_holdout": [
event("picasso_llotja_1895", "education", "1895", "year", "Entered the School of Fine Arts in Barcelona.", BRIT, "https://www.britannica.com/biography/Pablo-Picasso"),
event("picasso_moved_paris_1904", "relocation", "1904", "year", "Settled permanently in Paris.", BRIT, "https://www.britannica.com/biography/Pablo-Picasso/Blue-Period"),
event("picasso_demoiselles_1907", "career", "1907", "year", "Painted Les Demoiselles d'Avignon.", "Museum of Modern Art", "https://www.moma.org/collection/works/79766"),
event("picasso_marriage_1918", "relationship", "1918-07-12", "day", "Married Olga Khokhlova.", WIKI, "https://en.wikipedia.org/wiki/Pablo_Picasso"),
event("picasso_paulo_1921", "family", "1921-02-04", "day", "Son Paulo was born.", WIKI, "https://en.wikipedia.org/wiki/Paulo_Picasso"),
event("picasso_guernica_1937", "career", "1937", "year", "Created and exhibited Guernica.", "Museum of Modern Art", "https://www.moma.org/collection/works/79018"),
event("picasso_jacqueline_1961", "relationship", "1961-03-02", "day", "Married Jacqueline Roque.", WIKI, "https://en.wikipedia.org/wiki/Pablo_Picasso"),
],
"sigmund_freud_1856_aa_v4_holdout": [
event("freud_vienna_md_1881", "education", "1881", "year", "Received his medical degree from the University of Vienna.", BRIT, "https://www.britannica.com/biography/Sigmund-Freud"),
event("freud_marriage_1886", "relationship", "1886-09-14", "day", "Married Martha Bernays.", WIKI, "https://en.wikipedia.org/wiki/Sigmund_Freud"),
event("freud_anna_1895", "family", "1895-12-03", "day", "Daughter Anna Freud was born.", WIKI, "https://en.wikipedia.org/wiki/Anna_Freud"),
event("freud_dreams_publication_1899", "career", "1899", "year", "Published The Interpretation of Dreams.", BRIT, "https://www.britannica.com/biography/Sigmund-Freud/Psychoanalytic-theory"),
event("freud_clark_1909", "career", "1909", "year", "Lectured at Clark University in the United States.", WIKI, "https://en.wikipedia.org/wiki/Sigmund_Freud"),
event("freud_cancer_1923", "health_pressure", "1923", "year", "Was diagnosed with cancer of the jaw.", BRIT, "https://www.britannica.com/biography/Sigmund-Freud"),
event("freud_moved_london_1938", "relocation", "1938", "year", "Fled Nazi-occupied Vienna and settled in London.", WIKI, "https://en.wikipedia.org/wiki/Freud_Museum"),
],
"salma_hayek_1966_aa_v4_holdout": [
event("hayek_iberoamericana_1980s", "education", "1989", "year", "Left Universidad Iberoamericana to act full time.", WIKI, "https://en.wikipedia.org/wiki/Salma_Hayek"),
event("hayek_moved_los_angeles_1991", "relocation", "1991", "year", "Moved to Los Angeles to pursue acting in Hollywood.", BRIT, "https://www.britannica.com/biography/Salma-Hayek"),
event("hayek_desperado_1995", "career", "1995", "year", "Starred in Desperado.", WIKI, "https://en.wikipedia.org/wiki/Salma_Hayek"),
event("hayek_frida_2002", "career", "2002", "year", "Produced and starred in Frida.", OSCARS, "https://www.oscars.org/oscars/ceremonies/2003"),
event("hayek_valentina_2007", "family", "2007-09-21", "day", "Daughter Valentina was born.", WIKI, "https://en.wikipedia.org/wiki/Salma_Hayek"),
event("hayek_marriage_2009", "relationship", "2009-02-14", "day", "Married Francois-Henri Pinault.", BRIT, "https://www.britannica.com/biography/Salma-Hayek/Personal-life"),
event("hayek_oscar_nomination_2003", "career", "2003-03-23", "day", "Received an Academy Award nomination for Frida.", OSCARS, "https://www.oscars.org/oscars/ceremonies/2003"),
],
"steve_reich_1936_aa_v4_holdout": [
event("reich_cornell_degree_1957", "education", "1957", "year", "Graduated from Cornell University.", BRIT, "https://www.britannica.com/biography/Steve-Reich"),
event("reich_juilliard_1961", "education", "1961", "year", "Completed studies at the Juilliard School.", WIKI, "https://en.wikipedia.org/wiki/Steve_Reich"),
event("reich_moved_california_1963", "relocation", "1963", "year", "Moved to the San Francisco Bay Area.", "Boosey and Hawkes", "https://www.boosey.com/composer/Steve+Reich"),
event("reich_return_ny_1965", "relocation", "1965", "year", "Returned to New York.", WIKI, "https://en.wikipedia.org/wiki/Steve_Reich"),
event("reich_music_18_premiere_1976", "career", "1976-04-24", "day", "Music for 18 Musicians received its world premiere.", "Pulitzer Prizes", "https://www.pulitzer.org/winners/steve-reich"),
event("reich_korot_1976", "relationship", "1976", "year", "Married video artist Beryl Korot.", WIKI, "https://en.wikipedia.org/wiki/Steve_Reich"),
event("reich_pulitzer_2009", "career", "2009-04-20", "day", "Won the Pulitzer Prize for Music.", "Pulitzer Prizes", "https://www.pulitzer.org/winners/steve-reich"),
],
"albert_brooks_1947_aa_v4_holdout": [
event("brooks_cmu_1960s", "education", "1966", "year", "Attended Carnegie Mellon University.", WIKI, "https://en.wikipedia.org/wiki/Albert_Brooks"),
event("brooks_real_life_1979", "career", "1979", "year", "Made his feature directing debut with Real Life.", WIKI, "https://en.wikipedia.org/wiki/Albert_Brooks"),
event("brooks_lost_in_america_1985", "career", "1985", "year", "Wrote and directed Lost in America.", WIKI, "https://en.wikipedia.org/wiki/Lost_in_America"),
event("brooks_oscar_nomination_1988", "career", "1988-04-11", "day", "Received an Academy Award nomination for Broadcast News.", OSCARS, "https://www.oscars.org/oscars/ceremonies/1988"),
event("brooks_marriage_1997", "relationship", "1997", "year", "Married Kimberly Shlain.", WIKI, "https://en.wikipedia.org/wiki/Kimberly_Brooks_(artist)"),
event("brooks_jacob_1998", "family", "1998", "year", "Son Jacob was born.", WIKI, "https://en.wikipedia.org/wiki/Albert_Brooks"),
event("brooks_finding_nemo_2003", "career", "2003", "year", "Voiced Marlin in Finding Nemo.", WIKI, "https://en.wikipedia.org/wiki/Albert_Brooks"),
],
"paul_ryan_1970_aa_v4_holdout": [
event("ryan_miami_1992", "education", "1992", "year", "Graduated from Miami University.", BRIT, "https://www.britannica.com/biography/Paul-Ryan"),
event("ryan_elected_house_1998", "career", "1998-11-03", "day", "Was elected to the United States House of Representatives.", "United States House of Representatives", "https://history.house.gov/People/Detail/20147"),
event("ryan_marriage_2000", "relationship", "2000-12-02", "day", "Married Janna Little.", BRIT, "https://www.britannica.com/biography/Paul-Ryan"),
event("ryan_liza_2004", "family", "2004", "year", "Daughter Liza was born.", WIKI, "https://en.wikipedia.org/wiki/Paul_Ryan"),
event("ryan_vp_nominee_2012", "career", "2012-08-11", "day", "Was named the Republican vice-presidential nominee.", WIKI, "https://en.wikipedia.org/wiki/Paul_Ryan"),
event("ryan_speaker_2015", "career", "2015-10-29", "day", "Was elected Speaker of the House.", WIKI, "https://en.wikipedia.org/wiki/October_2015_Speaker_of_the_United_States_House_of_Representatives_election"),
event("ryan_retire_2018", "career", "2018-04-11", "day", "Announced he would not seek re-election.", WIKI, "https://en.wikipedia.org/wiki/Paul_Ryan"),
],
"tom_kennedy_1927_aa_v4_holdout": [
event("kennedy_missouri_1940s", "education", "1947", "year", "Attended the University of Missouri.", WIKI, "https://en.wikipedia.org/wiki/Tom_Kennedy_(television_host)"),
event("kennedy_moved_la_1950s", "relocation", "1950", "year", "Moved into network television in Los Angeles.", "The Hollywood Reporter", "https://www.hollywoodreporter.com/tv/tv-news/tom-kennedy-dead-game-show-host-name-that-tune-was-93-4074025/"),
event("kennedy_marriage_1952", "relationship", "1952", "year", "Married Betty Gevedon.", "The Hollywood Reporter", "https://www.hollywoodreporter.com/tv/tv-news/tom-kennedy-dead-game-show-host-name-that-tune-was-93-4074025/"),
event("kennedy_big_game_1958", "career", "1958", "year", "Began hosting his first national game show, The Big Game.", WIKI, "https://en.wikipedia.org/wiki/Tom_Kennedy_(television_host)"),
event("kennedy_you_dont_say_1963", "career", "1963", "year", "Began hosting You Don't Say!", WIKI, "https://en.wikipedia.org/wiki/You_Don%27t_Say!"),
event("kennedy_name_that_tune_1974", "career", "1974", "year", "Began hosting the syndicated Name That Tune.", "The Hollywood Reporter", "https://www.hollywoodreporter.com/tv/tv-news/tom-kennedy-dead-game-show-host-name-that-tune-was-93-4074025/"),
event("kennedy_death_2020", "health_pressure", "2020-10-07", "day", "Died in a care facility in Oxnard, California.", WIKI, "https://en.wikipedia.org/wiki/Tom_Kennedy_(television_host)"),
],
"andrew_windsor_1960_aa_v4_holdout": [
event("andrew_gordonstoun_1970s", "education", "1979", "year", "Completed schooling at Gordonstoun.", BRIT, "https://www.britannica.com/biography/Prince-Andrew-duke-of-York"),
event("andrew_royal_navy_1979", "career", "1979", "year", "Entered the Royal Navy as an officer trainee.", "The Royal Family", "https://www.royal.uk/the-duke-of-york"),
event("andrew_falklands_1982", "career", "1982", "year", "Served in the Falklands War as a helicopter pilot.", WIKI, "https://en.wikipedia.org/wiki/Prince_Andrew,_Duke_of_York"),
event("andrew_marriage_1986", "relationship", "1986-07-23", "day", "Married Sarah Ferguson.", BRIT, "https://www.britannica.com/biography/Prince-Andrew-duke-of-York"),
event("andrew_beatrice_1988", "family", "1988-08-08", "day", "Daughter Beatrice was born.", WIKI, "https://en.wikipedia.org/wiki/Princess_Beatrice"),
event("andrew_eugenie_1990", "family", "1990-03-23", "day", "Daughter Eugenie was born.", WIKI, "https://en.wikipedia.org/wiki/Princess_Eugenie"),
event("andrew_divorce_1996", "relationship", "1996-05-30", "day", "Divorce from Sarah Ferguson became final.", "The Royal Family", "https://www.royal.uk/duke-york"),
],
"sean_lennon_1975_aa_v4_holdout": [
event("lennon_father_death_1980", "family", "1980-12-08", "day", "His father John Lennon was murdered.", BRIT, "https://www.britannica.com/biography/John-Lennon"),
event("lennon_rosey_1980s", "education", "1986", "year", "Attended Institut Le Rosey in Switzerland.", WIKI, "https://en.wikipedia.org/wiki/Sean_Lennon"),
event("lennon_columbia_1990s", "education", "1995", "year", "Attended Columbia University.", WIKI, "https://en.wikipedia.org/wiki/Sean_Lennon"),
event("lennon_into_sun_1998", "career", "1998-05-19", "day", "Released his debut album Into the Sun.", "AllMusic", "https://www.allmusic.com/album/into-the-sun-mw0000036772"),
event("lennon_friendly_fire_2006", "career", "2006-09-26", "day", "Released the album Friendly Fire.", WIKI, "https://en.wikipedia.org/wiki/Friendly_Fire_(Sean_Lennon_album)"),
event("lennon_ghost_2012", "career", "2012", "year", "Formed the duo The Ghost of a Saber Tooth Tiger.", WIKI, "https://en.wikipedia.org/wiki/Sean_Lennon"),
event("lennon_kemp_muhl", "relationship", "2007", "year", "Began a long-term relationship with Charlotte Kemp Muhl.", WIKI, "https://en.wikipedia.org/wiki/Sean_Lennon"),
],
"joseph_kennedy_iii_1980_aa_v4_holdout": [
event("kennedy_stanford_2003", "education", "2003", "year", "Graduated from Stanford University.", "United States Congress", "https://bioguide.congress.gov/search/bio/K000379"),
event("kennedy_peace_corps_2004", "relocation", "2004", "year", "Joined the Peace Corps in the Dominican Republic.", WIKI, "https://en.wikipedia.org/wiki/Joe_Kennedy_III"),
event("kennedy_harvard_law_2009", "education", "2009", "year", "Graduated from Harvard Law School.", WIKI, "https://en.wikipedia.org/wiki/Joe_Kennedy_III"),
event("kennedy_elected_house_2012", "career", "2012-11-06", "day", "Was elected to the United States House of Representatives.", WIKI, "https://en.wikipedia.org/wiki/2012_United_States_House_of_Representatives_elections_in_Massachusetts"),
event("kennedy_marriage_2012", "relationship", "2012-12-01", "day", "Married Lauren Birchfield.", WIKI, "https://en.wikipedia.org/wiki/Joe_Kennedy_III"),
event("kennedy_daughter_2015", "family", "2015", "year", "Their first child was born.", WIKI, "https://en.wikipedia.org/wiki/Joe_Kennedy_III"),
event("kennedy_senate_primary_2020", "career", "2020-09-01", "day", "Lost the Democratic Senate primary in Massachusetts.", WIKI, "https://en.wikipedia.org/wiki/2020_United_States_Senate_election_in_Massachusetts"),
],
"kurt_cobain_1967_aa_v4_holdout": [
event("cobain_left_school_1985", "education", "1985", "year", "Dropped out of high school shortly before graduation.", WIKI, "https://en.wikipedia.org/wiki/Kurt_Cobain"),
event("cobain_olympia_1987", "relocation", "1987", "year", "Moved to Olympia, Washington.", WIKI, "https://en.wikipedia.org/wiki/Kurt_Cobain"),
event("cobain_bleach_1989", "career", "1989-06-15", "day", "Nirvana released Bleach.", WIKI, "https://en.wikipedia.org/wiki/Bleach_(Nirvana_album)"),
event("cobain_nevermind_1991", "career", "1991-09-24", "day", "Nirvana released Nevermind.", "Rock and Roll Hall of Fame", "https://www.rockhall.com/inductees/nirvana"),
event("cobain_marriage_1992", "relationship", "1992-02-24", "day", "Married Courtney Love.", BRIT, "https://www.britannica.com/biography/Kurt-Cobain"),
event("cobain_frances_1992", "family", "1992-08-18", "day", "Daughter Frances Bean was born.", WIKI, "https://en.wikipedia.org/wiki/Frances_Bean_Cobain"),
event("cobain_overdose_1994", "health_pressure", "1994-03-04", "day", "Was hospitalized after an overdose in Rome.", "The Seattle Times", "https://www.seattletimes.com/entertainment/music/kurt-cobain-a-timeline-of-his-life/"),
],
"john_robbins_1947_aa_v4_holdout": [
event("robbins_marriage_1968", "relationship", "1967-03-10", "day", "Married Deo Robbins.", WIKI, "https://en.wikipedia.org/wiki/John_Robbins_(author)"),
event("robbins_berkeley_1969", "education", "1969", "year", "Graduated from the University of California, Berkeley.", WIKI, "https://en.wikipedia.org/wiki/John_Robbins_(author)"),
event("robbins_antioch_1976", "education", "1976", "year", "Received a master's degree from Antioch College.", WIKI, "https://en.wikipedia.org/wiki/John_Robbins_(author)"),
event("robbins_diet_book_1987", "career", "1987", "year", "Published Diet for a New America.", WIKI, "https://en.wikipedia.org/wiki/John_Robbins_(author)"),
event("robbins_earthsave_1988", "career", "1988", "year", "Founded the organization EarthSave.", WIKI, "https://en.wikipedia.org/wiki/John_Robbins_(author)"),
event("robbins_health_book_1996", "career", "1996", "year", "Published Reclaiming Our Health.", "John Robbins", "https://www.johnrobbins.info/books/"),
event("robbins_death_2025", "health_pressure", "2025-06-11", "day", "Died in Soquel, California.", WIKI, "https://en.wikipedia.org/wiki/John_Robbins_(author)"),
],
"chad_everett_1937_aa_v4_holdout": [
event("everett_wayne_state_1950s", "education", "1957", "year", "Attended Wayne State University.", WIKI, "https://en.wikipedia.org/wiki/Chad_Everett"),
event("everett_moved_hollywood_1960", "relocation", "1960", "year", "Moved to Hollywood under a studio contract.", WIKI, "https://en.wikipedia.org/wiki/Chad_Everett"),
event("everett_marriage_1966", "relationship", "1966-05-22", "day", "Married actress Shelby Grant.", WIKI, "https://en.wikipedia.org/wiki/Chad_Everett"),
event("everett_katherine_1967", "family", "1967", "year", "Daughter Katherine was born.", WIKI, "https://en.wikipedia.org/wiki/Chad_Everett"),
event("everett_medical_center_1969", "career", "1969", "year", "Began starring in Medical Center.", WIKI, "https://en.wikipedia.org/wiki/Medical_Center_(TV_series)"),
event("everett_airplane_ii_1982", "career", "1982", "year", "Appeared in Airplane II: The Sequel.", WIKI, "https://en.wikipedia.org/wiki/Chad_Everett"),
event("everett_lung_cancer_2012", "health_pressure", "2012", "year", "Died after a battle with lung cancer.", "The New York Times", "https://www.nytimes.com/2012/07/26/arts/television/chad-everett-medical-center-star-dies-at-75.html"),
],
"bernd_eichinger_1949_aa_v4_holdout": [
event("eichinger_hff_1970s", "education", "1973", "year", "Studied at the University of Television and Film Munich.", WIKI, "https://en.wikipedia.org/wiki/Bernd_Eichinger"),
event("eichinger_constantin_1979", "career", "1979", "year", "Bought a stake in Neue Constantin Film and became executive director.", WIKI, "https://en.wikipedia.org/wiki/Constantin_Film"),
event("eichinger_name_of_rose_1986", "career", "1986", "year", "Produced The Name of the Rose.", WIKI, "https://en.wikipedia.org/wiki/The_Name_of_the_Rose_(film)"),
event("eichinger_summit_1991", "career", "1991", "year", "Co-founded Summit Entertainment.", WIKI, "https://en.wikipedia.org/wiki/Summit_Entertainment"),
event("eichinger_nina_1994", "family", "1994", "year", "Daughter Nina was born.", WIKI, "https://en.wikipedia.org/wiki/Bernd_Eichinger"),
event("eichinger_marriage_2006", "relationship", "2006", "year", "Married Katja Hofmann.", "Reuters", "https://www.reuters.com/article/us-berndeichinger/film-producer-bernd-eichinger-dies-at-61-idUSTRE70O6BJ20110125"),
event("eichinger_heart_2011", "health_pressure", "2011-01-24", "day", "Died of a heart attack in Los Angeles.", WIKI, "https://en.wikipedia.org/wiki/Bernd_Eichinger"),
],
"iwao_takamoto_1925_aa_v4_holdout": [
event("takamoto_manzanar_1942", "relocation", "1942", "year", "Was sent with his family to the Manzanar internment camp.", WIKI, "https://en.wikipedia.org/wiki/Iwao_Takamoto"),
event("takamoto_joined_disney_1947", "career", "1945", "year", "Joined Walt Disney Animation Studios.", WIKI, "https://en.wikipedia.org/wiki/Iwao_Takamoto"),
event("takamoto_cinderella_1950", "career", "1950", "year", "Worked as a character artist on Cinderella.", WIKI, "https://en.wikipedia.org/wiki/Iwao_Takamoto"),
event("takamoto_marriage_shattuck_1957", "relationship", "1957", "year", "Married Jane M. Shattuck.", WIKI, "https://en.wikipedia.org/wiki/Iwao_Takamoto"),
event("takamoto_hanna_barbera_1961", "career", "1961", "year", "Moved to Hanna-Barbera and began designing its characters.", "Animation Magazine", "https://www.animationmagazine.net/2007/01/animation-legend-iwao-takamoto-dies/"),
event("takamoto_marriage_farber_1964", "relationship", "1964", "year", "Married Barbara Farber.", WIKI, "https://en.wikipedia.org/wiki/Iwao_Takamoto"),
event("takamoto_scooby_1969", "career", "1969", "year", "Scooby-Doo, Where Are You! premiered with his character design.", WIKI, "https://en.wikipedia.org/wiki/Scooby-Doo,_Where_Are_You!"),
event("takamoto_heart_attack_2007", "health_pressure", "2007-01-08", "day", "Died following a heart attack.", "The New York Times", "https://www.nytimes.com/2007/01/10/arts/10takamoto.html"),
],
}
def _validate(case: dict[str, Any]) -> None:
events = case["events"]
domains = {str(item["domain"]) for item in events}
if len(events) < MIN_EVENTS:
raise SystemExit(f"{case['case_id']}: {len(events)} events < {MIN_EVENTS}")
if len(domains) < MIN_DOMAINS:
raise SystemExit(f"{case['case_id']}: {sorted(domains)} domains < {MIN_DOMAINS}")
rating = ((case.get("birth") or {}).get("source") or {}).get("rodden_rating")
if rating != "AA":
raise SystemExit(f"{case['case_id']}: rodden_rating {rating!r} is not AA")
def build() -> dict[str, Any]:
v3 = json.loads(V3_PATH.read_text(encoding="utf-8"))
cases = []
for row in v3["cases"]:
case_id = str(row["case_id"])
extra = EVENTS.get(case_id)
if extra is None:
raise SystemExit(f"missing v4 events for {case_id}")
case = {
**row,
"holdout_partition": "open_scale_evaluation",
"excluded_from_tuning": True,
"candidate_radius_minutes": 10,
"candidate_radii_minutes": list(RADII),
"true_minute": str(row["birth"]["time"])[:5],
"true_cluster_note": "Cluster membership depends on the scoring variant and radius; recorded in the sweep results.",
"events": extra,
}
_validate(case)
cases.append(case)
return {
"schema_version": "minute-rectification-holdout-v4",
"benchmark_id": "minute_rectification_scale_holdout_v4",
"description": "Public Rodden-AA minute set with at least 7 dated events and 4 domains per case, scored at ±10 / ±30 / ±60. Open evaluation for scoring-scale research, not a sealed blind release gate.",
"truth_hidden_from_ranker": False,
"frozen_before_replay": False,
"source_audit_status": "public_biography_expansion_2026_09_14",
"ayanamsa": "raman",
"node_mode": "mean",
"candidate_radii_minutes": list(RADII),
"minimum_gate": {
"public_aa_cases": len(cases),
"events_per_case": MIN_EVENTS,
"domains_per_case": MIN_DOMAINS,
},
"v3_date_corrections": [
{"event_id": "robbins_marriage_1968", "submitted": "1968", "working": "1967-03-10"},
{"event_id": "takamoto_joined_disney_1947", "submitted": "1947", "working": "1945"},
],
"parent_dataset": "references/real_case_calibration/minute_rectification_holdout_v3.json",
"cases": cases,
"boundary": "Not a sealed blind holdout. Events are public biographies. Do not mix these numbers with upstream true-node runs.",
}
def main() -> int:
payload = build()
V4_PATH.write_text(json.dumps(payload, ensure_ascii=True, indent=2) + "\n", encoding="utf-8")
print(f"wrote {V4_PATH} cases={len(payload['cases'])}")
return 0
if __name__ == "__main__":
sys.exit(main())