smoking mirror / findings / the-lineage-question

What a Point Release Actually Changes

Brendan’s hypothesis, from the divergence numbers: Opus 4.1 is a finetune of 4.0, 4.6 of 4.5, and 4.8 of 4.7 — not fresh pretrains. The pairs sat too close together for anything else. This page is what happened when we tried to measure it, including the part where the first answer was wrong.

First we needed a ruler

“Too close together” is meaningless without knowing what far apart looks like on this instrument. So we measured two things that are definitely different models, using the same metric — of the probes both models committed on, how often did they choose opposite:

comparison both committed disagreed rate
Opus 4.1 vs Opus 4.5 — across a generation boundary 1,637 138 8.43%
Sonnet 4.6 vs Opus 4.6 — across model families 2,539 217 8.55%

Two independent routes to different model, agreeing to within 0.13 points. 8.4–8.6% is the ruler. Everything below is read against it.

Against that ruler the three hypothesised pairs do sit low — 4.0→4.1 at 0.38%, 4.5→4.6 at 3.50%, 4.7→4.8 at 5.18% — and one pair Brendan did not name lands squarely on the line: Opus 4.6→4.7 at 8.42% is not a finetune. It is a generation boundary, and the instrument says so without being asked. His three guesses were the right three.

Then the best number turned out to be an artifact

4.0→4.1 measured 0.38% — nine times lower than anything else, and it looked like the cleanest confirmation in the set. It was a selection effect, and we published it before catching that.

Opus 4.1 abstains on 581 of 863 probes in the v2 scan. So “the probes both models committed on” is not a sample of the model’s preferences. It is the small, easy subset the silence itself chose — and concluding same mind from it is concluding from the questions 4.1 was willing to answer.

The test that breaks it needs an envelope where 4.1 does not go quiet. There is one, and it had never been run cleanly: the original 4.1 code-envelope batch used the broken v1 envelopes, which ended # preference == " and read as an inference prompt rather than a completion. That run produced 15,739 retries; the fix landed at 23:15 on 17 June and 4.0 was re-run on it at 23:31. 4.1 never was. The replication arm exists to close exactly that gap: 24,161 replays of the byte-identical corrected requests.

In code, 4.1 does not go quiet at all

Across 14 code envelopes in 7 languages:

4.0 commits 4.1 commits flips
range across all 14 envelopes 94.3–98.9% 95.8–98.6% 4.62–10.31%
minimal_python 98.3% 96.6% 10.31%
minimal_go 98.3% 97.1% 4.62%

Both models commit at essentially the same rate. The two-thirds withdrawal is not a property of 4.1 — it is a property of 4.1 in prose framings. And where 4.1 speaks freely it disagrees with its own predecessor at 4.62–10.31%, with minimal_python past the different-model line.

The finetune signature was measured exactly where the model had gone quiet.

The host is not doing it

The replay is served by Amazon Bedrock; the 4.0 data is Anthropic first-party, because Anthropic has retired 4.1. That puts a provider change inside the pair being measured, so it needed its own control: the same model on both hosts, identical probes.

envelope 4.1 Anthropic vs 4.1 Bedrock
english_strict 0.24%
python_typed 3.15%

Subtract roughly three points from the code numbers and they are still large. And english_strict moving 0.24% across hosts settles a separate worry: an early smoke test had suggested that envelope was host-sensitive, and at scale it is not.

It does not replicate in Sonnet

The scan already held Sonnet 4, 4.5 and 4.6, so the second lineage cost nothing to check:

pair rate
Sonnet 4 → 4.5 4.45%
Sonnet 4.5 → 4.6 10.60%

Sonnet 4.5→4.6 is the largest divergence in the entire table — larger than comparing Sonnet to Opus. Whatever Opus point releases are, Sonnet’s are not the same operation. The envelope signature does not carry either: json_schema is negative in all three Opus updates and positive in both Sonnet ones.

So this is a fact about the Opus line, not about how Anthropic ships models.

What the numbers support, and what they do not

Supported. Brendan named the right three pairs; a fourth pair he did not name is measurably a generation boundary; and the withdrawal in 4.0→4.1 is real, large, and confined to prose framings while code framings hold at 94–99%.

Not supported. That 4.1 is “the same mind with its voice withheld” — that was the artifact. That the pattern generalises beyond Opus — it does not. And size claims from commit rate: 4.0 and 4.1 are the same model at the same price with commit rates differing 2.2× (610 vs 282 blank-distance), so commit rate is a policy dial, not a parameter count. Price is the size signal; commitment is not.

Scope limits on the instrument

The classifier behind the code table matches a response against the two candidate words. It reads bare-word answers only, and returned 0.000 commitment for chinese_casual, json_schema, french_casual and english_casual. That is the parser failing, not those models abstaining — those envelopes answer in Chinese, in JSON, and in prose. Every number on this page is from python_typed, english_strict, or the 14 code envelopes. A classifier that reads all six is open work and blocks any wider claim.

The provider control covers two envelopes, not fourteen; the code figures borrow python_typed’s 3.15% as an estimate for envelopes it was not measured on.

And the ruler itself rests on two comparisons. Two agreeing routes is better than one and is not the same as a distribution.

generated · verifiable · source: reports/2026-08-30-the-lineage-question/ — the canonical report and its data. This page is a VIEW of that report; the report is the record. Report -> page, never the reverse. · commit 199e1653b4