Abstract
We measured how much a crate's name alone tells an AI model about where the crate belongs in our architecture. Models were shown nothing but crate names and asked to place each in its layer. With today's names, the best model got 59% right and the stronger model only 39% — worse, both models systematically read the primitives- brand as a claim that a crate is foundational, which is wrong for most of them: the current prefix does not just fail to inform, it actively misleads. With names that carry their layer as a prefix, both models scored 100%. The honest caveat: the 100% is partly by construction (the answer is in the name) — but that is exactly the point being measured: a truthful name needs zero extra context. The measured cost of today's names is a 41-61% classification failure rate that must be paid back with registry context on every use.
Diagrams
flowchart LR
L[layers.toml truth] --> SAMPLE[41 crates, stratified,<br/>deterministic]
SAMPLE --> A[Condition A:<br/>current names]
SAMPLE --> B[Condition B:<br/>layer-prefixed names]
A --> H1[haiku: 24/41] & S1[sonnet: 16/41]
B --> H2[haiku: 41/41] & S2[sonnet: 41/41]
H1 & S1 & H2 & S2 --> V[verdict: current names<br/>misinform; the brand reads<br/>as a foundational claim]
Method
Sprint 4.11 (corpus e2-name-comprehension, deterministic and rerunnable): stratified sample of 41 crates (up to 4 per layer, alphabetical) from layers.toml; condition B renames mechanically (<layer>-<suffix>, brand prefix stripped); one batched call per condition per tier (claude-haiku-4-5-20251001, claude-sonnet-5); the prompt carries ONLY the names and the closed layer list, UNKNOWN allowed; accuracy scored against layers.toml.
Results
| condition | model | correct | seconds | |---|---|---|---| | current | haiku | 24/41 (59%) | 36 | | current | sonnet | 16/41 (39%) | 7 | | tier-true | haiku | 41/41 | 11 | | tier-true | sonnet | 41/41 | 6 |
Findings beyond the headline:
1. The brand misleads. 28 of 82 current-name answers were "foundation" — the models read primitives- as a classification claim. The failure is not absence of signal; it is a false signal. 2. No honest refusals. Zero UNKNOWNs despite the option; both tiers guessed. Sonnet additionally answered with a layer not on the allowed list six times ("observability") — a contract violation the batched format did not police per-line; noted for E-series protocol hardening. 3. Condition-B circularity, stated plainly: the layer-prefixed name contains its answer. That is not a flaw in the experiment — it is the thesis: when the name is the classification, the model needs no registry in context. The measured quantity is condition A's failure rate — the context tax of the current naming.
Telemetry
run_measurement series e2-name-comprehension-2026-08-16: four accuracy rows. Wall clocks above. Full per-crate answers in the run's TSV.
What follows
The comprehension side of the primitive-rename trade is measured: today's names cost 41-61% name-only accuracy and actively assert a false layer. The cost side (the crate_desired_state mock: rename blast radius across this and consumer repos, exported worktree build) is the remaining measurement; the ruling then trades two numbers.