D285 - The shape that spells a verb over two learned nouns
decided · 2026-08-26 ·
sceKernelReserveVirtualRange, and the 104 names behind
it
The name that opened the image+0xafc959 wall came out of
the string harvester, not the generator, and the reason is worth stating
precisely: every word it needs was already in the
vocabulary. Reserve is a verb, Kernel
a module, Virtual and Range both learned. What
did not exist was a pattern placing a verb before two learned
nouns.
So this is not a vocabulary gap and no wordlist change would have
helped. tests/shapes.rs already measures exactly this, and
ranks the shape second of every shape the corpus wants
and the grammar cannot spell:
145 +2577554% prefix + learned + learned + learned + learned
105 + 99% prefix + module + verb + learned + learned <- this one
97 +1175375% prefix + module + verb + learned + learned + learned
105 names for +99% - roughly doubling the sweep. The one above it would unlock forty more and costs twenty-five thousand times the whole space, which is the difference between a shape worth adding and a shape that says the name has to come from somewhere else.
tail is omitted, following D261: tail holds
the empty string, so a shape carrying it is a strict superset of the
same shape without, at about fifteen times the candidates. The name that
prompted this carries no suffix, so the cheap version is what the
evidence asks for.
It does not invalidate a single existing record, and the
first draft of this entry said it would. A generated record is
{pattern, index}, and re-derivation resolves the pattern
by name and asks it for its own index - so a new pattern adds a
new enumeration and leaves every other one exactly where it was.
Measured rather than reasoned: thirty-three names were unaccounted
before this shape was added and the same thirty-three after it.
What does renumber is growing a vocabulary
an existing pattern draws from, which is what happened earlier the same
day - posix_vocabulary splitting on underscores took it
from 2,923 words to 3,741, and every index built from that list moved
(D213). Worth separating, because the two changes feel identical and
only one carries a repair bill:
| change | effect on existing records |
|---|---|
| add a pattern | none - a new enumeration beside the others |
| grow a vocabulary | every index in every pattern using that list |
The cost a new pattern does carry is on
--repair itself, which walks each pattern's whole
enumeration looking for a name: another shape is another space to search
before giving up.