# `MishkaGervaz.Table.Transformers.BuildRuntimeConfig`
[🔗](https://github.com/mishka-group/mishka_gervaz/blob/v0.0.1-alpha.3/lib/mishka_gervaz/table/transformers/build_runtime_config.ex#L1)

Builds the final runtime configuration from the DSL state.

This transformer runs last and compiles the DSL configuration into
a map structure that can be efficiently accessed at runtime by the
LiveComponent.

The compiled configuration is persisted as `:mishka_gervaz_config`
and can be retrieved via `MishkaGervaz.Resource.Info.Table.config/1`.

## Section Behavior

- Sections return `nil` when not defined: `source`, `columns`, `filters`,
  `row_actions`, `row`, `bulk_actions`, `hooks`
- Sections inherit from domain first, then use defaults: `presentation`,
  `refresh`, `url_sync`, `realtime`
- Sections always return defaults (never nil): `pagination`, `empty_state`,
  `error_state`

## Multi-tenancy

For non-multi-tenant resources, action tuples use only the second (tenant) action,
since there's no master/tenant distinction.

See `MishkaGervaz.Resource.Info.Table` (reads what this persists),
`MishkaGervaz.Table.Transformers.{BuildDomainConfig, MergeDefaults,
ResolveColumns}` (upstream),
`MishkaGervaz.Table.Transformers.Helpers`,
`MishkaGervaz.Table.ArchiveMerger`, and the form-side counterpart
`MishkaGervaz.Form.Transformers.BuildRuntimeConfig`.

# `after_compile?`

# `before?`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
