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...

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. 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 — 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.