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/audit/components/natural-time-picker.md

4.1 KiB

natural-time-picker — ficha de auditoría (RE-AUDITADA 2026-07-07, profundidad piloto)

  • Familia: pickers (reloj natural: cielo/astros) · Método: solo análisis; evidencia por dimensión · demos fuera
  • Capas leídas: morfo COMPLETO (117 líneas) · delegación verificada en picker genérico
  • Máquina: NEEDS-WORK — A-1.4 (sin URL APG) · R-2.1 (9 colores crudos) · R-1.3/R-1.4 (readonly/invalid sin estilo) · E-2.3 (sin README) · tests 0
  • CORRECCIÓN MAYOR sobre el pass superficial: el "A-3.1 interactivo con 0 eventos = sema ciego por diseño roto" era INJUSTO. El header del morfo (:4-19) documenta la composición completa (Picker genérico = host transaccional Listo/Cancelar/Borrar + deferValue · TimeField segmentado · Slider banda · Button steppers/chips · PickerShell footer) y la razón: "Open/close are delegated to the composed Popover, so this morfo declares no dialog semantics and no events". scope: ['soma','eidos'] (sin sema :23) — coherente. La delegación es REAL y está escrita… pero ver F-1: el eslabón transaccional delega en un Picker que AÚN no tiene eventos.

Dimensiones (evidencia leída)

# Dimensión Estado Evidencia
1 Composición ✓ documentada Header :10-15: solo el gradiente daylight es bespoke; todo lo demás compone primitivos del sistema — el espíritu "compose existing components" cumplido y ESCRITO
3 Coherencia semántica gap heredado, no propio F-1: la cadena semántica tiene un eslabón hueco — el valor comete por TimeField (commit-set ✓ del embebido), pero Listo/Cancelar/Borrar fluyen por el Picker genérico cuyo morfo declara 0 eventos (deuda RECONOCIDA en picker :18-19 "candidate commit-* events for a later sema pass"). El "Listo" de un picker (el gesto más commit del patrón) suena a Button contact genérico
5 Tokens hallazgo matizado Los 9 hex (R-2.1) son los CIELOS — la excepción physically-fixed existe justo para esto PERO exige anotación /* literal: … */ línea a línea y no la llevan → F-2 (anotar, NO tokenizar)
8 Contrato morfo ✓ moderno data-state CON values ['open','closed'] enumerados (:39,:75,:96 — el patrón que calendar F-3 pide) + data-starting-style/data-ending-style condicionales (:97-106, hooks de motion) + flags disabled/readonly/required/invalid
9 A11y gap menor Trigger completo (haspopup dialog + expanded + label vía translationRef ✓ :76-85); Content con Escape/Tab trap (:109-113); F-3: sin cita APG (A-1.4) — la razón "Popover posee el diálogo" merece la cita del patrón compuesto como hace date-picker (apg ×2)
12 Estados hallazgo máquina R-1.3/R-1.4 readonly/invalid sin materializar
14 Docs+tests gap triple Sin README (ninguno de los dos niveles), sin tests
15 i18n ✓ texts + translationRef localizados (:24-27,:82)

Hallazgos y propuestas

ID Hallazgo Propuesta
F-1 El footer transaccional no tiene semántica (deuda del Picker genérico, reconocida allí) Resolver EN el Picker genérico (commit-set fulfill en Accept / commit-cancel neutral / commit-clear neutral) — ntp y los 5 pickers a migrar lo heredan gratis; NO declarar eventos propios aquí (rompería la delegación correcta)
F-2 9 hex sin anotación (R-2.1) Anotar cada uno /* literal: physically-fixed sky/astro color */; NO tokenizar
F-3 Sin cita APG (A-1.4) Citar el patrón compuesto (dialog vía Popover) como date-picker; valorar además slider APG para la banda
F-4 readonly/invalid sin estilo Patrón familia
F-5 Sin README ×2, sin tests Paquete de estándares completo (SYS-9: iniciativa a medias)

Escalan al sistema

SYS-2 · SYS-4 · SYS-9 · corrección del censo A-3.1: ntp EXONERADO con matiz (delegación documentada; la deuda vive en picker :18-19) — pin-input queda como el único caso desnudo · la máquina debe leer scope-sin-sema + header de composición antes de flaguear A-3.1.

Veredictos

(pendiente — checkpoint post-barrido)

Powered by TurnKey Linux.