astra
alpha-0.1-background
alpha-0.1-dir-prefs
alpha-0.1-sec-dom
menubar-v4-safe
active-uix
morfo-runtime
morfo-driven-soma
semantuix
glm-5
main
sium-v1.0
${ noResults }
2 Commits (468a9d1134d697546f1b36231d6773d6324a5faa)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
1cb07c1e15 |
refactor(morfo): data-ready es contrato — los morfos lo declaran y la bolsa lo emite
Item 0 del handoff theming (firma ii del autor, 2026-08-27): el estampado manual de data-ready muere en los dos providers; la parte indicadora de tabs y la selection-indicator de radio-group declaran el estado 'ready' (stateRef, presence, severity optional) y el render bag lo emite desde la fuente registrada (() => indicator.ready). ready no es prop: es un hecho de runtime de la instancia — la misma especie que checked o active. La puerta anti-flash (tabs.css:329, sliding-indicator.css:66) queda declarada donde el guard la exige; 'data-ready' sale de EIDOS_ONLY_ATTRS con acta en el propio fichero (ya no es eidos-only: es contrato). Verificado: guard "hardcoded Soma component data attrs" sin los 2 rojos de este eje - morfo 16/16 (222 tests) - suites tabs/radio-group + visual-attrs 3/3 - eidos-lint: [data-tabs-indicator]:not([data-ready]) pasa a morfo-backed, 0 invalid en ambos - dinamica CDP: tabs ready="" opacity 1 y desliza (translate 0 -> 103.9px, inline-size 99.9 -> 75.8); radio-group segmented ready="" y el pill desliza; control negativo: pane oculto (rAF congelado) = sin medida, sin attr, opacity 0 — la puerta anti-flash aguanta. Viajan con atribucion declarada (acuerdo por canal con la sesion P0 vicen-42): las altas de data-aura-status-label/detail y data-waveform-played/remaining en scripts/eidos-only-attrs.ts son suyas (sus guards de contracts.test); su commit sigue a este por dependencia (su guard consume el registro y necesita estas declaraciones en el arbol). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
1 month ago |
|
|
9dffa541ef |
fix(uix): fase A cierre — los seis rojos del censo morfo:check, adjudicados
Cada uno leído antes de tocarlo; tres clases distintas: - combobox.input y gradient-builder.track: el morfo declara el data-* SIN value (soma posee el valor — el idioma que el propio trigger de combobox documenta) y nadie lo escribía. El comentario del input además afirmaba que la bolsa lo resolvía, cosa que una declaración sin fuente no puede hacer. Escritura manual, como sus hermanos. - menu-dial.trigger: componente de scope eidos (contrato espejado a mano); el trigger estampaba marker y aria pero olvidó data-state — la lista de al lado sí lo lleva. Espejo del idioma existente. - calendar (data-calendar-surface) y fab (data-fab-size): attrs visuales de wrapper / hooks compartidos de eidos, sancionados FUERA del morfo por la doctrina firmada (precedente: data-combobox-control). El instrumento no conocía la doctrina: nace scripts/eidos-only-attrs.ts como lista ÚNICA que consumen morfo-check y eidos-lint-all, para que los dos instrumentos no puedan divergir. - palabras.handle: el grip porta el escape del focus-scope a propósito (comentario in situ con la razón); la declaración alcanza a la implementación sancionada. Los otros cuatro rojos del censo previo no eran contrato: accordion, background y link eran timeouts de compilación fría (pasan en caliente) y color-field lo sanó la unificación de la bolsa por sí sola. Verificación: morfo:check 160/161 con los seis en PASS — el único rojo restante (natural-time-picker) es la clase flaky del instrumento «demo que navega bajo el eval» (no falló en ninguna de las dos pasadas previas; la ruta verificada a mano en navegador con su contrato completo) · schema sweep 89/89 · eidos:lint exit 0 · combobox 11/11 · palabras 84/84. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
1 month ago |