Modeller
Reference

Configuration resolution

Deterministic layered configuration, profiles, overrides, provenance, and secret handling.

Modeller.Configuration resolves ordered versioned sources into one immutable runtime configuration. Sources have explicit Base, Profile, or Override precedence. Sources at the same level retain their supplied order; process environment and current directory never become implicit inputs.

Each resolved field records its source identity, version, and precedence. Selected profile values override base values and explicit command values win last. ${field} substitution is deterministic and unresolved values fail with configuration.variable.unresolved.

Secret values remain available to their explicit consumer but provenance shows only [secret]; diagnostics never include secret content. Unsupported source versions, missing required fields, cancellation, and unresolved substitutions return structured results without partial configuration.

modeller init currently creates the minimal versioned JSON packaging at .modeller/config.json. Physical YAML packaging remains an explicit legacy adapter rather than changing this public configuration contract.