pub struct FrozenConfig {
pub clock_stamp: ClockStampGranularity,
pub clock_zones: Vec<ClockZone>,
pub sandbox: SandboxLimits,
pub mcp: Vec<McpServer>,
pub effort: Option<Effort>,
pub second_threshold: Option<SecondThreshold>,
pub search: SearchConfiguration,
}Expand description
Frozen at Run start, never re-read within the Run. Fields only grow.
Fields§
§clock_stamp: ClockStampGranularity§clock_zones: Vec<ClockZone>§sandbox: SandboxLimitsFrozen for the same reason the tool table is: what a run may reach decides what it was told it could do, and a capability that widens mid-run is one nobody reviewed.
mcp: Vec<McpServer>External tool servers, frozen for the same reason as the tool table itself: their tools enter the catalog at run start, a provider hashes that array ahead of the system prompt, and a table that widened mid-run would both discard the cache and hand the model a capability nobody reviewed.
effort: Option<Effort>How hard the model may think. Frozen rather than live because the provider renders it into the cached prompt prefix: changing the effort value mid-run invalidates the message cache breakpoints, so a run that could retune itself would keep paying to rebuild the cache it just discarded. A change applies to the next run.
second_threshold: Option<SecondThreshold>Where the context reminder’s second rung sits. None when no
layer states one: the rung falls back to
consts_policy::CTX_REMINDER_SECOND_DEFAULT where it is read.
Frozen with the run: a rung that moved mid-run would make “each
rung sounds once per run” depend on when somebody edited a file.
search: SearchConfigurationWhich supplier web_search reaches, frozen for the reason mcp
is: the tool and its parameters enter the catalog at run start,
and a supplier changed mid-run would change who receives the
run’s queries without anybody reviewing it. Absent in a snapshot
written before search existed, which reads as Default.