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>
alpha-0.1-dir-prefs
dev 2 months ago
parent d7b339f774
commit b7784d34a3

@ -53,7 +53,7 @@ Estados: `CONFIRMADO` (medido, abierto) · `ARREGLADO` (con sha) ·
| D7 | 5 componentes de campo | `ARREGLADO` | P1 | el Label renderizaba `<div>` y el morfo declara `label` |
| D8 | los 7 `arrow` | `ARREGLADO` | P2 | `defaultElement` falso en el `arrow` — sistémico, confirmado |
| D9 | chronos | `ARREGLADO` | P2 | el acarreo habla: `handle-drag` y `handle-resize`, anclados y a la cadencia del gesto |
| D10 | sema ↔ `$sound` | `CONFIRMADO` (retirada REVERTIDA) | P1 | los 3 resolvers de gesto — el borrado se ejecutó y el autor lo revirtió: es trabajo del eje de sonido, no de esta sesión |
| D10 | sema ↔ `$sound` | `CONFIRMADO` · decisión FIRMADA: retirar | P1 | los 3 resolvers de gesto — la retirada la firma el autor el 2026-08-12 y la EJECUTA la sesión del eje de sonido, empezando por su handoff |
| D11 | catálogo | `ARREGLADO` | P1 | `defaultElement` mentía en 28 partes; las 28 dicen ya la verdad y el guard no tiene excepciones |
| D12 | context-menu · link-preview | `ARREGLADO` | P2 | sus flechas componen ya la primitiva compartida: una flecha, una forma |
| D13 | 4 componentes | `CONFIRMADO` | P1 | 7 eventos declarados que nadie emite — enumerados y guardados |
@ -429,6 +429,19 @@ de los seis documentos no leídos nombra los resolvers — pero salió limpia po
suerte, no por método. `sounds.ts` está restaurado byte a byte; **no se toca sin
una sesión propia del eje de sonido, que empiece por su handoff.**
**DECISIÓN FIRMADA (2026-08-12): SE RETIRAN.** La ejecuta la sesión del eje de
sonido — la condición procedimental de arriba queda intacta (su handoff
PRIMERO). Con la retirada: actualizar la tabla de corte de
`PLAN-sound-engine.md` §4, adjudicar los cinco sitios de la tabla, y un
**SEXTO** que el re-análisis del 2026-08-12 destapó:
`docs/architecture/sema.md` §«The per-emit payload owns the primitives» aún
describe el payload sonoro de la era resolver («pitch / gain / contour derived
from pointer position and velocity»), cuando lo que soma adjunta hoy es
`sound: 'step'` + curva háptica (`dragSignalOverrides` en
`slider-provider.svelte.ts:233` y `knob-provider.svelte.ts:242`, con el
trade-off del 2026-08-06 citado en el propio comentario). El homónimo
`SoundContour` se disuelve con ellos — nada que renombrar.
El análisis de abajo se conserva porque es evidencia válida PARA esa sesión:
- [`PLAN-sound-engine.md`](./PLAN-sound-engine.md) está **CERRADO** (2026-07-30) y

@ -60,6 +60,11 @@ documentos siguen describiéndolos como vigentes — incluido `PLAN-sound-engine
casos. De esta decisión cuelgan también el homónimo `SoundContour` (5 sitios,
propuesto `GestureContour`) y los dos comentarios rancios del splitter.
**Firmada (2026-08-12): SE RETIRAN** — ficha §D10 del ledger, que fija además un
sexto sitio a adjudicar (`sema.md` §per-emit payload, que aún describe el
payload de la era resolver). La ejecuta la sesión del eje, empezando por su
handoff; el homónimo se disuelve con ellos.
### 1.2 · `present-rise` sobre el TRIGGER
Regresión medida durante F4, **no arreglada**. El sello de apertura de select /
@ -75,6 +80,11 @@ 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`.
**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.
## 2 · Abierto, sin bloquear
### 2.1 · `grid` es una parte REPETIDA — **CERRADO** `e5811e422`
@ -102,6 +112,12 @@ 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.
**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.
### 2.3 · D5 · D6 · D7 · D8 · D9
Cuatro defectos confirmados y uno con un defecto más hondo debajo (D5: el modal

@ -58,8 +58,9 @@ supresión por labelledby sobre un prop sin default.
**Lo siguiente, en orden:**
1. **`alert-dialog`** — la única cadena mecánica que queda (30 min).
2. **Dos decisiones del autor** (§4): el defecto de `fixedWeeks` y cómo pintar
un chip bloqueado. Ninguna necesita código hasta que decidas.
2. ~~**Dos decisiones del autor** (§4)~~ **FIRMADAS 2026-08-12** — `fixedWeeks`
(crecer filas), el chip bloqueado (vía b + su letra pequeña) y
`mode`/`scope` (retirar): las disposiciones completas viven en §4.
3. **C5 rebanada 3**, y empieza por **subir a soma el comportamiento del chip**
— la tabla de §C5-r3 explica por qué no es mecánica.
4. ~~**Arreglar `npm run translations:check`** (casca) y censar los 166 morfos.~~
@ -1246,16 +1247,40 @@ Detalle: `morfo.md` Step 4 + ledger §A-85 RESOLUCIÓN.
¿Alineamos el defecto con la familia, o mantenemos la altura estable
**creciendo las filas** en vez de añadir una semana? (Google Calendar hace lo
segundo.)
**FIRMADA (2026-08-12): crecer las filas.** Mata el fantasma Y mantiene la
altura estable; `fixedWeeks` pasa a `false` como parte del cambio, así que la
alineación de familia sale gratis. Y no es sólo el default: las filas del mes
son hoy de altura FIJA (`grid-auto-rows: var(--_chronos-lane-height)`,
`chronos.css:278`), así que un `false` pelado cambiaría la semana fantasma
por saltos de altura al navegar — el arreglo es de RECETA (altura de grid
estable + filas `minmax(0, 1fr)`), no un flip de flag.
- **Cómo pintar un chip bloqueado.** Una ocurrencia recurrente ya no se
arrastra, pero sigue con `cursor: grab` porque `DragDrop.Draggable` no estampa
`data-disabled`. Dos vías: (a) `event-chip` declara un estado nuevo — local y
barato; (b) `Draggable` estampa `data-disabled` — beneficia a TODOS sus
consumidores pero es cambio transversal.
**FIRMADA (2026-08-12): la vía (b), con su letra pequeña medida e INCLUIDA.**
A favor, más de lo que la pregunta sabía: el morfo de drag-drop **ya declara**
`data-disabled` en el draggable (`drag-drop.ts:89`, severity optional) — hoy
es una declaración sin emisor, la clase de siempre — y el `cursor: grab` vive
en `drag-drop.css:24`, así que la corrección del cursor aterriza allí para
todos los consumidores. La letra pequeña: el chip fusiona tres morfos en UN
elemento que sigue siendo clicable (abre el editor), así que (i) la regla
`:where([data-archetype='item'][data-disabled])` de `archetypes.css:259`
(not-allowed + opacidad) hay que anularla en la receta del chip — es `:where`,
especificidad cero — y (ii) el `aria-disabled` prop-truthy del mismo morfo NO
debe aterrizar en el elemento fusionado: estamparlo mentiría a AT sobre un
click que funciona.
**Del eje perceptual:**
- **`mode` y `scope`**: 0 declaraciones, 0 consumidores, 0 JSDoc — la misma
situación que `collapse` y `lock`, ya retirados. ¿Se retiran también?
- **`mode` y `scope` — FIRMADA (2026-08-12): SE RETIRAN.** El barrido de la
regla 4 del ledger está hecho: 0 hits en `docs/`, 0 lectores del compilado, y
el alcance real son 4 ficheros (`SemaMode`/`SemaScope` en `sema/types.ts` +
`morfo/types.ts:644-646` + `compile.ts:196-198` + exports) — misma clase que
`collapse` y `lock`. Pregunta hermana ABIERTA: `SemaCause` está más muerto
aún (sólo types + exports, ni atraviesa morfo) — decidir si entra en el
mismo pase.
- **`regime` es por EVENTO, pero la colisión es de la SUPERFICIE.** Para la clase
intra-morfo el evento vale; en A-36 chocaban dos morfos distintos y ninguno
podía saber del otro. Si vuelve a aparecer una colisión cruzada que no se

Loading…
Cancel
Save

Powered by TurnKey Linux.