You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/docs/process/continue-cleanroom-fixes-20...

87 lines
4.8 KiB

# Continue — fixes de la auditoría clean-room (2026-07-10)
**Handoff turnkey. Creado: 2026-07-11.** Rama `alpha-0.1-sec-dom`.
> **Contexto**: el programa anterior (re-auditoría de componentes P0–P7 + S9
> + censos) está **COMPLETO** — matriz 134/0/0, contracts 37/37; cierre
> formal en [`docs/audit/components/_cierre.md`](../audit/components/_cierre.md).
> La cola viva es ahora la **tabla de severidades §9** de la auditoría
> clean-room del usuario:
> [`docs/audit-new-10-july/audit-active-uix.md`](../audit-new-10-july/audit-active-uix.md)
> — leerla ENTERA antes de tocar nada (es análisis, no prescripción: el
> orden y alcance los decide el usuario; este handoff solo propone).
## Reconciliación de estado (la clean-room es snapshot del 2026-07-10)
Cerrado DESPUÉS de su snapshot por el programa anterior — NO rehacer:
- **SOM-5 (P1) ✅**: field A-3.1 (`commit-submit` al Enter, doctrina de
familia — `33f346ed`) y float-panel A-3.7 (kb-gestos por handle-events +
heurística a acciones distintas — `bdd17f04`). Verificado en vivo.
- **SOM-3 (P2) ◐**: el setTimeout de float-panel migró a `uix.timers`
(`bdd17f04`) y el addEventListener de media-provider es PUERTO
Svelte-agnóstico por diseño documentado (excepción del guard). Quedan los
~6 setTimeout restantes de soma layers/providers por censar.
- Su cita de matriz (102/32/0) es previa: hoy es **134/0/0**.
## P1 propuestos, en orden (los dos primeros amplían la máquina)
1. **THM-1 — 6 CSS secundarios fuera del escaneo R-\*** (`component-audit.ts:698,756`):
extender el escáner a los CSS no-`{kebab}.css` del componente y poner en
verde las violaciones reales que la clean-room dice que hay dentro.
Mismo espíritu que la válvula R-2.1: la máquina primero, luego los fixes
que destape (no-cascada).
2. **MOR-4 — card-group sin morfo** (`eidos/components/card-group/`):
invisible a TODA la matriz. Morfo-first (doctrina: hasta los leaf
primitives, `scope:['eidos']` si procede) + entra en la matriz; recordar
la decisión de cardinalidad 2026-06-27 (CardGroup+ToggleGroup) al
redactar su contrato.
3. **EID-1 — anillo de foco de la fundación en `box-shadow` vs §32**
(`archetypes.css:138-167`): §32 canonizó `outline`; el remanente está
condicionado por un `outline: none` de la capa de aplicación — resolver
el condicionante y migrar. Verificación visual obligatoria (focus ring en
varios componentes, light/dark).
4. **SEM-1 — dos políticas de prioridad de live-region**
(`runtime.svelte.ts:725` vs `chans/announce.ts:55`): unificar criterio
(decisión doctrinal pequeña + fix); añadir guard/test que la fije.
5. **THM-2 — paleta 33 escalas por instancia solo en 2/17 superficies**:
esto es UNA INICIATIVA (rollout), no un fix — dimensionar, proponer plan
por lotes como S4, y el tracker de rollout que se borró necesita nuevo
hogar. Decisión de alcance del usuario antes de arrancar.
6. **DOC-1 / DOC-2 — canon citando audit/deprecated · ancla editorial del
libro**: decisiones de corpus documental del usuario (qué es fuente de
qué); preparar propuesta, no ejecutar en frío.
Después: los P2 de la tabla §9 (empezando por los mecánicos: THM-3 canario
de suite eidos, DEP-1 clsx fantasma, DEP-2 ogl muerto, SEM-2 logger de
canales) y los GAP-\* de personalización como iniciativas.
## Protocolo de verificación (invariantes AMPLIADOS)
- `npx tsx scripts/component-audit.ts` → **134 PASS / 0 / 0 debe MANTENERSE**.
- `npx vitest run src/uix/contracts.test.ts` → **37/37**.
- `npm run check` fuera de `alpha|words|palabras|chronos` → **57**.
- `npx tsx scripts/morfo-vocabulary-check.ts` → exit 0 (WARN cropper conocido).
- Suite eidos (`npx vitest run src/uix/eidos`) → hoy 305/306 (THM-3 es el
canario en rojo); tras THM-3 debe quedar 306/306 y mantenerse.
- Cambios observables → verificación en navegador (gesto/tecla/inspección
real), no solo suites. Gotchas de entorno en la memoria del proyecto
(rAF congelado en tab desenfocado, dev server flaky, HMR de `.svelte.ts`).
## Exclusiones DURAS (sin cambios)
- `words/**` · `palabras/**` · `chronos` (ACTIVE_DEV_TRACK) · `web/routes/alpha/**`.
- **Demos**: NO son fix — frame nuevo de sistema pendiente de diseño
(decisión 2026-07-10, `e53bf0e8`); las D-\* son verdict-neutral.
- Nada a git sin petición; commits con paths explícitos (excluir `.claude/`,
`rt.css`, README stub, binarios del libro).
## Cola lateral (no bloqueante, registrada)
- class-hooks preexistentes: color-picker(2) · time-picker(8) ·
time-range-picker(12) — extensión del codemod S1 cuando cuadre.
- `task_d66356de` (trp `data-size` a endpoints) · Task #31 (pickers →
`PickerProvider<TValue>`) · `FieldLangsSnippetProps` sin uso.
- Hallazgos trascendentes del programa anterior (en `_cierre.md`):
holiday/event de range-calendar · naming gemelos tree · invalid de rango.

Powered by TurnKey Linux.