Baseline
Each gate round (one per head) scores candidates against the head on a fresh random draw of about 500 tasks from the 19,305-task baseline pool. The draw is not uniform. Since Nov 2, 2026 it is information-weighted: a two-parameter item-response (2PL) model fitted on every recorded checkpoint×task pass/fail gives each task a difficulty b and a discrimination a, and a task’s chance of being picked grows with the square root of the information it carries about the head’s ability, √a2P(1 − P) (see How the draw works). Tasks near the head’s level that separate stronger from weaker checkpoints are picked most; tasks the head almost always (or never) solves are picked least (a small uniform floor keeps every task in play). The dashed curves show the previous prior-v1 draw (√E[p(1 − p)] from the prior table, E497 to Nov 2) for comparison.
IRT information-weighted draw · live since Nov 2, 2026
Head pass rate by task
—Selection probability per round
—Draw weight term at the head
IRT fit — · liveHow the draw works
priors/baseline_v1.pyWhen a round opens, the gate computes the head’s ability θh (the MAP of the head’s own pass/fail on gate-pool tasks: its winning candidate run and its head runs, under the fitted model) and sets each task’s inclusion probability:
wi is the task’s share weight (size shares: each environment counts by its size, so every task has the same wi). Probabilities are capped at cap and any excess is spread over the uncapped tasks. Each task is then included independently with probability πi, using a commit-reveal seed fixed by a future block hash:
The knobs, with the live values:
floor = 0.10— the uniform share of the draw. A higher floor flattens the curve; at 1 the draw would be uniform.√— the Neyman choice: drawing in proportion to the square root of the information (a standard deviation, not a variance) minimizes the variance of the estimate for a given sample size.a′— the discrimination as the draw uses it: many tasks have little data, so a is pulled halfway (log scale) toward the pool median and clipped to [0.5, 2]× median; no task can get extreme weight from a noisy a.θh— recomputed when each round opens, so the draw follows the head: as it improves, the weight moves to tasks that are still hard for it. a, b are refit daily. Per-task a, b, θh and πi stay private.N = 500— the expected draw size. It scales the whole curve (Σ πi = N).cap = 0.10— the most any task can get; the excess is spread over the others. It binds under the information weighting: about 260 tasks sit at the cap.previous— from E497 to Nov 2 (prior-v1) the draw used √vi, vi = E[p(1 − p)] under Beta(si + 1, ni − si + 1) from the prior table (s/n = the head’s solved/sampled counts), same N, floor, cap: the dashed curves.
The gain is a Hájek (inverse-probability ratio) estimate per environment, so the non-uniform draw does not bias it. Every drawn task i is weighted by 1 / πi, with di = candidate minus head pass rate:
Live since Nov 2, 2026: IRT information weighting. The 2PL model: Pi(θ) = 1 / (1 + e−ai(θ − bi)), with θ a checkpoint’s ability, bi the task’s difficulty and ai its discrimination (how sharply it separates slightly stronger from slightly weaker checkpoints), fitted (MAP) on every recorded checkpoint×task pass/fail (first fit: 365 checkpoints, 3.06M rollouts; refit daily, last fit —). Ii = ai2 Pi(1 − Pi) is the information a task carries about a small change of θ at the head, so the draw spends its ~500 tasks where a better candidate shows most. The checkpoints mostly come from one training chain, so a is weakly determined for many tasks; the shrinkage and clip above, the 10% floor and the cap bound what any one task can get. The estimate stays unbiased whatever the weights (Hájek, 1/π). Code: priors/baseline_v1.py (irt_score, theta_map) and priors/irt/.
x: percentile of tasks sorted by the head’s current pass rate (0 = hardest, 100 = easiest). The charts use the same order (sorted by the prior table, as before). Curves are averages over equal-count bins of about 120 tasks, rounded; task ids and per-task values stay private. Computed with the gate’s own draw code at the current head’s ability (what the next round would use; an open round keeps the probabilities it set when it opened), refreshed every 15 minutes.