# 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`) · `FieldLangsSnippetProps` sin uso. - Hallazgos trascendentes del programa anterior (en `_cierre.md`): holiday/event de range-calendar · naming gemelos tree · invalid de rango.