OptionalDefaultCatalog layers only. Whether prompts run against this model default to native tool calling when they express no preference of their own. POLICY flag — subordinate to MJAIModelVendorEntity_LLMConfigurationSettings.SupportsNativeToolCalling.
OptionalNativeCatalog layers only. How control flow is expressed when a request resolves to native tool
calling. 'envelope' (the default when absent) is the hybrid: Actions are tools, everything
else — completion, chat, delegation, payload changes — is the JSON envelope. 'implicit' is the
implicit protocol: sub-agents, payload_change_request and ask_user are tools too, a tool call
continues the loop, and plain text with no call ends the turn as task completion. Consulted only
when the gate resolves native; subordinate to MJAIModelVendorEntity_LLMConfigurationSettings.SupportsNativeToolCalling.
OptionalNativeCatalog layers only. Whether action results are returned to the model as native tool-result
turns instead of a markdown "Action results" user message. Absent means false. Consulted
only when the gate resolves native.
OptionalSupportsCatalog layers only (model type / model / model vendor). Whether this model — or this vendor's serving of it — supports native tool/function calling.
CAPABILITY flag, and a hard gate: no policy or preference at any layer can force tools onto a
(model, vendor) whose resolved value is not true. Set false only for a model or serving path
verified NOT to support tools; leave absent when support is unknown, because absent is the
honest value and it inherits.
OptionalUsePrompt layers only (prompt / prompt model). Whether THIS prompt asks for native tool
calling. PREFERENCE — it outranks the catalog's DefaultToNativeToolCalling, and is still
subordinate to the capability gate. Absent means "no preference; fall through to the model's
default".
Text-generation knobs, consumed by the LLM drivers and the prompt runner at call time.
Every flag is TRI-STATE (
boolean | null | absent) and the three differ: the cascade REPLACES on any explicit value (includingnull) and only skips a layer that OMITS the property. So absent means "inherit", while an explicit value at a higher layer overrides a lower one even when false.Properties are marked with the layers that HONOR them. A property set at a layer that does not honor it is inert, not an error — that tolerance is deliberate, so a knob can move between layers without a schema change.