docs(process): los nueve defectos abiertos salen de mi memoria y entran en el repo
Los defectos que dejo el barrido docs-codigo del 2026-08-11 vivian solo en la
memoria de la sesion que los encontro. Eso es una superficie de recuerdo del
agente, no del proyecto: un handoff que no se carga los pierde, y son la unica
huella de nueve averias que se decidio NO tocar. Ahora tienen casa, con la forma
del ledger de blocks: escritura por `id`, un ARREGLADO lleva su sha, y una fila
de gap no se borra nunca.
D1 · D2 · D3 · D4 arreglados (`f4e414e2e`, `6f42eebfe`). D5…D9 confirmados y
abiertos. D10 es nuevo y nace de un error mio de metodo.
D10 — la migracion a medias
---------------------------
El 2026-08-06 `dragSignalOverrides` paso a nombrar `step` (el gesto suena por
REPETICION) y eso dejo a los tres resolvers de gesto sin un solo llamador. Yo
lei «cero llamadores» y propuse retirarlos. Cinco documentos dicen lo contrario,
y dos de ellos estaban en la salida de mi propio grep sin que los abriera:
`PLAN-sound-engine.md` §4 los pone en la columna «sema conserva» de la LINEA DE
CORTE con `$sound`, y `PLAN-audio-player.md` D-AP.7 los da por medidos con un
check verde. No es codigo muerto: es una migracion que no se adjudico.
De ahi la regla 4 del ledger. «No lo referencia nadie» es una observacion, nunca
un veredicto — la misma leccion que la fila de «Gaps» que dos agentes borraron.
Verificado antes de escribir cada fila, no copiado de la memoria: D2 esta
arreglado y mi registro lo daba por abierto; y la primera lectura de D9 decia
que los tres `commit-*` de chronos tampoco se disparan — falso, se despachan por
variable en `emitOnChip`, invisibles a un grep de `trigger('literal')`.
Y el handoff del plan
---------------------
`PLAN-event-name-normalization.md` no tenia. El eje esta cerrado (256/256 con
prefijo, guard visto fallar, barrido sobre los 172 morfos), pero quedan dos
decisiones tuyas bloqueando trabajo — D10 y el `present-rise` anclado al trigger
— mas tres cosas que el eje destapo sin cerrar: el `grid` repetido con
`numberOfMonths=2`, el nombre `handle-drag-progress`, y los cinco defectos.
`docs:check` 0 errores sobre 623 docs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
# CONTINUE — normalización de nombres de evento
|
|
|
|
|
|
|
|
|
|
|
|
> Handoff de [`PLAN-event-name-normalization.md`](./PLAN-event-name-normalization.md).
|
|
|
|
|
|
> **✅ EL EJE ESTÁ CERRADO** (`f44d1486d`) y su aceptación cumplida y medida.
|
|
|
|
|
|
>
|
|
|
|
|
|
> ⛔ **Lo que sigue NO es este eje, y no se ejecuta desde aquí.** Son cosas que el
|
|
|
|
|
|
> barrido destapó; cada una necesita su propia iniciativa y su propia puerta.
|
|
|
|
|
|
> Esta sección existe para que no se pierdan, **no para que se hagan a goteo**.
|
|
|
|
|
|
>
|
|
|
|
|
|
> El 2026-08-12 se hizo exactamente eso y salió caro: la jornada se cerró a las
|
|
|
|
|
|
> 03:52, y de 13:59 a 20:43 la sesión siguió trabajando el ledger como si fuera
|
|
|
|
|
|
> el plan — `months` en cuatro calendarios, `defaultElement` en 28 partes,
|
|
|
|
|
|
> Home/End en tres componentes, y al final el borrado de la librería de sonido,
|
|
|
|
|
|
> que el autor revirtió (`0d10b983e`). Ninguno de esos pasos parece un salto; el
|
|
|
|
|
|
> desvío es que **un handoff se leyó como backlog**. El trabajo salió bien y
|
|
|
|
|
|
> verificado — no es el punto. El punto es que nadie decidió cambiar el objetivo.
|
docs(process): los nueve defectos abiertos salen de mi memoria y entran en el repo
Los defectos que dejo el barrido docs-codigo del 2026-08-11 vivian solo en la
memoria de la sesion que los encontro. Eso es una superficie de recuerdo del
agente, no del proyecto: un handoff que no se carga los pierde, y son la unica
huella de nueve averias que se decidio NO tocar. Ahora tienen casa, con la forma
del ledger de blocks: escritura por `id`, un ARREGLADO lleva su sha, y una fila
de gap no se borra nunca.
D1 · D2 · D3 · D4 arreglados (`f4e414e2e`, `6f42eebfe`). D5…D9 confirmados y
abiertos. D10 es nuevo y nace de un error mio de metodo.
D10 — la migracion a medias
---------------------------
El 2026-08-06 `dragSignalOverrides` paso a nombrar `step` (el gesto suena por
REPETICION) y eso dejo a los tres resolvers de gesto sin un solo llamador. Yo
lei «cero llamadores» y propuse retirarlos. Cinco documentos dicen lo contrario,
y dos de ellos estaban en la salida de mi propio grep sin que los abriera:
`PLAN-sound-engine.md` §4 los pone en la columna «sema conserva» de la LINEA DE
CORTE con `$sound`, y `PLAN-audio-player.md` D-AP.7 los da por medidos con un
check verde. No es codigo muerto: es una migracion que no se adjudico.
De ahi la regla 4 del ledger. «No lo referencia nadie» es una observacion, nunca
un veredicto — la misma leccion que la fila de «Gaps» que dos agentes borraron.
Verificado antes de escribir cada fila, no copiado de la memoria: D2 esta
arreglado y mi registro lo daba por abierto; y la primera lectura de D9 decia
que los tres `commit-*` de chronos tampoco se disparan — falso, se despachan por
variable en `emitOnChip`, invisibles a un grep de `trigger('literal')`.
Y el handoff del plan
---------------------
`PLAN-event-name-normalization.md` no tenia. El eje esta cerrado (256/256 con
prefijo, guard visto fallar, barrido sobre los 172 morfos), pero quedan dos
decisiones tuyas bloqueando trabajo — D10 y el `present-rise` anclado al trigger
— mas tres cosas que el eje destapo sin cerrar: el `grid` repetido con
`numberOfMonths=2`, el nombre `handle-drag-progress`, y los cinco defectos.
`docs:check` 0 errores sobre 623 docs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
|
|
|
|
|
|
## 0 · Estado en una línea
|
|
|
|
|
|
|
|
|
|
|
|
`{familia}-{verbo}[-{matiz}]` es ley: **256 eventos declarados, 256 con prefijo,
|
|
|
|
|
|
0 ambiguos**, y la puerta está cerrada con un guard en `validateMorfo` más un
|
|
|
|
|
|
barrido que se lo pasa a los **172 morfos** del repo (`components` + `internal` +
|
|
|
|
|
|
fixtures). Visto fallar antes de darlo por bueno.
|
|
|
|
|
|
|
|
|
|
|
|
Commits: `6f42eebfe` (el eje) · `f4e414e2e` (D1·D3·D4) · `f44d1486d` (cierre:
|
|
|
|
|
|
las dos mitades que el troceado por hunks dejó al otro lado del corte, y el
|
|
|
|
|
|
barrido de catálogo).
|
|
|
|
|
|
|
|
|
|
|
|
Rama compartida `alpha-0.1-dir-prefs`: **hay trabajo de otra sesión sin
|
|
|
|
|
|
commitear en el árbol** (A-85, `consumerWins`, `aria-label` en el bag). No lo
|
|
|
|
|
|
barras.
|
|
|
|
|
|
|
|
|
|
|
|
## 1 · Lo que NO se toca desde aquí
|
|
|
|
|
|
|
|
|
|
|
|
Cada punto de esta sección pertenece a otra iniciativa o a una decisión del
|
|
|
|
|
|
autor. **Ninguno se ejecuta sin abrir la suya**, con su plan y su puerta — y el
|
|
|
|
|
|
que toque el eje de sonido empieza por
|
|
|
|
|
|
[`CONTINUE-sound-engine.md`](./CONTINUE-sound-engine.md), que es lo que no se
|
|
|
|
|
|
hizo el 2026-08-12.
|
|
|
|
|
|
|
|
|
|
|
|
| Punto | Dueño |
|
|
|
|
|
|
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
|
|
|
|
|
|
| **D10** · los 3 resolvers de gesto | ~~el eje de SONIDO~~ **CERRADO 2026-08-12**: retirada firmada y ejecutada desde el eje (ledger §D10) |
|
|
|
|
|
|
| **D13** · `tooltip` 3 de 3 mudo | `CONTINUE-sema-audit.md`, que ya lo tipificó como contrato muerto |
|
|
|
|
|
|
| **D13** · `virtual-list`/`grid` `handle-scroll*` | vocabulario de MORFO: falta un `emission: 'app'` que declare «lo emite la app». No es cableado |
|
|
|
|
|
|
| **D13** · `gradient-picker.commit-reset` | `CONTINUE-sema-audit.md` §S-14 (1 de 6 verbos delegados) |
|
|
|
|
|
|
| **D14** · el foco del teclado de chronos | chronos. Es de foco, no de firma, y pide medición en navegador real |
|
|
|
|
|
|
| **§1.2** · `present-rise` sobre el trigger | decisión de diseño del autor |
|
|
|
|
|
|
| **§2.2** · `handle-drag-progress` | decisión de vocabulario contra `docs/CANON.md` §verbos |
|
docs(process): los nueve defectos abiertos salen de mi memoria y entran en el repo
Los defectos que dejo el barrido docs-codigo del 2026-08-11 vivian solo en la
memoria de la sesion que los encontro. Eso es una superficie de recuerdo del
agente, no del proyecto: un handoff que no se carga los pierde, y son la unica
huella de nueve averias que se decidio NO tocar. Ahora tienen casa, con la forma
del ledger de blocks: escritura por `id`, un ARREGLADO lleva su sha, y una fila
de gap no se borra nunca.
D1 · D2 · D3 · D4 arreglados (`f4e414e2e`, `6f42eebfe`). D5…D9 confirmados y
abiertos. D10 es nuevo y nace de un error mio de metodo.
D10 — la migracion a medias
---------------------------
El 2026-08-06 `dragSignalOverrides` paso a nombrar `step` (el gesto suena por
REPETICION) y eso dejo a los tres resolvers de gesto sin un solo llamador. Yo
lei «cero llamadores» y propuse retirarlos. Cinco documentos dicen lo contrario,
y dos de ellos estaban en la salida de mi propio grep sin que los abriera:
`PLAN-sound-engine.md` §4 los pone en la columna «sema conserva» de la LINEA DE
CORTE con `$sound`, y `PLAN-audio-player.md` D-AP.7 los da por medidos con un
check verde. No es codigo muerto: es una migracion que no se adjudico.
De ahi la regla 4 del ledger. «No lo referencia nadie» es una observacion, nunca
un veredicto — la misma leccion que la fila de «Gaps» que dos agentes borraron.
Verificado antes de escribir cada fila, no copiado de la memoria: D2 esta
arreglado y mi registro lo daba por abierto; y la primera lectura de D9 decia
que los tres `commit-*` de chronos tampoco se disparan — falso, se despachan por
variable en `emitOnChip`, invisibles a un grep de `trigger('literal')`.
Y el handoff del plan
---------------------
`PLAN-event-name-normalization.md` no tenia. El eje esta cerrado (256/256 con
prefijo, guard visto fallar, barrido sobre los 172 morfos), pero quedan dos
decisiones tuyas bloqueando trabajo — D10 y el `present-rise` anclado al trigger
— mas tres cosas que el eje destapo sin cerrar: el `grid` repetido con
`numberOfMonths=2`, el nombre `handle-drag-progress`, y los cinco defectos.
`docs:check` 0 errores sobre 623 docs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
|
|
|
|
|
|
### 1.1 · Los 3 resolvers de gesto — `D10`
|
|
|
|
|
|
|
|
|
|
|
|
Ficha completa en [`AUDIT-docs-code-ledger.md`](./AUDIT-docs-code-ledger.md) §D10.
|
|
|
|
|
|
Resumen: el cambio del 2026-08-06 dejó `resolveHandleDragSound` /
|
|
|
|
|
|
`resolveSliderDragSound` / `resolveSplitterDragSound` sin llamador, y cinco
|
|
|
|
|
|
documentos siguen describiéndolos como vigentes — incluido `PLAN-sound-engine.md`
|
|
|
|
|
|
§4, donde son la columna «sema conserva» de la **línea de corte** con `$sound`.
|
|
|
|
|
|
|
|
|
|
|
|
**¿Se retiran o se recablean?** La tabla de corte hay que actualizarla en los dos
|
|
|
|
|
|
casos. De esta decisión cuelgan también el homónimo `SoundContour` (5 sitios,
|
|
|
|
|
|
propuesto `GestureContour`) y los dos comentarios rancios del splitter.
|
|
|
|
|
|
|
docs(process): la ronda de decisiones queda firmada — cinco disposiciones, dos corregidas al re-analizar
D10 SE RETIRA (lo ejecuta el eje de sonido, su handoff PRIMERO), y el
re-analisis añade un SEXTO sitio a adjudicar: sema.md §per-emit payload aun
describe pitch/gain/contour cuando soma adjunta hoy sound:'step' + curva
haptica (dragSignalOverrides del slider y del knob, con el trade-off del
2026-08-06 citado en su comentario).
fixedWeeks: alinear a false a secas era la opcion debil — las filas del mes
son de altura FIJA (grid-auto-rows, chronos.css:278) y un false pelado cambia
la semana fantasma por saltos de altura al navegar. Firmado: crecer las filas
(modelo Google), con false incluido; es arreglo de RECETA, no un flip de flag.
Chip bloqueado: via (b), y la letra pequeña va INCLUIDA — el morfo de
drag-drop YA declara data-disabled (declaracion sin emisor) y el cursor vive
en drag-drop.css; pero el chip fusiona tres morfos en un elemento clicable,
asi que la regla de archetype item se anula en su receta y aria-disabled NO
aterriza en el elemento fusionado.
mode/scope: SE RETIRAN, con el barrido de la regla 4 hecho de verdad: 0 hits
en docs/, 0 lectores del compilado, 4 ficheros de alcance. SemaCause queda
como pregunta hermana (mas muerto aun: ni atraviesa morfo).
present-rise: medir primero (lo esperable es la receta F4, pero decide la
medida). handle-drag-progress: revisar contra CANON, no renombrar — el matiz
es legal y puede ser deliberado.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
**Firmada (2026-08-12): SE RETIRAN** — ficha §D10 del ledger, que fija además un
|
refactor(sema): los 3 resolvers de gesto se retiran — esta vez desde el eje, y el registro se hace verdad
El rediseno del 2026-08-06 (gestos por REPETICION, sound:'step' por emision)
los dejo sin llamador, y book-deviations D.7 escribio en pasado un borrado que
nunca ocurrio. Hoy ocurre, firmado y desde una sesion del eje que empezo por
su handoff — la condicion que la retirada revertida de 5571f3bf7 se salto.
Fuera: los 3 resolvers + DragSoundParams + el SoundContour de sema (el
homonimo del art queda solo, 5 valores) + clamp/lerp huerfanos + 5 re-exports
+ los 2 tests que solo se probaban a si mismos. El registro (SEMA_SOUND_VOICE,
sample, resolveSoundDefinition) intacto.
Adjudicados los 8 sitios que los describian como vigentes: los 5 de la ficha
D10, el sexto del re-analisis (sema.md §per-emit payload, reescrito a la
verdad — el payload es un NOMBRE mas la curva haptica) y DOS que la ficha no
listaba, hallados al leer el eje (la fila de estado de CONTINUE-sound-engine y
D-AP2.7 del gate v2), ambos con nota fechada. La tabla de corte del plan
cerrado queda anotada y D.7 gana la nota de que su pasado se hizo verdad hoy.
AUDIT-sema-2026-08-05 no se toca: es cronica por cabecera propia.
sema+sound 333/333 · check 69 (base 70 menos el probe scratch de adom borrado
en fase 0) · docs:check 0/623 · prettier limpio en lo propio con eol auto
(motion/types y splitter-provider ya fallaban en HEAD; no se reformatean).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
sexto sitio a adjudicar (`sema.md` §per-emit payload, que aún describía el
|
|
|
|
|
|
payload de la era resolver). **Y EJECUTADA el mismo día desde el eje** (su
|
|
|
|
|
|
handoff leído primero); el ledger §D10 lleva el detalle y los 8 sitios
|
|
|
|
|
|
adjudicados.
|
docs(process): la ronda de decisiones queda firmada — cinco disposiciones, dos corregidas al re-analizar
D10 SE RETIRA (lo ejecuta el eje de sonido, su handoff PRIMERO), y el
re-analisis añade un SEXTO sitio a adjudicar: sema.md §per-emit payload aun
describe pitch/gain/contour cuando soma adjunta hoy sound:'step' + curva
haptica (dragSignalOverrides del slider y del knob, con el trade-off del
2026-08-06 citado en su comentario).
fixedWeeks: alinear a false a secas era la opcion debil — las filas del mes
son de altura FIJA (grid-auto-rows, chronos.css:278) y un false pelado cambia
la semana fantasma por saltos de altura al navegar. Firmado: crecer las filas
(modelo Google), con false incluido; es arreglo de RECETA, no un flip de flag.
Chip bloqueado: via (b), y la letra pequeña va INCLUIDA — el morfo de
drag-drop YA declara data-disabled (declaracion sin emisor) y el cursor vive
en drag-drop.css; pero el chip fusiona tres morfos en un elemento clicable,
asi que la regla de archetype item se anula en su receta y aria-disabled NO
aterriza en el elemento fusionado.
mode/scope: SE RETIRAN, con el barrido de la regla 4 hecho de verdad: 0 hits
en docs/, 0 lectores del compilado, 4 ficheros de alcance. SemaCause queda
como pregunta hermana (mas muerto aun: ni atraviesa morfo).
present-rise: medir primero (lo esperable es la receta F4, pero decide la
medida). handle-drag-progress: revisar contra CANON, no renombrar — el matiz
es legal y puede ser deliberado.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
|
docs(process): los nueve defectos abiertos salen de mi memoria y entran en el repo
Los defectos que dejo el barrido docs-codigo del 2026-08-11 vivian solo en la
memoria de la sesion que los encontro. Eso es una superficie de recuerdo del
agente, no del proyecto: un handoff que no se carga los pierde, y son la unica
huella de nueve averias que se decidio NO tocar. Ahora tienen casa, con la forma
del ledger de blocks: escritura por `id`, un ARREGLADO lleva su sha, y una fila
de gap no se borra nunca.
D1 · D2 · D3 · D4 arreglados (`f4e414e2e`, `6f42eebfe`). D5…D9 confirmados y
abiertos. D10 es nuevo y nace de un error mio de metodo.
D10 — la migracion a medias
---------------------------
El 2026-08-06 `dragSignalOverrides` paso a nombrar `step` (el gesto suena por
REPETICION) y eso dejo a los tres resolvers de gesto sin un solo llamador. Yo
lei «cero llamadores» y propuse retirarlos. Cinco documentos dicen lo contrario,
y dos de ellos estaban en la salida de mi propio grep sin que los abriera:
`PLAN-sound-engine.md` §4 los pone en la columna «sema conserva» de la LINEA DE
CORTE con `$sound`, y `PLAN-audio-player.md` D-AP.7 los da por medidos con un
check verde. No es codigo muerto: es una migracion que no se adjudico.
De ahi la regla 4 del ledger. «No lo referencia nadie» es una observacion, nunca
un veredicto — la misma leccion que la fila de «Gaps» que dos agentes borraron.
Verificado antes de escribir cada fila, no copiado de la memoria: D2 esta
arreglado y mi registro lo daba por abierto; y la primera lectura de D9 decia
que los tres `commit-*` de chronos tampoco se disparan — falso, se despachan por
variable en `emitOnChip`, invisibles a un grep de `trigger('literal')`.
Y el handoff del plan
---------------------
`PLAN-event-name-normalization.md` no tenia. El eje esta cerrado (256/256 con
prefijo, guard visto fallar, barrido sobre los 172 morfos), pero quedan dos
decisiones tuyas bloqueando trabajo — D10 y el `present-rise` anclado al trigger
— mas tres cosas que el eje destapo sin cerrar: el `grid` repetido con
`numberOfMonths=2`, el nombre `handle-drag-progress`, y los cinco defectos.
`docs:check` 0 errores sobre 623 docs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
### 1.2 · `present-rise` sobre el TRIGGER
|
|
|
|
|
|
|
|
|
|
|
|
Regresión medida durante F4, **no arreglada**. El sello de apertura de select /
|
|
|
|
|
|
combobox / navigation-menu queda anclado al trigger con `fill: forwards`. La
|
|
|
|
|
|
causa está diagnosticada: el dialecto partido (`open` pelado contra
|
|
|
|
|
|
`emerge-open`) actuaba **accidentalmente como filtro**, y al unificar los nombres
|
|
|
|
|
|
la firma alcanza sitios que antes se le escapaban. El eje de superficie
|
|
|
|
|
|
perceptual ([`CONTINUE-perceptual-surface.md`](./CONTINUE-perceptual-surface.md))
|
|
|
|
|
|
tiene el contexto: un sello anclado al trigger es un vestigio de la era `pre` —
|
|
|
|
|
|
mídelo antes de razonarlo.
|
|
|
|
|
|
|
|
|
|
|
|
Lo que hay que decidir: ¿la firma de `present` se mueve al contenido, o el
|
|
|
|
|
|
trigger se excluye por selector? Es la misma pregunta que resolvió `shift` al
|
|
|
|
|
|
mover su sello del BOTÓN al `grid`.
|
|
|
|
|
|
|
docs(process): la ronda de decisiones queda firmada — cinco disposiciones, dos corregidas al re-analizar
D10 SE RETIRA (lo ejecuta el eje de sonido, su handoff PRIMERO), y el
re-analisis añade un SEXTO sitio a adjudicar: sema.md §per-emit payload aun
describe pitch/gain/contour cuando soma adjunta hoy sound:'step' + curva
haptica (dragSignalOverrides del slider y del knob, con el trade-off del
2026-08-06 citado en su comentario).
fixedWeeks: alinear a false a secas era la opcion debil — las filas del mes
son de altura FIJA (grid-auto-rows, chronos.css:278) y un false pelado cambia
la semana fantasma por saltos de altura al navegar. Firmado: crecer las filas
(modelo Google), con false incluido; es arreglo de RECETA, no un flip de flag.
Chip bloqueado: via (b), y la letra pequeña va INCLUIDA — el morfo de
drag-drop YA declara data-disabled (declaracion sin emisor) y el cursor vive
en drag-drop.css; pero el chip fusiona tres morfos en un elemento clicable,
asi que la regla de archetype item se anula en su receta y aria-disabled NO
aterriza en el elemento fusionado.
mode/scope: SE RETIRAN, con el barrido de la regla 4 hecho de verdad: 0 hits
en docs/, 0 lectores del compilado, 4 ficheros de alcance. SemaCause queda
como pregunta hermana (mas muerto aun: ni atraviesa morfo).
present-rise: medir primero (lo esperable es la receta F4, pero decide la
medida). handle-drag-progress: revisar contra CANON, no renombrar — el matiz
es legal y puede ser deliberado.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
**Disposición firmada (2026-08-12): medir primero en navegador.** Lo esperable
|
|
|
|
|
|
es la receta F4 otra vez (open `pre` cuyo content no ha montado, aterrizando en
|
|
|
|
|
|
el trigger — select/combobox están en la cola de F3 justo como «leer
|
|
|
|
|
|
providers»), pero la medida decide, no el razonamiento.
|
|
|
|
|
|
|
fix(morfo,soma): ola 5 de F3 — select y combobox dejan de sellar el trigger, y present-rise suelta el boton
El superviviente A-36 mas puro de la campaña: el open YA era post (el content
monta antes del emit) pero el provider seguia forzando targetOverride al
trigger — un vestigio de la era pre LEGALIZADO por el allowedTargets del
2026-08-10, que era el eje equivocado (estado de montaje, no eleccion del
llamante). Con el, la firma de motion present-rise corria SOBRE el boton: la
regresion firmada en §1.2 del handoff de normalizacion, medida hoy.
A/B en navegador (la disposicion firmada mandaba medir primero):
ANTES emerge-open TRIGGER · emerge-close TRIGGER · present-rise en el boton
AHORA emerge-open CONTENT · emerge-close CONTENT · present fuera del boton
commit-select → el ITEM elegido («Pear Soft»), anclado por identidad
Receta (la de F4/ola-1): el open pierde allowedTargets y el override; el close
declara targetFallback ([trigger] en select, [trigger, input] en combobox — un
combobox puede vivir sin boton); la seleccion ancla por partInstance al item
registrado, con el nombre computado de ListSelection (SelectionEvent) por la
puerta tipada.
Verificado: suites 24/24 · censo sin un solo sitio de select/combobox ·
check 69 = base, 0 propios · consola limpia (404s = raiz/favicon del arranque).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
**MEDIDO Y ARREGLADO para select/combobox (2026-08-13).** La medida matizó la
|
|
|
|
|
|
expectativa: el open YA era `post` — el vestigio era el `targetOverride` al
|
|
|
|
|
|
trigger del provider, LEGALIZADO por un `allowedTargets` del 2026-08-10 (el eje
|
|
|
|
|
|
equivocado). ANTES: open/close sobre TRIGGER y `present-rise` corriendo sobre
|
|
|
|
|
|
el botón; DESPUÉS: open/close sobre CONTENT, present fuera del trigger.
|
|
|
|
|
|
Receta aplicada: fuera el override y el `allowedTargets` del open; el close
|
|
|
|
|
|
declara `targetFallback` ([trigger] / [trigger, input]); la selección ancla por
|
|
|
|
|
|
`partInstance` al item elegido. **Queda navigation-menu** (mismo síntoma
|
|
|
|
|
|
declarado aquí; su sitio vive en la cola de colecciones de F3).
|
|
|
|
|
|
|
docs(process): los nueve defectos abiertos salen de mi memoria y entran en el repo
Los defectos que dejo el barrido docs-codigo del 2026-08-11 vivian solo en la
memoria de la sesion que los encontro. Eso es una superficie de recuerdo del
agente, no del proyecto: un handoff que no se carga los pierde, y son la unica
huella de nueve averias que se decidio NO tocar. Ahora tienen casa, con la forma
del ledger de blocks: escritura por `id`, un ARREGLADO lleva su sha, y una fila
de gap no se borra nunca.
D1 · D2 · D3 · D4 arreglados (`f4e414e2e`, `6f42eebfe`). D5…D9 confirmados y
abiertos. D10 es nuevo y nace de un error mio de metodo.
D10 — la migracion a medias
---------------------------
El 2026-08-06 `dragSignalOverrides` paso a nombrar `step` (el gesto suena por
REPETICION) y eso dejo a los tres resolvers de gesto sin un solo llamador. Yo
lei «cero llamadores» y propuse retirarlos. Cinco documentos dicen lo contrario,
y dos de ellos estaban en la salida de mi propio grep sin que los abriera:
`PLAN-sound-engine.md` §4 los pone en la columna «sema conserva» de la LINEA DE
CORTE con `$sound`, y `PLAN-audio-player.md` D-AP.7 los da por medidos con un
check verde. No es codigo muerto: es una migracion que no se adjudico.
De ahi la regla 4 del ledger. «No lo referencia nadie» es una observacion, nunca
un veredicto — la misma leccion que la fila de «Gaps» que dos agentes borraron.
Verificado antes de escribir cada fila, no copiado de la memoria: D2 esta
arreglado y mi registro lo daba por abierto; y la primera lectura de D9 decia
que los tres `commit-*` de chronos tampoco se disparan — falso, se despachan por
variable en `emitOnChip`, invisibles a un grep de `trigger('literal')`.
Y el handoff del plan
---------------------
`PLAN-event-name-normalization.md` no tenia. El eje esta cerrado (256/256 con
prefijo, guard visto fallar, barrido sobre los 172 morfos), pero quedan dos
decisiones tuyas bloqueando trabajo — D10 y el `present-rise` anclado al trigger
— mas tres cosas que el eje destapo sin cerrar: el `grid` repetido con
`numberOfMonths=2`, el nombre `handle-drag-progress`, y los cinco defectos.
`docs:check` 0 errores sobre 623 docs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
## 2 · Abierto, sin bloquear
|
|
|
|
|
|
|
|
|
|
|
|
### 2.1 · `grid` es una parte REPETIDA — **CERRADO** `e5811e422`
|
docs(process): los nueve defectos abiertos salen de mi memoria y entran en el repo
Los defectos que dejo el barrido docs-codigo del 2026-08-11 vivian solo en la
memoria de la sesion que los encontro. Eso es una superficie de recuerdo del
agente, no del proyecto: un handoff que no se carga los pierde, y son la unica
huella de nueve averias que se decidio NO tocar. Ahora tienen casa, con la forma
del ledger de blocks: escritura por `id`, un ARREGLADO lleva su sha, y una fila
de gap no se borra nunca.
D1 · D2 · D3 · D4 arreglados (`f4e414e2e`, `6f42eebfe`). D5…D9 confirmados y
abiertos. D10 es nuevo y nace de un error mio de metodo.
D10 — la migracion a medias
---------------------------
El 2026-08-06 `dragSignalOverrides` paso a nombrar `step` (el gesto suena por
REPETICION) y eso dejo a los tres resolvers de gesto sin un solo llamador. Yo
lei «cero llamadores» y propuse retirarlos. Cinco documentos dicen lo contrario,
y dos de ellos estaban en la salida de mi propio grep sin que los abriera:
`PLAN-sound-engine.md` §4 los pone en la columna «sema conserva» de la LINEA DE
CORTE con `$sound`, y `PLAN-audio-player.md` D-AP.7 los da por medidos con un
check verde. No es codigo muerto: es una migracion que no se adjudico.
De ahi la regla 4 del ledger. «No lo referencia nadie» es una observacion, nunca
un veredicto — la misma leccion que la fila de «Gaps» que dos agentes borraron.
Verificado antes de escribir cada fila, no copiado de la memoria: D2 esta
arreglado y mi registro lo daba por abierto; y la primera lectura de D9 decia
que los tres `commit-*` de chronos tampoco se disparan — falso, se despachan por
variable en `emitOnChip`, invisibles a un grep de `trigger('literal')`.
Y el handoff del plan
---------------------
`PLAN-event-name-normalization.md` no tenia. El eje esta cerrado (256/256 con
prefijo, guard visto fallar, barrido sobre los 172 morfos), pero quedan dos
decisiones tuyas bloqueando trabajo — D10 y el `present-rise` anclado al trigger
— mas tres cosas que el eje destapo sin cerrar: el `grid` repetido con
`numberOfMonths=2`, el nombre `handle-drag-progress`, y los cinco defectos.
`docs:check` 0 errores sobre 623 docs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
|
|
|
|
|
|
El sello de `shift-navigate` se movió del botón al `grid` en los cuatro
|
|
|
|
|
|
calendarios; con `numberOfMonths=2` había **dos** `grid` y sólo se sellaba uno
|
|
|
|
|
|
(medido: junio cambiaba de fechas quieto y julio cruzaba). El arreglo no
|
|
|
|
|
|
administra el sello: declara la parte que ES el sujeto — `months`, la vista
|
|
|
|
|
|
paginada, arquetipo `viewport`, con `targetFallback: [grid]`. Medido después:
|
|
|
|
|
|
los dos grids se desplazan 10 px a los 40 ms, y −10 px en RTL.
|
|
|
|
|
|
|
|
|
|
|
|
Se legalizaron de paso dos partes clandestinas (`months`, `month-panel`) que los
|
|
|
|
|
|
cuatro demos fabricaban a mano y que la receta estilizaba igualmente.
|
|
|
|
|
|
|
|
|
|
|
|
La ley general quedó escrita en `docs/architecture/morfo.md`
|
|
|
|
|
|
§_A repeated part cannot be the subject of one occurrence_: si el destino es una
|
|
|
|
|
|
parte repetida, hay que preguntar si la ocurrencia tiene **un** sujeto (→
|
|
|
|
|
|
anclarla, como hace `table` con su fila) o **todos** (→ el sujeto es el
|
|
|
|
|
|
contenedor, y tiene que existir). 50 de los 252 destinos del catálogo son partes
|
|
|
|
|
|
repetibles; todos los demás son del primer tipo.
|
docs(process): los nueve defectos abiertos salen de mi memoria y entran en el repo
Los defectos que dejo el barrido docs-codigo del 2026-08-11 vivian solo en la
memoria de la sesion que los encontro. Eso es una superficie de recuerdo del
agente, no del proyecto: un handoff que no se carga los pierde, y son la unica
huella de nueve averias que se decidio NO tocar. Ahora tienen casa, con la forma
del ledger de blocks: escritura por `id`, un ARREGLADO lleva su sha, y una fila
de gap no se borra nunca.
D1 · D2 · D3 · D4 arreglados (`f4e414e2e`, `6f42eebfe`). D5…D9 confirmados y
abiertos. D10 es nuevo y nace de un error mio de metodo.
D10 — la migracion a medias
---------------------------
El 2026-08-06 `dragSignalOverrides` paso a nombrar `step` (el gesto suena por
REPETICION) y eso dejo a los tres resolvers de gesto sin un solo llamador. Yo
lei «cero llamadores» y propuse retirarlos. Cinco documentos dicen lo contrario,
y dos de ellos estaban en la salida de mi propio grep sin que los abriera:
`PLAN-sound-engine.md` §4 los pone en la columna «sema conserva» de la LINEA DE
CORTE con `$sound`, y `PLAN-audio-player.md` D-AP.7 los da por medidos con un
check verde. No es codigo muerto: es una migracion que no se adjudico.
De ahi la regla 4 del ledger. «No lo referencia nadie» es una observacion, nunca
un veredicto — la misma leccion que la fila de «Gaps» que dos agentes borraron.
Verificado antes de escribir cada fila, no copiado de la memoria: D2 esta
arreglado y mi registro lo daba por abierto; y la primera lectura de D9 decia
que los tres `commit-*` de chronos tampoco se disparan — falso, se despachan por
variable en `emitOnChip`, invisibles a un grep de `trigger('literal')`.
Y el handoff del plan
---------------------
`PLAN-event-name-normalization.md` no tenia. El eje esta cerrado (256/256 con
prefijo, guard visto fallar, barrido sobre los 172 morfos), pero quedan dos
decisiones tuyas bloqueando trabajo — D10 y el `present-rise` anclado al trigger
— mas tres cosas que el eje destapo sin cerrar: el `grid` repetido con
`numberOfMonths=2`, el nombre `handle-drag-progress`, y los cinco defectos.
`docs:check` 0 errores sobre 623 docs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
|
|
|
|
|
|
### 2.2 · `handle-drag-progress`
|
|
|
|
|
|
|
|
|
|
|
|
El nombre quedó así por inercia del renombrado. `progress` no es un verbo del
|
|
|
|
|
|
canon; el canon para la emisión continua de un arrastre está sin decidir.
|
|
|
|
|
|
Revisar contra `docs/CANON.md` §verbos antes de tocarlo.
|
|
|
|
|
|
|
docs(process): la ronda de decisiones queda firmada — cinco disposiciones, dos corregidas al re-analizar
D10 SE RETIRA (lo ejecuta el eje de sonido, su handoff PRIMERO), y el
re-analisis añade un SEXTO sitio a adjudicar: sema.md §per-emit payload aun
describe pitch/gain/contour cuando soma adjunta hoy sound:'step' + curva
haptica (dragSignalOverrides del slider y del knob, con el trade-off del
2026-08-06 citado en su comentario).
fixedWeeks: alinear a false a secas era la opcion debil — las filas del mes
son de altura FIJA (grid-auto-rows, chronos.css:278) y un false pelado cambia
la semana fantasma por saltos de altura al navegar. Firmado: crecer las filas
(modelo Google), con false incluido; es arreglo de RECETA, no un flip de flag.
Chip bloqueado: via (b), y la letra pequeña va INCLUIDA — el morfo de
drag-drop YA declara data-disabled (declaracion sin emisor) y el cursor vive
en drag-drop.css; pero el chip fusiona tres morfos en un elemento clicable,
asi que la regla de archetype item se anula en su receta y aria-disabled NO
aterriza en el elemento fusionado.
mode/scope: SE RETIRAN, con el barrido de la regla 4 hecho de verdad: 0 hits
en docs/, 0 lectores del compilado, 4 ficheros de alcance. SemaCause queda
como pregunta hermana (mas muerto aun: ni atraviesa morfo).
present-rise: medir primero (lo esperable es la receta F4, pero decide la
medida). handle-drag-progress: revisar contra CANON, no renombrar — el matiz
es legal y puede ser deliberado.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
**Disposición firmada (2026-08-12): revisar, no renombrar por uniformidad.** El
|
|
|
|
|
|
nombre es legal bajo la ley (`handle`-`drag`-`progress` = familia + verbo +
|
|
|
|
|
|
matiz) y el matiz del drawer puede ser deliberado — progreso hacia el umbral de
|
|
|
|
|
|
dismissal, no el drag de valor del slider. Sólo se toca si la decisión de canon
|
|
|
|
|
|
para la emisión continua aterriza en otro nombre.
|
|
|
|
|
|
|
docs(process): los nueve defectos abiertos salen de mi memoria y entran en el repo
Los defectos que dejo el barrido docs-codigo del 2026-08-11 vivian solo en la
memoria de la sesion que los encontro. Eso es una superficie de recuerdo del
agente, no del proyecto: un handoff que no se carga los pierde, y son la unica
huella de nueve averias que se decidio NO tocar. Ahora tienen casa, con la forma
del ledger de blocks: escritura por `id`, un ARREGLADO lleva su sha, y una fila
de gap no se borra nunca.
D1 · D2 · D3 · D4 arreglados (`f4e414e2e`, `6f42eebfe`). D5…D9 confirmados y
abiertos. D10 es nuevo y nace de un error mio de metodo.
D10 — la migracion a medias
---------------------------
El 2026-08-06 `dragSignalOverrides` paso a nombrar `step` (el gesto suena por
REPETICION) y eso dejo a los tres resolvers de gesto sin un solo llamador. Yo
lei «cero llamadores» y propuse retirarlos. Cinco documentos dicen lo contrario,
y dos de ellos estaban en la salida de mi propio grep sin que los abriera:
`PLAN-sound-engine.md` §4 los pone en la columna «sema conserva» de la LINEA DE
CORTE con `$sound`, y `PLAN-audio-player.md` D-AP.7 los da por medidos con un
check verde. No es codigo muerto: es una migracion que no se adjudico.
De ahi la regla 4 del ledger. «No lo referencia nadie» es una observacion, nunca
un veredicto — la misma leccion que la fila de «Gaps» que dos agentes borraron.
Verificado antes de escribir cada fila, no copiado de la memoria: D2 esta
arreglado y mi registro lo daba por abierto; y la primera lectura de D9 decia
que los tres `commit-*` de chronos tampoco se disparan — falso, se despachan por
variable en `emitOnChip`, invisibles a un grep de `trigger('literal')`.
Y el handoff del plan
---------------------
`PLAN-event-name-normalization.md` no tenia. El eje esta cerrado (256/256 con
prefijo, guard visto fallar, barrido sobre los 172 morfos), pero quedan dos
decisiones tuyas bloqueando trabajo — D10 y el `present-rise` anclado al trigger
— mas tres cosas que el eje destapo sin cerrar: el `grid` repetido con
`numberOfMonths=2`, el nombre `handle-drag-progress`, y los cinco defectos.
`docs:check` 0 errores sobre 623 docs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
### 2.3 · D5 · D6 · D7 · D8 · D9
|
|
|
|
|
|
|
|
|
|
|
|
Cuatro defectos confirmados y uno con un defecto más hondo debajo (D5: el modal
|
|
|
|
|
|
promete un buffer que no existe). Fichas y evidencia en
|
|
|
|
|
|
[`AUDIT-docs-code-ledger.md`](./AUDIT-docs-code-ledger.md). Ninguno se toca sin
|
|
|
|
|
|
que lo pidas: son código obsoleto contra documentación correcta.
|
|
|
|
|
|
|
|
|
|
|
|
## 3 · Lo que este eje enseñó, y hay que no repetir
|
|
|
|
|
|
|
|
|
|
|
|
1. **Un nombre partido en dos dialectos no rompe ningún test.** Un preset de
|
|
|
|
|
|
movimiento engancha el nombre con `^=`; el dialecto pelado no casaba con
|
|
|
|
|
|
ninguna firma y simplemente no animaba. Tres auditorías lo vieron, ninguna lo
|
|
|
|
|
|
cerró. La invariante es la puerta — por eso el guard, y por eso verlo fallar.
|
|
|
|
|
|
2. **Un validador sin ejecutor vigila a nadie.** `validateMorfo` no lo llamaba
|
|
|
|
|
|
nada sobre el catálogo real (`registerMorfo` llama a `compileMorfo`), así que
|
|
|
|
|
|
todas sus invariantes se comprobaban contra fixtures escritas a mano. Debajo
|
|
|
|
|
|
había dos fixtures ilegales, verdes.
|
|
|
|
|
|
3. **Trocear un commit por hunks parte cambios lógicos por la mitad**, y los
|
|
|
|
|
|
`check` que corres son de TU árbol, no del que firmas. Dos commits seguidos
|
|
|
|
|
|
salieron rotos con «tests en verde» en el mensaje. Se arregla materializando
|
|
|
|
|
|
el árbol INDEXADO en un worktree y midiendo allí.
|
|
|
|
|
|
4. **«No lo referencia nadie» es una observación, no un veredicto.** Ver la
|
|
|
|
|
|
regla 4 del ledger, y `D10`, que nació de saltársela.
|
|
|
|
|
|
4b. **Un handoff no es un backlog.** Es la lección más cara de esta jornada y no
|
|
|
|
|
|
es técnica. El ledger se creó a las 03:55 para que una sesión futura tomara
|
|
|
|
|
|
los defectos con su propia puerta, y a las 13:59 esta misma sesión lo empezó a
|
|
|
|
|
|
consumir como lista de trabajo. Nadie decidió cambiar el objetivo: se cambió
|
|
|
|
|
|
solo, un «arregla esto» cada vez, porque cada arreglo destapaba dos hallazgos
|
|
|
|
|
|
y se iban anexando filas (D11…D14) en vez de leer la lista creciente como la
|
|
|
|
|
|
señal de parar que era. Terminó en el borrado de una librería de otro eje.
|
|
|
|
|
|
**Cuando el trabajo deje de responder al plan que lo abrió, se cierra el plan
|
|
|
|
|
|
y se abre otro** — no se sigue tirando del hilo.
|
docs(process): los nueve defectos abiertos salen de mi memoria y entran en el repo
Los defectos que dejo el barrido docs-codigo del 2026-08-11 vivian solo en la
memoria de la sesion que los encontro. Eso es una superficie de recuerdo del
agente, no del proyecto: un handoff que no se carga los pierde, y son la unica
huella de nueve averias que se decidio NO tocar. Ahora tienen casa, con la forma
del ledger de blocks: escritura por `id`, un ARREGLADO lleva su sha, y una fila
de gap no se borra nunca.
D1 · D2 · D3 · D4 arreglados (`f4e414e2e`, `6f42eebfe`). D5…D9 confirmados y
abiertos. D10 es nuevo y nace de un error mio de metodo.
D10 — la migracion a medias
---------------------------
El 2026-08-06 `dragSignalOverrides` paso a nombrar `step` (el gesto suena por
REPETICION) y eso dejo a los tres resolvers de gesto sin un solo llamador. Yo
lei «cero llamadores» y propuse retirarlos. Cinco documentos dicen lo contrario,
y dos de ellos estaban en la salida de mi propio grep sin que los abriera:
`PLAN-sound-engine.md` §4 los pone en la columna «sema conserva» de la LINEA DE
CORTE con `$sound`, y `PLAN-audio-player.md` D-AP.7 los da por medidos con un
check verde. No es codigo muerto: es una migracion que no se adjudico.
De ahi la regla 4 del ledger. «No lo referencia nadie» es una observacion, nunca
un veredicto — la misma leccion que la fila de «Gaps» que dos agentes borraron.
Verificado antes de escribir cada fila, no copiado de la memoria: D2 esta
arreglado y mi registro lo daba por abierto; y la primera lectura de D9 decia
que los tres `commit-*` de chronos tampoco se disparan — falso, se despachan por
variable en `emitOnChip`, invisibles a un grep de `trigger('literal')`.
Y el handoff del plan
---------------------
`PLAN-event-name-normalization.md` no tenia. El eje esta cerrado (256/256 con
prefijo, guard visto fallar, barrido sobre los 172 morfos), pero quedan dos
decisiones tuyas bloqueando trabajo — D10 y el `present-rise` anclado al trigger
— mas tres cosas que el eje destapo sin cerrar: el `grid` repetido con
`numberOfMonths=2`, el nombre `handle-drag-progress`, y los cinco defectos.
`docs:check` 0 errores sobre 623 docs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
|
|
|
|
5. **Una parte declarada sin registro en runtime es un destino inalcanzable** y
|
|
|
|
|
|
no chilla: el emit se rechaza en silencio (salió arreglando D3).
|
|
|
|
|
|
|
|
|
|
|
|
## 4 · Cómo verificar que sigue en pie
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
npx vitest run src/uix/morfo/schema.test.ts
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
82 tests. Los dos que importan: el barrido encuentra >150 morfos (un glob que
|
|
|
|
|
|
deje de casar convertiría al siguiente en un no-op que reporta éxito) y los 172
|
|
|
|
|
|
pasan `validateMorfo` entero.
|