perf(delegate): narrow default child toolsets - #64366
Conversation
Co-Authored-By: Aiden <aiden@weco.ai>
|
Thanks for the focused delegation reduction. The premise remains live on current main: The implementation keeps the existing parent-surface restriction, applies the existing blocked-tool filter, preserves MCP behavior for explicit non-empty requests, and distinguishes an explicit empty list. The added tests cover the new minimal default and the empty-list/MCP edge case. Current main only changed an unrelated async completion identity block since this PR's base ( Automated hermes-sweeper review. |
|
Flagging something that landed after this was opened, because it changes what merging it would actually do. #69325 ( I checked this on the merged tree rather than by reading: The premise the PR was written against does still hold: The small fix is adding |
Summary
This PR addresses the child-toolset portion of #11431: delegated children should not inherit every optional toolset from the parent by default.
toolsetsis omitted, the child receives the existingDEFAULT_TOOLSETS(terminal,file, andweb), intersected with the parent's allowed surface.toolsets=[]remains empty, including when the parent has MCP toolsets.delegate_taskschema and removeddelegation.default_toolsetsconfig are unchanged.Measured Result
We ran autoresearch with Weco against the actual child-agent tool schema:
25,955schema bytes,12tools12,581schema bytes,6tools51.5%Public Weco run: child tool-schema autoresearch
Validation
200focused tests passed.uvx ruff check --fix .passed.This is intentionally limited to the tool-surface part of #11431. It does not change child shutdown, persistence, or compaction behavior.
Refs #11431