OutputsConfig
Defaults and per-output overrides for the tables and relations your model produces.
Top-level keys set deployment-wide defaults; overrides is an ordered list
of per-output adjustments. Output names follow Snowflake rules: unquoted names
match case-insensitively (cancel_chain matches CANCEL_CHAIN); wrap a
name in double quotes (e.g. '"My.Table"') to match a quoted identifier
exactly.
Examples
outputs: reasoner: sql type: table schedule: standard overrides: - objects: [TRANSACTION] reasoner: logic - objects: [recursive_closure] schedule: fast_path - objects: [SOURCE_DERIVED_TRANSACTIONS, DERIVED_TRANSACTIONS] type: viewAttributes
.reasoner
OutputsConfig.reasoner: (str, optional)Default reasoner — "sql" or "logic". When omitted (default), the
router auto-decides per output. When set, every output not covered by an
override is forced onto this reasoner, except outputs another reasoner owns
outright — the staging a configured Problem writes its results into, which
only the solver can compute. The tables you read solutions from are ordinary
SQL over that staging and are still forced.
Advanced option. Only force outputs that the target reasoner can actually compute. The reasoner name itself is checked when the config loads; whether the reasoner can compute a given output is not, and an incompatible forcing may not fail until refresh.
.type
OutputsConfig.type: strDefault materialization type for output tables (Snowflake only): "view",
"table", or "dynamic_table" (default). Ignored on DuckDB.
.schedule
OutputsConfig.schedule: (str, optional)Default schedule name (under deployment.schedules) that outputs
refresh on. Outputs without a schedule override use this one; if
omitted, those outputs are not scheduled.
.overrides
OutputsConfig.overrides: list[OutputOverride]Ordered per-output adjustments. Each entry names a group of outputs and
sets one or more of reasoner, type, schedule for them.