ADR 013: Schema SDUI¶
Estado¶
Aceptado — 2026-06
Contexto¶
Cortex emitía widgets CUS sueltos desde builders dispersos (emit.py). Se requiere un árbol unificado para forms, tables, layouts y actions bajo un mismo modelo de composición.
Decisión¶
SchemaNodeencore/cortex_core/spi.pycomo árbol discriminado (field, column, layout, widget, action).framework/cortex_framework/schema/—SchemaBuilder, emisión JSON, validación.- Widget CUS
schemarenderizado porSchemaRendereren@cortex/panel-shadcn. - Builders de alto nivel (
ResourceBuilder,FormBuilder, …) siguen generando widgets tipados; Schema es fundamento para layouts y composición.
Conceptos Schema¶
| Concepto | Cortex |
|---|---|
| Componentes de schema | SchemaBuilder.components() |
| Form fields | FormBuilder → widget form |
| Table columns | TableBuilder → widget data-table |
| Layouts (Grid, Section, Tabs, Wizard) | LayoutBuilder + widget wizard |
| Widgets | WidgetDefinition + hook register_widgets |
Consecuencias¶
- Nuevos layouts y widgets custom deben preferir nodos Schema.
api-table/json-formpermanecen alias legacy un release más.