Reading OpenAI's Model Pages Like an Engineer
A model's own reference page looks, at a glance, like a simple spec sheet — a context window, a price, a knowledge cutoff, done. Read enough of them carefully, the way this site's own research has had to, and you start noticing that the interesting information is rarely in the headline numbers. It's in the footnotes, the absent rows, and the sentences easy to skim past on a first read.
Start with what's missing, not just what's present
The most consequential detail this site's own research uncovered wasn't a number on a page — it was the absence of a number. The Codex-optimized model's own reference page states no Batch pricing, no Flex pricing, and no long-context repricing rule, while its sibling frontier models state all three plainly. Reading a model's page for what it doesn't say, and treating that absence as information rather than an oversight to fill in by assumption, is the single habit most likely to catch something a quick skim would miss entirely.
The sentence most people skip past
Buried in ordinary prose rather than presented in a table, one specific sentence on several model pages carries the entire long-context repricing rule — what threshold triggers it, and crucially, that it reprices the full request rather than just the excess over the threshold. That sentence is easy to read past if you're scanning for the pricing table specifically, and this site's own first research pass did exactly that, reporting the rule as unpublished after checking a different page where the same detail happens to be a client-rendered element rather than plain text. The lesson: read the actual prose on a model's own page, not just the tables, and don't assume a formatting quirk on one page means the information isn't stated plainly somewhere else.
Comparing sibling pages rather than reading one in isolation
A single model page, read alone, tells you what that model does. Reading several sibling pages from the same family side by side is what actually reveals the pattern — that GPT-5.6 Luna sits in a different rate-limit group from Sol and Terra, with higher ceilings at the top tiers despite being the cheapest of the three, is invisible from any one page alone and only becomes obvious once you've laid the three tables next to each other. Treat a family of related model pages as a set to be compared, not a series of independent documents to be read once each and filed away.
Why a footnote about rounding is worth trusting over your own arithmetic
One model's Batch cached-input rate is published as a figure that doesn't match what halving the standard cached rate would predict — OpenAI rounds it in the published source. It would be easy to "correct" that figure to the number arithmetic suggests, assuming a typo. The right instinct is the opposite: ship the number actually published, and treat a discrepancy between a published figure and what you'd expect from a formula as a note to record, not an error to silently fix. The published number is the one that appears on an actual invoice; your formula's prediction isn't.
Checking the page's own date, not just its content
A model reference page doesn't announce when it was last substantively updated the way a blog post might, but pricing pages and reference pages do get revised, and a figure you're relying on could be several release cycles stale by the time you read it. Building the habit of re-checking a page rather than trusting a bookmark or a memorized figure — especially for anything budget-relevant — is the practical version of the same discipline this site applies on a fixed weekly schedule to its own published figures.
What "reading like an engineer" actually means here
It's the difference between reading a model page to extract a single number you need right now, and reading it to understand the actual shape of what's published — what's stated, what's conspicuously not stated, what's buried in prose rather than tabulated, and how this page compares to its closest siblings. The first approach gets you the number you were looking for. The second approach is what actually catches the detail that changes a real decision, and it's the only approach this site trusts enough to build a calculator on top of.
Applying this the next time OpenAI ships a new model
The next genuinely new model this site adds to its own roster will get exactly this treatment — every sibling page compared, every absence checked against the model's own dedicated page rather than assumed from a general guide, every footnote read rather than skipped. That's not a special process reserved for unusual cases; it's the ordinary, repeatable method this whole site is built on, applied the same way every single time.
Why this discipline scales better than it sounds
Reading every model page this carefully sounds like it wouldn't scale past a handful of models, and for a one-time read it wouldn't — but the discipline isn't "read every page carefully once and remember it forever," it's "re-read the specific pages that matter on a fixed schedule, checking for exactly the categories of change (a new footnote, a newly-published rule, a rate-limit table that's shifted) this method has already taught this site to look for." Knowing what kind of detail tends to hide, and where, makes each subsequent re-check faster and more targeted than the first one was, not slower.
What this method looks like when it fails to find anything new
Most re-checks of an already-documented model page turn up nothing — the figures match what's already published, the prose reads the same as last time, no new footnote has appeared. That's not wasted effort; a re-check that confirms nothing changed is exactly as valuable, in aggregate, as one that catches a real change, because it's what lets this site state a verified-on date with actual confidence rather than a guess. The value of this method isn't only in what it occasionally catches — it's in making every date on this site mean something specific and checkable, catch or no catch.
The honest limits of even careful reading
None of this guarantees this site's figures are always current the instant OpenAI changes something — a careful read on a fixed weekly schedule still has a window where a change could go unnoticed until the next check. Reading like an engineer reduces how often something gets missed on a single read; it doesn't eliminate the lag between an upstream change and this site catching up to it. Being honest about that limit, rather than implying a false real-time guarantee, is part of the same discipline this whole page is describing.
Verified 2026-08-09 against CodexHow facts module (src/data/facts/) — see /about/#accuracy.