August 27, 2026|8 min read

The Model Was Never the Variable

Across three benchmarks, changing the context supplied to a frontier model moved accuracy by 17 to 38 points. Changing the model produced swings statistically indistinguishable from zero. The half of your AI system that decides whether it tells the truth is the half nobody owns, versions, or signs for.

Written by Carlos Alvidrez, with AI assistance in research · How we use AI

The Model Was Never the Variable

Photo by Bernd 📷 Dittrich on Unsplash

This April, two researchers ran one hundred natural language questions against a retail dataset in ClickHouse and scored the answers. Three frontier models took the test: Claude Opus 4.7, Claude Sonnet 4.6, and GPT-5.4. Each model answered every question twice, once with a semantic layer document supplied as context (a structured description of what the tables mean, how each metric is computed, and which joins are legitimate) and once without it.

The results came back in two clean clusters. With the document, the models scored 67.7 to 68.7 percent. Without it, 45.5 to 50.5 percent. The clusters split on the document, not the model. Within each cluster, the three models were statistically indistinguishable from one another; every comparison across the clusters was significant at the 0.01 level. The semantic document accounted for essentially all of the significant variance. Model selection accounted for almost none.

The industry spent 2026 arguing about which model to standardize on. The paper's answer is that it did not matter.

That is one study. Hold it up against three years of benchmarks and the pattern repeats. Hold the model constant and change only the context, and accuracy swings by 17 to 38 points. Hold the context constant and change the frontier model, and the swing is statistically indistinguishable from zero. The model is not the variable. The context is. And the context, unlike the model, is something you build, own, version, and can be held to account for. If accountability is your job, that last clause is the whole post.

The variance moved and the spend didn't

If the April paper stood alone, you could file it as an anomaly. It does not stand alone.

In a production benchmark dbt Labs ran the same month, two current models worked an insurance dataset: eleven questions, twenty runs each, four configurations. In the final results, claude-sonnet-4-6 scored 90.0 percent generating raw text-to-SQL and 98.2 percent through a semantic layer. gpt-5.3-codex scored 84.1 percent raw and 100.0 percent through the layer. And overall, the two flagships landed on identical scores: 64.5 percent each on raw text-to-SQL, 72.7 percent each through the semantic layer. Two different labs, two different flagships, the same number in both configurations. dbt's own conclusion was that model choice and reasoning effort "barely matter" for semantic layer queries. Sonnet 4.6 beat Opus 4.6.

One caveat, and it cuts toward the argument rather than against it: the text-to-SQL configuration was handed the full database schema as context, which no deployment at real enterprise scale can afford. The raw scores are a ceiling built under lab conditions, not an expectation.

The time series is the part worth reading twice. From 2023 to 2026, raw text-to-SQL roughly doubled, from 32.7 to 64.5 percent overall. Three years of frontier releases carried the model-only approach four points past where the semantic layer already stood in 2023, at 60.5 percent. The layer itself moved on to 72.7. The models are sprinting toward a mark the context passed three years ago.

And the effect predates the current model generation entirely. In November 2023, researchers benchmarked GPT-4 zero-shot against enterprise SQL databases, asking reporting and metrics questions in an insurance domain. It scored 16 percent. The same questions, posed over a knowledge graph representation of the same databases, scored 54 percent. Thirty-eight points. That was measurable three model generations ago. Nobody restructured a dollar of spend around it.

Put the three studies side by side. Different teams, different datasets, different years, different context mechanisms: a semantic document, a semantic layer, a knowledge graph. The shape never changes. If you spent this year running a model bake-off, the studies have news for you. The context moves the number. The model does not.

The scoreboard is broken too

Maybe you still believe the next release will separate the field. Look at the instrument you would use to notice.

Stanford HAI's 2026 AI Index puts enterprise AI adoption at 88 percent. Against that backdrop, it reports hallucination rates ranging from 22 to 94 percent across 26 models, benchmark error rates of up to 42 percent, and a Foundation Model Transparency Index averaging 40, down 17 points. Documented AI incidents rose from 233 in 2024 to 362 in 2025. The coverage that followed described frontier models as failing one in three production attempts, noted that "managing multiturn conversations while correctly using tools and following policy constraints remains difficult even for frontier models," and carried the report's sharpest line: "The most capable systems are now the least transparent."

Read those numbers as a buyer. The leaderboard you use to pick a model carries up to 42 percent error. The vendors publishing to it disclose less each year. You are optimizing a variable you cannot reliably measure, on the word of suppliers telling you less and less, while the variable that measurably moves your accuracy sits entirely inside your own perimeter, unversioned and unowned. None of this says the models are interchangeable for every task. It says the scoreboard cannot tell you when they are not.

Context quality has three components

Strip away the vendor taxonomy and the thing that moved those numbers decomposes into three artifacts. Each answers a question the model would otherwise settle by inference.

Definitions fix what a term denotes. A governed definition resolves "active client" to one population, with an owner and an effective date, rather than whichever population the model finds most plausible. We made the legal case for governing definitions three weeks ago; this post is the empirical one.

A semantic layer fixes how a metric is computed. It is a machine-readable description of business meaning that sits between raw tables and whatever queries them: which formula produces "net revenue," which joins are legitimate, which filters apply. It is the reason "net revenue" resolves to one calculation and not four defensible ones.

A knowledge graph fixes how entities relate. When a question takes three hops to answer (this policy governs that process, which is owned by that role), the graph lets the system traverse the relationships instead of guessing at them.

These are not three vendor categories, and this is not a shopping list. They are three answers to three different questions: what a term means, how a number is computed, how things connect. Any of those questions your model cannot answer from supplied context, it answers by inference. The benchmarks above are the invoice for that inference.

A refusal boundary is a control

The most important finding in the dbt benchmark is not a percentage. It is a difference in how the two configurations fail. When a question fell outside the semantic layer's scope, the system returned an error. When the same question hit raw text-to-SQL, it returned a plausible, confident, incorrect answer. One system knows what it does not cover. The other does not.

Sit with that as a risk officer. An error is a good outcome. An error is visible, countable, and easy to escalate; it lands in a log and becomes a ticket. A plausible wrong answer is none of those things. It flows into the deck, the forecast, the regulatory response, wearing the same confidence as a right one. An auditor can sample errors. An auditor cannot sample answers that merely look right.

The April paper reached the matching conclusion from the other direction: incorrect answers and confident hallucinations are not two failure modes but one, both rooted in missing semantic context. A model without context does not slow down at the edge of what it knows. Nothing told it where the edge is.

So a semantic layer erroring out on an out-of-scope question is not a limitation. It is a refusal boundary: an explicit, testable statement of what the system will not answer. A refusal boundary is a control, in precisely the sense your control framework already uses that word. It constrains behavior, its coverage can be stated in advance, and it can be tested on every change. Raw retrieval has no refusal boundary, so every out-of-scope question gets a confident answer. That is not a quality gap. That is an unbounded one.

Article 10 never said training data

The EU AI Act's Article 10 requires that datasets be "relevant, sufficiently representative, and to the best extent possible, free of errors and complete" for their intended purpose. It requires data governance practices "appropriate for the intended purpose," covering design choices, collection, preparation, bias assessment, and the identification of data gaps. It requires attention to characteristics "particular to the specific geographical, contextual, behavioural or functional setting" in which a system will be used.

Nearly every compliance program scoped those words to training data, because training data is what model builders worry about. But if you deploy a frontier model, you never trained anything. The dataset that determines what your system says is the one it reads at answer time: the glossary, the semantic layer, the graph. Article 10 does not name those artifacts, and the argument does not need it to. The obligation's language describes your context layer exactly as well as it describes a training corpus. Scope the requirement to data you never touched, and the data that produces your outputs (the layer where three benchmarks located your accuracy variance) sits outside your compliance program entirely.

The context layer needs an owner

Here is the asymmetry that matters, and it has nothing to do with capability. You cannot version a frontier model. You cannot diff this quarter's release against last quarter's, read its change record, or compel its builder to disclose much; the transparency numbers are moving the other way. The context layer is the opposite in every particular. A definition, a semantic layer, a graph: these are artifacts. You write them. You change them. You can know them completely.

Which means the context layer can be governed the way you already govern any control that matters. A named owner who answers for it. A version number and a change record, so the calculation behind March's board pack is retrievable in September. A coverage statement declaring which questions are in scope, which is what makes a refusal boundary possible at all. A test suite run on every change; the paired benchmarks in this post are nothing more exotic than that. And an attestation: a person who signs, on a date, that what the model reads is accurate, current, and complete for its intended purpose. Article 10's adjectives, with a name under them. None of this requires new machinery. It is the same discipline your access reviews and your change advisory board already run every quarter.

You would never let an application ship with an unversioned, unowned, untested access control policy. You are shipping one right now and calling it a prompt.

The gap was the whole product

Return to the April paper one last time. One hundred questions, three frontier models, two clusters. Everything the industry prices, benchmarks, debates, and procures lives inside those clusters, where the models could not be told apart. The 17 to 23 points between the clusters came from a document. That gap was the entire product. Nobody bought it. Nobody owns it. Nobody signs for it.

Sooner or later, one of these systems will produce the wrong answer at the wrong moment, in a filing or a forecast or a client letter. The review that follows will not ask which model you licensed. It will ask what the model was given to read, which version, approved by whom. Your organization can name its model today. If it cannot answer the other three questions, the review ends where this post began. The model comes out clean. It was never the variable.

Related governance guides