Quince claves. Misma corrección que en `chart`: el valor sigue siendo el del
canon —bundle de talla, ranuras de contenido, escalas de peso e interlineado,
familia mono— pero el knob pasa a ser del componente, que es lo que PLAN §2-A
exige y lo que permite retocar esta superficie sin mover el sistema entero.
POR PARTE, NO POR ROL — y es la diferencia con `chart`:
title-{font-size,font-weight,line-height,fg}
description-{font-size,line-height,fg}
extra-{font-size,fg}
code-{font-family,font-weight,letter-spacing,fg}
media-{font-size,fg}
Cinco partes con tipografía distinta y ningún estilo con nombre que juegue
«estado terminal de página» (`h2` está en el tamaño del título pero significa
otra cosa). Es la forma dominante del catálogo — `description-fg` ×8,
`title-font-size`… — mientras que en chart dos roles se repetían sobre 19 nodos
y por eso allí la costura fue por rol.
El `calc(var(--size-xl-font-size) * 3)` del glifo entra en su costura con el
multiplicador DENTRO del valor: el 3× es identidad documentada, y así el glifo
sigue a la escala en vez de congelarse.
DOCE ADJUDICACIONES, TODAS SOBRE NODOS REALES (la lección de `drag-drop`): con
los controles de la propia demo, no fabricando nodos. Los tres acentos de estado
sólo pintan bajo su `data-status` —chip—; el bloque `extra` es opcional
—casilla—; el código grande sólo existe en los estados http —chip `not-found`:
Azeret Mono → Zapfino, 600 → 123, 3,36px → 4,5px—; y la tinta POR DEFECTO del
glifo sólo gana SIN `data-status`, porque cada estado re-apunta el privado a su
acento por diseño —se quitó el atributo: oklch(0.61 0 0) → rgb(1,2,3)—.
Con la costura, `global` cae a CERO y el alcance a 86 %: los tres knobs que
faltan para el 100 % son literales de identidad (el `1em` del código grande, que
hereda la escala del glifo; el `line-height: 1` del glifo; el `100%` del extra).
Gates: sonda antes/después **0 diffs en 990 valores** (5 nodos × 7 estados) ·
centinela 15/27 con las doce adjudicadas y medidas · censo --only **86 %** con
`global` 13 → 0 · --names 27/27 conformes · component-audit PASS · eidos-lint 0
invalid · suite eidos con el único rojo conocido · rtl:check 0 · docs:check 0.
Global del eje tras las dos costuras: **57 % → 58 %** (2.677 → 2.727 públicos).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- **⚠ decisión: `1` es un valor identidad o geometría de layout, no un knob de tema — el perímetro de «knob» es D-TH.2, sin firmar** — 1: `line-height`.
- **⚠ decisión: `100%` es un valor identidad o geometría de layout, no un knob de tema — el perímetro de «knob» es D-TH.2, sin firmar** — 1: `inline-size`.
### 4.3 Avisos sobre los tokens propuestos (1)
- **⚠ decisión: el valor es una expresión — el token puede llevar la expresión entera o sólo su término variable** — `--result-media-font-size`
### 4.4 Lo que hay que comprobar a mano (PLAN-theming §1.3 · §7.4)
- [ ] **Privado que no deriva de un público** — §3 lo marca; el privado debe leer el público o desaparecer.
@ -104,38 +71,48 @@ no distingue lo que debería — se marca `⚠`.
<!-- veredicto:start -->
**EJECUTADO 2026-08-22 — 14 % → 23 %**, cuatro claves nuevas (8 → 12). El 23 %
es el techo de este componente y no es deuda: **lo que queda fuera lee el CANON
directamente**, que es lo que la doctrina manda.
**EJECUTADO 2026-08-22 — 14 % → 23 % → 86 %**, en dos pasadas: cuatro claves
de caja y luego **15 de COSTURA** para el tipo y la tinta (8 → 27). `global`
queda a CERO; los tres knobs restantes son literales de identidad.
**Lo que la receta posee es su CAJA**: el inset de página
(`padding-block`/`-inline`), el ritmo entre bloques
(`actions-margin-block-start`, `extra-margin-block-start`) y los cuatro acentos
de estado que ya tenía. Cuatro claves nuevas, ni una más.
**Lo que NO se acuña, y por qué**: el tipo lee el BUNDLE DE TALLA
(`var(--size-{xl,md,sm}-font-size)`) —que es literalmente lo que
recipe-contract §1 prescribe para el texto de un componente—, la tinta lee las
ranuras de contenido (`--color-content-{primary,muted,secondary}`), el peso la
escala (`--font-weight-semibold`), el interlineado la suya
(`--font-line-height-{sm,md}`) y el código grande la familia mono del tema.
Acuñar `--result-title-font-size` sería tipografía por componente, prohibida el
2026-08-22. El censo cuenta esas trece lecturas como `global`; es la misma nota
de `listbox` y `chart` (§13), no deuda de este componente.
**Los cuatro literales**: el `calc(var(--size-xl-font-size) * 3)` del glifo de
estado —identidad documentada: el display es TRES veces el paso xl—, el `1em`
del código grande (hereda esa escala a propósito), su `0.04em` de tracking
óptico y el `100%` del extra. Ninguno es tema.
**El tipo y la tinta se COSEN, no se inventan** (firmado 2026-08-22). Los
valores siguen siendo los del canon —bundle de talla, ranuras de contenido,
escalas de peso e interlineado, familia mono del tema— pero el knob es de
`result`, que es lo que PLAN §2-A exige y lo que permite retocar esta superficie
sin mover el sistema. Mi primera lectura («no se acuña nada») era media
doctrina: el valor es del sistema, el knob es del componente.
**Aquí la costura va por PARTE, no por rol** —al contrario que en `chart`—
porque son cinco partes con tipografía distinta y ningún estilo con nombre juega
«estado terminal de página»: `title-{font-size,font-weight,line-height,fg}` ·
'the DEFAULT glyph ink: with a [data-status] the private wins by design (each status re-points --_result-media-fg to its accent) and the demo always sets one. Removed the attribute 2026-08-22 -> reaches (oklch(0.61 0 0) -> rgb(1,2,3))',
'code-font-family':
'the big HTTP code only renders for the http statuses and the demo boots on success; clicked the not-found chip 2026-08-22 -> reaches (Azeret Mono -> Zapfino)',