Skip to content

[argus] patch #46: tool_search.exclude — deferral opt-out for hot MCP tools#10

Merged
Nichol4s merged 2 commits into
argusfrom
argus-patch-46-tool-search-exclude
Jul 23, 2026
Merged

[argus] patch #46: tool_search.exclude — deferral opt-out for hot MCP tools#10
Nichol4s merged 2 commits into
argusfrom
argus-patch-46-tool-search-exclude

Conversation

@Nichol4s

Copy link
Copy Markdown

Part of the Acropolis capability rewrite P1 canary gate.

Deferral (tool_search.enabled) is all-or-nothing over MCP-tagged tools. The canary bench (goldset-wide-v2, 15 runs/arm, 2026-07-23) measured the cost: mean wall clock doubled (13.0s -> 26.3s) because the hot knowledge tools (pythia_query, kb_query, entity_search, code_search_*) are used in most turns — the tool_search promotion round-trip on a local 27B costs more latency than their schemas cost context.

ToolSearchConfig.exclude: list[str] — fnmatch patterns against FINAL (server-prefixed) tool names. Excluded MCP tools skip the deferred catalog and stay always-bound; the fail-closed guard treats all-excluded as a valid empty setup. Threaded through all four assemble_deferred_tools call sites (lead x2, embedded client, subagent executor).

Config (atlas-template) will carry:

tool_search:
  enabled: true
  exclude: ["pythia_*", "kb_query", "code_*"]

Tests: test_deferred_setup.py::TestExclude (4 new); deferred suites 34/34 green. PATCHES.md updated same-commit per the hard rule. Exit: upstream per-server/per-tool deferral control.

Canary re-bench happens from this branch before merge; pin bump + fleet follow after the gate.

🤖 Generated with Claude Code

https://claude.ai/code/session_018KmwWGKMPVxabtjafVYTLz

Nichol4s and others added 2 commits July 23, 2026 19:29
…r hot MCP tools

Deferral is all-or-nothing over MCP tools; the canary bench (goldset-wide-v2,
15 runs/arm) showed the promotion round-trip doubling mean wall clock because
the hot knowledge tools (pythia_query, kb_query, ...) are used in most turns.
exclude patterns (fnmatch on final prefixed names) keep hot tools always-bound
while the long tail defers. Fail-closed guard treats all-excluded as a valid
empty setup. Threaded through all four assemble call sites.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mangling)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Nichol4s
Nichol4s merged commit 3f20af8 into argus Jul 23, 2026
4 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant