#[non_exhaustive]pub struct OrchestratorConfig {
pub mode: OrchestrationMode,
pub understanding: UnderstandingConfig,
pub attachments: AttachmentConfig,
pub narration: NarrationConfig,
pub interaction: InteractionConfig,
pub execution: ExecutionConfig,
pub observability: ObservabilityConfig,
pub privacy: PrivacyConfig,
pub effort: EffortConfig,
}Expand description
Everything the runtime needs to know before it handles a turn (Appendix A).
Provider routing is deliberately absent: it belongs to the provider layer and
this crate depends on turnframe-core alone.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.mode: OrchestrationModeHow much autonomy the model gets.
understanding: UnderstandingConfigHow the turn is understood.
attachments: AttachmentConfigHow much of the turn’s files reaches a model.
narration: NarrationConfigHow the assistant talks.
interaction: InteractionConfigHow cards behave.
execution: ExecutionConfigHow commands execute.
observability: ObservabilityConfigWhat is measured and recorded.
privacy: PrivacyConfigWhat may leave the runtime.
effort: EffortConfigThe default effort, and what each level changes.
Implementations§
Source§impl OrchestratorConfig
impl OrchestratorConfig
Sourcepub const fn conservative() -> Self
pub const fn conservative() -> Self
Every section at its conservative default, in
OrchestrationMode::Deterministic.
Sourcepub fn with_effort(self, effort: EffortConfig) -> Self
pub fn with_effort(self, effort: EffortConfig) -> Self
Returns a copy with another default effort and other level changes.
Sourcepub const fn with_attachments(self, attachments: AttachmentConfig) -> Self
pub const fn with_attachments(self, attachments: AttachmentConfig) -> Self
Returns a copy with another attachment budget.
Sourcepub fn with_mode(self, mode: OrchestrationMode) -> Self
pub fn with_mode(self, mode: OrchestrationMode) -> Self
Returns a copy in another orchestration mode.
Sourcepub fn with_understanding(self, understanding: UnderstandingConfig) -> Self
pub fn with_understanding(self, understanding: UnderstandingConfig) -> Self
Returns a copy with another understanding section.
Sourcepub const fn with_narration(self, narration: NarrationConfig) -> Self
pub const fn with_narration(self, narration: NarrationConfig) -> Self
Returns a copy with another narration section.
Sourcepub const fn with_interaction(self, interaction: InteractionConfig) -> Self
pub const fn with_interaction(self, interaction: InteractionConfig) -> Self
Returns a copy with another interaction section.
Sourcepub const fn with_execution(self, execution: ExecutionConfig) -> Self
pub const fn with_execution(self, execution: ExecutionConfig) -> Self
Returns a copy with another execution section.
Sourcepub const fn with_observability(
self,
observability: ObservabilityConfig,
) -> Self
pub const fn with_observability( self, observability: ObservabilityConfig, ) -> Self
Returns a copy with another observability section.
Sourcepub const fn with_privacy(self, privacy: PrivacyConfig) -> Self
pub const fn with_privacy(self, privacy: PrivacyConfig) -> Self
Returns a copy with another privacy section.
Sourcepub fn policy_snapshot(&self, base: PolicySnapshot) -> PolicySnapshot
pub fn policy_snapshot(&self, base: PolicySnapshot) -> PolicySnapshot
Tightens base with the risk classes the mode refuses (§11.4).
The result only ever forbids more than base did: a mode cannot widen a
policy snapshot, and origin_satisfies
keeps its own floor regardless of either.
Sourcepub fn validate(&self) -> Result<(), ConfigError>
pub fn validate(&self) -> Result<(), ConfigError>
Checks every section and the rules that span sections.
Cross-section rules:
- storing model prompts while the replay record is switched off asks for prompts nothing will ever write;
- sandboxed autonomy without a replay record leaves the one mode where the model drives writes with no way to explain what it did (I20).