|
|
# Cierre del programa — re-auditoría de componentes + fase de fixes
|
|
|
|
|
|
**Estado: COMPLETO.** Auditoría: 2026-07-07 (91 fichas, profundidad piloto).
|
|
|
Checkpoint de veredictos: 2026-07-07 ([`_veredictos.md`](./_veredictos.md)).
|
|
|
Ejecución de fixes: 2026-07-08 → 2026-07-11. Rama `alpha-0.1-sec-dom`.
|
|
|
|
|
|
## Resultado final (gates del 2026-07-11)
|
|
|
|
|
|
| Puerta | Estado |
|
|
|
| -------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
|
|
| Matriz de aceptación (`component-audit.ts`) | **134 PASS · 0 NEEDS-WORK · 0 BROKEN** (de 81 PASS al arrancar la ejecución) |
|
|
|
| Guards de capa (`contracts.test.ts`) | **37/37 verde** (primera vez; partía con 13 fallos) |
|
|
|
| Vocabulario morfo (`morfo-vocabulary-check`) | exit 0 (1 WARN conocido: `cropper.commit-crop`, descubribilidad) |
|
|
|
| Baseline de tipos (fuera de `alpha\|words\|palabras\|chronos`) | **57** — invariante durante todo el programa (59→57 en P7) |
|
|
|
| eidos-lint (catálogo) | 0 selectores inválidos · 0 class-hooks en lo tocado |
|
|
|
|
|
|
## Recorrido por paquetes (hashes)
|
|
|
|
|
|
| Paquete | Contenido | Commits |
|
|
|
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
|
|
|
| P0–P3 | Doctrina · guardas · contratos morfo · 13 packs | `53b6f629` (lote inicial) |
|
|
|
| P4 naming N1–N10 | `selectionMode` · `onValueCommit` · `deselectable` · delays · razones tipadas… | `53b6f629` |
|
|
|
| P5 sistema | S1 codemod class-hooks · S5 outline · depth · touch · **S6 Field composition** (16 fields + poda 199 tokens + de-alias) · S8 calendar-surface | `5eb92132..d1670caa` · `83e13be6` |
|
|
|
| P6 | C6 `getWeekInfo` · C7 D13 textarea+censo · B.11 splitter bindable | `3b02fd11` · `444e05eb` · `0f0feb4f` |
|
|
|
| P7 baseline + S7 | 2 errores mandados (59→57) · papeleo pasivos/capas | `c0ae3de1` · `fe844c62` |
|
|
|
| **S4 dossiers** (5 lotes + drag-drop) | 30 READMEs eidos a forma dossier + README soma field-langs → **E-2.3 = 0** | `7b82aa79` · `20e2e7a1` |
|
|
|
| One-liners + §37 | delegated/apg/archetype + docblocks · **§37 resuelto (a)-con-nota** | `dd0637f6` · `bf573430` |
|
|
|
| compile.test | Test stale post dialog-001 adjudicado + guard nuevo | `e8f12aa1` |
|
|
|
| **S9 iniciativas** | gradient-\* (graduación ACTIVE_DEV_TRACK) · ntp integral (válvula `literal:` R-2.1 + README soma + suite 12/12) · metrics+suite (puente interno + helper + suites 7/7) | `45ae3691` · `dd249eac` · `8e3a67bd` |
|
|
|
| Censo contracts | 12→3: knob barrel+README · puentes internos · 6 barrels→`internals.ts` · track-filter · data-archetype + 4 morfos field-trigger | `cb554ae2` |
|
|
|
| Demos fuera del fix | **Decisión de producto (2026-07-10): frame NUEVO para las demos del sistema** → reglas D-\* verdict-neutral | `e53bf0e8` |
|
|
|
| Convergencia runtime | field `commit-submit` al Enter (doctrina de familia) · float-panel `writeProperty`/`uix.timers` + kb-gestos con handle-events · A-3.7 a acciones distintas · puerto media-provider exento → **contracts 37/37** | `33f346ed` · `bdd17f04` |
|
|
|
| Censo R-1.x | badge al velo §38 (fix real) + 8 exceptions con evidencia (pin-input ya pintaba en `[data-active]`) | `ee9786bc` |
|
|
|
| Lote 6 final | Los 5 últimos dossiers + apg timeline + literales anotados → **134/0/0** | `7f2bcc28` |
|
|
|
|
|
|
## Método canonizado (reutilizable)
|
|
|
|
|
|
- **Dossier = plantilla date-field**: `## Baseline` · `## Comparativa` ≥3
|
|
|
refs · `## Decisiones` · `## Gaps` con disposición
|
|
|
(implementar/diferir/descartar) · `## Passive justification` si pasivo.
|
|
|
- **`R-x.y exception:` SOLO con evidencia leída** (dónde pinta de verdad:
|
|
|
capa compartida, compuesto, o vehículo de state-attr propio). Si no pinta
|
|
|
en ningún sitio: gap real a `## Gaps`, nunca exception.
|
|
|
- **No-cascada**: un componente → verificar (`component-audit --only`) → el
|
|
|
siguiente. Gates completos al cierre de cada paquete.
|
|
|
- **Válvulas de la máquina**: `/* literal: <razón> */` en línea (R-2.1/R-2.7/
|
|
|
R-4.x — physically-fixed); `SOMA_INTERNAL_PRIMITIVES` (puentes sin
|
|
|
Provider que declaran 'soma' con verdad); A-3.7 cuenta acciones DISTINTAS;
|
|
|
D-\* verdict-neutral hasta el frame nuevo de demos.
|
|
|
- **Verificación observable**: cambios de runtime se prueban con gesto/tecla
|
|
|
real en navegador (drag píxel-perfecto, stamps `data-event*`), no solo con
|
|
|
suites.
|
|
|
|
|
|
## Hallazgos registrados que trascienden el programa
|
|
|
|
|
|
- Marcas holiday/event de range-calendar MUERTAS (2 tokens emitidos bajo
|
|
|
`[data-calendar]`, no resuelven bajo `[data-range-calendar]`) — en su
|
|
|
`## Gaps`.
|
|
|
- Asimetría de naming entre gemelos tree (`value`+`expanded` vs
|
|
|
`selectedValue`+`expandedValue`) — decisión N4 de espejo pendiente.
|
|
|
- Invalid de RANGO sin pintar en los dos range-fields (los endpoints no
|
|
|
reciben el invalid de rango) — gap compartido documentado.
|
|
|
- class-hooks preexistentes fuera del codemod S1: color-picker(2) ·
|
|
|
time-picker(8) · time-range-picker(12).
|
|
|
- **`tags-input` F-1 — CERRADO el 2026-08-25**, mes y medio después del
|
|
|
programa, por la firma «el árbol ARIA de `tags-input` habla UN patrón»: se
|
|
|
eligió UNO (el layout grid que su `apg` ya citaba) y se retiró el rol
|
|
|
duplicado Provider/Control y el `combobox` sin popup. Detalle fechado en su
|
|
|
[ficha](./tags-input.md). Deja vivo el censo de citas APG erróneas que la
|
|
|
ficha alimenta: `search-field` F-1 (misma clase) y `tag-group` (mismo `apg`,
|
|
|
filas SIN celdas) — ver [`_system.md`](./_system.md).
|
|
|
|
|
|
## Fuera del programa (dueños nuevos)
|
|
|
|
|
|
- **Demos**: frame nuevo de sistema (decisión 2026-07-10) — las reglas D-\*
|
|
|
se reescriben contra él cuando exista.
|
|
|
- **Pistas activas**: `words/**` · `palabras/**` · `chronos` (rotas por N1,
|
|
|
decisión de dejarlas — `ACTIVE_DEV_TRACK`).
|
|
|
- **Follow-ups**: `task_d66356de` (trp data-size a endpoints) · Task #31
|
|
|
(pickers → `PickerProvider<TValue>` genérico) · `FieldLangsSnippetProps`
|
|
|
exportado sin uso.
|
|
|
- **Sucesora**: la auditoría clean-room del 2026-07-10
|
|
|
([`docs/audit-new-10-july/audit-active-uix.md`](../../audit-new-10-july/audit-active-uix.md))
|
|
|
— su tabla §9 es la cola nueva; el arranque está en
|
|
|
[`docs/process/continue-cleanroom-fixes-2026-07.md`](../../process/continue-cleanroom-fixes-2026-07.md).
|
|
|
Nota: su P1 **SOM-5 ya quedó cerrado** por este programa (field
|
|
|
`33f346ed` · float-panel `bdd17f04`, posteriores a su snapshot).
|