Context
Step 3 (Tool System) shipped with 5 built-in tools but the MVP spec calls for 8. Three items are missing.
Missing tools
file_edit (SideEffecting)
Find-and-replace edit in a file. The LLM specifies old text and new text, and the tool replaces it. More surgical than write_file for small changes.
Parameters:
path (string, required) — file path
old_text (string, required) — text to find
new_text (string, required) — replacement text
web_search (SideEffecting)
Search the web. MVP supports DuckDuckGo (no API key needed), with Google and SearxNG as optional backends.
Parameters:
query (string, required) — search query
num_results (integer, optional, default 5) — number of results
Config already exists: tools.web_search.provider, tools.web_search.base_url, tools.web_search.api_key_env
Missing feature
Output scrubbing
Applied to all tool outputs before returning to LLM:
- Path scrubbing — replace host absolute paths with workspace-relative paths
- Keyword scrubbing — redact known secret patterns (API keys, tokens)
- Entropy-based detection — flag high-entropy strings (Shannon >= 3.8)
Also noted in MVP but deferred
- WASM sandbox (wazero) — the MVP spec mentions it but process-mode tools work fine for launch. Can be added later for defense-in-depth.
Context
Step 3 (Tool System) shipped with 5 built-in tools but the MVP spec calls for 8. Three items are missing.
Missing tools
file_edit (SideEffecting)
Find-and-replace edit in a file. The LLM specifies old text and new text, and the tool replaces it. More surgical than write_file for small changes.
Parameters:
path(string, required) — file pathold_text(string, required) — text to findnew_text(string, required) — replacement textweb_search (SideEffecting)
Search the web. MVP supports DuckDuckGo (no API key needed), with Google and SearxNG as optional backends.
Parameters:
query(string, required) — search querynum_results(integer, optional, default 5) — number of resultsConfig already exists:
tools.web_search.provider,tools.web_search.base_url,tools.web_search.api_key_envMissing feature
Output scrubbing
Applied to all tool outputs before returning to LLM:
Also noted in MVP but deferred