Exhibit data not captured yet.
node scripts/rag/capture-exhibit-size-lever.js
A document’s chunk size is a dial with two failure modes, not a safety margin — go too small and you fragment a single idea across chunks, go too large and you dilute it into irrelevance. This page proves both, on four real documents, with the real chunking engine and retriever behind this site.
Chunk Size Is a Valley, Not a Gradient
Four documents, one slider — watch retrieval degrade at both ends of the size range, for two different reasons.
Bigger chunks are not safer chunks. There is a valley, and it has two walls.
Every chunk this pipeline produces is cut toward a target size — a character count the chunker aims for, with a floor and a ceiling around it so it can still respect sentence and section boundaries. That target is a dial, not a fact about the document. Drag it down and chunks get smaller, which sounds safer — smaller pieces, more precise matches — until a single idea that used to fit in one chunk gets cut in half by a boundary it never asked for. Drag it up and chunks get bigger, which also sounds safer — more context per chunk, nothing left out — until the one sentence a query is actually looking for gets buried inside several paragraphs it has nothing to do with, and its embedding gets averaged down by all that surrounding noise. There is no setting that avoids both. Every value of that dial trades one failure mode for the other; it does not make either one go away. Below, the same four documents get re-cut at three different targets, for real, so you can watch both walls of that trade in the actual numbers instead of taking my word for it.
The full pipeline is on the how this works page.
Dilution and fragmentation are the same lever
Make a chunk too large and the sentence a query is actually looking for gets surrounded by unrelated text. The chunk’s embedding is a single vector averaged across everything inside it, so the target sentence’s contribution gets diluted by its neighbors — this is the ceiling. Make a chunk too small and a single coherent unit — a holding split from its reasoning, a rule split from its exception — gets cut across a chunk boundary, so neither half carries the whole idea and the match weakens on both sides of the cut — this is the floor. These are not two separate failure modes. They are the same lever, read at opposite ends of the size axis.
The numbers below are measured, not modeled: each document was actually re-chunked at three fixed size targets, actually re-embedded, and actually queried, and the resulting boundaries, token counts, cosine scores, and ranks were captured. There is no formula here predicting where a given document’s valley floor sits — the shape of the curve is an empirical fact about that document, through this embedding model, and it does not generalize from one document to the next. That unpredictability is part of what the exhibit shows.
Pick a document, then drag the slider
Each document below carries a fixed query and a note on what to watch for as the chunk target changes. The slider has three stops — small, mid, large — each one a size point that was actually captured; it snaps between them rather than sweeping continuously, because there is nothing in between to show you.
Where Miranda fits