La conversación de hoy destapó que el backfill está escribiendo canon sobre un
catálogo que habla al revés: el vocabulario de nombres existe (theming §6.7 +
recipe-contract §1) pero no tiene guard, y la medición fundacional del
2026-07-01 ya dijo lo que le pasa a un canon defendido por prosa. Medido ahora
con `scripts/__names-inventory.ts` (semilla del `--names` del censo): sobre
3.333 claves públicas hay 370 desviadas en 68 componentes — 125 con el
modificador detrás, 215 con `color` como slot o segmento, 30 con ambas. Y dos
falsos amigos que NO se renombran de oficio: `*-focus-ring-color` espeja la
familia del sistema, y los `orb-color-*` de aura usan color como sustantivo.
El handoff pone el bloque como primera tarea, con el orden que evita el error
clásico: primero la FIRMA (D-TH.6, una decisión con el inventario delante),
luego el codemod value-preserving con el triple muro del precedente px/py
(renombres 1:1 en generated, censo idéntico, computed intacto en tres sondas),
y sólo entonces el guard — R-5.3 como gramática y no como lista, porque el
vocabulario de tokens es compositivo donde el de eventos era cerrado: la talla
contra las siete canónicas, el modificador cerrado y delante, el slot contra
sus tres fuentes, y la parte contra el morfo compilado como ya hace eidos-lint.
En `error` directo: tras el codemod no hay deuda que tolerar, y la rampa warn
es como estos guards mueren. Con muta-prueba antes de darlo por bueno.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>