Module scoped
Expand description
ScopedToolRegistry - the one gated seam that mints the per-agent tool set.
Assembly applies peripherals, built-in policy, ACP memory stripping, MCP
scope and policy, capability tools, pinned resources, and skills in that
order. This is the only production construction path: the engine’s
turn-entry carriers (ResolvedIo / ResolvedAgentExecution), Agent, and
the channel runtime context all store the sealed type, so an unscoped
registry cannot reach a turn without going through ScopedToolRegistry::assemble.
Structs§
- Scoped
Assembled - Output of
ScopedToolRegistry::assemble: the scoped registry plus the side-channel handles + the deferred-MCP prompt section the callers thread on. - Scoped
Assembly - Inputs to
ScopedToolRegistry::assemble. The eager built-ins arrive already built (built);assembledoes the policy-bearing steps the sites used to repeat. - Scoped
Tool Registry - A per-agent tool registry that has been scoped and gated. The inner field is
private and production code can only mint one through
ScopedToolRegistry::assemble. The engine’s turn-entry carriers (ResolvedIo/ResolvedAgentExecution),Agent, and the channel runtime context store this type directly, so handing the engine an unfiltered registry is a compile error, not a review-checklist item. Read sites are unchanged: the registrystd::ops::Derefs to the same[Box<dyn Tool>]slice the rawVecused to expose.