diff --git a/docs/process/CONTINUE-lectura-doctrina.md b/docs/process/CONTINUE-lectura-doctrina.md index eb5eeebb0..a5bcb1c8a 100644 --- a/docs/process/CONTINUE-lectura-doctrina.md +++ b/docs/process/CONTINUE-lectura-doctrina.md @@ -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)