Which output surface the gated text belongs to. 'answer' is the
client-visible answer text (and the channel input gating always runs
under); 'reasoning' is the model's reasoning trace; 'object' is structured
output, gated as the canonical JSON latest snapshot.
Under the supported @mastra/core peer, the engine sees the object
channel only for object chunks that flow through the processor chain
(model-native streaming). A generate() result's parsed object and core's
StructuredOutputProcessor chunks never pass through the chain.
createGuardedAgent rejects structured output because a wrapper gate would
run only after Mastra had exposed the parsed value. An object-only policy
still requires an audit sink so a standalone engine records a fail-closed
result-phase coverage error.
Which output surface the gated text belongs to. 'answer' is the client-visible answer text (and the channel input gating always runs under); 'reasoning' is the model's reasoning trace; 'object' is structured output, gated as the canonical JSON latest snapshot.
Under the supported
@mastra/corepeer, the engine sees theobjectchannel only for object chunks that flow through the processor chain (model-native streaming). Agenerate()result's parsed object and core'sStructuredOutputProcessorchunks never pass through the chain.createGuardedAgentrejects structured output because a wrapper gate would run only after Mastra had exposed the parsed value. An object-only policy still requires an audit sink so a standalone engine records a fail-closed result-phase coverage error.