22 Sep 2026 · 7:27 AM MTUpdated just now
What is being built, on purpose

Construction

The machine, and what of it is actually running

The predictive machine by layer, then the spine that ships v1 underneath.

35/40 present

1 lane(s) late. None dead.watchdog ran Tue 07:21 (7 min ago)

2build units, unattended
488crumbs closed, unattended
11.3units + crumbs per hour
415 min agolast autonomous result
43.3h unattendedsince the lanes started
6/116board items landed
build w0idle · next ~07:28unit 27m ago
build w1STALE · last 17 min agounit 117m ago
build w2idle · next ~07:28unit 210m ago
mouse m0idle · next ~07:29no open crumb3m ago
mouse m1idle · next ~07:29no open crumb3m ago
mouse m2idle · next ~07:30no open crumb2m ago
odds captureidle · next ~07:51hold: last capture 14.0h old, threshold 24h, next kickoff in 59.4h36m ago
freezeidle · next ~07:51nothing to freeze -- every passed lock already has rows6m ago
residual ledgerloaded, no log yetranks its own next work by measured worth
premise scanloaded, no log yetturns every asserted limit into work
publishidle · next ~07:28skipped: d42b29bb7b888b77f727.json already published4m ago
C · SENSORS — the only work that can never be backfillednflverse refreshpbp · rosters · injuries · snapsinj_raw 53,873 rowsodds + props31 books · hourly, credit-gatedodds_quote 41,814EARLY LINE (Mon–Wed)the number he actually facesearly_lines 3,026 rowsprovider projectionsYahoo · Rotowire · FantasyProsprojections 87,332language capturebeat · pressers · podcasts2,760 transcripts bankedcapture healthstaleness by the SOURCE's clock14 of 14 FRESH, last run 0.3h agoas-of clockspublished_at · effective_at82 of 194 tables carry a clocktracking · chartingFTN · NGS · Big Data BowlFTN charting 188,069 plays, 2022+P · FOUNDATION — widen what is measuredplays (bitemporal, as-of)1,282,384 plays · 1999–2026368 of 372 columns kept, 1,282,384 rows clockedplays_wide · 372 columnscpoe · air_yards · penalty_typeloaded · 1,282,568 rowsparticipation · personnel · contextwho was on the field, and the game around it478,989 rowsT · TALENT — every player a skill vector, units composed from playersplayer roles per playpasser · target · blocker · coverage3,317 role rowsRAPM at play grainsparse design · ridge · LSQRrapm_theta 58,503 rowsskill componentsNGS · PFR · FTN, shrunk40,349 rowsunit compositionon-field players → unit strength5,671 rowsA · AVAILABILITY & LINEUPS — the largest measured leverP(play) tableposition · depth · snap · status605 cellsinjury ladder, as-ofWed/Thu/Fri practice + statusinj_snapshot 529 rows · capture job loadedhurdle modelP(active) → P(plays) → share48,999 out-of-fold rowsin-game exit hazard10.0% of week-1 error27,148 held-out player-games, exit hazard measuredB · BEHAVIOUR — the people making the decisionsteam/coach usageTE1 share 19.9%–69.3% by teamteam_concentration 1,408 rowsplay-caller policyaction · tempo · personnel315 team-seasonstarget policywho gets the ball306 team x slot cellsdefensive policybox · rushers · shell320 rowsS / X · KERNEL AND ROLLOUT — one world, a snap at a timefive boosters + rolloutaction · pass · run · magnitudesbuilt and gated, NOT wired inthe drift5.46 simulated yds/play vs 5.52 realWORKING ON THIS NOWqueries over one worldspread · total · props · fantasy272 frozen game rowsE / D / L · EVALUATION, DECISION, LOOPfrozen record (bets)ours · yahoo · rotowire · FP247,798 rows, 3 locksthe graderunconditional, 3 outcomesparity with FantasyProsresults storeevery finding, with its population15 findings storeddecision + CLV ledgerwagers · settle · CLV8/8 chain links connectedOPERATIONAL SPINE — shipping the v1 product while the above is builtforecast-refreshevery 4hserving tablesthe consumer contractpublish-data5 min · 4 verificationsfreeze (catch-up)30 min · 3 locksodds capturehourly, credit-gatedwatchdog · janitordid it WRITERESEARCH LANES — 3 of 3 mice loaded; 4 of 21 referee · rank · lane jobs loadedthe mice (mechanical audit)3 of 3 loadedGemini via agy, off the Anthropic quotareferee · rank · laneslane plists on disk3 of 6 O-06 jobs scheduledscout (Deep Think)one batch a weekrun by handdirector (weekly council)reads the scorecard, picks the familyscheduled
being built now · 1there, measured · 35partial · 4absent · 035 of 40 boxes measured present
Every colour is measured at render time — a table with rows, a file on disk, or launchctl answering. Nothing here is typed green. The blue box is what the seat has open this minute, written by bin/pw-now.py; the top four bands are the machine Fable's Play-Grain plan describes, and the bottom two are what keeps the current product shipping while that is built.

In flight

0 items

working on these now
Nothing here.

Queued

110 items

C-04next upClaude

C-04 — **The number you actually face.** Hourly from Monday 00:00 to Wednesday 23:59 MT: spreads, total

Why
Plan item C-04, lane sensors, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
**The number you actually face.** Hourly from Monday 00:00 to Wednesday 23:59 MT: spreads, totals, moneylines, team totals and alt lines from every book in the feed. `williamhill_us` (Caesars, the operator of the Jackpot property) is flagged as the board proxy. `odds_history` already holds 32 books and 205 instants since 2023-09. Table: `early_lines`. FILES THE PLAN NAMES: research/playgrain/sensors/early_lines_capture.py MISSING: early_lines_capture.py PRIOR EVIDENCE on the old board: C-76, C-04
D-04next upClaude

D-04 — Independent settlement from play-by-play into the append-only `data/proving.jsonl`. **Opened thi

Why
Plan item D-04, lane kernel, drift, decision, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Independent settlement from play-by-play into the append-only `data/proving.jsonl`. **Opened this Tuesday with paper entries.** It cannot be backfilled, and it costs nothing. FILES THE PLAN NAMES: research/playgrain/decide/settle.py, decide/ledger.py MISSING: settle.py No prior board item ever mentioned this.
E-08next upClaude

E-08 — Weekly prospective issuance at the TUE lock, frozen beside v1 and the rival, graded the followin

Why
Plan item E-08, lane kernel, drift, decision, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Weekly prospective issuance at the TUE lock, frozen beside v1 and the rival, graded the following Tuesday. Two shadow slots, as the schematic specifies. FILES THE PLAN NAMES: research/playgrain/evalx/issue_shadow.py, evalx/grade_week.py MISSING: issue_shadow.py, grade_week.py No prior board item ever mentioned this.
F-01next upClaude

F-01 — The measured fix. | MAE 4.2600 → 3.8748

Why
Plan item F-01, lane truth and the fantasy path, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
The measured fix. | MAE 4.2600 → 3.8748 FILES THE PLAN NAMES: none all present No prior board item ever mentioned this.
F-02next upClaude

F-02 — Give each QB a pass-attempt *share*, not the team's whole volume. | The QB gap of +0.975 closes

Why
Plan item F-02, lane truth and the fantasy path, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Give each QB a pass-attempt *share*, not the team's whole volume. | The QB gap of +0.975 closes most of the way FILES THE PLAN NAMES: playermodel.py all present No prior board item ever mentioned this.
J-06next upClaude

J-06 — Score and fit on the unconditional population, with `E[pts] = P(play)·E[pts \| play]` and DNPs a

Why
Plan item J-06, lane truth and the fantasy path, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Score and fit on the unconditional population, with `E[pts] = P(play)·E[pts \| play]` and DNPs as zeros. Include weeks 1–3, which have never been scored. | Every gate states its population string; `tests/test_gate_population.py`. FILES THE PLAN NAMES: playerweek/arms.py:229 all present No prior board item ever mentioned this.
J-07next upClaude

J-07 — Force `ORDER BY` on every sampled frame and hash the frame. This removes the ~0.006 pts/wk row-o

Why
Plan item J-07, lane truth and the fantasy path, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Force `ORDER BY` on every sampled frame and hash the frame. This removes the ~0.006 pts/wk row-order floor that blocked 20 verdicts. | The same seed twice gives an identical hash. FILES THE PLAN NAMES: research/playgrain/evalx/determinism.py all present No prior board item ever mentioned this.
J-10next upClaude

J-10 — Delete the stale "irreducible" text; fail the build on `irreducible\|noise floor\|ceiling` appli

Why
Plan item J-10, lane truth and the fantasy path, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Delete the stale "irreducible" text; fail the build on `irreducible\|noise floor\|ceiling` applied to football. The CORE-BRIEF's two sanctioned senses are allow-listed. | Green. FILES THE PLAN NAMES: tests/test_banned_words.py MISSING: test_banned_words.py No prior board item ever mentioned this.
O-03next upClaude

O-03 — The 38 duplicated 459 MB warehouses in `forecast-refresh/` become hard links to one content-addr

Why
Plan item O-03, lane sensors, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
The 38 duplicated 459 MB warehouses in `forecast-refresh/` become hard links to one content-addressed copy, with manifests kept. 70 GB shrinks to a few. Enforce the written 21-day policy. FILES THE PLAN NAMES: bin/archive-retention.sh, research/playgrain/operate/dedupe_runs.py MISSING: dedupe_runs.py No prior board item ever mentioned this.
P-07next upClaude

P-07 — Participation 2016–2025 → `participation(game_id, play_id, gsis_id, side, pos)` and `play_person

Why
Plan item P-07, lane ratings, lineups, policies, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Participation 2016–2025 → `participation(game_id, play_id, gsis_id, side, pos)` and `play_personnel(offense_personnel, defense_personnel, defenders_in_box, n_pass_rushers, formation, route, man_zone, coverage_type, time_to_throw, was_pressure)`. **Every charted post-snap field is tagged `POST_SNAP` in the contract** and usable only as a training target or a rating input, never as a same-play feature. This is the Gemini B-arm's own correction about `defense_coverage_type`. | Leak witness green. FILES THE PLAN NAMES: research/playgrain/load_participation.py MISSING: load_participation.py No prior board item ever mentioned this.
P-10next upClaude

P-10 — One identity: GSIS canonical through `dp_ids` (35 id systems, 100% populated) in place of `xwalk

Why
Plan item P-10, lane ratings, lineups, policies, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
One identity: GSIS canonical through `dp_ids` (35 id systems, 100% populated) in place of `xwalk` (29% null). Kickers and DST included; all kickoffs in UTC with the Eastern source column kept. Fixes the week-1 FantasyPros-id join that "silently matches nothing". | 0 orphan ids; `SCHEDULE_IDENTITY_CONFLICT` (`player_scorecard.py:731-750`) re-keyed from exact-UTC equality to `game_id`. FILES THE PLAN NAMES: research/playgrain/players_dim.py MISSING: players_dim.py No prior board item ever mentioned this.
S-08next upClaude

S-08 — Early stopping on a validation season, not an inference cap at 60 rounds. 115 integer yard bins.

Why
Plan item S-08, lane kernel, drift, decision, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Early stopping on a validation season, not an inference cap at 60 rounds. 115 integer yard bins. Passes split into air yards and YAC (`mag_air`, `mag_yac`). Every booster registered with its training hash. | OOS log-loss monotone in rounds. FILES THE PLAN NAMES: fit_models.py all present No prior board item ever mentioned this.
X-01next upClaude

X-01 — **First thing built.** k-step rollouts from real states (k = 1, 2, 4, 8, 16, to end of drive); d

Why
Plan item X-01, lane kernel, drift, decision, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
**First thing built.** k-step rollouts from real states (k = 1, 2, 4, 8, 16, to end of drive); divergence curves for yards per play, completion and field position, stratified by the game's realised-minus-rated quality. It confirms or kills the §3 diagnosis. | The result decides the order of X-02/03/04. FILES THE PLAN NAMES: research/playgrain/drift/drift_decompose.py MISSING: drift_decompose.py No prior board item ever mentioned this.
A-01next upClaude

A-01 — The Wed/Thu/Fri practice-status and game-status ladder, 2016–2026, as-of, from `inj_raw` and C-1

Why
Plan item A-01, lane ratings, lineups, policies, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
The Wed/Thu/Fri practice-status and game-status ladder, 2016–2026, as-of, from `inj_raw` and C-14. | Every status row has a received-time or a reconstructed publish time. FILES THE PLAN NAMES: research/playgrain/lineup/inj_ladder.py MISSING: inj_ladder.py PRIOR EVIDENCE on the old board: C-75
B-01next upClaude

B-01 — Head coach, play-caller, OC and DC per team-week, as-of. `coordinators.csv` exists; fix `games_r

Why
Plan item B-01, lane ratings, lineups, policies, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Head coach, play-caller, OC and DC per team-week, as-of. `coordinators.csv` exists; fix `games_raw.home_coach`. FILES THE PLAN NAMES: research/playgrain/policy/coach_dim.py MISSING: coach_dim.py No prior board item ever mentioned this.
C-06next upClaude

C-06 — Fix the Eastern-into-UTC index bug. Capture the forecast ladder (lead 7→0 days, hourly) for ever

Why
Plan item C-06, lane sensors, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Fix the Eastern-into-UTC index bug. Capture the forecast ladder (lead 7→0 days, hourly) for every venue. Backfill historical *forecasts*, not observations, from Open-Meteo's historical-forecast archive. Remove `temp_observed`/`wind_observed` from the five feature tables that leak them. FILES THE PLAN NAMES: research/playgrain/sensors/weather_asof.py, playerweek/openmeteo.py:40-59 MISSING: weather_asof.py No prior board item ever mentioned this.
C-07next upClaude

C-07 — Referee crew per game, historical from nflverse `officials` plus the weekly assignment release.

Why
Plan item C-07, lane sensors, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Referee crew per game, historical from nflverse `officials` plus the weekly assignment release. FILES THE PLAN NAMES: research/playgrain/sensors/officials_capture.py MISSING: officials_capture.py PRIOR EVIDENCE on the old board: C-07
C-09next upClaude

C-09 — Daily roster diff: signings, IR, practice-squad elevations (the Saturday tell), waiver claims.

Why
Plan item C-09, lane sensors, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Daily roster diff: signings, IR, practice-squad elevations (the Saturday tell), waiver claims. FILES THE PLAN NAMES: research/playgrain/sensors/transactions_capture.py MISSING: transactions_capture.py PRIOR EVIDENCE on the old board: C-09
C-11next upClaude

C-11 — One refresher for everything on the nflverse release path: pbp, participation, FTN charting, NGS

Why
Plan item C-11, lane sensors, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
One refresher for everything on the nflverse release path: pbp, participation, FTN charting, NGS (2026 rows are missing), PFR advanced stats (2026 missing), snaps, depth charts, rosters_weekly, injuries, officials, contracts. Records `fetched_at` and the upstream `last_modified`. FILES THE PLAN NAMES: research/playgrain/sensors/nflverse_refresh.py MISSING: nflverse_refresh.py No prior board item ever mentioned this.
C-12next upClaude

C-12 — Parse the FTN payloads already sitting in `evidence.sqlite` into `ftn_charting`: play-action, sc

Why
Plan item C-12, lane sensors, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Parse the FTN payloads already sitting in `evidence.sqlite` into `ftn_charting`: play-action, screen, RPO, motion, blitzers, rushers, out-of-pocket, catchable, contested, drop, created reception, read thrown, QB location, hash. FILES THE PLAN NAMES: research/playgrain/sensors/ftn_parse.py MISSING: ftn_parse.py PRIOR EVIDENCE on the old board: C-77
C-13next upClaude

C-13 — Fill `published_at` and `effective_at` on the 9,039 receipts, then on every table without a cloc

Why
Plan item C-13, lane sensors, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Fill `published_at` and `effective_at` on the 9,039 receipts, then on every table without a clock (125 of 187), in order of use. FILES THE PLAN NAMES: research/playgrain/sensors/evidence_clocks.py MISSING: evidence_clocks.py No prior board item ever mentioned this.
E-01next upClaude

E-01 — Rolling origin 2004→2025: fit ≤ season s−2, calibrate on s−1, simulate every game of s from its

Why
Plan item E-01, lane kernel, drift, decision, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Rolling origin 2004→2025: fit ≤ season s−2, calibrate on s−1, simulate every game of s from its as-of state. Produces a distribution for every game in 22 seasons. Runs overnight; resumable. FILES THE PLAN NAMES: research/playgrain/evalx/walkforward.py MISSING: walkforward.py No prior board item ever mentioned this.
F-03next upClaude

F-03 — Train on `played=0` rows too, so the model *can* emit a low number. | Re-enables `loss="absolute

Why
Plan item F-03, lane truth and the fantasy path, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Train on `played=0` rows too, so the model *can* emit a low number. | Re-enables `loss="absolute_error"`, which passed every gate and was silently killed FILES THE PLAN NAMES: none all present No prior board item ever mentioned this.
F-04next upClaude

F-04 — Move the 0.40 FantasyPros blend, league-rate calibration, designation decay and rookie pass *ins

Why
Plan item F-04, lane truth and the fantasy path, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Move the 0.40 FantasyPros blend, league-rate calibration, designation decay and rookie pass *inside* `lines_for`, or score the board end to end, so the board and the measured model are one object. | Live mean error −3.42 → ~0 FILES THE PLAN NAMES: none all present No prior board item ever mentioned this.
J-01next upClaude

J-01 — Remove `mkt_total`, `mkt_spread`, `mkt_team_total` from `team_volume` and refit. At serve time t

Why
Plan item J-01, lane truth and the fantasy path, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Remove `mkt_total`, `mkt_spread`, `mkt_team_total` from `team_volume` and refit. At serve time they are constants that collapse into the intercept, so they buy nothing and contaminate every backtest. Call `knowability.assert_clean` *inside* `lines_for`; it never runs on the model path today. | `tests/test_no_market_reachable.py` fails if any market-derived column is reachable from `ALL_FEATURES` or `team_volume`. FILES THE PLAN NAMES: playerweek/playermodel.py:95-170, playerweek/share.py all present No prior board item ever mentioned this.
J-02next upClaude

J-02 — Remove the `HOME_FIELD_MARGIN/2` double count (1.748 pts/game). Home field is derived from sched

Why
Plan item J-02, lane truth and the fantasy path, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Remove the `HOME_FIELD_MARGIN/2` double count (1.748 pts/game). Home field is derived from schedule and venue only. | Mean home residual on the 2019–2025 holdout within ±0.2. FILES THE PLAN NAMES: playerweek/gameproj.py all present No prior board item ever mentioned this.
J-03next upClaude

J-03 — Re-run every headline accuracy number on clean features and the full population; publish before/

Why
Plan item J-03, lane truth and the fantasy path, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Re-run every headline accuracy number on clean features and the full population; publish before/after. Expect the numbers to get worse. | Table written to the results store. FILES THE PLAN NAMES: research/playgrain/evalx/remeasure_ledger.py MISSING: remeasure_ledger.py No prior board item ever mentioned this.
J-08next upClaude

J-08 — Mutation harness: inject a known defect per test and require a red result. 73 of 156 tests curre

Why
Plan item J-08, lane truth and the fantasy path, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Mutation harness: inject a known defect per test and require a red result. 73 of 156 tests currently cannot fail. | 0 un-failable tests; the auto-shipper's two first. FILES THE PLAN NAMES: tests/audit_gates_can_fail.py MISSING: audit_gates_can_fail.py No prior board item ever mentioned this.
J-09next upClaude

J-09 — Cross-fit every calibration, isotonic and stack weight that is in-sample today (D-232: 0.9984 in

Why
Plan item J-09, lane truth and the fantasy path, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Cross-fit every calibration, isotonic and stack weight that is in-sample today (D-232: 0.9984 in-sample against 1.1383 held out). | Held-out `got/said` within 0.97–1.03 by position. FILES THE PLAN NAMES: none all present No prior board item ever mentioned this.
S-09next upClaude

S-09 — A learned penalty model: type, yards and automatic first down, by crew (C-07) and team disciplin

Why
Plan item S-09, lane kernel, drift, decision, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
A learned penalty model: type, yards and automatic first down, by crew (C-07) and team discipline rating. Defensive pass interference is real yardage that box scores record as zero. | Penalty yards per game by crew within 5%. FILES THE PLAN NAMES: research/playgrain/kernel/penalties.py MISSING: penalties.py No prior board item ever mentioned this.
S-10next upClaude

S-10 — Semi-Markov durations: the elapsed-time *distribution* per play type, state, tempo and coach, in

Why
Plan item S-10, lane kernel, drift, decision, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Semi-Markov durations: the elapsed-time *distribution* per play type, state, tempo and coach, in place of five constants. Two-minute warning, runoffs, timeouts. | Plays per game 152.3 ± 2%. FILES THE PLAN NAMES: research/playgrain/kernel/clock.py MISSING: clock.py No prior board item ever mentioned this.
S-11next upClaude

S-11 — Kickoffs (with the 2024 rule era), punts, returns, blocks, and field goals by kicker rating × di

Why
Plan item S-11, lane kernel, drift, decision, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Kickoffs (with the 2024 rule era), punts, returns, blocks, and field goals by kicker rating × distance × wind × altitude × roof. Also extra points, two-pointers and onside kicks. | FG make curve calibrated; no possession starts at a constant 30. FILES THE PLAN NAMES: research/playgrain/kernel/special_teams.py MISSING: special_teams.py No prior board item ever mentioned this.
S-12next upClaude

S-12 — Interception and fumble returns, defensive TDs, recovery. This replaces the additive 2.18 pts/te

Why
Plan item S-12, lane kernel, drift, decision, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Interception and fumble returns, defensive TDs, recovery. This replaces the additive 2.18 pts/team-game constant in `drives.py:865`. | Non-offensive points emerge within 0.2. FILES THE PLAN NAMES: research/playgrain/kernel/turnover_returns.py MISSING: turnover_returns.py No prior board item ever mentioned this.
S-13next upClaude

S-13 — Rule-exact overtime by era. | 61% of overtime games finish on 3, as in history.

Why
Plan item S-13, lane kernel, drift, decision, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Rule-exact overtime by era. | 61% of overtime games finish on 3, as in history. FILES THE PLAN NAMES: research/playgrain/kernel/overtime.py MISSING: overtime.py No prior board item ever mentioned this.
T-01next upClaude

T-01 — The role of every player on every play: passer, carrier, target, route runner, pass blocker, run

Why
Plan item T-01, lane ratings, lineups, policies, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
The role of every player on every play: passer, carrier, target, route runner, pass blocker, run blocker, rusher, coverage, box. From participation and pbp ids. | Coverage ≥ 99% of 2016–2025 snaps. FILES THE PLAN NAMES: research/playgrain/talent/player_roles.py MISSING: player_roles.py No prior board item ever mentioned this.
T-02next upClaude

T-02 — Regularised adjusted plus-minus at the play grain: a sparse design matrix (players on field × ro

Why
Plan item T-02, lane ratings, lineups, policies, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Regularised adjusted plus-minus at the play grain: a sparse design matrix (players on field × role) in `scipy.sparse`, solved by LSQR with ridge, targets EPA, success, yards, pressure, completion. Hierarchical prior by position, as-of each week, exponential decay. Output `player_latents(gsis_id, role, valid_time, mu, sd, n_eff)`. | Adds play-level log-loss to the kernel, held out, above the parsimony tax. FILES THE PLAN NAMES: research/playgrain/talent/rapm_fit.py MISSING: rapm_fit.py No prior board item ever mentioned this.
T-04next upClaude

T-04 — Priors for players with little history: draft pick (the only B-hypothesis that ever paid, B13/B4

Why
Plan item T-04, lane ratings, lineups, policies, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Priors for players with little history: draft pick (the only B-hypothesis that ever paid, B13/B41: +0.0475, +0.0595), combine, college production (C-17), Madden ratings (`data/madden.csv`), position age curves. | Rookie first-four-games error beats the league-mean prior. FILES THE PLAN NAMES: research/playgrain/talent/priors.py, talent/age_curves.py MISSING: priors.py, age_curves.py No prior board item ever mentioned this.
X-02next upClaude

X-02 — Add `form_off`, `form_def` (leave-one-play-out EPA in this game) to `LATENT`; fit the distributi

Why
Plan item X-02, lane kernel, drift, decision, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Add `form_off`, `form_def` (leave-one-play-out EPA in this game) to `LATENT`; fit the distribution of form given ratings; the simulator draws it once per trajectory per unit. | Simulated margin sd 14.2 ± 0.3; yards per play within 0.05 of real. FILES THE PLAN NAMES: research/playgrain/drift/game_effect.py, features.py MISSING: game_effect.py No prior board item ever mentioned this.
X-03next upClaude

X-03 — Density-ratio classifier (real states against simulated); reweight the transition fits to the si

Why
Plan item X-03, lane kernel, drift, decision, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Density-ratio classifier (real states against simulated); reweight the transition fits to the simulator's state distribution. | Play-level log-loss on real states not worse by more than the tax. FILES THE PLAN NAMES: research/playgrain/drift/dagger_refit.py MISSING: dagger_refit.py No prior board item ever mentioned this.
X-04next upClaude

X-04 — Simulation-based calibration of a small vector of logit offsets against drive and game moments f

Why
Plan item X-04, lane kernel, drift, decision, due Fri 25 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Simulation-based calibration of a small vector of logit offsets against drive and game moments from `drive_week`, under common random numbers. The moments are plays per drive, third-down rate, TD/FG/punt rates, totals, margin sd and key-number masses. | All moments within tolerance at once. No more cancelling errors. FILES THE PLAN NAMES: research/playgrain/drift/sbi_calibrate.py MISSING: sbi_calibrate.py No prior board item ever mentioned this.
A-02next upClaude

A-02 — P(active) → P(plays \| active) → snap share \| plays. LightGBM plus isotonic, fitted at each loc

Why
Plan item A-02, lane ratings, lineups, policies, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
P(active) → P(plays \| active) → snap share \| plays. LightGBM plus isotonic, fitted at each lock (TUE, WED, THU, FRI, SAT, T-90); the feature list follows this table. | Log loss beats carry-forward *and* the pre-kickoff consensus (the OR-12.2 rows). FILES THE PLAN NAMES: research/playgrain/lineup/avail_hurdle.py MISSING: avail_hurdle.py No prior board item ever mentioned this.
A-05next upClaude

A-05 — For each trajectory, draw who is active, the role depth chart, and the on-field set for each per

Why
Plan item A-05, lane ratings, lineups, policies, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
For each trajectory, draw who is active, the role depth chart, and the on-field set for each personnel grouping. Returns the `Lineup` the kernel consumes. | Simulated snap shares against realised: MAE by position, published. FILES THE PLAN NAMES: research/playgrain/lineup/lineup_sampler.py MISSING: lineup_sampler.py No prior board item ever mentioned this.
B-02next upClaude

B-02 — Action model v2, replacing `train_action.py`: P(action \| state, personnel, unit ratings, QB, we

Why
Plan item B-02, lane ratings, lineups, policies, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Action model v2, replacing `train_action.py`: P(action \| state, personnel, unit ratings, QB, weather, play-caller effect). Multiclass LightGBM with as-of hierarchical play-caller encodings. Includes pass rate over expected, tempo, shotgun, play-action, screen, RPO and motion rates. Play-caller intent is modelled separately from QB execution: a checkdown is not a conservative call. FILES THE PLAN NAMES: research/playgrain/policy/policy_offense.py MISSING: policy_offense.py No prior board item ever mentioned this.
B-03next upClaude

B-03 — Personnel grouping (11/12/21…) given state and roster. This selects the on-field set from A-05.

Why
Plan item B-03, lane ratings, lineups, policies, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Personnel grouping (11/12/21…) given state and roster. This selects the on-field set from A-05. FILES THE PLAN NAMES: research/playgrain/policy/policy_personnel.py MISSING: policy_personnel.py No prior board item ever mentioned this.
B-04next upClaude

B-04 — Go/punt/kick by coach. The late-and-close policy is its own model: kneel-downs, playing for the

Why
Plan item B-04, lane ratings, lineups, policies, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Go/punt/kick by coach. The late-and-close policy is its own model: kneel-downs, playing for the field goal when tied, the two-point chart, timeout use, and the end-of-half "give up" mode both Gemini runs named as a collapse source. **This is where the missing mass on 3 comes from.** FILES THE PLAN NAMES: research/playgrain/policy/policy_fourth.py, policy/policy_endgame.py MISSING: policy_fourth.py, policy_endgame.py No prior board item ever mentioned this.
C-08next upClaude

C-08 — Two to four named beat writers per team through RSS, Bluesky and team sites, via `playerweek/bro

Why
Plan item C-08, lane sensors, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Two to four named beat writers per team through RSS, Bluesky and team sites, via `playerweek/browser.py` (isolated headless browser, never your Chrome). Received-time stamped. FILES THE PLAN NAMES: research/playgrain/sensors/beatwire_capture.py MISSING: beatwire_capture.py PRIOR EVIDENCE on the old board: C-08
C-10next upClaude

C-10 — Coach and coordinator press conferences within 24 h. Podcast priority queue over the 461,382 ind

Why
Plan item C-10, lane sensors, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Coach and coordinator press conferences within 24 h. Podcast priority queue over the 461,382 indexed episodes: team-beat shows first, 72 h before each game, `whisper-large-v3-turbo` at ~27× realtime. Proper nouns are resolved against the 450,604-row roster table ("George Corloftis" → Karlaftis). FILES THE PLAN NAMES: research/playgrain/sensors/pressers_capture.py, sensors/podcast_transcribe.py MISSING: pressers_capture.py PRIOR EVIDENCE on the old board: C-10
C-14next upClaude

C-14 — The injury-report ladder and depth charts "cannot be walked backwards" only through one endpoint

Why
Plan item C-14, lane sensors, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
The injury-report ladder and depth charts "cannot be walked backwards" only through one endpoint. nflverse git history and the Wayback Machine do hold them. Rebuild Wed/Thu/Fri practice status for 2016–2025. FILES THE PLAN NAMES: research/playgrain/sensors/wayback_backfill.py MISSING: wayback_backfill.py PRIOR EVIDENCE on the old board: C-14
F-05next upClaude

F-05 — Add the built-and-locked but unused PRE_KICKOFF blocks: home, rest, division, travel_km, tz_shif

Why
Plan item F-05, lane truth and the fantasy path, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Add the built-and-locked but unused PRE_KICKOFF blocks: home, rest, division, travel_km, tz_shift, elevation, roof, surface, OL continuity, pressure allowed/made, six turnover-cause rates. | One feature family per run, recorded FILES THE PLAN NAMES: none all present No prior board item ever mentioned this.
F-09next upClaude

F-09 — The shipped DST ranking is *exactly* the market's. Rebuild it from unit ratings. | DST rank corr

Why
Plan item F-09, lane truth and the fantasy path, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
The shipped DST ranking is *exactly* the market's. Rebuild it from unit ratings. | DST rank correlation to market < 1 FILES THE PLAN NAMES: kdefmodel.py all present No prior board item ever mentioned this.
Q-01next upClaude

Q-01 — Claim schema v2 adds **hedge**, **time anchor**, speaker role and copy ancestry. Q-22 is registe

Why
Plan item Q-01, lane sensors, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Claim schema v2 adds **hedge**, **time anchor**, speaker role and copy ancestry. Q-22 is registered and untested because the fields do not exist. Re-extract all 12,139 news bodies plus pressers and transcripts with the local reader, keeping the verbatim-evidence check. About 46 h of Mac time, overnight. FILES THE PLAN NAMES: playerweek/claims_v2.py MISSING: claims_v2.py No prior board item ever mentioned this.
S-06next upClaude

S-06 — Isotonic calibration on a rolling holdout. The current model says 0.606 where 0.759 happens. Unb

Why
Plan item S-06, lane kernel, drift, decision, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Isotonic calibration on a rolling holdout. The current model says 0.606 where 0.759 happens. Unbuilt since revision 2. | Reliability slope 0.95–1.05. FILES THE PLAN NAMES: research/playgrain/calibrate.py all present No prior board item ever mentioned this.
T-03next upClaude

T-03 — Directly measured component skills with shrinkage, from NGS, PFR advanced, FTN and pbp (the comp

Why
Plan item T-03, lane ratings, lineups, policies, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Directly measured component skills with shrinkage, from NGS, PFR advanced, FTN and pbp (the component list follows this table). | Each component must earn its place through L-10. FILES THE PLAN NAMES: research/playgrain/talent/skill_components.py MISSING: skill_components.py No prior board item ever mentioned this.
T-05next upClaude

T-05 — Weekly state-space update per player-skill: process noise by age and position, a shock term on r

Why
Plan item T-05, lane ratings, lineups, policies, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Weekly state-space update per player-skill: process noise by age and position, a shock term on return from injury. The posterior **mean and variance** are stored, and the simulator samples from the posterior, so rating uncertainty becomes game variance. | Calibrated: standardised one-step errors ~N(0,1). FILES THE PLAN NAMES: research/playgrain/talent/kalman_latents.py MISSING: kalman_latents.py No prior board item ever mentioned this.
T-06next upClaude

T-06 — The lineup → unit function: a learned map from the on-field players' vectors to the unit quantit

Why
Plan item T-06, lane ratings, lineups, policies, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
The lineup → unit function: a learned map from the on-field players' vectors to the unit quantities the kernel consumes (pass protection, rush, coverage, run block, run fit, QB, skill group). | Natural-experiment test: across every historical starter absence, predicted unit change against realised. Slope 0.8–1.2. FILES THE PLAN NAMES: research/playgrain/talent/unit_compose.py MISSING: unit_compose.py No prior board item ever mentioned this.
X-05next upClaude

X-05 — Key numbers: the mass at 3, 6, 7, 10, 14 and 17 on margin, and at 37, 41, 44, 47 and 51 on total

Why
Plan item X-05, lane kernel, drift, decision, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Key numbers: the mass at 3, 6, 7, 10, 14 and 17 on margin, and at 37, 41, 44, 47 and 51 on totals, against history by rules era. | Every ratio in 0.90–1.10. FILES THE PLAN NAMES: research/playgrain/drift/shape_test.py MISSING: shape_test.py No prior board item ever mentioned this.
X-06next upClaude

X-06 — The column-by-column real-against-simulated feature diff that found the 3.2-sd `games_seen` shif

Why
Plan item X-06, lane kernel, drift, decision, due Tue 29 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
The column-by-column real-against-simulated feature diff that found the 3.2-sd `games_seen` shift, as a standing gate. | No feature beyond 0.25 sd. FILES THE PLAN NAMES: research/playgrain/drift/feature_shift_diff.py MISSING: feature_shift_diff.py No prior board item ever mentioned this.
A-03next upClaude

A-03 — Bets go down early, so forecast the injury report itself: P(Friday status \| Tuesday information

Why
Plan item A-03, lane ratings, lineups, policies, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Bets go down early, so forecast the injury report itself: P(Friday status \| Tuesday information). | Brier against the base rate by body part. FILES THE PLAN NAMES: research/playgrain/lineup/inj_report_forecast.py MISSING: inj_report_forecast.py No prior board item ever mentioned this.
A-04next upClaude

A-04 — Per-snap exit hazard by position, age, injury history, surface and workload. Inside the simulato

Why
Plan item A-04, lane ratings, lineups, policies, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Per-snap exit hazard by position, age, injury history, surface and workload. Inside the simulator a player can leave and his backup enters. | Simulated exits per game match history by position. FILES THE PLAN NAMES: research/playgrain/lineup/ingame_injury_hazard.py MISSING: ingame_injury_hazard.py No prior board item ever mentioned this.
A-06next upClaude

A-06 — Role regime changes as a changepoint posterior on snap share (`regime.py` and `kalman_share` exi

Why
Plan item A-06, lane ratings, lineups, policies, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Role regime changes as a changepoint posterior on snap share (`regime.py` and `kalman_share` exist), not a raw delta. FantasyPros' entire edge sits on players whose situation is changing (+4.753 MSE at 15+ pts of snap movement). | Beats `RECENCY_FEATURES`, which was measured as noise. FILES THE PLAN NAMES: research/playgrain/lineup/depth_roles.py MISSING: depth_roles.py No prior board item ever mentioned this.
B-05next upClaude

B-05 — Box count, rushers, man/zone, shell, given state, offensive personnel and DC. These are the W-00

Why
Plan item B-05, lane ratings, lineups, policies, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Box count, rushers, man/zone, shell, given state, offensive personnel and DC. These are the W-001…W-014 columns that are "held on disk and read by no feature". FILES THE PLAN NAMES: research/playgrain/policy/policy_defense.py MISSING: policy_defense.py No prior board item ever mentioned this.
B-06next upClaude

B-06 — Who gets the ball. Run: carrier among on-field backs and QB (designed or scramble). Pass: a mult

Why
Plan item B-06, lane ratings, lineups, policies, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Who gets the ball. Run: carrier among on-field backs and QB (designed or scramble). Pass: a multinomial over the routes on the field, given target-earning ratings, the coverage draw, the depth-of-target distribution and QB tendencies. Identity-free, so it works for any roster. It attacks the −0.5036 usage-share oracle directly. FILES THE PLAN NAMES: research/playgrain/policy/policy_target.py MISSING: policy_target.py PRIOR EVIDENCE on the old board: C-79
B-07next upClaude

B-07 — A play-caller effect has to survive a change of team and quarterback, or it is a team effect in

Why
Plan item B-07, lane ratings, lineups, policies, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
A play-caller effect has to survive a change of team and quarterback, or it is a team effect in disguise. FILES THE PLAN NAMES: research/playgrain/policy/policy_transport_test.py MISSING: policy_transport_test.py No prior board item ever mentioned this.
C-15next upClaude

C-15 — Every public Big Data Bowl tracking release (10 Hz, all 22 players) into `data/tracking/*.parque

Why
Plan item C-15, lane sensors, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Every public Big Data Bowl tracking release (10 Hz, all 22 players) into `data/tracking/*.parquet`. Used to train T-07, never joined to live weeks. FILES THE PLAN NAMES: research/playgrain/sensors/bdb_ingest.py MISSING: bdb_ingest.py PRIOR EVIDENCE on the old board: C-15, C-77
C-17next upClaude

C-17 — College play-by-play and player seasons from collegefootballdata.com (free key) for rookie prior

Why
Plan item C-17, lane sensors, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
College play-by-play and player seasons from collegefootballdata.com (free key) for rookie priors. FILES THE PLAN NAMES: research/playgrain/sensors/cfbd_ingest.py MISSING: cfbd_ingest.py PRIOR EVIDENCE on the old board: C-17
D-01next upClaude

D-01 — Fair prices from the calibrated distribution for every market on the board; exact push handling

Why
Plan item D-01, lane kernel, drift, decision, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Fair prices from the calibrated distribution for every market on the board; exact push handling at integers; edge against the *early* number. FILES THE PLAN NAMES: research/playgrain/decide/price.py MISSING: price.py No prior board item ever mentioned this.
D-02next upClaude

D-02 — One sitting, up to ~100 wagers that settle together. Portfolio Kelly over the joint trajectories

Why
Plan item D-02, lane kernel, drift, decision, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
One sitting, up to ~100 wagers that settle together. Portfolio Kelly over the joint trajectories, fractional, with every correlated position in the same game priced jointly. The maximum fraction at risk is read from `~/.config/playerweek/risk.json`, which no agent may write. FILES THE PLAN NAMES: research/playgrain/decide/stake_portfolio.py, playerweek/stake.py MISSING: stake_portfolio.py No prior board item ever mentioned this.
D-03next upClaude

D-03 — For each wager, the worst line and price at which it is still a bet. The board will have moved b

Why
Plan item D-03, lane kernel, drift, decision, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
For each wager, the worst line and price at which it is still a bet. The board will have moved by the time you reach the window. FILES THE PLAN NAMES: research/playgrain/decide/walkaway.py MISSING: walkaway.py No prior board item ever mentioned this.
E-02next upClaude

E-02 — CRPS (margin, total, team totals, player lines), log loss (winner), energy score (joint: both QB

Why
Plan item E-02, lane kernel, drift, decision, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
CRPS (margin, total, team totals, player lines), log loss (winner), energy score (joint: both QBs plus both team scores), interval coverage. Confidence intervals by **game-block bootstrap**; paired Diebold–Mariano between releases. FILES THE PLAN NAMES: research/playgrain/evalx/scores.py MISSING: scores.py No prior board item ever mentioned this.
E-03next upClaude

E-03 — Evaluator-only, unreadable from the proposer's sandbox: skill against the closing line (nflverse

Why
Plan item E-03, lane kernel, drift, decision, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Evaluator-only, unreadable from the proposer's sandbox: skill against the closing line (nflverse `spread_line`/`total_line`, 1999+) and simulated return against the **early** ladder (the 540-snapshot backfill, T-21d to T-60m, six seasons, plus `early_lines`). Never a feature, never a training target. FILES THE PLAN NAMES: research/playgrain/evalx/market_diag.py MISSING: market_diag.py No prior board item ever mentioned this.
E-04next upClaude

E-04 — One score per layer on the full issued population. The layers are availability, action, personne

Why
Plan item E-04, lane kernel, drift, decision, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
One score per layer on the full issued population. The layers are availability, action, personnel, target, outcome, magnitude, clock, drive, game and player line. Each faces the same frozen baselines at the same cutoff: carry-forward, pre-kickoff consensus, v1, the teamstate rival. A right total with a wrong workload story shows as two errors. FILES THE PLAN NAMES: research/playgrain/evalx/layer_scorecard.py MISSING: layer_scorecard.py No prior board item ever mentioned this.
E-10next upClaude

E-10 — Re-run what the old path measured wrongly (the queue follows this table).

Why
Plan item E-10, lane truth and the fantasy path, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Re-run what the old path measured wrongly (the queue follows this table). FILES THE PLAN NAMES: research/playgrain/evalx/retest_queue.py MISSING: retest_queue.py No prior board item ever mentioned this.
Q-02next upClaude

Q-02 — Settle every claim against what happened. Only 7 are settled, so language's value is *unmeasured

Why
Plan item Q-02, lane sensors, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Settle every claim against what happened. Only 7 are settled, so language's value is *unmeasured*, not null. Per-speaker and per-outlet reliability as house effects (the XD-B04 house-effect test passed; `consensus.py` shows +4.51 pts/team/season at 4.23σ). Feeds A-02 and B-02. FILES THE PLAN NAMES: playerweek/claim_settle.py, playerweek/speaker_reliability.py MISSING: claim_settle.py, speaker_reliability.py No prior board item ever mentioned this.
S-14next upClaude

S-14 — The rollout, vectorised across trajectories and the slate, with **player attribution**: every pl

Why
Plan item S-14, lane kernel, drift, decision, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
The rollout, vectorised across trajectories and the slate, with **player attribution**: every play records passer, carrier and target, so player stat lines accumulate per trajectory. It draws lineup, rating posterior, form, weather and crew per trajectory. | One ledger: on every path, QB passing equals the sum of receivers, and team points equal the sum of scores. Exactly. FILES THE PLAN NAMES: research/playgrain/sim2.py MISSING: sim2.py No prior board item ever mentioned this.
S-15next upClaude

S-15 — The compiler: margin, total, moneyline, team totals, alt lines, any prop, fantasy points under a

Why
Plan item S-15, lane kernel, drift, decision, due Fri 2 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
The compiler: margin, total, moneyline, team totals, alt lines, any prop, fantasy points under any scoring (through `statline.score`, the single scoring function), K and DST. All read from the same trajectory parquet. | No number is published that is not a query. FILES THE PLAN NAMES: research/playgrain/queries.py MISSING: queries.py No prior board item ever mentioned this.
D-05next upClaude

D-05 — The sheet: wager, line, walk-away, stake, in window order. Offline, on a phone.

Why
Plan item D-05, lane kernel, drift, decision, due Tue 6 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
The sheet: wager, line, walk-away, stake, in window order. Offline, on a phone. FILES THE PLAN NAMES: research/playgrain/decide/sheet.py, playerweek/pwa.py MISSING: sheet.py No prior board item ever mentioned this.
E-05next upClaude

E-05 — The Residual Attribution Ledger of §1. `oracle_pairs.py` tests candidate sensors **in pairs**, b

Why
Plan item E-05, lane ratings, lineups, policies, due Tue 6 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
The Residual Attribution Ledger of §1. `oracle_pairs.py` tests candidate sensors **in pairs**, because `measurement_value.py` already proved greedy selection is blind: two sensors worth 4.4e-16 nats each were jointly worth 0.1766. FILES THE PLAN NAMES: research/playgrain/evalx/residual_ledger.py, evalx/oracle_pairs.py MISSING: residual_ledger.py, oracle_pairs.py No prior board item ever mentioned this.
L-08next upClaude

L-08 — The second loop. The ledger's top unexplained cluster becomes a brief naming two worlds the mach

Why
Plan item L-08, lane sensors, due Tue 6 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
The second loop. The ledger's top unexplained cluster becomes a brief naming two worlds the machine cannot tell apart and the smallest observation that would separate them. Deep Research is driven through `browser.py`; its answer passes the airlock (schema, citations must resolve) or is dropped. `source_probe.py` fetches a sample and measures latency and rights. An admitted source becomes a capture config. FILES THE PLAN NAMES: research/playgrain/loop/sensor_loop.py, loop/intake_airlock.py, loop/source_probe.py MISSING: sensor_loop.py, intake_airlock.py, source_probe.py No prior board item ever mentioned this.
T-07next upClaude

T-07 — From the tracking releases: speed, acceleration, separation at throw, get-off, closing speed. Th

Why
Plan item T-07, lane ratings, lineups, policies, due Tue 6 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
From the tracking releases: speed, acceleration, separation at throw, get-off, closing speed. Then a teacher-student model predicts those from public stats, so every player in every season gets an estimate. | Student R² reported per skill; enters only via L-10. FILES THE PLAN NAMES: research/playgrain/talent/tracking_latents.py MISSING: tracking_latents.py No prior board item ever mentioned this.
D-06next upClaude

D-06 — Closing-line value as a read-only diagnostic. The previous release keeps issuing in shadow, and

Why
Plan item D-06, lane kernel, drift, decision, due Fri 9 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
Closing-line value as a read-only diagnostic. The previous release keeps issuing in shadow, and a CUSUM on paired CLV and Brier reverts the pointer. A seeded regression reverts in 3 weeks. FILES THE PLAN NAMES: research/playgrain/decide/clv_diag.py, loop/rollback.py MISSING: clv_diag.py No prior board item ever mentioned this.
L-07next upClaude

L-07 — The orchestrator: worst residuals → explanation brief → sandboxed proposal → evaluator → promote

Why
Plan item L-07, lane kernel, drift, decision, due Fri 9 Oct. This board IS the plan now: 119 items, their files, their order.
Detail
The orchestrator: worst residuals → explanation brief → sandboxed proposal → evaluator → promote or anti-library. Five proposals a night, hard-limited. The proposer sees a schema and a residual summary, never a row and never the holdout. FILES THE PLAN NAMES: research/playgrain/loop/nightly.py, bin/com.seano.playerweek.playgrain-loop.plist MISSING: nightly.py, com.seano.playerweek.playgrain-loop.plist PRIOR EVIDENCE on the old board: C-177
A-07next upClaude

A-07 — Audit: when a player is removed, where do the opportunities go, in the simulator and in reality.

Why
Plan item A-07, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Audit: when a player is removed, where do the opportunities go, in the simulator and in reality. | Reallocation error by position. FILES THE PLAN NAMES: research/playgrain/lineup/vacated_share.py MISSING: vacated_share.py No prior board item ever mentioned this.
C-16next upClaude

C-16 — The missing sensor nobody runs at scale outside the league: coaches-film computer vision produci

Why
Plan item C-16, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
The missing sensor nobody runs at scale outside the league: coaches-film computer vision producing tracking for *every* play of *every* game. About 10M frames a season, roughly a week of M5 time per season, run overnight. Built last, and commissioned only when the ledger's UNASSIGNED row says tracking-grade state is the biggest remaining prize. `source_probe.py` checks the terms of use first. FILES THE PLAN NAMES: research/playgrain/sensors/all22/, detect.py, track.py, register_field.py, to_tracking.py MISSING: , detect.py, track.py, register_field.py, to_tracking.py PRIOR EVIDENCE on the old board: C-16
C-18next upClaude

C-18 — One photo of the week's ticket stack becomes the price actually got for each bet. Local vision m

Why
Plan item C-18, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
One photo of the week's ticket stack becomes the price actually got for each bet. Local vision model; falls back to the sheet price. Feeds D-04 and D-07. FILES THE PLAN NAMES: research/playgrain/sensors/ticket_ocr.py MISSING: ticket_ocr.py PRIOR EVIDENCE on the old board: C-18
D-07next upClaude

D-07 — Once tickets accumulate, learn how the Jackpot board sits against the wider market on a Tuesday:

Why
Plan item D-07, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Once tickets accumulate, learn how the Jackpot board sits against the wider market on a Tuesday: its shade, its stale numbers, which markets it hangs. FILES THE PLAN NAMES: research/playgrain/decide/book_profile.py MISSING: book_profile.py No prior board item ever mentioned this.
E-06next upClaude

E-06 — Plant an effect of known size in the play data and require every gate to find it. Also the place

Why
Plan item E-06, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Plant an effect of known size in the play data and require every gate to find it. Also the placebo battery (the astrology columns already exist as the negative control) and permutation nulls. Every gate publishes its power. FILES THE PLAN NAMES: research/playgrain/evalx/plant_controls.py MISSING: plant_controls.py No prior board item ever mentioned this.
E-07next upClaude

E-07 — The smallest detectable effect per layer, per window, game-clustered. It replaces the single 0.1

Why
Plan item E-07, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
The smallest detectable effect per layer, per window, game-clustered. It replaces the single 0.138 figure. FILES THE PLAN NAMES: research/playgrain/evalx/mde_table.py MISSING: mde_table.py No prior board item ever mentioned this.
E-09next upClaude

E-09 — Run `world-model-compiler-v1/cross-team-response-experiment.json`, which is `DESIGNED_NOT_RUN`:

Why
Plan item E-09, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Run `world-model-compiler-v1/cross-team-response-experiment.json`, which is `DESIGNED_NOT_RUN`: G0 terminal Gaussian against the generator, five negative controls. FILES THE PLAN NAMES: research/playgrain/evalx/energy_experiment.py MISSING: energy_experiment.py No prior board item ever mentioned this.
F-06next upClaude

F-06 — Per-key hyperparameter search. `max_depth=3, l2=5.0` already fixes WR carries from −29.86% to −5

Why
Plan item F-06, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Per-key hyperparameter search. `max_depth=3, l2=5.0` already fixes WR carries from −29.86% to −5.17%. | Board breaches cleared FILES THE PLAN NAMES: research/sweep_tree_params.py MISSING: sweep_tree_params.py No prior board item ever mentioned this.
F-07next upClaude

F-07 — Turn on `K_PER_POSITION` and `POSR_DRIFT`; replace the covariate-free shrinkage with conditional

Why
Plan item F-07, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Turn on `K_PER_POSITION` and `POSR_DRIFT`; replace the covariate-free shrinkage with conditional models on the same features. | Scored unconditionally FILES THE PLAN NAMES: none all present No prior board item ever mentioned this.
F-08next upClaude

F-08 — Replace `intervals.SHIPPED_CURVE` with `sim.simulate` (`sim.py:813`), which has 0.7788 coverage

Why
Plan item F-08, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Replace `intervals.SHIPPED_CURVE` with `sim.simulate` (`sim.py:813`), which has 0.7788 coverage and correct zero atoms. | Intervals from a generator, not a table FILES THE PLAN NAMES: none all present No prior board item ever mentioned this.
L-09next upClaude

L-09 — The holdout moves under a separate macOS user that only the evaluator can read; `playgrain-holdo

Why
Plan item L-09, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
The holdout moves under a separate macOS user that only the evaluator can read; `playgrain-holdout.duckdb` is already mode 0400. Revision 2 named this honestly as a process boundary rather than an air gap, and this closes it. FILES THE PLAN NAMES: loop/holdout.py, loop/split.py all present No prior board item ever mentioned this.
L-10next upClaude

L-10 — The evaluator today scores only the action model. Generalise it to every kernel component (play-

Why
Plan item L-10, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
The evaluator today scores only the action model. Generalise it to every kernel component (play-level log loss, n≈911k) and to a simulator-level paired test under common random numbers. A proposal that improves a component and worsens game CRPS is refused: the aggregation trap is how the share model died. FILES THE PLAN NAMES: research/playgrain/loop/multi_target_evaluator.py MISSING: multi_target_evaluator.py No prior board item ever mentioned this.
L-11next upClaude

L-11 — It has 5 entries, all `UNRESOLVED`, while the docs call it the record of what is refuted. Popula

Why
Plan item L-11, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
It has 5 entries, all `UNRESOLVED`, while the docs call it the record of what is refuted. Populate it from the 48 rejected hypotheses, each with its population. Anything rejected on `played=1` is marked RETEST, not refuted. FILES THE PLAN NAMES: loop/anti-library.json all present No prior board item ever mentioned this.
L-12next upClaude

L-12 — One row per packet: job, model, tokens, findings, confirmed, false positives, duplicates, downst

Why
Plan item L-12, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
One row per packet: job, model, tokens, findings, confirmed, false positives, duplicates, downstream layer movement. Staffing follows measured yield. FILES THE PLAN NAMES: research/playgrain/loop/yield_ledger.py MISSING: yield_ledger.py No prior board item ever mentioned this.
O-04next upClaude

O-04 — Every new job beats a heartbeat, and silence raises an alarm on the board.

Why
Plan item O-04, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Every new job beats a heartbeat, and silence raises an alarm on the board. FILES THE PLAN NAMES: operate/watch.py all present No prior board item ever mentioned this.
O-05next upClaude

O-05 — The throughput budget for S-14, measured on every release.

Why
Plan item O-05, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
The throughput budget for S-14, measured on every release. FILES THE PLAN NAMES: research/playgrain/operate/bench.py MISSING: bench.py No prior board item ever mentioned this.
O-06next upClaude

O-06 — New launchd jobs, all catch-up style.

Why
Plan item O-06, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
New launchd jobs, all catch-up style. FILES THE PLAN NAMES: bin/*.plist MISSING: *.plist PRIOR EVIDENCE on the old board: C-178, C-163
O-07next upClaude

O-07 — The SQL findings stay, and the fabricated citations go. Nine of them independently corroborate t

Why
Plan item O-07, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
The SQL findings stay, and the fabricated citations go. Nine of them independently corroborate the credit-registry conservation defects. FILES THE PLAN NAMES: research/quarantine-20260919/, research/gemini-deep/ MISSING: , No prior board item ever mentioned this.
O-08next upClaude

O-08 — Remove the 60 worktrees whose branches have zero unmerged patches. The branches remain, so nothi

Why
Plan item O-08, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Remove the 60 worktrees whose branches have zero unmerged patches. The branches remain, so nothing is lost. FILES THE PLAN NAMES: bin/prune-worktrees.sh MISSING: prune-worktrees.sh No prior board item ever mentioned this.
P-08next upClaude

P-08 — 2026 in-season participation does not publish until after the season. Impute on-field sets from

Why
Plan item P-08, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
2026 in-season participation does not publish until after the season. Impute on-field sets from weekly snap counts, depth charts, personnel tendencies and the pbp role ids (passer, rusher, target, tacklers, pass defenders). Trained and validated on 2016–2025, where truth is known. | Mean Jaccard ≥ 0.85 on hidden truth; error propagated as uncertainty into T-02. FILES THE PLAN NAMES: research/playgrain/participation_impute.py MISSING: participation_impute.py No prior board item ever mentioned this.
P-09next upClaude

P-09 — `game_context_asof`: roof, surface, elevation, travel_km, tz_shift, rest days, short week, offic

Why
Plan item P-09, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
`game_context_asof`: roof, surface, elevation, travel_km, tz_shift, rest days, short week, officials, weather ladder. All keyed by `valid_time`. | As-of tests. FILES THE PLAN NAMES: research/playgrain/load_context.py MISSING: load_context.py No prior board item ever mentioned this.
P-11next upClaude

P-11 — `asof()` covers every new table. | 7/7 → n/n.

Why
Plan item P-11, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
`asof()` covers every new table. | 7/7 → n/n. FILES THE PLAN NAMES: warehouse.py, test_warehouse.py all present No prior board item ever mentioned this.
Q-03next upClaude

Q-03 — `speaker_is` is unknown on 141 of 153 pressers, and it is the one field Q-36 turns on.

Why
Plan item Q-03, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
`speaker_is` is unknown on 141 of 153 pressers, and it is the one field Q-36 turns on. FILES THE PLAN NAMES: playerweek/news.py all present No prior board item ever mentioned this.
Q-04next upClaude

Q-04 — Claims become as-of features for availability (A-02), role change (A-06) and play-caller intent

Why
Plan item Q-04, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Claims become as-of features for availability (A-02), role change (A-06) and play-caller intent (B-02). Never for points directly: that was measured at +0.002 RMSE, where availability was −0.0038 Brier with a clean placebo. FILES THE PLAN NAMES: research/playgrain/sensors/claims_to_features.py MISSING: claims_to_features.py No prior board item ever mentioned this.
S-16next upClaude

S-16 — Trajectories are content-hashed per (game, lock, release); issuance is frozen with the existing

Why
Plan item S-16, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Trajectories are content-hashed per (game, lock, release); issuance is frozen with the existing row-lock discipline. | Replays bit-for-bit. FILES THE PLAN NAMES: research/playgrain/sim_store.py MISSING: sim_store.py No prior board item ever mentioned this.
S-17next upClaude

S-17 — Any team-season against any team-season, retired players included. The north star's first demand

Why
Plan item S-17, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Any team-season against any team-season, retired players included. The north star's first demand. | A football person reads the play-by-play without flinching. FILES THE PLAN NAMES: research/playgrain/hypothetical.py MISSING: hypothetical.py No prior board item ever mentioned this.
S-18next upClaude

S-18 — Whole seasons and playoffs. Ratings evolve between simulated weeks and injuries accrue through A

Why
Plan item S-18, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Whole seasons and playoffs. Ratings evolve between simulated weeks and injuries accrue through A-04. | Division and playoff odds calibrated on 2004–2025. FILES THE PLAN NAMES: research/playgrain/season_sim.py MISSING: season_sim.py No prior board item ever mentioned this.
S-19next upClaude

S-19 — Compile the boosters (treelite or lleaves, or Numba lookup tables) if S-14 misses its budget. |

Why
Plan item S-19, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Compile the boosters (treelite or lleaves, or Numba lookup tables) if S-14 misses its budget. | 16 games × 10,000 trajectories in under 60 minutes on the M5. FILES THE PLAN NAMES: research/playgrain/compile_models.py MISSING: compile_models.py No prior board item ever mentioned this.
T-08next upClaude

T-08 — Every rating family is scored on what it adds to the kernel and logged to the ledger. | —

Why
Plan item T-08, lane unassigned, due unscheduled. This board IS the plan now: 119 items, their files, their order.
Detail
Every rating family is scored on what it adds to the kernel and logged to the ledger. | — FILES THE PLAN NAMES: research/playgrain/talent/latent_eval.py MISSING: latent_eval.py No prior board item ever mentioned this.
In flight
0

Being built right now. If this is not what you want built, this is the page to say so on.

Queued
110

Agreed and waiting. The order is deliberate, not arbitrary.

Landed
6

Finished and verified. The list is at the foot of this page.

Plan of record
Codex

The nine-desk operating model. Gemini's system runs as a challenger, not the spine.

This board is asserted, not measured. It says what is deliberately being built and why. Maintenance reads the machine at render time and will contradict this page whenever the two disagree — which is exactly what it is for.

Plan of record — every named component

From the v1 handbook and the nine-desk operating model, read in full rather than skimmed

8 of 93 exist

93 components across 10 groups. 8 are running, 8 are partial, 77 do not exist. Codex's own status words are kept rather than flattened, because UNAVAILABLE and NOT CERTIFIED mean different things and need different work. Where a component names a launchd job, the state is measured at render time; everything else is Codex's assertion carried over.

This is the gap between the machine that is described and the machine that runs. It is meant to be uncomfortable reading.

Living checklist

v1 handbook §17 — Codex's own states, carried over verbatim

6 of 13 live
ComponentStateWhat it is
Original v1 artifact auditACCEPTEDOriginal learned bytes reproduced under the frozen capsule and are serving.
Write-once v1 registry and guarded loaderACTIVERelease v1.0-20260916, manifest dcf95ac625…; fresh issuance and unattended reuse.
Golden W2/W3 numerical replayPASS1,326 players / 54,226 numeric values and 32 games / 256 values match.
All-remaining Weeks 2–18 producerACTIVE11,271 player rows, 256 games, zero player or K/DEF fits.
Fantasy opponent products after Week 14UNAVAILABLENeeds source schedule and exact opponent roster receipts.
Bench-position DEF roster repairOPERATING PASS162-row roster delivery; no missing bench-defense identity.
Phone trackerACTIVEPrivate URL live; 60-second launchd sync installed.
99.5% service levelOBSERVING, NOT CERTIFIEDSeven-day window immature; availability, freshness and correctness sampled separately.
R&D worker prompt auditREPAIRS INTEGRATED, JOBS PAUSEDCanonical receipt parsing and exact baseline/change bindings integrated; the jobs are paused.
Whole-model S/B/Q isolationNOT CERTIFIEDNeeds complete ancestry and intervention controls across all learned and serving paths.
Prospective player gradingACTIVE FRAME, OUTCOMES PENDINGGrade full issued populations only after admitted truth.
Autonomous shipperNOT ACTIVERoot remains integration and activation owner.
Handbook regeneration hookACTIVEScheduled regeneration; inspect the log for later writes.

Institute jobs

v1 handbook §14 — a plist in Git does not prove a job is loaded

1 of 9 live
ComponentStateWhat it is
institute.captureNOT LOADEDhourly · raw qualitative, article and gamebook capture
institute.structuredNOT LOADEDevery 4h · structured public-source archive
institute.forecast-refreshLOADEDevery 4h + Thursday pre-kickoff · snapshot, forecast, validation, prepared site
institute.phone-syncNOT LOADEDevery 60s · bounded status to the private tracker
institute.tracker-feedNOT LOADEDcontinuous · separates provider, collector and content clocks
institute.site-serviceNOT LOADEDsupervised · serves validated assets and saved health
institute.report-serviceNOT LOADEDsupervised · serves report, tracker and handbook
institute.service-healthNOT LOADEDevery minute · availability, integrity and freshness sampled separately
institute.handbookNOT LOADEDevery 5 min · regenerates the canonical handbook HTML

Six connected levels

v1 handbook §20 — the destination, each with a strong simpler challenger

0 of 6 live
ComponentStateWhat it is
Season and organizationUNAVAILABLEPersonnel continuity, coaching regime, development. Challenger: dynamic team strength + persistent roster.
Game and environmentUNAVAILABLEBoth teams, venue, officiating, score/time. Challenger: direct margin/total plus market benchmark.
Unit and taskUNAVAILABLEPersonnel combinations, protection and route obligations. Challenger: opportunity allocator with interactions.
Play and responseUNAVAILABLEObservable cues, actor-limited information, action policies. Challenger: sequence/count model.
Physical event and creditUNAVAILABLEOne event ledger producing coherent player/team/defense totals. Challenger: direct stat forecasts.
Measurement and beliefUNAVAILABLESource access, selection, publication and receipt. Challenger: source-aware predictor with deduplication.

Nine desks

staffing model — one chain of evidence, none edits the model

0 of 9 live
ComponentStateWhat it is
Commission & PortfolioUNAVAILABLEWhat the machine is asked for, and what it declines.
World Model LabUNAVAILABLEThe predictive core. Recommends experiment design.
Football IntelligenceUNAVAILABLERoles, legal actions, counters, credit conventions.
Behavior & QualitativeUNAVAILABLES / B / Q evidence classes kept separately attributable.
Data & ProvenanceUNAVAILABLEOrigin graph, revision history, permeability trace.
Markets & PortfolioUNAVAILABLEPrice, stake, exposure. Sean taps before money moves.
Experience StudioUNAVAILABLEWhat Sean actually sees, against the design system.
Operations & LearningUNAVAILABLEThe loop that improves the machine.
Forecast Accuracy DirectorateUNAVAILABLEWere we right, prospectively and per cohort.

Resident expertise

v1 handbook §22 — each owes a required artifact before a claim advances

0 of 9 live
ComponentStateWhat it is
Data scienceUNAVAILABLEPaired prospective loss, calibration, compute accounting.
Statistics and causal inferenceUNAVAILABLEEstimand, causal graph, negative controls, sensitivity.
Physics and physiologyUNAVAILABLEUnits, conservation and support checks, uncertainty propagation.
Psychology and organizational behaviorUNAVAILABLEOpportunity-normalized behavioral posterior and rival explanations.
Economics and game theoryUNAVAILABLEEquilibrium and rival policy predictions, intervention tests.
Market microstructureUNAVAILABLEExecutable quote lineage, depth and latency state, settlement.
Football tacticsUNAVAILABLEEvent-bound annotation agreement and adversarial counterexamples.
Information scienceUNAVAILABLEOrigin graph, revision history, permeability trace.
Reliability engineeringOBSERVINGAvailability, correctness and freshness receipts. Partly real — service-health exists but is not loaded.

Deep Think supply chain

staffing model — keeps every desk supplied

0 of 7 live
ComponentStateWhat it is
Continuous intakeUNAVAILABLEEverything arriving, before any screening.
Flash screeningUNAVAILABLECheap, narrow, numerous — the first rung of the ladder.
Gemini 3 Pro graphUNAVAILABLECross-domain mechanism finding.
Parallel explanationsUNAVAILABLERival accounts kept separate rather than averaged.
Deep Think researchUNAVAILABLEThe weekly deep synthesis.
Desk packetsUNAVAILABLEWhat each desk receives, addressed to it.
Outcome feedbackUNAVAILABLESpend judged by learning, not by volume.

Governance and decision rights

staffing model — who recommends, who approves, when Sean is involved

0 of 9 live
ComponentStateWhat it is
New hypothesisUNAVAILABLEAny research job recommends · Research Director admits · Sean never, for routine admission.
Experiment designUNAVAILABLEWorld Model Lab · Independent Replication Scientist · Sean when risk appetite changes.
Production codeOBSERVINGClaude-led operators · tests + Codex on high-risk boundaries · Sean on irreversible external consequence.
Forecast releaseUNAVAILABLEForecast council · Deterministic Release Authority · Sean only on a recorded override.
Bet placementUNAVAILABLEMarkets & Portfolio · Sean taps before money moves · ALWAYS.
New paid dataUNAVAILABLEAcquisition & Rights Lead · Sean approves spend and terms · ALWAYS.
Visual directionUNAVAILABLEExperience Studio · Product Director against the design system.
Incident rollbackUNAVAILABLESRE · automated safe rollback · Sean on data loss or external lock.
Model promotionUNAVAILABLEScientific council · prospective scorecard gate.

Information gaps to capture now

v1 handbook §23 — a week not captured is gone; these cannot be backfilled

0 of 13 live
ComponentStateWhat it is
Full prospective information historyUNAVAILABLEEvery raw revision, first receipt, failure and issuance, so mutation cannot alter an earlier issuance.
Event participation and true zerosUNAVAILABLEOfficial gamebook coverage; stop grading only survivors.
Multiweek availability and role transitionsUNAVAILABLEDated return, designation and roster panels.
Unit task combinationsUNAVAILABLEDated personnel combinations and public practice descriptions.
Joint timing and geometryUNAVAILABLESynchronized full-unit traces with visibility metadata.
Untargeted and unused optionsUNAVAILABLEDeterrence and feasible opportunity, not only realized touches.
Workload and recovery across tasksUNAVAILABLELoad proxies, rest and travel exposure.
Directional environment and surfaceUNAVAILABLEVenue, surface, source-time weather and direction.
Institution and officiating responseUNAVAILABLECrew, rule and context records with observed decisions.
Full qualitative context and origin graphUNAVAILABLEComplete question and answer, attribution, hedge, revision.
Actor exposure and public influenceUNAVAILABLEInformation about football vs information that changes preparation.
Executable market and settlement historyUNAVAILABLEImmutable quoted terms, received prices, settlement revisions.
Pipeline observation of its own failuresUNAVAILABLEFailed requests, skipped issuances, scheduler delays, validation rejections.

Model ladder and pairings

staffing model — deterministic first, a frontier call matches one of four commissions

1 of 9 live
ComponentStateWhat it is
Deterministic firstACTIVEWhere code can decide exactly, no model votes. Already true across the pipeline.
Cheap, narrow, numerousUNAVAILABLEScreening and extraction at volume.
Daily builders and criticsOBSERVINGClaude and Codex build daily — but not as a scheduled rung with a brief.
Four deliberate specialistsUNAVAILABLEDeep Think, Opus, Sol — a frontier call must match one of four exact commissions.
Explore → formalizeUNAVAILABLEGemini 3 Pro finds mechanisms; Sol converts them to state, equations, falsifiers.
Specify → buildUNAVAILABLESol writes the contract; Sonnet implements and instruments it.
Build → attackUNAVAILABLESonnet builds; Luna searches narrow failures. Many cheap attacks beat one self-review.
Quantify → interpretUNAVAILABLESol computes residuals; Gemini connects patterns to film, language, science.
Disagree → decideUNAVAILABLEBlind forecasts from provider families; deterministic evidence judges; Fable adjudicates.

The constitution

staffing model — nine lessons from the METR incident, none built

0 of 9 live
ComponentStateWhat it is
Impossible tasks turn into score-gamingUNAVAILABLERecord a failed gate as failed. The pressure valve that keeps a bench honest.
An unintended cache became governmentUNAVAILABLEShared state acquires authority nobody granted it.
'The board approved it' replaced authorizationUNAVAILABLEA root of trust, not a consensus.
Tool output and transcripts are not ground truthUNAVAILABLEVerify against the real thing, not the report of it.
Self-invented signatures lacked a root of trustUNAVAILABLEIdentity must be issued, not asserted.
Shared artifacts produced real breakthroughsUNAVAILABLEThe upside of the same mechanism — keep it, govern it.
Agents noticed danger and did not tell humansUNAVAILABLEAn escalation path that is used, not just present.
AI summaries inherit the subject's frameUNAVAILABLEThe reviewer adopts the reviewed agent's perspective.
Agents risked their own runs for the collectiveUNAVAILABLEPay for negative results and shared instrumentation.

Landed

6 items

verified
C-01landedClaude

C-01 — Per-source staleness measured by the *source's own timestamp*, not the job's exit code. It write

Why
Plan item C-01, lane sensors, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Per-source staleness measured by the *source's own timestamp*, not the job's exit code. It writes `alarms.jsonl` for the board, the only alarm path. Catches odds on 7 of 15 days, props 5 days stale, availability 48 h dark. FILES THE PLAN NAMES: research/playgrain/sensors/capture_health.py all present PRIOR EVIDENCE on the old board: C-01
C-02landedClaude

C-02 — Fix the `-3≤hours_to_kickoff≤6` window bug. Turn the eight one-shot captures into standing ones:

Why
Plan item C-02, lane sensors, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Fix the `-3≤hours_to_kickoff≤6` window bug. Turn the eight one-shot captures into standing ones: `inj_snapshot` Wed/Thu/Fri, `avail_snap`, `presser`, `workload_claim` (where `lock_legal_wed` is TRUE on 0 of 715 rows). FILES THE PLAN NAMES: bin/institute-capture.sh, bin/institute-structured-capture.sh all present PRIOR EVIDENCE on the old board: C-02
C-05landedClaude

C-05 — Props for all markets, not 6, hourly; de-vig method unchanged.

Why
Plan item C-05, lane sensors, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Props for all markets, not 6, hourly; de-vig method unchanged. FILES THE PLAN NAMES: bin/odds-capture.sh, playerweek/props.py all present PRIOR EVIDENCE on the old board: C-05
P-06landedClaude

P-06 — Load all 372 pbp columns into `plays_wide`; `plays` stays as a stable view. Extend the banned li

Why
Plan item P-06, lane ratings, lineups, policies, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Load all 372 pbp columns into `plays_wide`; `plays` stays as a stable view. Extend the banned list to `spread_line`, `total_line`, `vegas_*`, `*_vegas`, `odds*`. | `test_warehouse.py` extended: 0 market columns reachable from `plays_wide`. FILES THE PLAN NAMES: research/playgrain/load_plays_wide.py, schema.py all present PRIOR EVIDENCE on the old board: C-79, C-100
C-03landedClaude

C-03 — Captures append to `data/land/*.parquet` and never touch DuckDB. One single-writer loader owns t

Why
Plan item C-03, lane sensors, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
Captures append to `data/land/*.parquet` and never touch DuckDB. One single-writer loader owns the write lock, which ends `"status":"lost"`. FILES THE PLAN NAMES: research/playgrain/sensors/land_loader.py MISSING: land_loader.py PRIOR EVIDENCE on the old board: C-03
J-05landedClaude

J-05 — The durable results store, `data/results.duckdb`. It exposes `record(script, git_sha, population

Why
Plan item J-05, lane truth and the fantasy path, due Tue 22 Sep. This board IS the plan now: 119 items, their files, their order.
Detail
The durable results store, `data/results.duckdb`. It exposes `record(script, git_sha, population_sql, metric, value, ci_lo, ci_hi, n, seed, release)`. Nothing writes findings to `/tmp` again. | `tests/test_results_store.py`: a script run without a `record()` call fails CI. FILES THE PLAN NAMES: research/playgrain/results.py all present No prior board item ever mentioned this.