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.
3.3 KiB
3.3 KiB
color-field — ficha de auditoría (RE-AUDITADA 2026-07-07, profundidad piloto)
- Familia: fields (trío de segmentos) · Método: solo análisis; evidencia por dimensión · demos fuera
- Capas leídas: morfo (eventos+expression verificados) · soma types completo (1-90+) · css (censo: hex 3ch, focus o3/b1) · sema: sin pack,
expression: "family-default"declarado - Antecedentes resueltos:
targetOverride(fix 2026-06-16 — el commit del.hexsonaba desde la parte equivocada) · fantasmasegment-height(B.1) - Máquina: PASS limpio · tests ✓ · README ×2 ✓
Dimensiones (evidencia leída)
| # | Dimensión | Estado | Evidencia |
|---|---|---|---|
| 1 | Composición | ✓ | Partes compositivas + FormatSelect como parte propia (native <select> de formato — PrimitiveSelectAttributes, types :14) — composición, no prop-tree |
| 2 | Naming | ✓ conforme + patrón nuevo | value/onValueChange, placeholder/… ✓; format/onFormatChange/allowedFormats (types :64-75) — el patrón X/onXChange/allowedXs para ejes conmutables, candidato a canon en _naming.md; enableAlpha (:77-80) |
| 3 | Coherencia semántica | hallazgo de trío | Solo commit-set (verificado) — sin commit-reset como time-field → F-1; onInvalid con razones tipadas ('custom' | 'incomplete', types :34-38) ✓ mejor que sus hermanos (razón sin tipar) |
| 4 | API | ✓ | Validación estructurada; tipos de $libs/color (lib propia, doctrina cero-dep ✓) |
| 5 | Tokens | ✓ con dup | height-{k} duplicadas → SYS-6; canales 3ch fijos documentados en css (no reflow 99→100) |
| 6 | Sema | declarado, cuestionado | family-default explícito — mismo veredicto de trío que time-field (SYS-3) |
| 7 | Animaciones | ✓ | Patrón familia |
| 8 | Contrato morfo | verificar bloque ARIA | Espejo del trío; incluir en F-3 de time-field: ¿su Input lleva el bloque ARIA rico (readonly/invalid) o el pobre de date-field? — unificar los tres en el pass |
| 9 | A11y | con F-2 | Sin Home/End (especialmente útil aquí: canales 0-255/0-360) |
| 10 | Theming | censo | Focus outline → SYS-5 |
| 11 | Composición interna | mandato | Sin wrapper [data-field] (SYS-6/B.1) |
| 12 | Estados | ✓ | readonlySegments granular; hidden-input; allowedFormats de una entrada = select bloqueado (documentado) |
| 13 | Runtime | ✓ | targetOverride aplicado (antecedente) |
| 14 | Docs+tests | ✓ | README ×2, suite ✓ |
| 15 | i18n | ✓ | texts morfo; formatos por segmento localizados |
Hallazgos y propuestas
| ID | Hallazgo | Propuesta |
|---|---|---|
| F-1 | Sin commit-reset (limpiar no suena) |
Con time-field, en el veredicto de trío |
| F-2 | Sin Home/End | Pass de familia |
| F-3 | Bloque ARIA del Input a unificar en el trío | Adoptar el rico de time-field en los tres |
| F-4 | height-{k} duplicadas |
SYS-6 |
| Nota ✓ | Las razones tipadas de onInvalid son MEJOR API que la de date/time |
Propagar el patrón al trío en la normalización (nivelar hacia arriba) |
Escalan al sistema
SYS-3 (trío: expression + reset + ARIA + onInvalid — un solo veredicto de nivelación) · SYS-5 · SYS-6.
Veredictos
(pendiente — checkpoint post-barrido)