Stored as JSON in MJ: Entities.Configuration. CodeGen emits a typed
ConfigurationObject accessor on MJEntityEntity that returns
IEntityConfiguration | null.
NULL / {} / omitted keys use the defaults on
IEntityFormConfiguration (Layout: auto, RelatedRolePolicy: smart).
Membership itself is L1 inclusion + L2 ranker + L3 MJ: Form Chrome Rules
L4 user order. BaseFormPolicy.DecorateChrome is cosmetics only.
Expand by adding a property here — no schema migration. Anything the engine
filters, sorts, or joins on stays a column on Entity. Anything the UI
consumes at render time belongs in this bag.
Optional per-entity configuration bag.
Stored as JSON in
MJ: Entities.Configuration. CodeGen emits a typedConfigurationObjectaccessor onMJEntityEntitythat returnsIEntityConfiguration | null.NULL /
{}/ omitted keys use the defaults on IEntityFormConfiguration (Layout: auto,RelatedRolePolicy: smart). Membership itself is L1 inclusion + L2 ranker + L3MJ: Form Chrome RulesBaseFormPolicy.DecorateChromeis cosmetics only.Expand by adding a property here — no schema migration. Anything the engine filters, sorts, or joins on stays a column on
Entity. Anything the UI consumes at render time belongs in this bag.See
guides/FORMS_ARCHITECTURE_GUIDE.md §7d