ADR 014: Settings registry¶
Estado¶
Aceptado — 2026-06
Contexto¶
Cada plugin debe poder aportar secciones a la configuración central del panel sin pantallas fijas en el framework. Históricamente existía pantalla fija panel-configuration en un host dedicado.
Decisión¶
SettingsBuilder+ hookregister_settings(registry).SettingsRegistryfusiona secciones porpanel_id.- Pantalla canónica
{panel}/settingsgenerada en boot (merge_panel_infrastructure).
Leyenda: Evolución de settings en Python a manifest JSON declarativo (ADR 020). Actores: SettingsBuilder deprecado, configuration/manifest.json. Estado: Shim + manifest coexisten.
flowchart LR
subgraph legacy [Antes ADR 020]
SB[SettingsBuilder Python]
RS[register_settings]
SR[SettingsRegistry merge]
end
subgraph current [ADR 020 actual]
MJ[configuration/manifest.json]
Loader[loader auto-registro]
Tree["groups segments widgets"]
end
SB --> RS --> SR
MJ --> Loader --> Tree
SR -->|shim si no hay manifest| Tree Guía: Plugins — Configuración.
Consecuencias¶
- Plugins registran secciones con validación de claves conocidas.
- Persistencia de plataforma vía
platform_settings(ADR 014 backend).