| Ítem y flecha | Item y Arrow | Item y Arrow | Item y Arrow | MenuItem | Compartir sólo los tipos literalmente iguales; conservar wrappers y markup. |
| Radio y submenú | RadioGroup/RadioItem y Sub | RadioGroup/RadioItem y Sub | Ítems de radio y submenú | Selección y SubmenuTrigger | Compartir sólo las declaraciones iguales; no cambiar selección, foco ni apertura. |
Propiedad exclusiva de Soma: los tipos públicos y los componentes siguen siendo
dos familias. Root, Trigger y CheckboxItem tienen diferencias reales y quedan
locales. No se modifican partes, eventos, tamaños, variantes, colores, demos,
estilos ni efectos. El cambio se caracteriza con igualdad de tipos antes de
extraer, pruebas de ambos proveedores, `check:gate` y auditoría dirigida.
Resultado: `Arrow`, `Item`, `RadioGroup`, `RadioItem`, `Sub` y `SubTrigger`
comparten ahora una sola declaración cada uno. Los tipos públicos mantienen
sus nombres y Root, Trigger y CheckboxItem siguen separados. Los tres archivos
de producción pasan de 293 a 287 líneas físicas: **6 líneas netas menos** en
esta fase, además de eliminar seis fuentes de posible divergencia. Las seis
igualdades de tipos pasaron antes y después; `check:gate` cerró con los 89
errores preexistentes en el ledger, los proveedores pasaron 14/14 y ambos
componentes obtuvieron PASS en la auditoría dirigida.
### Guardia documental L-157 (2026-09-21)
`docs-check` I10 ya obtiene los nombres de declaraciones con el AST de