How the Codex reset odds are calculated

Every reset-probability number shown on this site (the gauges on the home page, and on /tibo/ and /worth-it/) is read live from whenreset.app — the single source this site and its sibling trackers (agentresets.com, claudereset.org, howtok.net) all now display the same numbers from, instead of each running its own model and disagreeing. OpenAI has never promised a reset schedule. Every number here is an estimate from public posts; the original post is the source of truth.

The model: climatology

whenreset.app's odds are the share of recorded historical Codex global-reset gaps that are ≤ the horizon in question (24h, 48h, or 7 days) — a plain historical frequency, not a formula that reacts to how long it's currently been since the last reset. The percentage does not rise the longer you wait: whenreset.app's own backtest (1,100+ walk-forward checkpoints, four a day) found every condition-on-elapsed-time model it tried scored worse than this simple frequency. Banked drops are excluded from the gap sequence entirely — only global resets count.

Backtest performance, from whenreset.app's own numbers: Brier score 0.1368 at 24h, 0.2035 at 48h, over 1278 backtested cases. See whenreset.app's own backtest page for the full methodology.

This is an estimate, not a prediction — OpenAI has never committed to a reset cadence. "Typical gap" and the reference date shown on the home page are read the same way, from whenreset.app's own /api/v1/latest.json.

Research (not used for any number on this site)

This site also runs its own cadence-engine backtest, kept for comparison and transparency — none of the numbers below are displayed anywhere on this site or served in its public API/MCP. Every live odds figure comes from whenreset.app above.

1. Two cadence engines, over global resets only

This site's own model (cr-weighted-v4) is built the same way: global regular resets only, banked drops excluded (see /banked-reset/). Take the last 10 gaps between distinct global-reset dates. Fewer than 2 gaps and the research model is unavailable outright.

The anchor time is the last global reset's exact timestamp when known, otherwise midday UTC (T12:00:00Z) on its date. h is hours elapsed since that anchor; avg_gap_h is the mean of the recorded gaps in hours.

Memoryless engine (constant-hazard / Poisson process): p_memoryless(hours) = clamp(1 − e−hours / avg_gap_h, 0.01, 0.90). Deliberately does not care how long it's been since the last reset.

Cooldown engine ("the longer you wait, the likelier"): baseline daily hazard base = clamp(24 / avg_gap_h, 0.06, 0.55), a multiplier cool(h) = clamp(h / (avg_gap_h × 0.55), 0.18, 1.75), and cad24 = clamp(base × cool(h), 0.01, 0.90); cad48 compounds two independent 24h windows.

Which engine this research model would select: whichever scores the lower walk-forward Brier score below — ties default to memoryless. Currently: memoryless — memoryless Brier 0.1698 <= cooldown Brier 0.2066. This matches whenreset.app's own published finding (climatology/memoryless beats a cooldown model) on this site's independent data — corroborating evidence, not a second published number.

2. Live signals: shown, not scored

None of the three signals feeds this research model's published Brier score below — all three are weighted 0 in this site's own engine, same as they would be even if this engine's numbers were ever shown. A signal would only earn a weight once it has enough recorded history to be backtested and beats the cadence-only number out of sample; until then it's collected, scored and shown on /signals/ and /tibo/ as context. For reference, the weights proposed for X hints and OpenAI status if they validate are 55% and 25%; GitHub complaint volume has already been tested and rejected.

SignalWeightWhat it measures
X hints0% (proposed 55%)Recent public posts mentioning a Codex reset with concrete or vague future timing.
OpenAI status0% (proposed 25%)Codex-related incidents on OpenAI's own status feed, scored by impact.
GitHub complaints0%Spike in openai/codex issues mentioning usage/rate limits vs. a 14-day baseline. Still collected and shown on /signals/ as context, but weighted 0 — see below.

Why GitHub complaint volume is weighted 0

It was tested and it doesn't help. An out-of-sample backtest over 385 days of openai/codex issues (titles matching usage-limit wording, about 88% precision on a hand-checked sample) against the 46 recorded global-reset days found that complaints only look elevated before resets because both grew over the same period — the repository's issue volume rose roughly sixfold in a year. Shuffling within each month removes the difference (p = 0.40), and adding the signal to a walk-forward forecast made the 48-hour Brier score significantly worse (+0.0038, 95% CI +0.0010 to +0.0072), with no gain at 24 hours. The analysis is archived with this site's source; it will be rerun as more resets are recorded.

Two rules specific to the X hints signal:

3. Research backtest

Walking forward one day at a time from the 11th recorded global reset to yesterday, using only history strictly before that day: how well would each engine have called each day, compared to a naive baseline (constant hazard with no cooldown) and to climatology (the overall historical share of days with a reset)? Global resets only — banked drops never enter this walk. Brier scores only — no probability number from this table is displayed anywhere else on this site.

MemorylessCooldownNaiveClimatology
Brier score (lower is better) 0.1698 selected 0.2066 0.1735 0.1739

242 backtested days, 2026-03-11 to 2026-11-07. Calibration buckets below use the selected engine (memoryless) only — shown for research transparency, not published as odds.

Predicted rangeDaysPredicted meanObserved rate
0-10497%16%
10-2010515%20%
20-408827%24%
40-1000——

On the current history, the memoryless engine scores better than plain climatology (Brier 0.1698 vs 0.1739). The largest gap between predicted and observed sits in the 10-20 predicted-range bucket (105 days: predicted 15% vs observed 20%).

Boundaries of the research model