# Variety Is Length
**Why a Fixed Lexical-Diversity Threshold Measures Document Size, and What That Does to a Live Instrument**

Diego Rincón
Independent

Unpublished working paper — 2026-07-20

---

## Abstract

The algebraic connectivity of a discourse graph — the Fiedler value $\lambda_1$ of the normalised Laplacian over sentences — is reported by this site's `/clarity` and `/studio` instruments as a reading of how tightly a text hangs together. It is confounded by lexical repetition: because the sentence graph is built from shared content words, any process raising vocabulary reuse raises $\lambda_1$ whether or not the text is better organised. This paper establishes the confound causally and observationally, shows that the obvious correction fails, and then finds that the correction actually deployed fails for a different and more interesting reason. Type-token ratio, the variety measure used to gate the classifier, is itself strongly length-dependent: across 57 papers $\text{corr}(\text{length}, \text{TTR}) = -0.695$, and truncating a single document to increasing lengths walks its TTR from 0.762 at 400 words to 0.475 at 2000 with no change in content. A fixed TTR threshold is therefore a length threshold above roughly 800 words. The live gate at 0.55 classifies 44% of this site's own corpus as "circling the same thought", including the one paper here with a DOI. The defect is not the threshold's value; it is that no fixed value of a length-dependent statistic can work across a corpus of varying length.

## 1. The confound, causally

Holding structure fixed — 11 sentences, unchanged syntax — and progressively replacing content words with a single repeated token, so that only lexical variety falls:

| content words replaced | TTR | $\lambda_1$ |
|---|---|---|
| 0% | 0.934 | 0.270 |
| 20% | 0.770 | 0.379 |
| 40% | 0.590 | 0.402 |
| 65% | 0.377 | 0.431 |
| 80% | 0.246 | **0.991** |

$\text{corr}(\text{TTR}, \lambda_1) = -0.800$. Degrading a coherent passage into near-pure repetition takes its connectivity score from 0.27 to 0.99. Nothing about the argument changed; only the vocabulary did. This is a manipulation, not an association, so the direction of causation is not in question.

## 2. The confound, observationally

The synthetic manipulation is harsher than anything real prose does, so the same question was asked of 84 documents written as this site's content and not for this test — 57 papers and 27 course modules.

- $\lambda_1$: mean 0.323, sd 0.024, range 0.285–0.453
- TTR: mean 0.566, sd 0.062, range 0.433–0.727
- length: mean 1326 words
- $\text{corr}(\text{TTR}, \lambda_1) = -0.408$, $t = -4.04$, $df = 82$
- $\text{corr}(\text{length}, \lambda_1) = 0.077$

The effect survives in natural writing at $p < 0.05$, and it is not a length artefact acting on $\lambda_1$ directly. The ranking is the concrete form: the five highest-scoring documents have TTR 0.43–0.59, the five lowest have 0.57–0.71. **On its own corpus, the metric rates vocabulary-reusing documents as more coherent.**

## 3. The obvious correction does not work

The natural repair is to weight by variety: report $\lambda_1 \cdot \text{TTR}$. It fails, and it fails its own test rather than an imposed one. Asked to reorder four natural samples:

- by raw $\lambda_1$: ruminative > technical prose > disconnected list > tight argument
- by $\lambda_1 \cdot \text{TTR}$: ruminative > technical prose > disconnected list > tight argument

Identical. Ruminative prose still ranks first, still roughly two to one ahead of a tight argument. Across the degradation series the correlation moves from $-0.800$ to $+0.520$ — the product does not remove the variety dependence, it inverts it. Multiplying a confounded quantity by the confounder does not decontaminate it.

## 4. What is deployed, and why it is different

The live classifier (`lib/reading.ts`) does not multiply. Variety is a **gate**: below `CIRCLING_VARIETY = 0.55` a text is `circling` whatever its connectivity; above it, high connectivity reads `connected`, otherwise `loose`.

This is the better design, and on the case that motivated the whole investigation it gets the right answer where the product gets the wrong one — ruminative prose (TTR 0.533, $\lambda_1$ 0.986) is caught as `circling`, having ranked *first* under $\lambda_1 \cdot \text{TTR}$.

It is caught by 1.7 percentage points. And the classifier is a cliff: at fixed high connectivity, walking TTR across the gate gives `circling` at 0.54 and `connected` — the most favourable label available — at 0.55. There is no intermediate state, so a text circling the same thought with slightly wider vocabulary is told it is well connected.

## 5. The real defect: TTR is a length statistic

Type-token ratio falls mechanically with text length, because types saturate while tokens do not. This is long known in corpus linguistics and is why length-corrected measures exist at all. In this corpus:

$$\text{corr}(\text{length}, \text{TTR}) = -0.695,\quad t = -7.16,\quad df = 55$$

The within-document test isolates it from any between-document confound. Taking one paper and truncating it to increasing lengths:

| words | TTR |
|---|---|
| 200 | 0.735 |
| 400 | **0.762** |
| 800 | 0.567 |
| 1200 | 0.483 |
| 1600 | 0.476 |
| 2000 | **0.475** |

The same text, unchanged in content, crosses the 0.55 gate somewhere between 800 and 1200 words. Short, it is `connected` or `loose`; long, it is `circling`.

So the gate does not separate texts that circle from texts that do not. Above roughly 800 words it separates long texts from short ones.

## 6. What that does to the instrument

Applying the deployed classifier to 71 documents of this site's own corpus:

- **31 of 71 (44%) classify as `circling`**
- 40 of 71 (56%) classify as `loose`
- **none classify as `connected`**

The classifier has three reachable states and uses two, splitting the corpus between "circling the same thought" and "loosely connected", with its favourable verdict unreachable. The lowest-TTR documents — the ones the gate catches hardest — are:

| TTR | $\lambda_1$ | document |
|---|---|---|
| 0.441 | 0.481 | three-parallaxes |
| 0.445 | 0.499 | volitional-hierarchy |
| 0.451 | 0.464 | autodisplasia |
| 0.469 | 0.250 | **anxiety** |
| 0.472 | 0.510 | when-thought-becomes-artificial |
| 0.481 | 0.396 | vision-parallel-recursion |

These are not ruminations. *Anxiety as the Signature of Displacement* is the one paper in this corpus with a DOI, a formalism, and falsifiable predictions. It is classified as circling the same thought because it is 2000 words long and repeats the technical terms it defines — which is what a technical paper is.

## 7. What follows

The correction is not a better threshold. A fixed cut on a length-dependent statistic cannot be right for a corpus of varying length; tuning 0.55 to some other number relocates the failure without removing it.

Two options, neither tested here:

**Use a length-invariant diversity measure.** MATTR — a moving-average type-token ratio over a fixed window — is TTR computed on windows of constant size and averaged, and is therefore invariant to total length by construction. MTLD and vocd-D address the same problem differently. Any of them would let a single threshold mean the same thing at 300 words and 3000.

**Or restrict the instrument to its domain.** `/studio` reads *asks*, which are short. The gate may be defensible there and simply should not be applied to long documents. That is a scoping decision rather than a fix, and it requires stating the domain somewhere the instrument can enforce.

## Limits

- Single corpus, single author, one topic domain. TTR's length dependence is general; the specific coefficients here are not.
- The stop-word list and content-word tokenisation are this implementation's, and TTR is sensitive to both.
- $\lambda_1$ here is `analyzeText`'s `coherenceScore`, one implementation of algebraic connectivity over one graph construction. The confound is a property of building the graph from shared content words, and would not necessarily hold for a differently constructed discourse graph.
- The four natural samples in §3 are illustrative; §1 and §5 carry the causal work and §2 the observational.
- No replacement measure was implemented or evaluated. §7 names candidates from the literature; this paper does not test them.
- Nothing here shows $\lambda_1$ is uninformative. It shows it is confounded with lexical reuse, and that the deployed correction for that confound is itself confounded with length.

## Provenance

All results are reproducible from this repository:

```
python3 research/run-experiment.py spectral-repetition/experiment.ts       # §1, §3
python3 research/run-experiment.py spectral-repetition/corpus.ts           # §2
python3 research/run-experiment.py spectral-repetition/shape-check.ts      # §4
python3 research/run-experiment.py spectral-repetition/threshold-check.ts  # §6
```

Recorded output for each is committed under `research/results/`. The experiments in §1–§4 were written before this paper and, until 2026-07-20, had never been run.
