/packages/lang/src/schema/errors.ts. Edit the registry and run
pnpm gen:errors; CI pins this file to the generator’s output. Spec and
docs prose cite codes from this file and never invent them — when adding
a condition, take the block’s stated next free code.
Rules of the registry (from the source): a code names one semantic
condition; several throw sites may share a code, one site never emits
two; codes are NEVER renumbered or reused — a retired condition keeps
its code, marked retired below.
D01xx — lexical (tokenize)
Next free code in this block: D0105. New conditions take the next number; gaps below it are deliberate growth room, never free.
D02xx — statement syntax
Next free code in this block: D0276. New conditions take the next number; gaps below it are deliberate growth room, never free.
D03xx — reference spelling & lookup
Next free code in this block: D0331. New conditions take the next number; gaps below it are deliberate growth room, never free.
D04xx — expressions & dimensional typing
Next free code in this block: D0427. New conditions take the next number; gaps below it are deliberate growth room, never free.
D05xx — declarations & resolution
Next free code in this block: D0527. New conditions take the next number; gaps below it are deliberate growth room, never free.
D06xx — geometry & placement
Next free code in this block: D0617. New conditions take the next number; gaps below it are deliberate growth room, never free.
D07xx — graphic standard
Next free code in this block: D0717. New conditions take the next number; gaps below it are deliberate growth room, never free.