Engine (`arts/format/numbers/engine-numbers.ts` + `types.ts`):
- format(value, options?, locale?) acepta tercer arg locale como en
dates. Cache (getCachedNumberFormat) keyea por (locale x options).
- formatPercent / formatCompact / formatCurrency / formatUnit propagan
el locale al format() interno.
- No muta engine state (getLocale() sigue devolviendo el activo).
Component (`format-number.svelte`):
- Drop del bypass `new Intl.NumberFormat(locale, options)` cuando habia
locale prop. Ahora SIEMPRE rutea por numbers.format(inputValue,
options, locale). Preserva cache + separadores activos + defaultFormat
+ reactividad del locale.
- Fallback a Intl directo solo cuando no hay runtime (eidos fuera de
UixApp).
Tests: 9/9 en engine-numbers.test.ts (+4 cubriendo format/Percent/
Compact/Currency/Unit con locale override sin mutar state).
Docs: arts/format/README.md sub-seccion "Override de locale por
llamada" en Numbers (handoff 2026-05-25). format-number/README.md
decisiones actualizadas.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>