@ -7,6 +7,45 @@ reempieza o se la salta — que es exactamente cómo se auditó a ciegas el
No es fuente de verdad. Es un marcador de posición.
---
## Empieza aquí (arranque en frío)
**Dónde está.** 21 de 30 documentos leídos sobre el original (≈10.400 L de
19.000), en tres sesiones el 2026-07-30. El núcleo de arquitectura, el canon y
`theming/reference` están COMPLETOS. Ningún documento queda contaminado.
**Qué hacer ahora.** Seguir leyendo, por este orden:
1. `guides/component-guide.md` (1568) — pasos 1– 40 + reglas A1– A37.
2. `guides/component-audit.md` (369).
3. `decisions/book-deviations.md` (851).
4. El resto de theming (`gradient-finish` · `guide` · `notes` · `channels` ,
1038) y los 7 RFCs (1860).
Al acabar cada tanda: actualizar el inventario de abajo y los hallazgos.
**Las tres reglas que no se saltan.**
- **No escribir código ni doctrina hasta acabar la lectura.** Quedan ≈6.200 L.
- **Un hallazgo doc↔código se verifica CONTRA EL CÓDIGO.** Si sólo se sostiene
citando otro documento, no está verificado — así se fabricaron los tres
hallazgos falsos que costaron el revert.
- **Paso 0 antes de citar** : comprobar que la línea no la escribió una sesión
previa (`git log -L n,n+1:fichero`). El árbol está limpio hoy, verificado.
**Lo único que espera decisión tuya.** El hallazgo **nº 14** : el enum de
`data-color` en los morfos (3– 8 valores) es más estrecho que el prop `color` ,
que por la decisión de 2026-07-18 acepta 42 nombres canónicos. Todo lo demás
(10 hallazgos) es deriva doc↔código con un arreglo evidente cada uno, listado
en «Lo que NO se ha hecho».
**Estado del árbol**: `npm run docs:check` da 1 error preexistente —
`callout/README.md:23` , daño colateral del revert (hallazgo nº 21). No lo
introdujo esta lectura.
---
## La regla que lo motiva
La instrucción del usuario fue: «audita el sistema, **para ello previamente lee
@ -33,6 +72,8 @@ ediciones dentro**, así que parte de lo que se leyó como «doctrina» era la
escritura del propio agente que luego se revirtió.
Consecuencia: **esos 7 hay que releerlos en su estado actual (original).**
~~Pendiente~~ — **hecho el 2026-07-30** ; lo que sigue se conserva porque la
lección vale más que el incidente.
Dos ejemplos medidos de cómo engañó:
@ -54,7 +95,7 @@ sobre el párrafo en cuestión.
## Inventario
Estado: `LIMPIO` = leído sobre el original · `RELEER` = leído contaminado ·
`—` = sin empezar.
`—` = sin empezar. **Hoy no queda ninguno en `RELEER` .**
### Núcleo de arquitectura
@ -132,8 +173,9 @@ Salen de documentos limpios y verificados como originales:
`eidos.md` la repite (*«ActiveEidos creates no shared services»*). Las dos
puertas son `createActiveUix` / `attachActiveUix` ; el arranque de un shell
son tres líneas (`createActiveUix` → `setActiveUix` → `Soma.create()` ).
⚠️ La regla es original, pero **el fichero está marcado RELEER** por otras
ediciones — confirmar el párrafo antes de apoyarse en él.
✅ **Confirmado 2026-07-30** : el fichero se releyó sobre el original y el
párrafo es literal (`active-uix.md` líneas 61– 63). La advertencia de
RELEER que había aquí queda retirada.
2. **Overlays: `sequence: 'post'`, no `'pre'`** — `sema.md` (LIMPIO), nota
destacada: un evento de aparición cuyo provider fija `open` en el HANDLER
debe declarar `'post'` ; con `'pre'` el hold de ~240 ms gatea el montaje.
@ -169,7 +211,9 @@ Salen de documentos limpios y verificados como originales:
morfo porque su vocabulario es de eidos; esta regla dice que lo emitido debe
declararse. La distinción a resolver es si un attr estampado por el WRAPPER
de eidos (no por el provider de soma) entra en la regla — y eso exige leer
`eidos.md` completo y `theming/reference` . **NO resolver antes.**
`eidos.md` completo y `theming/reference` . ~~NO resolver antes.~~ →
**RESUELTO en el nº 13** : el attr lo estampa el wrapper PERO su prop cruza
la frontera de soma, así que va al morfo.
8. ** `data-_*` ** es el prefijo reservado para attrs privados, deliberadamente
fuera del morfo; `validateMorfo()` los RECHAZA en una declaración.
@ -192,7 +236,8 @@ Salen de documentos limpios y verificados como originales:
lista de la línea 489 es ilustrativa, no exhaustiva, y no lo incluye. La
respuesta está en ** `theming/reference.md` §25** («Color model: palette +
roles + intents»), que el propio `eidos.md` señala como canon del color
(línea 589). **NO resolver antes de leer §25.**
(línea 589). ~~NO resolver antes de leer §25.~~ → **RESUELTO en el nº 13**
(§25 leída 2026-07-30; la respuesta estaba además en §1.bis y §39).
10. ** `--*` es namespace de eidos** (§«The `--*` token rule»): *«The upper
layers (sema, soma, morfo) do NOT consume these tokens and do not use the
prefix»*. Es sobre custom properties, no sobre data-attrs, pero fija el
@ -214,7 +259,8 @@ Salen de documentos limpios y verificados como originales:
wrapper y ausente del morfo es **legítimo** (eidos-only), y que un
`data-color` declarado en el morfo sólo por un eje visual es podable. Pero
**sigue faltando `theming/reference.md` §25** , que `eidos.md` designa como
el canon del color: no dar la pregunta por cerrada hasta leerla.
el canon del color: ~~no dar la pregunta por cerrada hasta leerla~~ →
**CERRADA en el nº 13** .
### De la relectura de los 12 contaminados (2026-07-30, sesión 2)