Skip to content

Keep a fixed minimal tool wire with free-name dispatch - #481

Closed
TheGreatAxios wants to merge 1 commit into
mainfrom
experiment/tool-search-no-promote
Closed

Keep a fixed minimal tool wire with free-name dispatch#481
TheGreatAxios wants to merge 1 commit into
mainfrom
experiment/tool-search-no-promote

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • Fixed wire tools array never grows mid-session (provider tools-prefix cache stays hot)
  • Wire membership is minimal: file/shell loop + product loop tools + only harness-blocked substitutes (grep, search_files, web_fetch, web_search)
  • Deferred tools (list_dir, lsp, present, MCP) stay registered and dispatchable by exact name without wire promotion
  • tool_search returns schema cards only — no promote/activate path
  • System prompt only requires tools that are already on the wire
  • Stops Grok 4.6 thrash on capability web-bait (clean 3-turn web_fetch path)

Test plan

  • bun run typecheck / pre-commit build
  • Unit: tool-search, prompts, director (wire stability + free-name)
  • Capability: web-bait matrix on xai/thegreataxios for grok-4.5, grok-4.6, grok-composer-2.5-fast — 3/3 pass, all use web_fetch, 3 turns, no thrash

Notes

Linear ticket creation is blocked on a hung Linear MCP in this session; will attach CL-#### once the issue exists and rename the branch if needed.

Stop mid-session wire promotion from tool_search so the provider tools-array
prefix stays cache-stable. Advertise only the file/shell loop, product loop
tools, and harness-blocked substitutes (grep, search_files, web_fetch,
web_search). Deferred tools remain registered and callable by exact name after
discovery; the prompt only requires tools that are on the wire. Fixes Grok 4.6
thrash on web-bait (3/3 with 4.5 and composer).
@TheGreatAxios

Copy link
Copy Markdown
Collaborator Author

Hold — zero-regression review BLOCK.

Fleet review found that this PR removes wire promotion that main treated as required for strict providers (Grok Responses / Codex / OpenAI-style). Client free-name dispatch works, but undeclared MCP/list_dir/lsp/present tools often will not be emitted by strict models after tool_search.

Before ship, need one of:

  1. Restore promotion for non-built-ins (MCP) after search, or
  2. Prove those providers emit undeclared free-name tools, or
  3. Explicit product cut documented as best-effort MCP on strict providers.

Not merging as part of the current train.

@TheGreatAxios

Copy link
Copy Markdown
Collaborator Author

Close as abandoned experiment. Main already ships web_fetch/web_search on the catalog wire (the web-bait win). The no-promote/free-name design is incompatible with 0.2.99 same-turn MCP dispatch and current promoteTools. Remaining cache-growth work belongs on existing CL-1860 (evict after promote), not a revival of this branch. Do not merge.

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