Beta v1.10.0|Methodology v2.1.0

Study 02 · data collected 19 June to 9 July 2026 · methodology v2.1.0

The Re-Read Tax: what happens when you stop feeding an LLM its own history

In a chained pipeline, every step re-reads the steps before it, and the tokens read come to dwarf the tokens written. The obvious remedy is to carry summaries forward instead of full text. The obvious risk is that the summaries quietly starve later steps of what they needed. We measured which one actually happens.

The question came from Rich Wasserman's The 80/20 Rule: Tokenmaxxing Edition, which found one interactive account reading roughly 255 tokens for every token it produced, with re-reading consuming 63% of its budget. Wasserman is careful that 255:1 is a volume ratio, not a cost ratio, since re-reads bill cheaply per token. That left the practical question open: if you compress the re-reads, what do you lose? Nobody had published a controlled answer on long-form work, so we ran one.

The workload is SeanPropApp, an 18-module orchestrated business proposition analysis. It is a demanding test of context compression precisely because it is orchestrated: eighteen steps run in a fixed order, each one reading what the steps before it produced, so any information a digest drops has fifteen or more chances to be missed downstream. The four companies analysed are Tesla, Pendo, DocuSign and Cursor, the same four published as worked examples, so anyone can read a finished analysis end to end before deciding how much weight to give these numbers.

The structure is not specific to this product. Any pipeline that chains a model across many steps, each step re-reading its predecessors, faces the same trade: legal review chains, research syntheses, diligence workflows, multi-stage agents. The findings below are about that structure, and everything needed to re-run them against a different pipeline or a newer model is published.

3,456module outputs generated
13,824blind judge scores
2judges, different vendors
8,065files published open

Four models × four companies × four context strategies × three replicate runs × 18 modules. Every output was scored blind on Insight, Quality and Internal Cohesion by two judges from different vendors, Claude Opus 4.8 and GPT-5.5, so no model family grades its own habits kindly. The 13,824 figure is 3,456 outputs scored by 2 judges on the 2 criteria this study reports, Insight and Quality; Internal Cohesion is a separate whole-run audit and is counted separately. Data collection ran 19 June to 9 July 2026: Claude Opus 4.8 and Sonnet 4.6 from 19 June, Haiku 4.5 from 22 June, Sonnet 5 on 9 July, the week it became available. Models released after that window are not in this study, which is why the fixed inputs are published.

The four token compression strategies under test

Full · controlevery earlier module in full text
Core-Keptsix load-bearing modules full, the rest as ~220-word digests
Dependency-Awareonly each module's declared dependencies full
Compact Alleverything digested. The stress test

Finding 1. The thinking survives compression. The polish does not always.

This is the result that matters, and it is the one most likely to be assumed rather than measured. Insight, the measure of original and actionable analysis, is statistically equivalent to uncompressed under both moderate strategies. That is a positive equivalence verdict, not merely an absence of significance: the effect is proven smaller than a quarter point in either direction. So roughly a third of the tokens can go without the analysis getting less insightful. If you were waiting for permission to stop paying the re-read tax, this is it.

Quality, meaning rigor and precision rather than novelty, is where the bill lands. Core-Kept is free on both measures. Dependency-Aware costs 0.20 points of Quality pooled across models, and that penalty holds even with the most sensitive model excluded, so it is a real property of the strategy rather than one model's quirk.

The exception is the important part: Claude Sonnet 5 pays a significant Quality penalty under every strategy tested, from −0.20 under the gentlest compression to −0.40 under the harshest. No other model does this. Switch the selector below to Sonnet 5 and the picture inverts, three solid markers where every other model shows hollow ones. Compression sensitivity does not track model strength or model age, which means it is not something you can reason your way to. You have to test the model you actually run.

Model

Figure 1. Quality effect versus Full context, Claude Opus 4.8 · points on a 0 to 10 scale, 95% intervals

This chart is Quality (rigor and precision), not Insight. Insight is equivalent to uncompressed under both moderate strategies on every model, which is why it has no forest plot: there is nothing to show. Quality is where the movement is.

-0.75-0.50-0.25+0.00+0.25+0.50no changeCore-Kept-0.10 [-0.47, +0.27]Dependency-Aware-0.16 [-0.69, +0.37]Compact All-0.09 [-0.69, +0.51]
▼ worse than Full · ▲ betterFilled marker: established at 95%Hollow: interval crosses zero, not established

A whisker that crosses the "no change" line means the study cannot tell that effect apart from zero. Wide whiskers are honest: with four companies as the independent units, the intervals are wide by construction.

Table 1. What each strategy costs, Claude Opus 4.8 · tokens per analysis, US dollars at list price
MeasureFullCore-KeptDependency-AwareCompact All
Tokens in (read)327,943255,600210,977194,676
Tokens out (written)52,81652,33353,71051,896
Est cost per analysis$2.96$2.50$2.26$2.13
Cost savingn/a-15.5%-23.6%-28.0%
Token saving (volume)n/a-19.1%-30.5%-35.2%

Read the two together: the chart says whether quality moved, the table says what the move bought. The cost saving is always smaller than the token saving, for the reason in Finding 2.

Finding 2. Reads dwarf writes by volume. Writes still set most of the bill.

This pipeline reads two to six times more tokens than it writes, nearly all of it re-reading its own past, which is exactly the pattern that makes compression tempting. But output prices at roughly five times input, so on three of the four models the majority of the bill is what the model wrote, not what it read.

The practical consequence is a ceiling. Compression only acts on the read side, so the input share of your bill is the most it can ever save you. That is why tokens fall 26 to 31% under Dependency-Aware while cost falls only 15 to 24%. Before optimising context, check this ratio for your own workload: if you are output-heavy, a more concise model will beat any compression strategy.

Figure 2. Share of estimated cost that is output, by model · Full context

Claude Opus 4.845%Claude Sonnet 562%Claude Sonnet 4.670%Claude Haiku 4.564%

Only Claude Opus 4.8, which writes least, has input as the majority of its bill, and it is therefore the model compression helps most. Verbosity sets the bill more than list price does: a cheaper model that writes twice as much is not cheaper.

Finding 3. The executive summary is the fragile step.

The module people actually read first is the one maximum compression damages most. Under Compact All the executive summary loses real quality on two models, and these are among the sharpest established Quality effects in the study. (Some individual modules show larger established Insight swings, so this is the sharpest summary-level Quality result, not the single largest number anywhere in the data.)

Core-Kept shows no established loss on the summary (pooled +0.10, interval crossing zero), which is the reason to prefer it here: it is the strategy under which the damage does not appear. That is weaker than saying it repairs the summary, and the difference matters. A plausible reading is that the summary synthesises largely from the six core modules Core-Kept keeps whole, but we did not test that mechanism directly.

The generalisable version, offered as a design heuristic rather than a measured result: in any chain, identify the steps whose input is the work, and exempt them from your compression policy rather than compressing uniformly.

Figure 3. Executive summary quality by strategy · score 0 to 10, established effects marked

Claude Opus 4.8Full7.79Core-Kept7.92Dependency-Aware7.33Compact All7.38 *Claude Sonnet 5Full7.67Core-Kept7.83Dependency-Aware7.33Compact All6.96 *
Bars are absolute scores, not deltas* established at 95% versus Full

Claude Sonnet 5 drops 0.71 points under Compact All (95% confidence interval, or CI, −0.84 to −0.58) and Claude Opus 4.8 drops 0.42 (−0.76 to −0.07). Under Core-Kept both are slightly above Full context, though not significantly so.

The obvious follow-up, answered: if the summary is given a guaranteed context floor regardless of the global strategy, does the cheaper Dependency-Aware strategy become viable? No. Removing the summary from the calculation barely moves Dependency-Aware's quality penalty, from −0.20 across all 17 modules to −0.199 across the other 16, still established at 95%. The summary contributes roughly 3% of that penalty; the remaining 97% is spread thinly across the other modules. A one-module floor cannot recover a sixteen-module tax.

There is a further wrinkle worth stating, because it makes the floor sound more useful than it is. In our pipeline the summary's declared dependencies are already exactly the six modules Core-Kept keeps whole, so Dependency-Aware was never thinning the summary's inputs in the first place: the two strategies hand it the same context. The damage in the chart above was measured under Compact All, which digests the core six as well. So the floor changes nothing about what we ship today. We implemented it as an explicit invariant rather than a fix: it keeps the guarantee from depending on a dependency list that a future change could quietly narrow.

This module-exclusion decomposition is not part of the main analysis script's output, so it cannot be checked against that file. Its own script is published with the corpus and recomputes every figure above from the raw data. Note also that the configuration it argues against, Dependency-Aware with a protected summary, was never actually run: the conclusion rests on the directly measured 16-module residual, not on modelling that cell.

Finding 4. A strong start is associated with a stronger analysis.

The first module in the chain is a framing step: before any analysis happens, the model establishes what the company is, what market it plays in, and what question the rest of the analysis is answering. Every one of the seventeen modules after it builds on that framing.

How much insight the model puts into that first step tracks the insight of everything downstream. The correlation is +0.59 across 48 runs (t = 4.91, df = 46), comfortably established. Both sides of that relationship are the Insight score: this is first-module Insight against downstream Insight, not Quality.

Two honest limits. It is a correlation: we never forced a weak opening and watched the rest degrade, so the direction of causation is not established here. And we have not run the comparison that would let us rank it against the compression and model-choice effects on a common scale, so treat it as a strong association worth acting on, not as a measured winner.

Table 2. First-module Insight against downstream Insight · Pearson correlation across 48 runs
RelationshiprtdfEstablished at 95%
First-module Insight to downstream Insight+0.594.9146yes

That framing step also varies run to run on identical inputs, because that is how sampling works in these models, not because the pipeline is broken. Put those two facts together and you get the most actionable suggestion in the study: the first step looks like a high-leverage place to spend effort. Generate it more than once and keep the best, check it before proceeding, or run that single call on a stronger model. That the association is strong does not prove the intervention works, so treat it as the next thing to test rather than a settled result.

Finding 5. Compression can make a run more self-consistent, on some models.

Internal Cohesion asks one question: does the finished analysis contradict itself? A separate audit pass reads each completed run and checks later modules against that same run's earlier modules, logging drifted numbers, flipped positions and incompatible claims, and rolling them into a score out of 10. It is a measure of whether the work holds together as one document.

It is the study's only measured improvement, and it splits by model. Under Core-Kept, Claude Opus 4.8 becomes meaningfully more self-consistent while Claude Sonnet 5 becomes less so. Same treatment, opposite outcomes, both established at 95%. A plausible reading is that digests act as a cleaner running record of what the analysis has already committed to, easier to stay faithful to than a long transcript, and that this helps a model that uses the record well and hurts one that needs the detail. That reading is interpretation, not a measured mechanism.

What it is not is a free win: pooling these two models would cancel both effects to roughly nothing and hide a real result in each direction. It is a reason to test on your own model rather than to adopt a default.

Figure 4. Internal cohesion change, Core-Kept versus Full · points on a 0 to 10 scale, 95% intervals

-1.00-0.75-0.50-0.25+0.00+0.25+0.50+0.75+1.00+1.25no changeClaude Opus 4.8+0.58 [+0.08, +1.09] establishedClaude Sonnet 5-0.58 [-0.85, -0.32] establishedClaude Sonnet 4.6-0.50 [-1.03, +0.03]Claude Haiku 4.5+0.00 [-0.75, +0.75]

Claude Opus 4.8 +0.58 (95% CI +0.08 to +1.09) and Claude Sonnet 5 −0.58 (−0.85 to −0.32) are both established. The Sonnet 4.6 and Haiku 4.5 intervals cross zero and are not.

Module by module

The aggregate findings above are what the study establishes. This table is what sits underneath them, published because averages can hide the modules that move. Read it for pattern, not proof: with four companies per cell, only 9 of 204 module-level cells clear 95%, and they are marked.

Model
Table 3. Insight by module and strategy, Claude Opus 4.8 · Full is an absolute score, strategies are signed changes
ModuleFullCore-KeptDependency-AwareCompact All
Overall Insight (17 modules)7.5-0.06-0.06-0.12
Tokens in / out (thousands)328 / 53256 / 52211 / 54195 / 52
Est cost per analysis$2.96$2.50$2.26$2.13
Initial Framing (SETUP)7.0-0.29+0.17+0.50
Market Sizing6.0-0.25+0.04+0.17
ICP7.2+0.08-0.25-0.38
Jobs To Be Done7.7-0.08+0.17-0.08
Competitive8.0-0.25+0.04-0.12
Positioning7.8+0.12-0.12+0.17
Elevator Pitches7.1+0.08+0.17+0.04
Customer Quotes7.5-0.25-0.25-0.50
Press Release7.8+0.00-0.17+0.00
Discovery7.9-0.46-0.33-0.29
Gap Analysis7.4+0.58+0.46+0.17
Value Stack7.8-0.04-0.04-0.17
Moat7.9-0.17-0.04-0.21
Unit Economics7.4-0.25-0.29-0.25
Go-To-Market7.7-0.04+0.17+0.08
Top Questions7.5+0.12+0.08-0.29
Five Ideas7.9-0.25-0.17-0.12
Exec Summary7.7+0.04-0.42-0.29

The three shaded rows are the whole-analysis totals; the rest is per module. In the totals, the three strategy columns are changes against Full for Insight and absolute values for tokens and cost. First column is the absolute Insight score under Full context. * marks the few cells established at 95%. Initial Framing receives no carried context, so it is shown for reference and excluded from the 17-module aggregates.

Suggestive patterns below the 95% bar

Reported because leaving them out would flatter the study. These did not clear 95% and are not findings, but they are where we would look next.

Table 4. Patterns that did not reach significance · points on a 0 to 10 scale, 95% confidence interval
PatternEffect95% confidence intervalStatus
Fact-heavy modules under Dependency-Aware (quality)-0.23[-0.45, +0.00]touches zero
Fact-heavy modules under Dependency-Aware (insight)-0.22[-0.49, +0.04]not established
Claude Haiku 4.5 gains under Core-Kept (insight)+0.32[-0.06, +0.69]not established
Generative modules under Dependency-Aware (quality)-0.26[-0.56, +0.03]not established

The first row is the most interesting casualty. It reads as a clean story, that fact-heavy work is where compression bites, and the interval simply does not support it.

The result that changed our mind, and what it stopped us doing

We expected compression sensitivity to track model capability. It does not, and the way it fails is the most useful thing in this study.

Claude Sonnet 5 is the only model that pays a measurable quality penalty, and it pays one under every strategy we tested. Claude Haiku 4.5, the cheapest and weakest model in the set, shows no penalty at all under Core-Kept: its point estimate is positive (+0.22). Claude Sonnet 4.6, the model Sonnet 5 replaced, shows nothing significant either. Neither does Claude Opus 4.8 at the top of the range. The sensitivity is non-monotonic in both directions: it is not the weak models that break, and it is not the strong ones. It is one model in the middle, and it happens to be the newest.

Table 5. Quality change versus Full context, every model and strategy · points on a 0 to 10 scale
ModelCore-KeptDependency-AwareCompact All
Claude Opus 4.8-0.10-0.16-0.09
Claude Sonnet 5-0.20 *-0.31 *-0.40 *
Claude Sonnet 4.6-0.04-0.20-0.08
Claude Haiku 4.5+0.22-0.15-0.08

* established at 95%. Every unmarked cell has an interval crossing zero. Only one row in this table contains a result at all.

That single row is why we did not generalise. If the penalty had scaled with model size, price or age, we could have reasoned about an untested model and been roughly right. It does not scale with anything we can observe from the outside, which means there is no property of a model we can inspect to predict whether compressing its context will cost us rigor. The only way to know is to run the experiment on that model.

So we did not apply these findings past the models that produced them. Every result here is from four Anthropic models. We run OpenAI too, and no OpenAI model has been through this study, so OpenAI runs get full context and pay the higher bill until we have measured them. One in four of the models we have measured is compression-sensitive, and that is too high a base rate to assume our way past. It would also be a strange thing to publish "you have to test the model you actually run" and then ship compression to a vendor we never tested.

What we run in production, and why

Concretely, and as of the release that shipped alongside this page: we run Core-Kept, plus an explicit floor guaranteeing the executive summary at least the Core-Kept view whatever the global setting is (redundant today, as above, and kept so it cannot become false by accident). On Claude Sonnet 5 we run Full context and accept the higher bill, because that model loses measurable quality under every compression strategy we tested. On every OpenAI tier we also run Full context, for the reason above.

We do not run Dependency-Aware anywhere, even though it saves more. Measured against Core-Kept, the extra saving is 6 to 34 cents per analysis depending on model, against a rigor penalty of about 0.2 points that the floor does not remove. For work that informs a real decision, that is the wrong side of the trade. Your own answer may differ, which is the point of publishing the numbers rather than only the conclusion.

What this means in practice

Six things a reader can apply to their own chained pipeline, whether or not they ever use this app.

  1. Compressing carried context is close to free on insight, and not free on quality. Treat any "compression is lossless" claim as needing a per-metric answer.
  2. Protect the synthesis step. The module that summarises everything is the one that suffers most from having less to work with.
  3. Look hard at step one. Its Insight score is strongly associated with downstream Insight (r = +0.59), more so than we expected going in.
  4. Compression sensitivity does not track model strength. The strongest model here shows no penalty and improves in self-consistency; a newer mid-tier model pays under every strategy.
  5. Verbosity sets the bill more than list price does. A cheaper model that writes twice as much is not cheaper.
  6. Do not be penny wise and pound foolish. The entire full-context premium here is well under a dollar per analysis, and the gap from cheapest to strongest model is a few dollars. If the output informs a decision worth millions, optimising the model bill is the wrong place to save.

Scope and limitations

Four companies, all technology sector, investor persona, one methodology version. Effects are pooled per company, so n = 4 and the intervals are wide by construction; that is an honest reflection of four independent units, not a presentation choice. Run duration was not instrumented, so latency is not reported rather than estimated. Claude Fable 5 launched after this collection window and is not included; its runs are in progress and will be published only once both judges have scored them. Judge identity is held constant across all models, so between-model comparisons are not confounded by scoring.


Appendix A. Experiment design

Workload. An 18-module proposition analysis run end to end per company: initial framing, market sizing, ideal customer profile (ICP), jobs to be done, competitive, positioning, elevator pitches, customer quotes, press release, discovery, gap analysis, value stack, moat, unit economics, go-to-market, top questions, five ideas, executive summary. Modules run in fixed order; each receives prior-module context per the strategy under test. To see what one finished analysis looks like, read a worked example: the four published there are the same four companies used in this study.

Factors. 4 companies (tech, B2B) × 4 models (Claude Haiku 4.5, Sonnet 4.6, Sonnet 5, Opus 4.8) × 4 strategies × 3 seeds × 18 modules = 3,456 scored outputs. Three seeds per cell means every comparison averages over run-to-run variation rather than resting on a single trajectory.

Digests. About 220 words, structured, preserving every figure, entity, definition, decision and judgment verbatim while dropping surrounding prose. Produced by the same model that produced the original output.

Core modules (the set Core-Kept holds in full): initial framing, market sizing, ICP, jobs to be done, competitive, positioning. Task-nature grouping used in the group analysis: fact-heavy (market sizing, ICP, competitive, discovery, unit economics), synthesis (positioning, gap analysis, value stack, moat, go-to-market, top questions, executive summary, jobs to be done), generative (pitches, quotes, press release, five ideas). Initial framing has no prior context and is excluded from treatment comparisons, leaving 17 analysed modules.

Appendix B. Scoring criteria in full

Insight (0 to 10). Density of original, non-obvious, actionable analysis. High scores require ideas a competent generalist would not produce by default: non-obvious connections, quantified judgments, decision-relevant implications. Generic restatement scores low regardless of polish.

Quality (0 to 10). Rigor and decision-usefulness of the execution: completeness against the module's brief, precision of figures and definitions, internal logic, usability for a real decision. Explicitly not an overall grade and not novelty.

Internal Cohesion (0 to 10). Whole-run audit: do later modules contradict earlier ones in the same run? Incidents are logged by type and severity and rolled into the score.

Judging. Every output was scored blind by Claude Opus 4.8 and GPT-5.5, presented in randomised arm order with no strategy labels; the blended score is the mean of the two. Internal Cohesion is one audit score per run.

Appendix C. How the statistics work

Clustering. Outputs within a company are correlated, so the effective sample is four companies, not 3,456 outputs. All significance testing collapses to company-level means and a t-test with df = 3. This is deliberately conservative.

One confidence standard. Every claim is tested at 95% (two-sided t, df = 3, t* = 3.182; correlations at df = 46, critical t = 2.01). There is no second class of weaker claims; anything that does not clear 95% is labelled suggestive and quarantined in its own section.

Difference versus equivalence. A non-significant difference is not evidence of no effect, it may just be low power. "Free" is claimed only on a positive equivalence verdict (two one-sided tests, or TOST, at alpha 0.05): the 90% CI must sit entirely inside a negligibility margin of ±0.25 points, with ±0.50 as a sensitivity check. Where neither difference nor equivalence is established, the verdict is inconclusive.

Pooling. Pooled effects average the four per-model deltas at equal weight and are used for inference, since that is the highest-powered view. Presentation tables stay per-model because equal-weight pooling is not usage-weighted and the per-model differences are themselves a finding.

Zero-variance cells. In two cells every company moved by an identical amount, making between-company variance zero and the t-statistic degenerate. These are flagged in the tables and claimed only as directional.

Appendix D. Explore the experiment data sets

The complete corpus is public: 8,065 files covering every module output, both judges' verdict files, measurements.jsonl token and cost rows, and the internal cohesion audits, for four models × four companies × three seeds × four strategies. The analysis script is published alongside and reproduces every figure on this page from that corpus. Corrections to earlier published versions are recorded in the open rather than silently amended.

Explore the experiment data sets

The corpus is open for reuse, not just for verification. It holds the same analysis run three times on identical inputs across four model versions, which makes it a ready-made test bed for questions this study did not ask: how much a model varies against itself, how that variance shifts between versions, and how a long analytical chain drifts as it grows. Re-run our statistics, or point the same fixed inputs at a model that did not exist when we ran this.

github.com/seanomich/seanpropapp-benchmarks

Beta Feedback