docs(process): morfo.md leída — y una regla que cuestiona la conclusión revertida

`architecture/morfo.md` (888 lineas) leída completa en su estado original.
Era la prioridad del registro: la capa del contrato, la mas tocada en la
auditoria fallida, y en la que se escribio criterio sin haberla leido.

Lo que sale:

- El hueco documental de §Step 2 (omite `'private'`, la lista de referencia si
  lo documenta) es REAL, confirmado contra el original. Lo que estaba mal era el
  criterio que se escribio ahi como arreglo, que clasificaba mal a los
  primitivos de API plana. El hueco sigue abierto.
- `emit: 'value'` es forma legitima para attrs que llevan valor real.
- Y una regla que CUESTIONA la conclusion revertida sobre `data-color`:
  «Provider emits a data-attr not in the morfo → morfo-check fails in CI.
  Either add the attr to the morfo or rename it to `data-_*`», mas el
  incidente 2026-05-20. La sesion revertida concluyo que `data-color` no debe
  ir en el morfo por ser vocabulario de eidos; esta regla dice que lo emitido
  se declara. Queda anotado como NO resolver hasta leer `eidos.md` completo y
  `theming/reference`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
alpha-0.1-sec-dom
dev 2 months ago
parent 33d4e81daf
commit 25f8126e0a

@ -63,15 +63,15 @@ Estado: `LIMPIO` = leído sobre el original · `RELEER` = leído contaminado ·
| `architecture/soma-architecture.md` | 1034 | **RELEER** (iba por ~669) |
| `testing-and-tooling.md` | 110 | **RELEER** |
| `CANON.md` | 305 | **RELEER** |
| **`architecture/morfo.md`** | **888** | **— SIN EMPEZAR** |
| `architecture/morfo.md` | 888 | LIMPIO — leída completa 2026-07-30 |
| `architecture/active-app.md` | 351 | — |
| `architecture/agent.md` | 472 | — |
| `architecture/packs.md` | 86 | **RELEER** |
| `architecture/blocks.md` | 113 | — |
> `morfo.md` es la prioridad. Es la capa del contrato, la más tocada durante la
> auditoría fallida, y se llegó a escribir criterio en su §Step 2 sin haberla
> leído nunca.
> `morfo.md` era la prioridad y ya está leída (era la capa del contrato, la más
> tocada durante la auditoría fallida, y se llegó a escribir criterio en su
> §Step 2 sin haberla leído nunca). Lo que salió, en «Hallazgos».
### Canon
@ -136,6 +136,32 @@ Salen de documentos limpios y verificados como originales:
`setTimeout` *«when a channel is built without a scheduler (direct unit
tests)»*. Matiza la regla 1 para tests unitarios; no la anula.
### De `morfo.md` (leída completa, original)
5. **§Step 2 omite `'private'` — CONFIRMADO contra el original.** Las líneas
397–399 listan sólo `'public'` y `'virtual'`; la lista de referencia
(líneas 55–59) sí documenta los tres `kind`. El autor decide en §Step 2, así
que el hueco es real. ⚠️ Lo que estaba MAL era el criterio que la sesión
revertida escribió ahí como arreglo («el test es mecánico: debe existir
`<Componente.Parte>`»), que clasifica mal a todo primitivo de API plana.
El hueco sigue abierto; el arreglo no está decidido.
6. **`emit: 'value'` es legítimo** (línea 436): los `data-*` no-enum van por
defecto a `emit: 'presence'`; `emit: 'value'` es para atributos que llevan
un valor real (`data-value`, `data-min`, `data-max`).
7. ⚠️ **Y una regla que CUESTIONA la conclusión de la sesión revertida sobre
`data-color`** (línea 878, «Common pitfalls»): *«**Provider emits a data-attr
not in the morfo.** Strict mode logs a warning at runtime; morfo-check fails
in CI. Either add the attr to the morfo or rename the provider's emission to
`data-_*`»*. Más el incidente 2026-05-20 (línea 868): *«A component is not
done if the provider or demo emits required `data-*` that Morfo does not
declare»*. La sesión revertida concluyó que `data-color` NO debe ir en el
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.**
8. **`data-_*`** es el prefijo reservado para attrs privados, deliberadamente
fuera del morfo; `validateMorfo()` los RECHAZA en una declaración.
## Hallazgos RETIRADOS (eran autocita)
- ~~«los tests de provider son convención, no guard»~~ — era la edición

Loading…
Cancel
Save

Powered by TurnKey Linux.