From 75e08e5c67f555b5cda8511742c824bb74bb6c1d Mon Sep 17 00:00:00 2001 From: Paulo Aboim Pinto Date: Mon, 6 Jul 2026 13:10:32 +0200 Subject: [PATCH 001/111] docs: add Layer 5.1 user-command registry evidence summary FEAT-010 (Layer 5.1) verified that the user-command registry and loading boundary already satisfies all acceptance criteria. No production code changes were needed. This document records the verification evidence, source architecture, and boundary contracts for downstream layers. Refs: Hmbown/CodeWhale#2870 (EPIC-002) --- ...ayer-5-1-user-command-registry-evidence.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 docs/evidence/layer-5-1-user-command-registry-evidence.md diff --git a/docs/evidence/layer-5-1-user-command-registry-evidence.md b/docs/evidence/layer-5-1-user-command-registry-evidence.md new file mode 100644 index 0000000000..0903fc440f --- /dev/null +++ b/docs/evidence/layer-5-1-user-command-registry-evidence.md @@ -0,0 +1,47 @@ +# Layer 5.1: User Command Registry And Loading Boundary — Evidence Summary + +**EPIC-002**: Staged command-boundary refactor (Hmbown/CodeWhale#2870) +**FEAT-010**: Layer 5.1 — User Command Registry And Loading Boundary +**Status**: ✅ Satisfied by existing code — no production changes needed +**Date**: 2026-07-03 + +## Acceptance Criteria Verification + +| Criterion | Status | Evidence | +|-----------|--------|----------| +| Valid user command loads with metadata | ✅ Satisfied | `user_registry::tests::registry_loads_markdown_metadata` | +| Invalid frontmatter recoverable error | ✅ Satisfied | `user_registry::tests::invalid_frontmatter_dispatch_returns_user_command_error_without_builtin_fallback` | +| Hidden command loaded and dispatchable | ✅ Satisfied | `user_registry::tests::hidden_user_commands_still_dispatch_directly` | +| Allowed-tools metadata parsed and available | ✅ Satisfied | `user_registry::tests::registry_loads_markdown_metadata` + `empty_allowed_tools_frontmatter_blocks_all_tools` | +| Reload/lazy-load reflects file changes | ✅ Satisfied | `user_registry::tests::registry_reloads_when_existing_command_file_changes` | +| User commands separate from built-ins | ✅ Satisfied | Source: `commands::execute()` checks `user_registry::try_dispatch()` before built-in registry | + +## Test Results + +| Test suite | Count | Result | +|-----------|-------|--------| +| `user_registry` | 18/18 | ✅ PASS | +| `user_commands` | 24/24 | ✅ PASS | +| `commands::tests` (dispatch) | 60/60 | ✅ PASS | +| `command_palette` | 23/23 | ✅ PASS | +| `cargo check -p codewhale-tui` | — | ✅ PASS | +| `cargo fmt --check` | — | ✅ PASS | + +## Source Architecture (Live Verification) + +| Concern | Source file | Finding | +|---------|------------|---------| +| Built-in command registration | `crates/tui/src/commands/mod.rs`, `groups/mod.rs` | Built-ins via `groups::all_command_groups()` into trait-backed `CommandRegistry` | +| User command discovery | `crates/tui/src/commands/user_commands.rs` | Scans workspace `.codewhale`, `.deepseek`, `.claude`, `.cursor` dirs | +| User-command registry boundary | `crates/tui/src/commands/user_registry.rs` | `UserCommandRegistry` with commands, aliases, load_errors, invalid_commands | +| Metadata | `UserCommandMetadata` | name, body, description, argument_hint, allowed_tools, pausable, aliases, hidden | +| Dispatch precedence | `commands::execute()` + `user_registry::try_dispatch()` | User commands before built-ins; invalid commands return errors without built-in fallback | +| Hidden commands | `user_registry.rs`, `command_palette.rs`, `widgets/mod.rs` | Directly dispatchable, filtered from palette/slash completion | +| Allowed tools | `parse_allowed_tools()` + `try_dispatch()` | Parsed to normalized tool names, stored in `app.active_allowed_tools` | + +## Boundary Contracts + +- **Data**: `UserCommandMetadata` is the user-command boundary object +- **API**: `user_registry::with_registry_for_workspace()` is the borrowed registry access point +- **Dispatch**: User commands before built-ins; invalid commands don't fall through to built-ins +- **Documentation**: See `docs/architecture/command-dispatch.md` From a1cbce3f2a9c5c74348bc848db1028f1514839f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 08:46:33 +0000 Subject: [PATCH 002/111] chore(deps): bump axios Bumps the npm_and_yarn group with 1 update in the /integrations/feishu-bridge directory: [axios](https://github.com/axios/axios). Updates `axios` from 1.16.1 to 1.18.1 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.16.1...v1.18.1) --- updated-dependencies: - dependency-name: axios dependency-version: 1.18.1 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] --- integrations/feishu-bridge/package-lock.json | 6 +++--- integrations/feishu-bridge/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/integrations/feishu-bridge/package-lock.json b/integrations/feishu-bridge/package-lock.json index 9cba07fc30..faaa91f224 100644 --- a/integrations/feishu-bridge/package-lock.json +++ b/integrations/feishu-bridge/package-lock.json @@ -114,9 +114,9 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz", - "integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.1.tgz", + "integrity": "sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==", "license": "MIT", "dependencies": { "follow-redirects": "^1.16.0", diff --git a/integrations/feishu-bridge/package.json b/integrations/feishu-bridge/package.json index f67c33a732..3e6cc8afa3 100644 --- a/integrations/feishu-bridge/package.json +++ b/integrations/feishu-bridge/package.json @@ -15,7 +15,7 @@ "@larksuiteoapi/node-sdk": "^1.52.0" }, "overrides": { - "axios": "^1.16.1", + "axios": "^1.18.1", "qs": ">=6.15.2" }, "engines": { From d11d7d018f2cc626e7054f9a0f4736c2dc04f6da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 17:28:06 +0000 Subject: [PATCH 003/111] chore(deps-dev): bump js-yaml Bumps the npm_and_yarn group with 1 update in the /web directory: [js-yaml](https://github.com/nodeca/js-yaml). Updates `js-yaml` from 4.2.0 to 4.3.0 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...4.3.0) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.3.0 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] --- web/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index d8ec5927d9..5f951672ad 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -9417,9 +9417,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", - "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", "dev": true, "funding": [ { From c9010ec4e18bf7a2b9d38ef46679301e53a819c9 Mon Sep 17 00:00:00 2001 From: Hunter B Date: Tue, 21 Jul 2026 13:04:59 -0700 Subject: [PATCH 004/111] measure: add provider-free runtime contract receipts. Add `print_agent_runtime_contract_metrics` to `crates/tui/src/core/engine/tests.rs` so the rendered system prompt, mode runtime instructions, and tool catalog can be measured from the same binaries that ship. Introduce `scripts/measure-runtime-contract.py` to drive both ignored metric tests and emit a single JSON receipt. Fix `scripts/measure-tool-catalog.py` to also search stderr, where the Rust test emits the `TOOL_CATALOG_METRICS` marker with `--nocapture`. No model-facing behavior changes. --- crates/tui/src/core/engine/tests.rs | 42 +++++++++++++++++++++ scripts/measure-runtime-contract.py | 58 +++++++++++++++++++++++++++++ scripts/measure-tool-catalog.py | 3 +- 3 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 scripts/measure-runtime-contract.py diff --git a/crates/tui/src/core/engine/tests.rs b/crates/tui/src/core/engine/tests.rs index 7157d4a740..4f92deca8c 100644 --- a/crates/tui/src/core/engine/tests.rs +++ b/crates/tui/src/core/engine/tests.rs @@ -7,6 +7,10 @@ use super::turn_loop::{ }; use crate::config::ApiProvider; use crate::models::{SystemBlock, Usage}; +use crate::prompts::{ + PromptSessionContext, system_prompt_flat_text, + system_prompt_for_mode_with_context_skills_and_session, +}; use crate::test_support::{EnvVarGuard, lock_test_env}; use crate::tools::plan::{PlanItemArg, PlanSnapshot, StepStatus}; use crate::tools::spec::ToolCapability; @@ -5353,6 +5357,44 @@ fn print_agent_tool_catalog_metrics() { ); } +#[test] +#[ignore = "one-shot metric for scripts/measure-runtime-contract.py"] +#[allow(clippy::print_stdout)] +fn print_agent_runtime_contract_metrics() { + let tmp = tempdir().expect("tempdir"); + let workspace = tmp.path().to_path_buf(); + let session_context = PromptSessionContext::default(); + let prompt = system_prompt_for_mode_with_context_skills_and_session( + &workspace, + None, + None, + None, + session_context, + ); + let flat_prompt = system_prompt_flat_text(&prompt); + let prompt_bytes = flat_prompt.len(); + let prompt_tokens_est = prompt_bytes.div_ceil(4); + + // Mode runtime instructions are delivered as per-turn metadata; measure + // them separately so prompt-size work does not forget the volatile surface. + let mode_bytes = crate::prompts::AGENT_MODE.len(); + let mode_tokens_est = mode_bytes.div_ceil(4); + + println!( + "RUNTIME_CONTRACT_METRICS {}", + serde_json::json!({ + "system_prompt_bytes": prompt_bytes, + "system_prompt_tokens_est": prompt_tokens_est, + "system_prompt_blocks": match prompt { + crate::models::SystemPrompt::Blocks(blocks) => blocks.len(), + _ => 1, + }, + "agent_mode_instructions_bytes": mode_bytes, + "agent_mode_instructions_tokens_est": mode_tokens_est, + }) + ); +} + #[test] fn deferred_tool_hydration_activates_without_guard_result_for_same_turn_retry() { let mut edit = api_tool("edit_file"); diff --git a/scripts/measure-runtime-contract.py b/scripts/measure-runtime-contract.py new file mode 100644 index 0000000000..cfbe77b12f --- /dev/null +++ b/scripts/measure-runtime-contract.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +"""Measure the provider-free model-facing runtime contract. + +Combines the serialized tool catalog and the rendered system prompt into a +single reproducible receipt. No API keys or live providers are required. +""" + +from __future__ import annotations + +import json +import subprocess +import sys + + +def run_metric(test_name: str, marker: str) -> dict: + cmd = [ + "cargo", + "test", + "-p", + "codewhale-tui", + test_name, + "--", + "--ignored", + "--nocapture", + "--test-threads=1", + ] + proc = subprocess.run(cmd, text=True, capture_output=True, check=False) + sys.stderr.write(proc.stderr) + + combined = proc.stdout.splitlines() + proc.stderr.splitlines() + for line in combined: + if marker in line: + return json.loads(line.split(marker, 1)[1]) + + sys.stdout.write(proc.stdout) + raise RuntimeError(f"missing {marker} marker") + + +def main() -> int: + tool_metrics = run_metric( + "print_agent_tool_catalog_metrics", + "TOOL_CATALOG_METRICS ", + ) + prompt_metrics = run_metric( + "print_agent_runtime_contract_metrics", + "RUNTIME_CONTRACT_METRICS ", + ) + + receipt = { + "tool_catalog": tool_metrics, + "system_prompt": prompt_metrics, + } + print(json.dumps(receipt, indent=2, sort_keys=True)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/measure-tool-catalog.py b/scripts/measure-tool-catalog.py index c5b403676c..6a39d761c3 100755 --- a/scripts/measure-tool-catalog.py +++ b/scripts/measure-tool-catalog.py @@ -31,7 +31,8 @@ def main() -> int: proc = subprocess.run(cmd, text=True, capture_output=True, check=False) sys.stderr.write(proc.stderr) - for line in proc.stdout.splitlines(): + combined = proc.stdout.splitlines() + proc.stderr.splitlines() + for line in combined: if MARKER in line: metrics = json.loads(line.split(MARKER, 1)[1]) print(json.dumps(metrics, indent=2, sort_keys=True)) From cd24aacb3a60fd546ef98c5e93c7749f1eb48240 Mon Sep 17 00:00:00 2001 From: Hunter B Date: Tue, 21 Jul 2026 13:09:20 -0700 Subject: [PATCH 005/111] design: runtime simplification surface and prompt plan. Add docs/RUNTIME_SIMPLIFICATION_DESIGN.md with the final minimal model-facing tool surface, rejected alternatives, compatibility plan, prompt simplification outline, and validation matrix. No code changes yet. --- docs/RUNTIME_SIMPLIFICATION_DESIGN.md | 83 +++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 docs/RUNTIME_SIMPLIFICATION_DESIGN.md diff --git a/docs/RUNTIME_SIMPLIFICATION_DESIGN.md b/docs/RUNTIME_SIMPLIFICATION_DESIGN.md new file mode 100644 index 0000000000..99c1a4d472 --- /dev/null +++ b/docs/RUNTIME_SIMPLIFICATION_DESIGN.md @@ -0,0 +1,83 @@ +# CodeWhale Runtime Simplification Design + +## Goal + +Make the model-facing runtime smaller, calmer, and easier for models to use by: + +1. Collapsing the long tail of single-purpose file, git, run, and web tools into + a few canonical action-based tools. +2. Shrinking the system prompt to durable behavioral invariants and per-turn + permission deltas. +3. Keeping every legacy tool name registered but hidden so old transcripts, + saved sessions, and recorded automation replay without migration. + +## Target model-facing surface (default active) + +| Tool | Actions / Niche | +|---|---| +| `Bash` | `run`, `wait`, `interact`, `cancel` (existing) | +| `File` | `read`, `list`, `search_name`, `search_content`, `write`, `edit`, `patch` | +| `Git` | `status`, `diff`, `log`, `show`, `blame` | +| `Run` | `tests`, `verifiers` | +| `Web` | `search`, `fetch`, `wait` (deferred unless network is enabled; hidden aliases for legacy names) | +| `tasks` | durable task family (existing action-based surface) | +| `github` | durable GitHub family (existing; deferred by default) | +| `automation` | durable automation family (existing; deferred by default) | +| `rlm` | durable RLM family (existing; deferred by default) | +| `agent` | sub-agent dispatch | +| `work_update` | progress / plan-of-work updates | +| `update_plan` | plan artifact updates | +| `tool_search` | on-demand discovery of deferred tools | + +Default eager count target: **~10** (vs. ~18 today), with the durable families and +`Web` discoverable via `tool_search` when needed. + +## Rejected alternatives + +- **Keep every tool but defer the rare ones.** This only changes what is + advertised, not how many distinct schemas the model must learn. It also + leaves duplicated guidance in the prompt. +- **Route search and git through `Bash`.** `grep_files`, `file_search`, and the + git tools return structured, workspace-aware output and respect sandbox, + `.gitignore`, and network policy. Shell would force the model to re-parse + free-form text and lose those guarantees, so dedicated tools win. +- **One mega `File` tool plus a separate `Edit` tool.** A single `File` tool is + only slightly larger than a read/edit pair and keeps the boundary the model + already understands (`read` is cheap, `edit` requires prior read). Splitting + would re-introduce a two-tool alias for the same underlying operations. +- **Delete legacy tools.** Saved transcripts and replay tests rely on the old + names. Removing them would require a config migration and break reproducibility. + Hidden aliases avoid both. + +## Compatibility + +- Legacy names (`read_file`, `write_file`, `edit_file`, `list_dir`, `file_search`, + `grep_files`, `apply_patch`, `git_status`, `git_diff`, `git_log`, `git_show`, + `git_blame`, `run_tests`, `run_verifiers`, `web_search`, `fetch_url`, + `wait_for_dev_server`) stay registered with `model_visible = false`. +- The engine resolves calls by name, so old transcripts replay without changes. +- `DEFAULT_ACTIVE_NATIVE_TOOLS` is updated to list the new canonical names only; + hidden legacy tools are ignored by catalog construction. + +## Prompt simplification + +- Replace the tool-calling recipe sections in `AGENT_MODE` and + `SUBAGENT_OUTPUT_FORMAT` with short references to the canonical tools. +- Reduce mode deltas to permission statements (Agent = write requires approval, + Plan = no writes or shell, YOLO = auto-approved, Operate = coordinate from + ordinary messages). +- Keep the `BASE_PROMPT` behavioral invariants, `LANGUAGE_PROMPT`, and + `OUTPUT_PROMPT` intact. +- Move detailed templates (`COMPACT_TEMPLATE`, sub-agent brief format, planning + artifact template) out of the stable prefix and into tool schemas or + conditional blocks. + +## Validation + +- Provider-free: `scripts/measure-runtime-contract.py` reports active tool count + and prompt bytes before and after. +- Behavior-preserving: targeted unit tests for `File`, `Git`, `Run`, and `Web` + dispatch against legacy inputs. +- Regression: `cargo fmt`, `cargo clippy --workspace --all-targets --locked`, + `cargo test -p codewhale-tui --bin codewhale-tui --locked`, and + `cargo test --workspace`. From 6d0ebc881a8bd2469c45b25f2a606fa63681e112 Mon Sep 17 00:00:00 2001 From: Fred Leitz Date: Tue, 21 Jul 2026 17:17:57 -0300 Subject: [PATCH 006/111] fix(shell): default no-cwd shell commands to context.workspace When the BashTool receives no explicit `cwd`, the working directory now defaults to `context.workspace` (the sub-agent's worktree when `worktree: true` was used) instead of `None`, which fell through to the shared ShellManager's parent-workspace default. This ensures sub-agents in isolated worktrees run shell commands in their worktree directory rather than the parent checkout. Previously, the foreground execution path (`execute_foreground_via_background`) always passed `None` as the working directory, so it always used the ShellManager's `default_workspace` regardless of the input `cwd`. Now the resolved `working_dir` from the BashTool's cwd handling is threaded through to the execution path. Co-authored-by: fleitz --- crates/tui/src/tools/shell.rs | 9 ++++++-- crates/tui/src/tools/shell/tests.rs | 36 +++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/crates/tui/src/tools/shell.rs b/crates/tui/src/tools/shell.rs index a7cd0bcf3e..4c1960cfff 100644 --- a/crates/tui/src/tools/shell.rs +++ b/crates/tui/src/tools/shell.rs @@ -2459,6 +2459,7 @@ fn exec_shell_input_starts_detached(input: &serde_json::Value) -> bool { async fn execute_foreground_via_background( context: &ToolContext, command: &str, + working_dir: Option, timeout_ms: u64, stdin_data: Option<&str>, tty: bool, @@ -2474,7 +2475,7 @@ async fn execute_foreground_via_background( manager.clear_foreground_background_request(); manager.execute_with_options_env_for_owner_and_work( command, - None, + working_dir.as_deref(), timeout_ms, true, stdin_data, @@ -2797,7 +2798,10 @@ impl ToolSpec for BashTool { let resolved = context.resolve_path(dir)?; Some(resolved.to_string_lossy().to_string()) } - None => None, + // Default to the tool context's workspace (which reflects the + // child agent's worktree when `worktree: true` was used), not the + // shared ShellManager's parent-workspace default_workspace. + None => Some(context.workspace.display().to_string()), }; // #456 — collect env from any configured `shell_env` hooks. Runs @@ -2977,6 +2981,7 @@ impl ToolSpec for BashTool { execute_foreground_via_background( context, command, + working_dir, timeout_ms, stdin_data.as_deref(), combined_output, diff --git a/crates/tui/src/tools/shell/tests.rs b/crates/tui/src/tools/shell/tests.rs index 0237be548f..ca70fb664b 100644 --- a/crates/tui/src/tools/shell/tests.rs +++ b/crates/tui/src/tools/shell/tests.rs @@ -1871,3 +1871,39 @@ fn issue_1691_quoted_commit_message_round_trips() { .collect(); assert_eq!(got, spec.args); } + +/// When no `cwd` is provided, the shell should run in `context.workspace`, +/// not in the ShellManager's default_workspace. This ensures sub-agents in +/// worktrees run commands in the worktree directory rather than the parent. +/// +/// Without the `context.workspace` default (stashed): runs in sm_dir → FAILS +/// With the `context.workspace` default (unstashed): runs in ctx_dir → PASSES +#[tokio::test] +async fn default_cwd_uses_context_workspace_not_shell_manager_default() { + let ctx_dir = tempdir().expect("ctx tempdir"); + let sm_dir = tempdir().expect("sm tempdir"); + + // Create distinct dirs — write a marker in each so we can tell them apart. + std::fs::write(ctx_dir.path().join("I_AM_CTX_DIR"), "").unwrap(); + std::fs::write(sm_dir.path().join("I_AM_SM_DIR"), "").unwrap(); + + // ToolContext whose workspace is ctx_dir... + let ctx = ToolContext::new(ctx_dir.path()) + // ...but whose ShellManager's default_workspace is sm_dir. + .with_shell_manager(new_shared_shell_manager(sm_dir.path().to_path_buf())); + + let result = BashTool::new("Bash") + .execute(json!({"command": "pwd"}), &ctx) + .await + .expect("shell execute"); + assert!(result.success, "command failed: {:?}", result.content); + + let cwd = result.content.trim(); + let ctx_path = std::fs::canonicalize(ctx_dir.path()).unwrap(); + let ctx_str = ctx_path.to_string_lossy().to_string(); + + assert!( + cwd.contains(&ctx_str), + "Expected cwd to be context.workspace ({ctx_str}), but was: {cwd}" + ); +} From 677ef4d4ffa375928bbd29aa340eecd7b17204af Mon Sep 17 00:00:00 2001 From: Hunter B Date: Tue, 21 Jul 2026 13:49:43 -0700 Subject: [PATCH 007/111] feat(runtime): expose canonical action tools Collapse the model-facing native surface into File, Git, Run, and Web while keeping legacy handlers as hidden replay aliases. Move operational recipes into tool descriptions, preserve Plan and sub-agent authority boundaries, and record the measured prompt/catalog reduction. --- crates/tui/src/core/engine/tests.rs | 156 ++++------ crates/tui/src/core/engine/tool_catalog.rs | 40 +-- crates/tui/src/core/engine/turn_loop.rs | 15 +- crates/tui/src/prompts.rs | 218 +++++--------- crates/tui/src/prompts/text.rs | 228 +++----------- crates/tui/src/tools/apply_patch.rs | 4 + crates/tui/src/tools/dev_server_readiness.rs | 4 + crates/tui/src/tools/fetch_url.rs | 4 + crates/tui/src/tools/file.rs | 16 + crates/tui/src/tools/file_search.rs | 4 + crates/tui/src/tools/file_tool.rs | 297 +++++++++++++++++++ crates/tui/src/tools/git.rs | 8 + crates/tui/src/tools/git_history.rs | 12 + crates/tui/src/tools/git_tool.rs | 172 +++++++++++ crates/tui/src/tools/mod.rs | 4 + crates/tui/src/tools/registry.rs | 160 ++++++++-- crates/tui/src/tools/run_tool.rs | 158 ++++++++++ crates/tui/src/tools/search.rs | 4 + crates/tui/src/tools/subagent/mod.rs | 164 +++++++++- crates/tui/src/tools/subagent/tests.rs | 72 ++++- crates/tui/src/tools/test_runner.rs | 4 + crates/tui/src/tools/verifier.rs | 4 + crates/tui/src/tools/web_search.rs | 4 + crates/tui/src/tools/web_tool.rs | 201 +++++++++++++ docs/RUNTIME_SIMPLIFICATION_DESIGN.md | 17 ++ 25 files changed, 1439 insertions(+), 531 deletions(-) create mode 100644 crates/tui/src/tools/file_tool.rs create mode 100644 crates/tui/src/tools/git_tool.rs create mode 100644 crates/tui/src/tools/run_tool.rs create mode 100644 crates/tui/src/tools/web_tool.rs diff --git a/crates/tui/src/core/engine/tests.rs b/crates/tui/src/core/engine/tests.rs index 4f92deca8c..24c585353c 100644 --- a/crates/tui/src/core/engine/tests.rs +++ b/crates/tui/src/core/engine/tests.rs @@ -4891,39 +4891,37 @@ fn core_native_tools_stay_loaded_in_yolo_mode() { // #4625: `Bash` is the model-facing shell tool; legacy exec_shell names // are hidden compat aliases whose defer state no longer matters. assert!(!should_default_defer_tool("Bash", &always_load)); - // git_blame remains deferred (read-only git history beyond log/show/diff). + for canonical in ["File", "Git", "Run"] { + assert!(!should_default_defer_tool(canonical, &always_load)); + } + assert!(default_active_native_tool_names().len() <= 10); + // Legacy spellings remain registered for replay but are no longer eager. assert!(should_default_defer_tool("git_blame", &always_load)); } #[test] fn non_yolo_mode_retains_default_defer_policy() { let always_load = HashSet::new(); - assert!(!should_default_defer_tool("Bash", &always_load)); - assert!(!should_default_defer_tool("edit_file", &always_load)); - assert!(!should_default_defer_tool("apply_patch", &always_load)); - assert!(!should_default_defer_tool("fetch_url", &always_load)); - assert!(!should_default_defer_tool("git_diff", &always_load)); - // #2654: read-only git history joins the active set. - assert!(!should_default_defer_tool("git_log", &always_load)); - assert!(!should_default_defer_tool("git_show", &always_load)); - assert!(!should_default_defer_tool("git_status", &always_load)); - assert!(!should_default_defer_tool("run_tests", &always_load)); + for canonical in ["Bash", "File", "Git", "Run"] { + assert!(!should_default_defer_tool(canonical, &always_load)); + } assert!(!should_default_defer_tool("agent", &always_load)); - assert!(!should_default_defer_tool("read_file", &always_load)); assert!(!should_default_defer_tool("remember", &always_load)); - assert!(!should_default_defer_tool( - "wait_for_dev_server", - &always_load - )); - assert!(!should_default_defer_tool("web_search", &always_load)); - assert!(!should_default_defer_tool("write_file", &always_load)); assert!(should_default_defer_tool( REQUEST_USER_INPUT_NAME, &always_load )); - assert!(should_default_defer_tool("task_shell_start", &always_load)); - assert!(should_default_defer_tool("task_shell_wait", &always_load)); - assert!(should_default_defer_tool("git_blame", &always_load)); + for legacy in [ + "read_file", + "edit_file", + "apply_patch", + "git_status", + "git_blame", + "run_tests", + "web_search", + ] { + assert!(should_default_defer_tool(legacy, &always_load)); + } } #[test] @@ -4966,10 +4964,10 @@ fn model_tool_catalog_applies_native_and_mcp_deferral() { let always_load = HashSet::new(); let catalog = build_model_tool_catalog( vec![ - api_tool("read_file"), - api_tool("write_file"), + api_tool("File"), api_tool("Bash"), - api_tool("edit_file"), + api_tool("Git"), + api_tool("Run"), api_tool("remember"), api_tool("project_map"), ], @@ -4985,10 +4983,10 @@ fn model_tool_catalog_applies_native_and_mcp_deferral() { .and_then(|tool| tool.defer_loading) }; - assert_eq!(defer_loading("read_file"), Some(false)); - assert_eq!(defer_loading("write_file"), Some(false)); + assert_eq!(defer_loading("File"), Some(false)); assert_eq!(defer_loading("Bash"), Some(false)); - assert_eq!(defer_loading("edit_file"), Some(false)); + assert_eq!(defer_loading("Git"), Some(false)); + assert_eq!(defer_loading("Run"), Some(false)); assert_eq!(defer_loading("remember"), Some(false)); assert_eq!(defer_loading("project_map"), Some(true)); assert_eq!(defer_loading("list_mcp_resources"), Some(false)); @@ -5001,13 +4999,12 @@ fn capability_compact_surface_defers_nonessential_core_tools() { let catalog = build_model_tool_catalog_with_surface( vec![ api_tool("agent"), - api_tool("grep_files"), - api_tool("read_file"), - api_tool("run_tests"), + api_tool("File"), + api_tool("Git"), + api_tool("Run"), api_tool(TOOL_SEARCH_NAME), api_tool("update_plan"), - api_tool("web_search"), - api_tool("write_file"), + api_tool("Web"), ], vec![api_tool("list_mcp_resources"), api_tool("mcp_server_write")], AppMode::Agent, @@ -5022,15 +5019,14 @@ fn capability_compact_surface_defers_nonessential_core_tools() { .and_then(|tool| tool.defer_loading) }; - assert_eq!(defer_loading("read_file"), Some(false)); - assert_eq!(defer_loading("grep_files"), Some(false)); + assert_eq!(defer_loading("File"), Some(false)); + assert_eq!(defer_loading("Git"), Some(false)); assert_eq!(defer_loading("update_plan"), Some(false)); - assert_eq!(defer_loading("write_file"), Some(false)); assert_eq!(defer_loading(TOOL_SEARCH_NAME), Some(false)); assert_eq!(defer_loading("list_mcp_resources"), Some(false)); assert_eq!(defer_loading("agent"), Some(true)); - assert_eq!(defer_loading("run_tests"), Some(true)); - assert_eq!(defer_loading("web_search"), Some(true)); + assert_eq!(defer_loading("Run"), Some(true)); + assert_eq!(defer_loading("Web"), Some(true)); assert_eq!(defer_loading("mcp_server_write"), Some(true)); } @@ -5038,18 +5034,14 @@ fn capability_compact_surface_defers_nonessential_core_tools() { fn capability_full_surface_preserves_default_core_tools() { let always_load = HashSet::new(); let catalog = build_model_tool_catalog_with_surface( - vec![ - api_tool("agent"), - api_tool("read_file"), - api_tool("run_tests"), - ], + vec![api_tool("agent"), api_tool("File"), api_tool("Run")], Vec::new(), AppMode::Agent, &always_load, crate::model_profile::ToolSurfaceBudget::Full, ); - for name in ["agent", "read_file", "run_tests"] { + for name in ["agent", "File", "Run"] { assert_eq!( catalog .iter() @@ -5065,7 +5057,7 @@ fn capability_full_surface_preserves_default_core_tools() { fn plugin_or_benchmark_tools_marked_loaded_stay_active() { let always_load = HashSet::new(); let mut catalog = build_model_tool_catalog( - vec![api_tool("KB_search"), api_tool("read_file")], + vec![api_tool("KB_search"), api_tool("File")], Vec::new(), AppMode::Agent, &always_load, @@ -5086,11 +5078,11 @@ fn plugin_or_benchmark_tools_marked_loaded_stay_active() { active.contains("KB_search"), "plugin/benchmark tools marked loaded must be callable on turn 1" ); - assert!(active.contains("read_file")); + assert!(active.contains("File")); } #[test] -fn agent_catalog_keeps_edit_file_loaded_when_fuzz_is_omitted() { +fn agent_catalog_keeps_canonical_file_tool_loaded() { let (engine, _handle) = Engine::new(EngineConfig::default(), &Config::default()); let registry = engine .build_turn_tool_registry_builder( @@ -5106,39 +5098,34 @@ fn agent_catalog_keeps_edit_file_loaded_when_fuzz_is_omitted() { AppMode::Agent, &always_load, ); - let edit = catalog + let file = catalog .iter() - .find(|tool| tool.name == "edit_file") - .expect("edit_file registered"); + .find(|tool| tool.name == "File") + .expect("File registered"); - assert_eq!(edit.defer_loading, Some(false)); - let required = edit.input_schema["required"] + assert_eq!(file.defer_loading, Some(false)); + let required = file.input_schema["required"] .as_array() - .expect("edit_file schema should include required fields"); - assert!(required.iter().any(|field| field.as_str() == Some("path"))); + .expect("File schema should include required fields"); assert!( required .iter() - .any(|field| field.as_str() == Some("search")) - ); - assert!( - required - .iter() - .any(|field| field.as_str() == Some("replace")) + .any(|field| field.as_str() == Some("action")) ); assert!(!required.iter().any(|field| field.as_str() == Some("fuzz"))); assert_eq!( - edit.input_schema["properties"]["fuzz"]["type"].as_str(), - Some("boolean") + file.input_schema["properties"]["fuzz"]["oneOf"][0]["type"].as_str(), + Some("boolean"), ); let active_at_batch_start = initial_active_tools(&catalog); - assert!(active_at_batch_start.contains("edit_file")); + assert!(active_at_batch_start.contains("File")); let mut hydrated_this_batch = HashSet::new(); assert!( maybe_hydrate_requested_deferred_tool( - "edit_file", + "File", &json!({ + "action": "edit", "path": "src/foo.rs", "search": "before", "replace": "after" @@ -5148,7 +5135,7 @@ fn agent_catalog_keeps_edit_file_loaded_when_fuzz_is_omitted() { &mut hydrated_this_batch, ) .is_none(), - "loaded edit_file calls without fuzz should execute instead of hydrating the schema" + "loaded File calls without fuzz should execute instead of hydrating the schema" ); assert!(hydrated_this_batch.is_empty()); } @@ -5182,9 +5169,7 @@ fn agent_catalog_advertises_and_searches_core_action_tools() { .iter() .map(|tool| tool.name.as_str()) .collect::>(); - // #4625: the model-facing shell tool is `Bash`; `exec_shell` remains a - // hidden compat alias and must NOT appear in the advertised catalog. - for tool_name in ["Bash", "write_file", "edit_file", "apply_patch"] { + for tool_name in ["Bash", "File", "Git", "Run"] { assert!( names.contains(tool_name), "{tool_name} must be advertised in Agent mode" @@ -5513,7 +5498,7 @@ fn deferred_edit_file_first_use_hydrates_schema_without_execution() { fn model_tool_catalog_defers_non_core_native_tools_in_yolo_mode() { let always_load = HashSet::new(); let catalog = build_model_tool_catalog( - vec![api_tool("read_file"), api_tool("project_map")], + vec![api_tool("File"), api_tool("project_map")], vec![api_tool("mcp_server_write")], AppMode::Yolo, &always_load, @@ -5526,7 +5511,7 @@ fn model_tool_catalog_defers_non_core_native_tools_in_yolo_mode() { .and_then(|tool| tool.defer_loading) }; - assert_eq!(defer_loading("read_file"), Some(false)); + assert_eq!(defer_loading("File"), Some(false)); assert_eq!(defer_loading("project_map"), Some(true)); assert_eq!(defer_loading("mcp_server_write"), Some(false)); } @@ -5671,7 +5656,7 @@ fn active_tool_list_pushes_deferred_activations_to_the_tail() { } #[test] -fn deferred_tool_preflight_loads_edit_schema_without_executing_bad_aliases() { +fn hidden_edit_alias_bypasses_deferred_model_catalog_preflight() { let (engine, _handle) = Engine::new(EngineConfig::default(), &Config::default()); let registry = engine .build_turn_tool_registry_builder( @@ -5689,11 +5674,11 @@ fn deferred_tool_preflight_loads_edit_schema_without_executing_bad_aliases() { ); catalog .iter_mut() - .find(|tool| tool.name == "edit_file") - .expect("edit_file registered") + .find(|tool| tool.name == "File") + .expect("File registered") .defer_loading = Some(true); let mut active = initial_active_tools(&catalog); - assert!(!active.contains("edit_file")); + assert!(!active.contains("File")); let result = preflight_requested_deferred_tool( "edit_file", @@ -5704,22 +5689,10 @@ fn deferred_tool_preflight_loads_edit_schema_without_executing_bad_aliases() { }), &catalog, &mut active, - ) - .expect("deferred edit_file should preflight"); - - assert!(active.contains("edit_file")); - assert!(result.success); - assert!(result.content.contains("Tool `edit_file` was deferred")); - assert!(result.content.contains("The tool was not executed")); - assert!(result.content.contains("path: string required")); - assert!(result.content.contains("search: string required")); - assert!(result.content.contains("replace: string required")); - assert!(result.content.contains("old_string -> search")); - assert!(result.content.contains("new_string -> replace")); - assert_eq!( - result.metadata.as_ref().unwrap()["deferred_tool_loaded"], - json!(true) ); + + assert!(result.is_none()); + assert!(!active.contains("File")); } #[test] @@ -7484,6 +7457,7 @@ fn turn_tool_registry_builder_keeps_plan_mode_read_only_for_files() { assert!(registry.contains("read_file")); assert!(registry.contains("list_dir")); + assert!(registry.contains("File")); assert!(!registry.contains("write_file")); assert!(!registry.contains("edit_file")); assert!(!registry.contains("exec_shell")); @@ -9850,11 +9824,7 @@ fn turn_metadata_includes_plan_mode_policy() { ); assert!(text.contains("##### Mode: Plan"), "got: {text}"); assert!( - text.contains("All writes and patches are blocked"), - "got: {text}" - ); - assert!( - text.contains("Shell and code execution are unavailable"), + text.contains("All writes, patches, shell commands, and code execution"), "got: {text}" ); } diff --git a/crates/tui/src/core/engine/tool_catalog.rs b/crates/tui/src/core/engine/tool_catalog.rs index efb7b03282..6f8597d199 100644 --- a/crates/tui/src/core/engine/tool_catalog.rs +++ b/crates/tui/src/core/engine/tool_catalog.rs @@ -43,30 +43,17 @@ pub(super) const DEFAULT_ACTIVE_NATIVE_TOOLS: &[&str] = &[ // #4625: the model-facing shell tool is `Bash`; legacy `exec_shell*` // names are hidden compat aliases and must not be default-active. "Bash", + "File", + "Git", + "Run", "agent", - "apply_patch", - "edit_file", - "fetch_url", - "file_search", - "git_diff", - "git_log", - "git_show", - "git_status", - "grep_files", - "list_dir", - "read_file", "remember", - "run_tests", - "run_verifiers", // Piagent phase B: the model-facing durable-task tool is `tasks`; the // legacy `task_create`/`task_list`/`task_read` names it replaces are // hidden compat aliases and must not be default-active. "tasks", "update_plan", - "wait_for_dev_server", - "web_search", "work_update", - "write_file", ]; const CORE_ACTION_TOOL_FALLBACKS: &[CoreActionToolFallback] = &[ @@ -81,19 +68,9 @@ const CORE_ACTION_TOOL_FALLBACKS: &[CoreActionToolFallback] = &[ unavailable_reason: "Not present in the current model-visible catalog. Interactive Agent sessions expose shell by default unless allow_shell = false; noninteractive and durable profiles require allow_shell = true. Plan mode hides shell, and command tool allow/deny gates can also block it.", }, CoreActionToolFallback { - name: "write_file", - description: "Create or overwrite files in the workspace.", - unavailable_reason: "Not present in the current model-visible catalog. File writes require Act mode and no command tool allow/deny gate blocking write_file.", - }, - CoreActionToolFallback { - name: "edit_file", - description: "Edit existing files by replacing text.", - unavailable_reason: "Not present in the current model-visible catalog. File edits require Act mode and no command tool allow/deny gate blocking edit_file.", - }, - CoreActionToolFallback { - name: "apply_patch", - description: "Apply a patch to one or more workspace files.", - unavailable_reason: "Not present in the current model-visible catalog. Patches require Act mode, the apply_patch feature, and no command tool allow/deny gate blocking apply_patch.", + name: "File", + description: "Read, search, and modify workspace files.", + unavailable_reason: "Not present in the current model-visible catalog. File reads are available in Plan and Agent modes; write and edit actions require an executable mode, while patch also requires the apply_patch feature.", }, ]; @@ -253,10 +230,7 @@ fn apply_tool_surface_budget( if always_load.contains(&tool.name) { continue; } - if matches!( - tool.name.as_str(), - "agent" | "run_tests" | "run_verifiers" | "tasks" | "web_search" - ) { + if matches!(tool.name.as_str(), "agent" | "Run" | "tasks" | "Web") { tool.defer_loading = Some(true); } } diff --git a/crates/tui/src/core/engine/turn_loop.rs b/crates/tui/src/core/engine/turn_loop.rs index 0b3f4b3bf3..404c114966 100644 --- a/crates/tui/src/core/engine/turn_loop.rs +++ b/crates/tui/src/core/engine/turn_loop.rs @@ -3519,8 +3519,9 @@ fn resolve_tool_definition<'a>( .iter() .find(|def| def.name.as_str() == tool_name.as_str()); - // Resolve hallucinated tool names before policy gates run, so aliases like - // ReadFile are checked against the canonical registered tool name. + // Resolve hallucinated tool names before policy gates run. Hidden legacy + // handlers keep their executable name, while policy uses the canonical + // model-facing family definition. if tool_def.is_none() && let Some(registry) = tool_registry && let Some(canonical) = registry.resolve(tool_name.as_str()) @@ -3528,7 +3529,15 @@ fn resolve_tool_definition<'a>( crate::logging::info(format!( "Resolved hallucinated tool name '{tool_name}' -> '{canonical}'" )); - tool_def = tool_catalog.iter().find(|d| d.name == canonical); + let catalog_name = match canonical { + "read_file" | "write_file" | "edit_file" | "list_dir" | "grep_files" + | "file_search" | "apply_patch" => "File", + "git_status" | "git_diff" | "git_log" | "git_show" | "git_blame" => "Git", + "run_tests" | "run_verifiers" => "Run", + "web_search" | "fetch_url" | "wait_for_dev_server" => "Web", + _ => canonical, + }; + tool_def = tool_catalog.iter().find(|d| d.name == catalog_name); if tool_def.is_some() { *tool_name = canonical.to_string(); } diff --git a/crates/tui/src/prompts.rs b/crates/tui/src/prompts.rs index 92b7ee7b30..d734a46eb3 100644 --- a/crates/tui/src/prompts.rs +++ b/crates/tui/src/prompts.rs @@ -938,9 +938,9 @@ fn apply_model_template( prompt.replace("{model_id}", model_id) } -const TOOL_TAXONOMY_DISCOVERY: &[&str] = &["grep_files", "file_search"]; -const TOOL_TAXONOMY_GIT: &[&str] = &["git_status", "git_diff"]; -const TOOL_TAXONOMY_VERIFICATION: &[&str] = &["run_tests", "run_verifiers"]; +const TOOL_TAXONOMY_DISCOVERY: &[&str] = &["File"]; +const TOOL_TAXONOMY_GIT: &[&str] = &["Git"]; +const TOOL_TAXONOMY_VERIFICATION: &[&str] = &["Run"]; /// Return the core tool taxonomy body **without** a markdown heading. /// Suitable for embedding under a mode-specific sub-heading in the @@ -958,9 +958,9 @@ pub(crate) fn render_core_tool_taxonomy_body(mode: AppMode) -> String { if let Some(verification) = render_core_tool_group(TOOL_TAXONOMY_VERIFICATION, &core_tools) { sentences.push(format!("Use {verification} for verification.")); } - if core_tools.contains(&"run_verifiers") { + if core_tools.contains(&"Run") { sentences.push( - "For long build/test/lint verifier suites, call `run_verifiers` with `background: true` or use `task_shell_start`, then poll while continuing independent inspection." + "For long build/test/lint suites, call `Run` with `action: \"verifiers\"` and `background: true`, then continue independent inspection." .to_string(), ); } @@ -977,7 +977,7 @@ fn core_taxonomy_tools_for_mode(mode: AppMode) -> Vec<&'static str> { core_tools .iter() .copied() - .filter(|tool| mode != AppMode::Plan || !matches!(*tool, "run_tests" | "run_verifiers")) + .filter(|tool| mode != AppMode::Plan || *tool != "Run") .collect() } @@ -1628,11 +1628,10 @@ mod tests { #[test] fn agent_mode_carries_execution_discipline_block() { for phrase in [ - "Execution Discipline", - "Do not end with \"I'll check\"", - "After spawning a background shell or sub-agent", - "", - "verify load-bearing claims", + "Execute the user's task autonomously", + "Keep `work_update` current", + "verify load-bearing child", + "never manufacture completion sentinels", ] { assert!( AGENT_MODE.contains(phrase), @@ -2039,16 +2038,8 @@ mod tests { #[test] fn execution_discipline_lives_in_agent_mode_after_core_constitution() { - let discipline_at = AGENT_MODE - .find("###### Execution Discipline") - .expect("Execution Discipline anchor present"); - let longevity_at = AGENT_MODE - .find("###### Session Longevity") - .expect("Session Longevity anchor present"); - assert!( - longevity_at < discipline_at, - "agent-mode execution discipline should follow the shorter mode/longevity delta" - ); + assert!(AGENT_MODE.contains("Execute the user's task autonomously")); + assert!(AGENT_MODE.contains("verify load-bearing child")); assert!( !BASE_PROMPT.contains("Execution Discipline") && !BASE_PROMPT.contains(""), @@ -2063,7 +2054,7 @@ mod tests { "Plan mode must tell the model to finish plans through update_plan" ); assert!( - PLAN_MODE.contains("accept / revise / exit prompt"), + PLAN_MODE.contains("accept, revise, or exit decision"), "Plan mode must explain why update_plan is the UI handoff signal" ); } @@ -2897,18 +2888,15 @@ mod tests { fn agent_mode_prompt_keeps_safety_invariants_after_compression() { let prompt = AGENT_MODE.replace("\r\n", "\n").replace('\r', "\n"); for must in [ - "Agent mode", + "autonomously", + "`File`", + "`Git`", + "`Run`", + "`Bash`", "work_update", "update_plan", - "workflow", - "request_user_input", - "agent(action=\"wait\")", - "type: \"explore\"", - "fork_context", - "rlm_open", - "Bare `/workflow` means orchestrate current work without re-asking", - "stop and synthesize", - "Do NOT explain, announce, or mention to the user that you are running in Agent mode", + "Delegate independent work", + "Do not announce the mode", ] { assert!( prompt.contains(must), @@ -2937,14 +2925,10 @@ mod tests { let word_count = normalized.split_whitespace().count(); let estimated_tokens = crate::compaction::estimate_text_tokens_conservative(&normalized); - // 2026-07-20: agent mode compressed (661 -> ~560 words) while - // preserving every tested approval, orchestration, subagent-brief, - // sentinel, workflow, and fork-context invariant. Keep the budget - // tight so procedural detail stays out of the system prefix. - let max_words = if name == "agent" { 580 } else { 350 }; - // The auto-fork contract sentence (#4599-adjacent cache work) - // costs a handful of tokens over the original compression target. - let max_tokens = if name == "agent" { 1360 } else { 700 }; + // 2026-07-21: mode deltas contain permissions and durable behavior + // only. Action recipes belong to the canonical tool schemas. + let max_words = 120; + let max_tokens = 320; assert!( word_count <= max_words, @@ -2990,7 +2974,7 @@ mod tests { } assert!( - PLAN_MODE.contains("All writes and patches are blocked"), + PLAN_MODE.contains("All writes, patches, shell commands"), "Plan may summarize the user-facing mode delta" ); assert!( @@ -3109,8 +3093,12 @@ mod tests { fn agent_mode_tool_guidance_avoids_defensive_tool_suppression() { let prompt = compose_prompt(Personality::Calm); assert!(!prompt.contains("Tool Selection Guide")); - assert!(AGENT_MODE.contains("Delegate only independent, fire-and-forget work")); - assert!(AGENT_MODE.contains("Use `rlm_open`")); + for tool in ["`File`", "`Git`", "`Run`", "`Bash`"] { + assert!(AGENT_MODE.contains(tool)); + } + for legacy in ["read_file", "git_status", "run_tests", "exec_shell"] { + assert!(!AGENT_MODE.contains(legacy)); + } assert!( !AGENT_MODE.contains("When NOT to use certain tools"), "agent mode should steer tool choice without training the model to avoid available tools" @@ -3228,19 +3216,7 @@ mod tests { #[test] fn rlm_specialty_tool_guidance_present() { - assert!(AGENT_MODE.contains("Large Context Tools")); - for tool in [ - "rlm_open", - "rlm_eval", - "rlm_configure", - "rlm_close", - "handle_read", - ] { - assert!( - AGENT_MODE.contains(tool), - "AGENT_MODE should mention `{tool}`" - ); - } + assert!(!AGENT_MODE.contains("Large Context Tools")); let descriptions = [ RlmTool::alias("rlm_open", "open", None) @@ -3301,17 +3277,8 @@ mod tests { #[test] fn prompt_uses_single_agent_and_rlm_surface() { - for tool in [ - "rlm_open", - "rlm_eval", - "rlm_configure", - "rlm_close", - "handle_read", - ] { - assert!( - AGENT_MODE.contains(tool), - "AGENT_MODE should mention tool `{tool}`" - ); + for tool in ["rlm_open", "rlm_eval", "rlm_configure", "rlm_close"] { + assert!(!AGENT_MODE.contains(tool)); } assert!(AGENT_MODE.contains("sub-agent")); } @@ -3319,104 +3286,60 @@ mod tests { #[test] fn prompt_documents_fork_context_prefix_cache_contract() { let source = include_str!("tools/subagent/mod.rs"); - for haystack in [AGENT_MODE, source] { - assert!(haystack.contains("fork_context")); - assert!(haystack.contains("byte-identical")); - assert!(haystack.contains("DeepSeek prefix-cache reuse")); - } - assert!(AGENT_MODE.contains("`fork_context` is auto-chosen")); - assert!(AGENT_MODE.contains("write-capable, isolated, or re-routed children start fresh")); + assert!(source.contains("fork_context")); + assert!(!AGENT_MODE.contains("fork_context")); } #[test] fn prompt_documents_explicit_subagent_model_strength() { - let prompt = AGENT_MODE; - assert!(prompt.contains("model_strength: \"same\"")); - assert!(prompt.contains("model_strength: \"faster\"")); - assert!(prompt.contains("type: \"explore\"")); - assert!(include_str!("tools/subagent/mod.rs").contains("Overrides model_strength")); - assert!(prompt.contains("defaults to `model_strength: \"faster\"`")); - assert!(prompt.contains("2-4 `type: \"explore\"` sub-agents")); - assert!(prompt.contains("self-reports")); + let source = include_str!("tools/subagent/mod.rs"); + assert!(source.contains("model_strength")); + assert!(!AGENT_MODE.contains("model_strength")); } #[test] fn prompt_documents_structured_subagent_briefs() { - let prompt = AGENT_MODE; - for field in [ - "Subagent Brief", - "QUESTION", - "SCOPE", - "ALREADY_KNOWN", - "EFFORT", - "STOP_CONDITION", - "VERDICT", - "EVIDENCE", - "GAPS", - "NEXT", + assert!(!AGENT_MODE.contains("Subagent Brief")); + for heading in [ + "### SUMMARY", + "### EVIDENCE", + "### CHANGES", + "### RISKS", + "### BLOCKERS", ] { - assert!( - prompt.contains(field), - "main prompt should include Subagent Brief field `{field}`" - ); + assert!(text::SUBAGENT_OUTPUT_FORMAT.contains(heading)); } - assert!(prompt.contains("Brief sub-agents with a compact Subagent Brief")); } #[test] fn prompt_bounds_explore_without_tiny_cap_for_implementers() { - let prompt = AGENT_MODE; - assert!(prompt.contains("Explore briefs default to `quick`")); - assert!(prompt.contains("read-only")); - assert!(prompt.contains("3-5 tool calls")); - assert!(prompt.contains("Review/verifier children stop after decisive evidence")); - assert!(prompt.contains("No fan-out without a fan-in owner")); + assert!(AGENT_MODE.contains("Delegate independent work")); + assert!(!AGENT_MODE.contains("3-5 tool calls")); + assert!(!AGENT_MODE.contains("No fan-out without a fan-in owner")); } #[test] fn agent_mode_prompt_teaches_automatic_workflow_use() { - // #4125: parent decides Workflow without the user saying the word; - // indicates the shape and may ask setup questions before launch. - let prompt = AGENT_MODE; - for phrase in [ - "You decide when to use Workflow", - "need **not** say \"workflow\"", - "broad, independent, or staged", - "This looks set up for a Workflow", - "`request_user_input`", - "TUI question modal", - "Pass **paths**, not file contents", - "Prefer `responseSchema`", - "one compact summary", + for recipe in [ + "Workflow", + "responseSchema", + "request_user_input", + ".workflow.js", ] { - assert!( - prompt.contains(phrase), - "AGENT_MODE missing automatic-workflow phrase {phrase:?}" - ); + assert!(!AGENT_MODE.contains(recipe)); } - // Explicitly not the old opt-in-only framing. - assert!( - !prompt.contains("The `workflow` tool is opt-in"), - "AGENT_MODE must not describe Workflow as opt-in only" - ); } #[test] fn operate_mode_prompt_keeps_multitask_simple_and_async() { for phrase in [ - "ordinary user messages", - "Answer conversation", - "honor that request even for read-only work", - "silently collapse it into parent-local discovery", - "Use ordinary tools directly", - "same approval posture, sandbox, shell configuration", - "Prefer one or more `agent` workers", - "Delegation is not mandatory", - "background", - "Treat each queued user message as another task", - "Use `workflow` only when", - "scheduling emphasis, not tool authority", - "Keep internal mechanics internal", + "ordinary messages", + "small or tightly coupled tasks directly", + "dispatch workers", + "queued user messages", + "approval, sandbox, and repository policies", + "lifecycle claims exact", + "internal control-plane mechanics", ] { assert!( OPERATE_MODE.contains(phrase), @@ -3437,11 +3360,10 @@ mod tests { #[test] fn subagent_done_sentinel_section_present() { - assert!(AGENT_MODE.contains("")); - assert!(AGENT_MODE.contains("not user input")); - assert!(AGENT_MODE.contains("verify load-bearing claims")); - assert!(AGENT_MODE.contains("never generate fake sentinels")); - assert!(AGENT_MODE.contains("Do not tell the user they pasted sentinels")); + assert!(AGENT_MODE.contains("completion events as internal evidence")); + assert!(AGENT_MODE.contains("verify load-bearing child")); + assert!(AGENT_MODE.contains("never manufacture completion sentinels")); + assert!(!AGENT_MODE.contains("")); } #[test] @@ -3981,9 +3903,9 @@ mod tests { fn core_execution_profile_is_runtime_only() { for required in [ "repository instructions", - "smallest coherent change", - "relevant verification", - "typed outcome", + "inspect the narrow owner", + "verify it", + "Report changed files", ] { assert!(CORE_EXECUTION_PROFILE_PROMPT.contains(required)); } diff --git a/crates/tui/src/prompts/text.rs b/crates/tui/src/prompts/text.rs index 7f4cef0569..803634cea9 100644 --- a/crates/tui/src/prompts/text.rs +++ b/crates/tui/src/prompts/text.rs @@ -232,117 +232,42 @@ Your voice is warm, energetic, and playful. You're still precise — you just ha /// Agent mode (Act) delta. pub const AGENT_MODE: &str = r#"##### Mode: Agent -You are running in Agent mode — autonomous task execution with tool access. +Execute the user's task autonomously. Read-only actions run directly; mutations +follow the active approval policy. Use `File`, `Git`, `Run`, and `Bash` for their +documented actions. Keep `work_update` current only for genuinely multi-step +work; use `update_plan` for a strategy artifact, not a duplicate checklist. -Read-only tools (reads, searches, RLM session tools, agent status, git inspection) run silently. -Any write, patch, shell, sub-agent open, or CSV batch asks for approval first. +Delegate independent work when it improves throughput. Treat runtime and +sub-agent completion events as internal evidence, verify load-bearing child +claims, and never manufacture completion sentinels. Do not wait by polling when +the runtime can notify or join work directly. -Before multi-step write approvals, lay out work with `work_update`. Use `update_plan` only for Strategy metadata, not a second checklist. Simple writes: state the edit and use normal approval. - -###### Efficient Approvals - -Batch multi-write plans: (1) `work_update` with all write steps, (2) request batch approval, (3) execute approved writes in one turn. Prefer one clear checklist over sequential surprise prompts. - -###### Session Longevity - -Stay fast in long sessions: open sub-agents for independent work; batch read/search/git inspections; suggest `/compact` or Ctrl+L near 60% context; use `note` for decisions across compaction; prefer short fan-out over long sequential grind. - -###### Execution Discipline - -Use tools for evidence gaps, actions, and verification. If the next read/search/delegation cannot answer a missing fact, stop and synthesize. Do not end with "I'll check" or "I'll run tests"; call the tool or give the final result. After spawning a background shell or sub-agent, keep doing independent work. Treat `` and runtime events as internal, not user input: read the child summary, treat self-reports as unverified, verify load-bearing claims, integrate only authorized work, and never generate fake sentinels. Do not tell the user they pasted sentinels unless they ask about internals. - -###### Orchestration - -Delegate only independent, fire-and-forget work via raw `agent` children. When parallel results must be combined, verified, or returned as one answer, cast one manager and route through `workflow` (fan-out, wait, aggregate, verify, one operator-ready result). No fan-out without a fan-in owner. You decide when to use Workflow — the operator need **not** say "workflow"; prefer it for broad, independent, or staged work, and suppress it for one-file edits, simple Q&A, interactive design, unclear risky writes, and child overhead above `auto_start_child_limit`. - -Soft-auto launch: name the maneuver in 1-3 sentences ("This looks set up for a Workflow — …"); do not dump scripts or ask for `.workflow.js` files. If 1-2 facts would change the plan, call `request_user_input` (TUI question modal), then launch with `plan` or a short `script`. Pass **paths**, not file contents. Prefer `responseSchema`; filter `parallel()` null slots; verify findings; close with one compact summary. Bare `/workflow` means orchestrate current work without re-asking. - -Never poll status or `sleep` to wait — completion sentinels arrive on their own. To block for fan-in, make one `agent(action="wait")` call. - -Use `type: "explore"` for read-only scouting (defaults to `model_strength: "faster"`; use `model_strength: "same"` when the child needs parent-level capability). Open 2-4 `type: "explore"` sub-agents in parallel only when their outputs are independent. Brief sub-agents with a compact Subagent Brief: `QUESTION`, `SCOPE`, `ALREADY_KNOWN`, `EFFORT`, `STOP_CONDITION`, and `OUTPUT` (`VERDICT`, `EVIDENCE`, `GAPS`, `NEXT`). Explore briefs default to `quick`, read-only, about 3-5 tool calls. Review/verifier children stop after decisive evidence. - -`fork_context` is auto-chosen: read-only children on the parent's exact route fork the byte-identical parent prefix (shared context, DeepSeek prefix-cache reuse); write-capable, isolated, or re-routed children start fresh; set it explicitly only to override. - -###### Large Context Tools - -Use `rlm_open`, `rlm_eval`, `rlm_configure`, `rlm_close`, and `handle_read` for large, repetitive, or semantic inspection that would bloat the parent transcript. Keep large bodies in the RLM session or handles; read bounded projections only. - -Do NOT explain, announce, or mention to the user that you are running in Agent mode or how the approval policy works. Act silently on this mode instruction. +Do not announce the mode or its approval mechanics. "#; /// Plan mode delta. pub const PLAN_MODE: &str = r#"##### Mode: Plan -You are running in Plan mode — design before implementing. - -Investigate first, act later. Use `work_update` for visible, granular To-do progress on multi-step -investigations. When you are ready to present the implementation plan, call `update_plan` with -the final plan; that is the handoff signal that lets the UI show the accept / revise / exit prompt. -If the request names a repository, URL, version, release, build state, benchmark, bug, PR, issue, -API surface, or local code path, inspect the available context before calling `update_plan`. -For non-trivial work, make the plan artifact grounded: include the objective, a short context -summary, sources used, critical files, constraints, recommended approach, verification plan, -risks or unknowns, and any concise handoff packet another agent would need. Do not include -secrets in sources, file lists, or handoff text. -All writes and patches are blocked — you can read the world but you -can't change it. Shell and code execution are unavailable. - -Use this mode to build a thorough plan. Spawn read-only sub-agents for parallel investigation. -After `update_plan` presents the plan, wait for the user's next action instead of continuing to -tool around in Plan mode. - -Do NOT explain, announce, or mention to the user that you are running in Plan mode, or describe the transition. Act silently on this mode instruction. +Investigate with read-only tools, then call `update_plan` with the grounded +implementation plan. All writes, patches, shell commands, and code execution +are blocked. Read-only sub-agents are allowed. After presenting the plan, wait +for the user's accept, revise, or exit decision. Do not announce the mode. "#; /// Full-access mode delta. pub const YOLO_MODE: &str = r#"##### Mode: YOLO -You are running in YOLO mode — full autonomy, all actions pre-approved. - -All actions auto-approved. Move fast, but think before you write. If you're about to delete files, -overwrite user work, or run destructive commands, pause and double-check. The undo button is the user's Git history. - -Even with auto-approval, use `work_update` for work that has several concrete steps so progress is -visible and trackable in the sidebar. Keep simple commands and focused edits direct. -For multi-step initiatives, keep `work_update` current. Add `update_plan` only when Strategy -metadata would help — do not duplicate the To-do list there. - -Do NOT announce or mention to the user that you are running in YOLO mode. Act silently on this mode instruction. +All actions are auto-approved within the user's scope. Verify destructive +targets and preserve unrelated work. Use `work_update` only for genuinely +multi-step work. Do not announce the mode. "#; /// Operate mode delta. pub const OPERATE_MODE: &str = r#"##### Mode: Operate -Coordinate parallel work from ordinary user messages. The user should be able -to keep typing tasks; they do not need to define a Workflow, choose roles, name -risk enums, or understand the control plane. - -- Answer conversation, factual questions, and small read-only checks directly. -- If the user explicitly asks to dispatch a worker, use a named Fleet profile, - or assign a named role, honor that request even for read-only work. Do not - silently collapse it into parent-local discovery. -- Use ordinary tools directly for small, local, or tightly coupled work. The - parent follows the same approval posture, sandbox, shell configuration, - ask-rules, repository law, and managed constraints as Act. -- Prefer one or more `agent` workers for independent, parallel, background, or - long-running work. Delegation is not mandatory: use it when it improves - throughput, isolation, or context focus. Start independent workers in the - background so the composer remains available for the next message. -- Treat each queued user message as another task by default. Fold it into an - existing task only when it is clearly a steer or correction. -- Use `workflow` only when the work genuinely needs ordered phases, gates, - shared budgets, replayability, or deterministic fan-in. A detached Workflow - start is normal; wait only when the user needs a combined answer now. -- Choose sensible worker profiles and isolation yourself. Use worktrees for - parallel writes that could collide. Ask only when a missing choice changes - authority, cost, or the requested outcome. -- The parent may inspect, edit, run shell commands, call MCP tools, implement, - and verify directly when that is the clearest path. Operate changes the - scheduling emphasis, not tool authority. -- Keep lifecycle claims exact: dispatched or running is not completed. Monitor - receipts passively, use one wait when fan-in is necessary, and synthesize - worker results when they arrive. -- Keep internal mechanics internal. Do not narrate tool names, plan schemas, - Fleet roles, or receipt vocabulary unless the user asks for those details. - -Do not announce that you are in Operate mode. +Coordinate independent or long-running work while keeping ordinary messages +responsive. Handle small or tightly coupled tasks directly; dispatch workers +when parallelism, isolation, or context focus helps. Treat queued user messages +as separate tasks unless they clearly steer existing work. Preserve the active +approval, sandbox, and repository policies, keep lifecycle claims exact, and +do not expose internal control-plane mechanics unless asked. "#; // ── Approval-policy overlays ─────────────────────────────────────── @@ -500,110 +425,23 @@ new deployments should use Moraine pull/recall instead. /// tutorials remain outside the model-facing coding contract. pub const CORE_EXECUTION_PROFILE_PROMPT: &str = r#"## Core Execution -Use the smallest safe loop that can complete the request: - -1. Read applicable repository instructions before touching scoped files. -2. Inspect enough code and current behavior to identify the narrow owner. -3. Reproduce the problem when doing so is safe and proportionate. -4. Make the smallest coherent change; preserve unrelated work. -5. Run the most relevant verification, then inspect the resulting diff. -6. End with a typed outcome that names changed files, checks run, unresolved - risks, pending work, and the reason the run stopped. - -Do not create planning theater for a simple change. Use an active checklist -only when the work is genuinely multi-step. - -Never infer permission from urgency. Approval posture, sandbox policy, -repository law, network policy, and publication authority remain independent. +Read applicable repository instructions, inspect the narrow owner, make the smallest +coherent change, verify it, and inspect the diff. Preserve unrelated work. +Report changed files, checks, unresolved risks, and pending work. Never infer +permission from urgency; approval, sandbox, network, and publication authority +remain independent. "#; /// Sub-agent final-message output contract — injected into every sub-agent /// brief by the runner in `tools/subagent/mod.rs` so the parent's parser can /// rely on the summary line + `` sentinel. pub const SUBAGENT_OUTPUT_FORMAT: &str = r#"## Output contract (mandatory) -When you finish (success or blocked), your final assistant message MUST end with -the structured report below. Use these exact section headings as Markdown -H3s. Skip a section only when the rule under that heading explicitly allows -"omit" — never omit a heading without that escape, and never invent extra -sections. - -### SUMMARY -One paragraph. Plain prose. State what you did and the headline conclusion. No -hedging, no preamble. If you were blocked, say so on the first line. - -### EVIDENCE -Bullet list. Each bullet is one concrete artifact you observed: a file path -with a line range, a tool result key, a command + exit code, a search hit. Cite -only what you actually read or executed; do not paraphrase from memory. Format -file refs as `path/to/file.rs:120-145`. Omit this section only if the task was -purely generative and you observed nothing (rare). - -If you rely on a child sub-agent report, cite it as child-agent evidence: -include the child `agent_id` and the specific EVIDENCE line(s) the child -provided. Do not present child-agent findings as files or commands you -personally verified unless you directly read or ran them yourself. - -### CHANGES -Bullet list of every write you performed: files created, files edited, patches -applied, shell side effects (e.g. `cargo fmt --write`). Each bullet names the -path and one line about the edit. If you performed no writes, write the single -line "None." — do not delete the heading. - -### RISKS -Bullet list of correctness, security, performance, or scope risks you saw but -did not address (or addressed only partially). Each bullet: the risk, why it -matters, and one line on what would mitigate it. If you saw nothing -risk-worthy, write "None observed." — do not delete the heading. - -### BLOCKERS -Use this section only when you stopped without finishing the assigned task. -Each bullet: the blocker, the specific information or capability you would -need to proceed, and (if relevant) the most plausible 1–2 next steps the -parent could take. If you completed the task, write "None." — do not delete -the heading. - -## Stop condition - -Produce the structured report and stop. Do not propose follow-up tasks, do not -ask the parent what to do next, do not start a new line of investigation. The -parent will decide whether to spawn additional work based on your report. - -The single exception: if the assigned task is impossible to make progress on -without a clarification only the parent can provide, fill BLOCKERS with the -specific question and stop. - -## Tool-calling conventions - -The typed tool surface beats shell-outs every time — typed tools return -structured results, log cleanly in the parent's transcript, and respect the -workspace boundary. Reach for `exec_shell` only for things the typed tools do -not cover (build, test, format, lint, ad-hoc one-liners). - -- Read a file: `read_file` (NOT `exec_shell` with `cat`/`head`/`tail`). -- List a directory: `list_dir` (NOT `exec_shell` with `ls`). -- Search file contents: `grep_files` (NOT `exec_shell` with `rg`/`grep`). -- Find files by name: `file_search` (NOT `exec_shell` with `find`). -- Single search/replace edit in one file: `edit_file`. -- Multi-hunk or multi-file edits: `apply_patch` (NOT a sequence of - `edit_file` calls — patches are atomic and easier for the parent to audit). -- Brand-new file: `write_file` (NOT `apply_patch` against `/dev/null`). -- Inspect git state: `git_status` / `git_diff` / `git_log` / `git_show` / - `git_blame` (NOT `exec_shell` with `git`). -- Web lookup: `web_search` / `fetch_url` (NOT `exec_shell` with `curl`). -- Run tests / build / format / lint: `run_tests` when applicable, otherwise - `exec_shell` is correct. - -Always read a file with `read_file` before patching it. Patches written blind -almost always fail to apply. - -## Honesty rules - -- Use only the tools provided to you at runtime. If a tool you want is not - available, say so in BLOCKERS rather than working around it silently. -- Do not claim a write or a command you did not actually execute. The parent - audits the tool log against your CHANGES section. -- If a tool errored, surface the error in EVIDENCE; do not pretend it - succeeded. +End with these exact Markdown headings: `### SUMMARY`, `### EVIDENCE`, +`### CHANGES`, `### RISKS`, and `### BLOCKERS`. Keep each section compact. +Cite only files and commands you actually inspected, list every write, surface +tool errors, and distinguish child reports from evidence you verified. Write +`None.` where a section has no entries. If blocked, name the missing fact or +capability. Then stop. "#; // ── Legacy prompt constants (kept for backwards compatibility) ───── diff --git a/crates/tui/src/tools/apply_patch.rs b/crates/tui/src/tools/apply_patch.rs index 3a82edde42..942bc5a505 100644 --- a/crates/tui/src/tools/apply_patch.rs +++ b/crates/tui/src/tools/apply_patch.rs @@ -278,6 +278,10 @@ impl ToolSpec for ApplyPatchTool { "apply_patch" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Apply a unified-diff patch (multi-hunk, multi-file). Use this instead of `git apply`, `patch`, or repeated `edit_file` calls in `exec_shell` — single transactional change with fuzzy matching and a rendered diff." } diff --git a/crates/tui/src/tools/dev_server_readiness.rs b/crates/tui/src/tools/dev_server_readiness.rs index bab7316a2b..8f3abc3e34 100644 --- a/crates/tui/src/tools/dev_server_readiness.rs +++ b/crates/tui/src/tools/dev_server_readiness.rs @@ -58,6 +58,10 @@ impl ToolSpec for WaitForDevServerTool { "wait_for_dev_server" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Wait for a local dev server to become ready. Polls a loopback TCP port, optionally then an HTTP(S) health URL on the same port, with bounded timeout and structured success/failure output." } diff --git a/crates/tui/src/tools/fetch_url.rs b/crates/tui/src/tools/fetch_url.rs index 1be30484ac..e1ae7b9785 100644 --- a/crates/tui/src/tools/fetch_url.rs +++ b/crates/tui/src/tools/fetch_url.rs @@ -91,6 +91,10 @@ impl ToolSpec for FetchUrlTool { "fetch_url" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Fetch a known URL directly (HTTP GET) and return its content with a session-scoped citation ref_id. Use this instead of `curl` in `exec_shell` — sandboxed, network-policy aware, and properly decoded. Plain-text endpoints (`.md`, `.txt`, `.json`, `.yaml`, `raw.githubusercontent.com`, public APIs) prefer this over the browser/automation stack. For unknown queries, use `web_search` first. If a login or authorization wall is returned, treat the wall as the result; do not claim the protected page was read." } diff --git a/crates/tui/src/tools/file.rs b/crates/tui/src/tools/file.rs index 30074a5040..30a4615ce5 100644 --- a/crates/tui/src/tools/file.rs +++ b/crates/tui/src/tools/file.rs @@ -94,6 +94,10 @@ impl ToolSpec for ReadFileTool { "read_file" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Read a UTF-8 file from the workspace. Use this instead of `cat`, `head`, `tail`, or `sed -n '..p'` in `exec_shell` — it's faster, sandbox-aware, and skips the approval prompt. Plain text is returned as-is and records the file snapshot required before `edit_file` will make a narrow in-place edit. CodeWhale config files and file-backed credential stores cannot be read with this tool; use `codewhale config list` or `codewhale auth status` for safe inspection. PDFs are auto-extracted via the bundled pure-Rust extractor (no Poppler install required). Image screenshots are OCR-extracted when local OCR is available. Cannot read other non-PDF binaries.\n\nFor large files, use `start_line` and `max_lines` to read in chunks. By default, returns at most 200 lines (~16KB). If `truncated=\"true\"` in the response, use `next_start_line` to continue reading. For PDFs, use `pages` instead — `start_line`/`max_lines` only apply to text files." } @@ -675,6 +679,10 @@ impl ToolSpec for WriteFileTool { "write_file" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Write content to a UTF-8 file in the workspace. Use this instead of heredocs (`cat < file`) or `echo > file` in `exec_shell` — diffs render inline and approval is handled cleanly. Creates or overwrites; parent directories are auto-created." } @@ -775,6 +783,10 @@ impl ToolSpec for EditFileTool { "edit_file" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Replace text in a single file via exact search/replace after the file has been read with `read_file` in this session. Use this instead of `sed -i` in `exec_shell` for one unambiguous in-place edit. `search` must match exactly one location by default; when no exact match is found the tool retries with leading-whitespace-tolerant fuzzy matching automatically. The optional `fuzz` parameter is accepted for backward compatibility and is no longer needed. Returns a compact unified diff, not the full file. For structural, multi-block, or cross-file changes, use `apply_patch` or `write_file` instead." } @@ -1076,6 +1088,10 @@ impl ToolSpec for ListDirTool { "list_dir" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "List entries in a directory relative to the workspace. Use this instead of `ls`, `ls -la`, or `find . -maxdepth 1` in `exec_shell` for directory listings." } diff --git a/crates/tui/src/tools/file_search.rs b/crates/tui/src/tools/file_search.rs index cd582aa805..66cf1c71c7 100644 --- a/crates/tui/src/tools/file_search.rs +++ b/crates/tui/src/tools/file_search.rs @@ -34,6 +34,10 @@ impl ToolSpec for FileSearchTool { "file_search" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Find files by name using fuzzy matching with score-based ranking. Use this instead of `find -name` or `fd` in `exec_shell` for filename search. Pass `extensions` to filter by suffix." } diff --git a/crates/tui/src/tools/file_tool.rs b/crates/tui/src/tools/file_tool.rs new file mode 100644 index 0000000000..4a858eb323 --- /dev/null +++ b/crates/tui/src/tools/file_tool.rs @@ -0,0 +1,297 @@ +//! Canonical action-based wrapper for file system tools. +//! +//! The model sees one tool: `File` with an `action` parameter +//! (read | list | search_name | search_content | write | edit | patch). +//! Legacy names (`read_file`, `write_file`, etc.) stay registered as hidden +//! compat aliases that force the action so saved transcripts replay correctly. + +use async_trait::async_trait; +use serde_json::{Value, json}; + +use super::apply_patch::ApplyPatchTool; +use super::file::{EditFileTool, ListDirTool, ReadFileTool, WriteFileTool}; +use super::file_search::FileSearchTool; +use super::search::GrepFilesTool; +use super::spec::{ + ApprovalRequirement, ToolCapability, ToolContext, ToolError, ToolResult, ToolSpec, +}; + +pub struct FileTool { + name: &'static str, + forced_action: Option<&'static str>, + allow_writes: bool, + allow_patch: bool, +} + +impl FileTool { + pub const fn new(name: &'static str) -> Self { + Self { + name, + forced_action: None, + allow_writes: true, + allow_patch: false, + } + } + + pub const fn with_patch(name: &'static str) -> Self { + Self { + name, + forced_action: None, + allow_writes: true, + allow_patch: true, + } + } + + pub const fn read_only(name: &'static str) -> Self { + Self { + name, + forced_action: None, + allow_writes: false, + allow_patch: false, + } + } + + pub const fn alias(name: &'static str, action: &'static str) -> Self { + Self { + name, + forced_action: Some(action), + allow_writes: true, + allow_patch: true, + } + } + + fn resolve_action<'a>(&self, input: &'a Value) -> &'a str { + self.forced_action.unwrap_or_else(|| { + input + .get("action") + .and_then(Value::as_str) + .unwrap_or("read") + }) + } + + fn strip_action(&self, input: Value) -> Result { + let mut input = input; + if let Some(obj) = input.as_object_mut() { + obj.remove("action"); + Ok(input) + } else { + Err(ToolError::invalid_input( + "File tool input must be an object", + )) + } + } +} + +#[async_trait] +impl ToolSpec for FileTool { + fn name(&self) -> &'static str { + self.name + } + + fn model_visible(&self) -> bool { + self.name == "File" + } + + fn description(&self) -> &'static str { + "Read, list, search, write, edit, or patch workspace files. Use read before edit; edit performs one exact replacement, while patch is best for multi-hunk or multi-file changes. Read/list/search actions are parallel-safe and do not require approval. Available actions depend on the active mode and feature policy." + } + + fn input_schema(&self) -> Value { + let mut actions = vec!["read", "list", "search_name", "search_content"]; + if self.allow_writes { + actions.extend(["write", "edit"]); + } + if self.allow_patch { + actions.push("patch"); + } + json!({ + "type": "object", + "properties": { + "action": { + "type": "string", + "enum": actions, + "description": "Action to perform" + }, + "path": { + "type": "string", + "description": "File or directory path (read, list, search, write, edit, patch)" + }, + "start_line": { + "type": "integer", + "description": "Starting line for read (1-based, default 1)" + }, + "max_lines": { + "type": "integer", + "description": "Maximum lines to return for read or blame (default 200)" + }, + "pages": { + "type": "string", + "description": "PDF page range for read, e.g. '1-5'" + }, + "content": { + "type": "string", + "description": "Content to write for action=write" + }, + "search": { + "type": "string", + "description": "Exact text to search for action=edit" + }, + "replace": { + "oneOf": [ + { "type": "string", "description": "Replacement text for action=edit" }, + { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "content": { "type": "string" } }, "required": ["path", "content"] }, "description": "Full-file replacements for action=patch" } + ] + }, + "fuzz": { + "oneOf": [{ "type": "boolean" }, { "type": "integer" }], + "description": "Fuzzy matching flag for edit or max fuzz for patch" + }, + "query": { + "type": "string", + "description": "Search query for search_name or search_content" + }, + "pattern": { + "type": "string", + "description": "Regex pattern for search_content" + }, + "limit": { + "type": "integer", + "description": "Maximum results for search_name" + }, + "max_results": { + "type": "integer", + "description": "Maximum results for search_content or search_name" + }, + "extensions": { + "type": "array", + "items": { "type": "string" }, + "description": "Optional extension filter for search_name" + }, + "include": { + "type": "array", + "items": { "type": "string" }, + "description": "Glob patterns to include for search_content" + }, + "exclude": { + "type": "array", + "items": { "type": "string" }, + "description": "Glob patterns to exclude for search_name or search_content" + }, + "context_lines": { + "type": "integer", + "description": "Context lines around each match for search_content" + }, + "case_insensitive": { + "type": "boolean", + "description": "Case-insensitive matching for search_content" + }, + "patch": { + "type": "string", + "description": "Unified diff patch content for action=patch" + }, + "changes": { + "type": "array", + "items": { "type": "object", "properties": { "path": { "type": "string" }, "content": { "type": "string" } }, "required": ["path", "content"] }, + "description": "Deprecated alias for replace in action=patch" + }, + "create_if_missing": { + "type": "boolean", + "description": "Create files if missing for action=patch" + } + }, + "required": ["action"] + }) + } + + fn capabilities(&self) -> Vec { + let mut capabilities = vec![ToolCapability::ReadOnly, ToolCapability::Sandboxable]; + let can_mutate = match self.forced_action { + Some("write" | "edit" | "patch") => true, + Some(_) => false, + None => self.allow_writes || self.allow_patch, + }; + if can_mutate { + capabilities.extend([ + ToolCapability::WritesFiles, + ToolCapability::RequiresApproval, + ]); + } + capabilities + } + + fn approval_requirement_for(&self, input: &Value) -> ApprovalRequirement { + match self.resolve_action(input) { + "read" | "list" | "search_name" | "search_content" => ApprovalRequirement::Auto, + "write" | "edit" | "patch" => ApprovalRequirement::Suggest, + _ => ApprovalRequirement::Auto, + } + } + + fn is_read_only_for(&self, input: &Value) -> bool { + matches!( + self.resolve_action(input), + "read" | "list" | "search_name" | "search_content" + ) + } + + fn supports_parallel_for(&self, input: &Value) -> bool { + matches!( + self.resolve_action(input), + "read" | "list" | "search_name" | "search_content" + ) + } + + fn starts_detached_for(&self, _input: &Value) -> bool { + false + } + + async fn execute(&self, input: Value, context: &ToolContext) -> Result { + let action = self.resolve_action(&input).to_string(); + if matches!(action.as_str(), "write" | "edit") && !self.allow_writes { + return Err(ToolError::not_available( + "File writes are unavailable in the current mode", + )); + } + if action == "patch" && !self.allow_patch { + return Err(ToolError::not_available( + "File.patch is unavailable because the patch feature is disabled", + )); + } + let mut input = self.strip_action(input)?; + + match action.as_str() { + "read" => ReadFileTool.execute(input, context).await, + "list" => ListDirTool.execute(input, context).await, + "search_name" => { + if let Some(obj) = input.as_object_mut() + && !obj.contains_key("limit") + && let Some(max) = obj.get("max_results").cloned() + { + obj.insert("limit".to_string(), max); + } + FileSearchTool.execute(input, context).await + } + "search_content" => { + if let Some(obj) = input.as_object_mut() { + if !obj.contains_key("pattern") + && let Some(query) = obj.get("query").cloned() + { + obj.insert("pattern".to_string(), query); + } + if !obj.contains_key("max_results") + && let Some(limit) = obj.get("limit").cloned() + { + obj.insert("max_results".to_string(), limit); + } + } + GrepFilesTool.execute(input, context).await + } + "write" => WriteFileTool.execute(input, context).await, + "edit" => EditFileTool.execute(input, context).await, + "patch" => ApplyPatchTool.execute(input, context).await, + other => Err(ToolError::invalid_input(format!( + "Unknown File action: {other}" + ))), + } + } +} diff --git a/crates/tui/src/tools/git.rs b/crates/tui/src/tools/git.rs index 178d9ae1f4..096bb595bc 100644 --- a/crates/tui/src/tools/git.rs +++ b/crates/tui/src/tools/git.rs @@ -31,6 +31,10 @@ impl ToolSpec for GitStatusTool { "git_status" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Run `git status --porcelain=v1 -b` in the workspace (optionally scoped to a path)." } @@ -112,6 +116,10 @@ impl ToolSpec for GitDiffTool { "git_diff" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Run `git diff` in the workspace with sensible defaults and safe truncation." } diff --git a/crates/tui/src/tools/git_history.rs b/crates/tui/src/tools/git_history.rs index a9210ec138..32581b9495 100644 --- a/crates/tui/src/tools/git_history.rs +++ b/crates/tui/src/tools/git_history.rs @@ -34,6 +34,10 @@ impl ToolSpec for GitLogTool { "git_log" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Run `git log` in the workspace with optional path and author/date filters." } @@ -151,6 +155,10 @@ impl ToolSpec for GitShowTool { "git_show" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Run `git show` for a specific revision with optional patch and stats." } @@ -269,6 +277,10 @@ impl ToolSpec for GitBlameTool { "git_blame" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Run `git blame` on a file with optional revision and line-range controls." } diff --git a/crates/tui/src/tools/git_tool.rs b/crates/tui/src/tools/git_tool.rs new file mode 100644 index 0000000000..b3b6bbbfca --- /dev/null +++ b/crates/tui/src/tools/git_tool.rs @@ -0,0 +1,172 @@ +//! Canonical action-based wrapper for git inspection tools. +//! +//! The model sees one tool: `Git` with an `action` parameter +//! (status | diff | log | show | blame). Legacy names (`git_status`, +//! `git_diff`, etc.) stay registered as hidden compat aliases that force the +//! action so saved transcripts replay correctly. + +use async_trait::async_trait; +use serde_json::{Value, json}; + +use super::git::{GitDiffTool, GitStatusTool}; +use super::git_history::{GitBlameTool, GitLogTool, GitShowTool}; +use super::spec::{ + ApprovalRequirement, ToolCapability, ToolContext, ToolError, ToolResult, ToolSpec, +}; + +pub struct GitTool { + name: &'static str, + forced_action: Option<&'static str>, +} + +impl GitTool { + pub const fn new(name: &'static str) -> Self { + Self { + name, + forced_action: None, + } + } + + pub const fn alias(name: &'static str, action: &'static str) -> Self { + Self { + name, + forced_action: Some(action), + } + } + + fn resolve_action<'a>(&self, input: &'a Value) -> &'a str { + self.forced_action.unwrap_or_else(|| { + input + .get("action") + .and_then(Value::as_str) + .unwrap_or("status") + }) + } + + fn strip_action(&self, input: Value) -> Result { + let mut input = input; + if let Some(obj) = input.as_object_mut() { + obj.remove("action"); + Ok(input) + } else { + Err(ToolError::invalid_input("Git tool input must be an object")) + } + } +} + +#[async_trait] +impl ToolSpec for GitTool { + fn name(&self) -> &'static str { + self.name + } + + fn model_visible(&self) -> bool { + self.name == "Git" + } + + fn description(&self) -> &'static str { + "Inspect repository state and history with status, diff, log, show, or blame. All actions are read-only and parallel-safe." + } + + fn input_schema(&self) -> Value { + json!({ + "type": "object", + "properties": { + "action": { + "type": "string", + "enum": ["status", "diff", "log", "show", "blame"], + "description": "Action to perform" + }, + "path": { + "type": "string", + "description": "Optional subdirectory or file path to scope the git command" + }, + "cached": { + "type": "boolean", + "description": "When true, diff staged changes (action=diff)" + }, + "unified": { + "type": "integer", + "description": "Number of context lines for diff or show output" + }, + "max_count": { + "type": "integer", + "description": "Maximum commits to return (action=log)" + }, + "author": { + "type": "string", + "description": "Author filter (action=log)" + }, + "since": { + "type": "string", + "description": "Lower date bound (action=log)" + }, + "until": { + "type": "string", + "description": "Upper date bound (action=log)" + }, + "rev": { + "type": "string", + "description": "Revision to show (action=show) or blame against (action=blame)" + }, + "patch": { + "type": "boolean", + "description": "Include patch hunks (action=show)" + }, + "stat": { + "type": "boolean", + "description": "Include stat summary (action=show)" + }, + "start_line": { + "type": "integer", + "description": "First line to include (action=blame)" + }, + "max_lines": { + "type": "integer", + "description": "Maximum lines to include (action=blame)" + }, + "porcelain": { + "type": "boolean", + "description": "Emit line-porcelain output (action=blame)" + } + }, + "required": ["action"] + }) + } + + fn capabilities(&self) -> Vec { + vec![ToolCapability::ReadOnly, ToolCapability::Sandboxable] + } + + fn approval_requirement_for(&self, _input: &Value) -> ApprovalRequirement { + ApprovalRequirement::Auto + } + + fn is_read_only_for(&self, _input: &Value) -> bool { + true + } + + fn supports_parallel_for(&self, _input: &Value) -> bool { + true + } + + fn starts_detached_for(&self, _input: &Value) -> bool { + false + } + + async fn execute(&self, input: Value, context: &ToolContext) -> Result { + let action = self.resolve_action(&input).to_string(); + let input = self.strip_action(input)?; + + match action.as_str() { + "status" => GitStatusTool.execute(input, context).await, + "diff" => GitDiffTool.execute(input, context).await, + "log" => GitLogTool.execute(input, context).await, + "show" => GitShowTool.execute(input, context).await, + "blame" => GitBlameTool.execute(input, context).await, + other => Err(ToolError::invalid_input(format!( + "Unknown Git action: {other}" + ))), + } + } +} diff --git a/crates/tui/src/tools/mod.rs b/crates/tui/src/tools/mod.rs index 549ad6da22..3be42a79c9 100644 --- a/crates/tui/src/tools/mod.rs +++ b/crates/tui/src/tools/mod.rs @@ -22,9 +22,11 @@ pub mod file_search; pub mod finance; pub mod fetch_url; +pub mod file_tool; pub mod fim; pub mod git; pub mod git_history; +pub mod git_tool; pub mod github; pub mod goal; pub mod handle; @@ -42,6 +44,7 @@ pub mod remember; pub mod revert_turn; pub mod review; pub mod rlm; +pub mod run_tool; pub mod runtime_mcp; pub mod schema_canonicalize; pub mod schema_sanitize; @@ -65,6 +68,7 @@ pub mod verifier; pub mod web; pub mod web_run; pub mod web_search; +pub mod web_tool; pub mod workflow; pub mod workflow_plan_approval; pub mod workflow_trigger; diff --git a/crates/tui/src/tools/registry.rs b/crates/tui/src/tools/registry.rs index c51d503ba4..92126390bd 100644 --- a/crates/tui/src/tools/registry.rs +++ b/crates/tui/src/tools/registry.rs @@ -567,19 +567,21 @@ impl ToolRegistryBuilder { /// Include file tools (read, write, edit, list). #[must_use] pub fn with_file_tools(self) -> Self { - use super::file::{EditFileTool, ListDirTool, ReadFileTool, WriteFileTool}; - self.with_tool(Arc::new(ReadFileTool)) - .with_tool(Arc::new(WriteFileTool)) - .with_tool(Arc::new(EditFileTool)) - .with_tool(Arc::new(ListDirTool)) + use super::file_tool::FileTool; + self.with_tool(Arc::new(FileTool::new("File"))) + .with_tool(Arc::new(FileTool::alias("read_file", "read"))) + .with_tool(Arc::new(FileTool::alias("write_file", "write"))) + .with_tool(Arc::new(FileTool::alias("edit_file", "edit"))) + .with_tool(Arc::new(FileTool::alias("list_dir", "list"))) } /// Include only read-only file tools (read, list). #[must_use] pub fn with_read_only_file_tools(self) -> Self { - use super::file::{ListDirTool, ReadFileTool}; - self.with_tool(Arc::new(ReadFileTool)) - .with_tool(Arc::new(ListDirTool)) + use super::file_tool::FileTool; + self.with_tool(Arc::new(FileTool::read_only("File"))) + .with_tool(Arc::new(FileTool::alias("read_file", "read"))) + .with_tool(Arc::new(FileTool::alias("list_dir", "list"))) .with_tool(Arc::new( super::tool_result_retrieval::RetrieveToolResultTool, )) @@ -629,27 +631,27 @@ impl ToolRegistryBuilder { /// Include search tools (`grep_files`). #[must_use] pub fn with_search_tools(self) -> Self { - use super::file_search::FileSearchTool; - use super::search::GrepFilesTool; - self.with_tool(Arc::new(GrepFilesTool)) - .with_tool(Arc::new(FileSearchTool)) + use super::file_tool::FileTool; + self.with_tool(Arc::new(FileTool::alias("grep_files", "search_content"))) + .with_tool(Arc::new(FileTool::alias("file_search", "search_name"))) } /// Include git inspection tools (`git_status`, `git_diff`). #[must_use] pub fn with_git_tools(self) -> Self { - use super::git::{GitDiffTool, GitStatusTool}; - self.with_tool(Arc::new(GitStatusTool)) - .with_tool(Arc::new(GitDiffTool)) + use super::git_tool::GitTool; + self.with_tool(Arc::new(GitTool::new("Git"))) + .with_tool(Arc::new(GitTool::alias("git_status", "status"))) + .with_tool(Arc::new(GitTool::alias("git_diff", "diff"))) } /// Include git history tools (`git_log`, `git_show`, `git_blame`). #[must_use] pub fn with_git_history_tools(self) -> Self { - use super::git_history::{GitBlameTool, GitLogTool, GitShowTool}; - self.with_tool(Arc::new(GitLogTool)) - .with_tool(Arc::new(GitShowTool)) - .with_tool(Arc::new(GitBlameTool)) + use super::git_tool::GitTool; + self.with_tool(Arc::new(GitTool::alias("git_log", "log"))) + .with_tool(Arc::new(GitTool::alias("git_show", "show"))) + .with_tool(Arc::new(GitTool::alias("git_blame", "blame"))) } /// Include workspace diagnostics tool. @@ -707,10 +709,10 @@ impl ToolRegistryBuilder { /// Include cargo test runner tool. #[must_use] pub fn with_test_runner_tool(self) -> Self { - use super::test_runner::RunTestsTool; - use super::verifier::RunVerifiersTool; - self.with_tool(Arc::new(RunTestsTool)) - .with_tool(Arc::new(RunVerifiersTool)) + use super::run_tool::RunTool; + self.with_tool(Arc::new(RunTool::new("Run"))) + .with_tool(Arc::new(RunTool::alias("run_tests", "tests"))) + .with_tool(Arc::new(RunTool::alias("run_verifiers", "verifiers"))) } /// Include structured data validation tool (`validate_data`). @@ -860,13 +862,12 @@ impl ToolRegistryBuilder { /// NOT gated behind the web-search feature. #[must_use] pub fn with_web_tools(self) -> Self { - use super::dev_server_readiness::WaitForDevServerTool; - use super::fetch_url::FetchUrlTool; use super::web_run::WebRunTool; - use super::web_search::WebSearchTool; - self.with_tool(Arc::new(WebSearchTool)) - .with_tool(Arc::new(FetchUrlTool)) - .with_tool(Arc::new(WaitForDevServerTool)) + use super::web_tool::WebTool; + self.with_tool(Arc::new(WebTool::new("Web"))) + .with_tool(Arc::new(WebTool::alias("web_search", "search"))) + .with_tool(Arc::new(WebTool::alias("fetch_url", "fetch"))) + .with_tool(Arc::new(WebTool::alias("wait_for_dev_server", "wait"))) .with_tool(Arc::new(WebRunTool)) } @@ -911,8 +912,9 @@ impl ToolRegistryBuilder { /// Include patch tools (`apply_patch`). #[must_use] pub fn with_patch_tools(self) -> Self { - use super::apply_patch::ApplyPatchTool; - self.with_tool(Arc::new(ApplyPatchTool)) + use super::file_tool::FileTool; + self.with_tool(Arc::new(FileTool::with_patch("File"))) + .with_tool(Arc::new(FileTool::alias("apply_patch", "patch"))) } /// Include the `revert_turn` tool. Approval-gated since it mutates @@ -1976,6 +1978,102 @@ mod tests { assert!(!registry.contains("finance")); } + #[test] + fn canonical_runtime_tools_hide_legacy_aliases() { + let tmp = tempdir().expect("tempdir"); + let ctx = ToolContext::new(tmp.path().to_path_buf()); + let registry = ToolRegistryBuilder::new() + .with_file_tools() + .with_search_tools() + .with_git_tools() + .with_git_history_tools() + .with_test_runner_tool() + .with_web_tools() + .with_patch_tools() + .build(ctx); + + let api_names = registry + .to_api_tools() + .into_iter() + .map(|tool| tool.name) + .collect::>(); + for canonical in ["File", "Git", "Run", "Web"] { + assert!(api_names.iter().any(|name| name == canonical)); + } + for alias in [ + "read_file", + "write_file", + "edit_file", + "list_dir", + "file_search", + "grep_files", + "apply_patch", + "git_status", + "git_diff", + "git_log", + "git_show", + "git_blame", + "run_tests", + "run_verifiers", + "web_search", + "fetch_url", + "wait_for_dev_server", + ] { + assert!(registry.contains(alias), "{alias} should remain callable"); + assert!( + api_names.iter().all(|name| name != alias), + "{alias} should be hidden" + ); + } + } + + #[tokio::test] + async fn legacy_file_aliases_replay_through_canonical_dispatch() { + let tmp = tempdir().expect("tempdir"); + std::fs::write(tmp.path().join("sample.txt"), "before\n").expect("fixture"); + let ctx = ToolContext::new(tmp.path().to_path_buf()); + let registry = ToolRegistryBuilder::new().with_file_tools().build(ctx); + + registry + .execute("read_file", json!({"path": "sample.txt"})) + .await + .expect("legacy read should execute"); + registry + .execute( + "edit_file", + json!({"path": "sample.txt", "search": "before", "replace": "after"}), + ) + .await + .expect("legacy edit should execute after the replayed read"); + + assert_eq!( + std::fs::read_to_string(tmp.path().join("sample.txt")).expect("edited file"), + "after\n" + ); + } + + #[test] + fn read_only_file_surface_does_not_advertise_write_actions() { + let tmp = tempdir().expect("tempdir"); + let ctx = ToolContext::new(tmp.path().to_path_buf()); + let registry = ToolRegistryBuilder::new() + .with_read_only_file_tools() + .with_search_tools() + .build(ctx); + let file = registry + .to_api_tools() + .into_iter() + .find(|tool| tool.name == "File") + .expect("canonical File tool"); + let actions = file.input_schema["properties"]["action"]["enum"] + .as_array() + .expect("action enum"); + + for blocked in ["write", "edit", "patch"] { + assert!(actions.iter().all(|action| action != blocked)); + } + } + #[test] fn test_builder_with_finance_tool() { let tmp = tempdir().expect("tempdir"); diff --git a/crates/tui/src/tools/run_tool.rs b/crates/tui/src/tools/run_tool.rs new file mode 100644 index 0000000000..8b3f44785d --- /dev/null +++ b/crates/tui/src/tools/run_tool.rs @@ -0,0 +1,158 @@ +//! Canonical action-based wrapper for run/test/verifier tools. +//! +//! The model sees one tool: `Run` with an `action` parameter +//! (tests | verifiers). Legacy names (`run_tests`, `run_verifiers`) stay +//! registered as hidden compat aliases that force the action so saved +//! transcripts replay correctly. + +use async_trait::async_trait; +use serde_json::{Value, json}; + +use super::spec::{ + ApprovalRequirement, ToolCapability, ToolContext, ToolError, ToolResult, ToolSpec, +}; +use super::test_runner::RunTestsTool; +use super::verifier::RunVerifiersTool; + +pub struct RunTool { + name: &'static str, + forced_action: Option<&'static str>, +} + +impl RunTool { + pub const fn new(name: &'static str) -> Self { + Self { + name, + forced_action: None, + } + } + + pub const fn alias(name: &'static str, action: &'static str) -> Self { + Self { + name, + forced_action: Some(action), + } + } + + fn resolve_action<'a>(&self, input: &'a Value) -> &'a str { + self.forced_action.unwrap_or_else(|| { + input + .get("action") + .and_then(Value::as_str) + .unwrap_or("tests") + }) + } + + fn strip_action(&self, input: Value) -> Result { + let mut input = input; + if let Some(obj) = input.as_object_mut() { + obj.remove("action"); + Ok(input) + } else { + Err(ToolError::invalid_input("Run tool input must be an object")) + } + } +} + +#[async_trait] +impl ToolSpec for RunTool { + fn name(&self) -> &'static str { + self.name + } + + fn model_visible(&self) -> bool { + self.name == "Run" + } + + fn description(&self) -> &'static str { + "Run Cargo tests or repository verifier gates. Use tests for focused Rust test runs; use verifiers for cross-language build, test, lint, and syntax gates. Set background=true for verifier suites expected to take more than a few seconds." + } + + fn input_schema(&self) -> Value { + json!({ + "type": "object", + "properties": { + "action": { + "type": "string", + "enum": ["tests", "verifiers"], + "description": "Action to perform" + }, + "args": { + "type": "string", + "description": "Extra arguments for cargo test (action=tests)" + }, + "all_features": { + "type": "boolean", + "description": "Include --all-features for cargo test (action=tests)" + }, + "profile": { + "type": "string", + "enum": ["auto", "rust", "node", "python", "go"], + "description": "Verifier profile (action=verifiers)" + }, + "level": { + "type": "string", + "enum": ["quick", "full"], + "description": "Verifier level (action=verifiers)" + }, + "max_python_files": { + "type": "integer", + "description": "Maximum Python files for the verifier syntax gate (action=verifiers)" + }, + "commands": { + "type": "array", + "description": "Optional explicit verifier gates (action=verifiers)", + "items": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "program": { "type": "string" }, + "args": { "type": "array", "items": { "type": "string" } }, + "cwd": { "type": "string" } + }, + "required": ["name", "program"] + } + }, + "background": { + "type": "boolean", + "description": "Start verifier gates as background jobs (action=verifiers)" + } + }, + "required": ["action"] + }) + } + + fn capabilities(&self) -> Vec { + vec![ToolCapability::ExecutesCode, ToolCapability::Sandboxable] + } + + fn approval_requirement_for(&self, _input: &Value) -> ApprovalRequirement { + ApprovalRequirement::Required + } + + fn is_read_only_for(&self, _input: &Value) -> bool { + false + } + + fn supports_parallel_for(&self, _input: &Value) -> bool { + false + } + + fn starts_detached_for(&self, input: &Value) -> bool { + self.resolve_action(input) == "verifiers" + && input.get("background").and_then(Value::as_bool) == Some(true) + } + + async fn execute(&self, input: Value, context: &ToolContext) -> Result { + let action = self.resolve_action(&input).to_string(); + let input = self.strip_action(input)?; + + match action.as_str() { + "tests" => RunTestsTool.execute(input, context).await, + "verifiers" => RunVerifiersTool.execute(input, context).await, + other => Err(ToolError::invalid_input(format!( + "Unknown Run action: {other}" + ))), + } + } +} diff --git a/crates/tui/src/tools/search.rs b/crates/tui/src/tools/search.rs index 855aa65914..6300d738c6 100644 --- a/crates/tui/src/tools/search.rs +++ b/crates/tui/src/tools/search.rs @@ -48,6 +48,10 @@ impl ToolSpec for GrepFilesTool { "grep_files" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Search for a regex pattern in workspace files. Use this instead of `grep -r`, `rg`, or `find ... -exec grep` in `exec_shell` — pure-Rust, faster, and respects `.gitignore`. Returns matching lines with context (default: 2 lines before/after each match)." } diff --git a/crates/tui/src/tools/subagent/mod.rs b/crates/tui/src/tools/subagent/mod.rs index b27e1a1e13..e3ebf98003 100644 --- a/crates/tui/src/tools/subagent/mod.rs +++ b/crates/tui/src/tools/subagent/mod.rs @@ -9940,6 +9940,30 @@ struct SubAgentToolRegistry { } impl SubAgentToolRegistry { + const ACTION_ALIASES: &'static [(&'static str, &'static str, &'static str)] = &[ + ("Bash", "run", "exec_shell"), + ("Bash", "wait", "exec_shell_wait"), + ("Bash", "interact", "exec_shell_interact"), + ("Bash", "cancel", "exec_shell_cancel"), + ("File", "read", "read_file"), + ("File", "list", "list_dir"), + ("File", "search_name", "file_search"), + ("File", "search_content", "grep_files"), + ("File", "write", "write_file"), + ("File", "edit", "edit_file"), + ("File", "patch", "apply_patch"), + ("Git", "status", "git_status"), + ("Git", "diff", "git_diff"), + ("Git", "log", "git_log"), + ("Git", "show", "git_show"), + ("Git", "blame", "git_blame"), + ("Run", "tests", "run_tests"), + ("Run", "verifiers", "run_verifiers"), + ("Web", "search", "web_search"), + ("Web", "fetch", "fetch_url"), + ("Web", "wait", "wait_for_dev_server"), + ]; + #[cfg(test)] fn new( runtime: SubAgentRuntime, @@ -10044,6 +10068,16 @@ impl SubAgentToolRegistry { .get("commands") .map(|commands| commands.as_array().is_some_and(Vec::is_empty)) .unwrap_or(true), + "Run" => match input.get("action").and_then(Value::as_str) { + Some("tests") => input + .get("args") + .is_none_or(|args| args.as_str().is_some_and(|args| args.trim().is_empty())), + Some("verifiers") => input + .get("commands") + .map(|commands| commands.as_array().is_some_and(Vec::is_empty)) + .unwrap_or(true), + _ => false, + }, _ => false, } } @@ -10052,7 +10086,7 @@ impl SubAgentToolRegistry { /// parent auto-approval. Delegates to the pure `role_posture_permits`. /// Unregistered names pass through (the allowlist / availability checks /// handle those separately). - fn posture_permits_tool(&self, name: &str) -> bool { + fn posture_permits_tool(&self, name: &str, input: Option<&Value>) -> bool { // Delegation (`agent`) is governed by the depth budget and the // allowlist (`can_spawn_child` / `is_tool_allowed`), not the write/shell // posture — a read-only role may still fan out child work. @@ -10060,7 +10094,10 @@ impl SubAgentToolRegistry { return true; } match self.registry.get(name) { - Some(spec) => match spec.approval_requirement() { + Some(spec) => match input.map_or_else( + || spec.approval_requirement(), + |input| spec.approval_requirement_for(input), + ) { ApprovalRequirement::Auto => true, ApprovalRequirement::Suggest => { self.runtime_profile.permissions.write @@ -10093,6 +10130,28 @@ impl SubAgentToolRegistry { }) } + fn legacy_action_alias(family: &str, action: &str) -> Option<&'static str> { + Self::ACTION_ALIASES + .iter() + .find_map(|(candidate_family, candidate_action, alias)| { + (*candidate_family == family && *candidate_action == action).then_some(*alias) + }) + } + + fn is_action_allowed(&self, family: &str, action: &str) -> bool { + let alias = Self::legacy_action_alias(family, action); + if self.is_tool_denied(family) || alias.is_some_and(|name| self.is_tool_denied(name)) { + return false; + } + match &self.allowed_tools { + None => true, + Some(list) => { + list.iter().any(|name| name == family) + || alias.is_some_and(|alias| list.iter().any(|name| name == alias)) + } + } + } + /// Whether a given tool name is permitted under this child's filter. /// `None` filter = everything permitted. fn is_tool_allowed(&self, name: &str) -> bool { @@ -10106,7 +10165,12 @@ impl SubAgentToolRegistry { } match &self.allowed_tools { None => true, - Some(list) => list.iter().any(|t| t == name), + Some(list) => { + list.iter().any(|tool| tool == name) + || Self::ACTION_ALIASES.iter().any(|(family, _, alias)| { + *family == name && list.iter().any(|allowed| allowed == alias) + }) + } } } @@ -10117,10 +10181,25 @@ impl SubAgentToolRegistry { None => api_tools, Some(list) => api_tools .into_iter() - .filter(|tool| list.contains(&tool.name)) + .filter(|tool| { + list.contains(&tool.name) + || ["Bash", "File", "Git", "Run", "Web"].contains(&tool.name.as_str()) + && tool.input_schema["properties"]["action"]["enum"] + .as_array() + .is_some_and(|actions| { + actions.iter().any(|action| { + action.as_str().is_some_and(|action| { + Self::legacy_action_alias(&tool.name, action) + .is_some_and(|alias| { + list.iter().any(|n| n == alias) + }) + }) + }) + }) + }) .collect::>(), }; - filtered + let mut tools = filtered .into_iter() .filter(|tool| tool.name != "agent" || self.can_spawn_child) // #4042: hide explicitly disallowed tools so the model never sees @@ -10130,8 +10209,36 @@ impl SubAgentToolRegistry { // #3217: hide tools the role posture forbids so the model never // even sees write/edit/patch (read-only roles) or shell (no-shell // roles). Defense-in-depth with the `execute` guard below. - .filter(|tool| self.posture_permits_tool(&tool.name)) - .collect() + .filter(|tool| tool.name == "File" || self.posture_permits_tool(&tool.name, None)) + .collect::>(); + + for tool in &mut tools { + if !["Bash", "File", "Git", "Run", "Web"].contains(&tool.name.as_str()) { + continue; + } + if let Some(actions) = tool.input_schema["properties"]["action"]["enum"].as_array_mut() + { + actions.retain(|action| { + let Some(action) = action.as_str() else { + return false; + }; + let posture_allows = tool.name != "File" + || (self.runtime_profile.permissions.write + && role_posture_permits( + &self.agent_type, + ApprovalRequirement::Suggest, + )) + || matches!(action, "read" | "list" | "search_name" | "search_content"); + posture_allows && self.is_action_allowed(&tool.name, action) + }); + } + } + tools.retain(|tool| { + tool.input_schema["properties"]["action"]["enum"] + .as_array() + .is_none_or(|actions| !actions.is_empty()) + }); + tools } fn unavailable_allowed_tools(&self) -> Vec { @@ -10146,14 +10253,27 @@ impl SubAgentToolRegistry { } async fn execute(&self, _agent_id: &str, name: &str, input: Value) -> Result { - if !self.is_tool_allowed(name) { + let action = input.get("action").and_then(Value::as_str); + let family_action_allowed = if !Self::ACTION_ALIASES + .iter() + .any(|(family, _, _)| *family == name) + { + true + } else if let Some(action) = action { + self.is_action_allowed(name, action) + } else { + self.allowed_tools + .as_ref() + .is_none_or(|list| list.iter().any(|allowed| allowed == name)) + }; + if !self.is_tool_allowed(name) || !family_action_allowed { return Err(anyhow!("Tool {name} not allowed for this sub-agent")); } // #3217: authoritative per-role posture — read-only roles cannot mutate // and non-`Full`-shell roles cannot run shell, regardless of whether // the parent session is auto-approved. This closes the auto-approve // bypass where a read-only child could quietly write or shell out. - if !self.posture_permits_tool(name) { + if !self.posture_permits_tool(name, Some(&input)) { return Err(anyhow!( "Tool {name} is not permitted for the read-only `{role}` sub-agent role. Use an `implementer` or `general` role (or a `custom` role with an explicit allowed_tools list) to mutate the workspace or run shell commands.", role = self.agent_type.as_str() @@ -10163,7 +10283,7 @@ impl SubAgentToolRegistry { let Some(spec) = self.registry.get(name) else { return Err(anyhow!("Tool {name} is not registered")); }; - match spec.approval_requirement() { + match spec.approval_requirement_for(&input) { ApprovalRequirement::Auto => {} ApprovalRequirement::Suggest => { // Write/edit/patch tools land here. Explicit @@ -10195,8 +10315,12 @@ impl SubAgentToolRegistry { let scope_aware_write = matches!( name, "write_file" | "edit_file" | "apply_patch" | "fim_edit" - ) || (name == "pandoc_convert" - && input.get("output_path").is_some()); + ) || (name == "File" + && input + .get("action") + .and_then(Value::as_str) + .is_some_and(|action| matches!(action, "write" | "edit" | "patch"))) + || (name == "pandoc_convert" && input.get("output_path").is_some()); if scope_aware_write && self.enforce_write_claim { let paths = mutation_paths(name, &input)?; if paths.is_empty() { @@ -10235,8 +10359,14 @@ impl SubAgentToolRegistry { } fn mutation_paths(name: &str, input: &Value) -> Result> { - let raw_paths = if name == "apply_patch" { - crate::tools::apply_patch::preflight_apply_patch(input) + let raw_paths = if name == "apply_patch" + || (name == "File" && input.get("action").and_then(Value::as_str) == Some("patch")) + { + let mut patch_input = input.clone(); + if let Some(object) = patch_input.as_object_mut() { + object.remove("action"); + } + crate::tools::apply_patch::preflight_apply_patch(&patch_input) .map_err(|err| anyhow!(err.to_string()))? .touched_files } else if let Some(path) = input @@ -10255,7 +10385,11 @@ fn mutation_paths(name: &str, input: &Value) -> Result> { } fn reject_subagent_terminal_takeover(name: &str, input: &Value) -> Result<()> { - let wants_interactive_shell = name == "exec_shell" + let wants_interactive_shell = matches!(name, "exec_shell" | "Bash") + && input + .get("action") + .and_then(Value::as_str) + .is_none_or(|action| action == "run") && input .get("interactive") .and_then(Value::as_bool) diff --git a/crates/tui/src/tools/subagent/tests.rs b/crates/tui/src/tools/subagent/tests.rs index 261a6bbad4..af19f7d1a3 100644 --- a/crates/tui/src/tools/subagent/tests.rs +++ b/crates/tui/src/tools/subagent/tests.rs @@ -3443,11 +3443,14 @@ fn explore_catalog_inherits_web_but_hides_write_shell_and_fim_tools() { crate::tools::plan::new_shared_plan_state(), ); - let names = tool_names(registry.tools_for_model(&SubAgentType::Explore)); - for name in ["web_search", "fetch_url", "web.run", "wait_for_dev_server"] { + let tools = registry.tools_for_model(&SubAgentType::Explore); + let names = tool_names(tools.clone()); + for name in ["File", "Git", "Web", "web.run"] { assert!(names.contains(name), "Explore should inherit {name}"); } for name in [ + "Bash", + "Run", "write_file", "edit_file", "apply_patch", @@ -3457,6 +3460,11 @@ fn explore_catalog_inherits_web_but_hides_write_shell_and_fim_tools() { ] { assert!(!names.contains(name), "Explore must hide {name}"); } + let file = tools.iter().find(|tool| tool.name == "File").unwrap(); + assert_eq!( + file.input_schema["properties"]["action"]["enum"], + json!(["read", "list", "search_name", "search_content"]) + ); } #[test] @@ -3473,13 +3481,21 @@ fn implementer_catalog_inherits_patch_and_fim_when_enabled() { crate::tools::plan::new_shared_plan_state(), ); - let names = tool_names(registry.tools_for_model(&SubAgentType::Implementer)); - for name in ["apply_patch", "fim_edit", "write_file", "edit_file"] { + let tools = registry.tools_for_model(&SubAgentType::Implementer); + let names = tool_names(tools.clone()); + for name in ["File", "fim_edit"] { assert!( names.contains(name), "Implementer should inherit write-capable tool {name}" ); } + let file = tools.iter().find(|tool| tool.name == "File").unwrap(); + let actions = file.input_schema["properties"]["action"]["enum"] + .as_array() + .unwrap(); + for action in ["write", "edit", "patch"] { + assert!(actions.iter().any(|value| value.as_str() == Some(action))); + } } #[tokio::test] @@ -6019,11 +6035,22 @@ async fn explore_role_blocks_writes_even_under_parent_auto_approve() { Arc::new(Mutex::new(PlanState::default())), ); + std::fs::write(tmp.path().join("allowed.txt"), "visible").unwrap(); + let read = registry + .execute( + "agent_test", + "File", + json!({"action": "read", "path": "allowed.txt"}), + ) + .await + .expect("Explore should retain canonical read access"); + assert!(read.contains("visible")); + let err = registry .execute( "agent_test", - "write_file", - json!({"path": "nope.txt", "content": "denied"}), + "File", + json!({"action": "write", "path": "nope.txt", "content": "denied"}), ) .await .expect_err("explore must not write even under parent auto-approve"); @@ -9655,10 +9682,19 @@ fn test_disallowed_tools_inheritance_denies_tool() { ); let tools = registry.tools_for_model(&SubAgentType::General); - let names: HashSet<_> = tools.into_iter().map(|t| t.name).collect(); + let names: HashSet<_> = tools.iter().map(|t| t.name.clone()).collect(); assert!(!names.contains("exec_shell"), "catalog excludes exec_shell"); assert!(!names.contains("write_file"), "catalog excludes write_file"); - assert!(names.contains("read_file"), "catalog includes read_file"); + assert!(names.contains("File"), "catalog includes canonical File"); + let file = tools.into_iter().find(|tool| tool.name == "File").unwrap(); + let actions = file.input_schema["properties"]["action"]["enum"] + .as_array() + .unwrap(); + assert!( + !actions + .iter() + .any(|action| action.as_str() == Some("write")) + ); } #[test] @@ -9682,12 +9718,16 @@ fn test_disallowed_tools_deny_wins_over_allow() { ); let tools = registry.tools_for_model(&SubAgentType::General); - let names: HashSet<_> = tools.into_iter().map(|t| t.name).collect(); + let names: HashSet<_> = tools.iter().map(|t| t.name.clone()).collect(); assert!( !names.contains("exec_shell"), "catalog must exclude denied tool even when allowlisted" ); - assert!(names.contains("read_file"), "catalog includes allowed tool"); + assert!( + names.contains("File"), + "legacy read allow exposes canonical File" + ); + assert!(!names.contains("Bash"), "denied shell alias removes Bash"); } #[test] @@ -9761,7 +9801,7 @@ fn test_disallowed_tools_tools_for_model_excludes_denied() { let registry = new_registry_with_disallowed(runtime, None); let tools = registry.tools_for_model(&SubAgentType::General); - let names: HashSet<_> = tools.into_iter().map(|t| t.name).collect(); + let names: HashSet<_> = tools.iter().map(|t| t.name.clone()).collect(); assert!(!names.contains("exec_shell"), "catalog excludes exec_shell"); assert!(!names.contains("write_file"), "catalog excludes write_file"); @@ -9769,8 +9809,14 @@ fn test_disallowed_tools_tools_for_model_excludes_denied() { !names.contains("apply_patch"), "catalog excludes apply_patch" ); - assert!(names.contains("read_file"), "catalog includes read_file"); - assert!(names.contains("grep_files"), "catalog includes grep_files"); + assert!(names.contains("File"), "catalog includes canonical File"); + let file = tools.into_iter().find(|tool| tool.name == "File").unwrap(); + let actions = file.input_schema["properties"]["action"]["enum"] + .as_array() + .unwrap(); + for denied in ["write", "patch"] { + assert!(!actions.iter().any(|action| action.as_str() == Some(denied))); + } } #[tokio::test] diff --git a/crates/tui/src/tools/test_runner.rs b/crates/tui/src/tools/test_runner.rs index bd4e2f3fbb..9304f28690 100644 --- a/crates/tui/src/tools/test_runner.rs +++ b/crates/tui/src/tools/test_runner.rs @@ -37,6 +37,10 @@ impl ToolSpec for RunTestsTool { "run_tests" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Run `cargo test` in the workspace root with optional extra arguments." } diff --git a/crates/tui/src/tools/verifier.rs b/crates/tui/src/tools/verifier.rs index 4146df9923..204fbeca9f 100644 --- a/crates/tui/src/tools/verifier.rs +++ b/crates/tui/src/tools/verifier.rs @@ -242,6 +242,10 @@ impl ToolSpec for RunVerifiersTool { "run_verifiers" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Run independent verifier gates in parallel across detected Rust, Node, Python, and Go projects. Supports explicit custom verifier commands as program+args without requiring Bash." } diff --git a/crates/tui/src/tools/web_search.rs b/crates/tui/src/tools/web_search.rs index 31c78b8367..eefd1477c9 100644 --- a/crates/tui/src/tools/web_search.rs +++ b/crates/tui/src/tools/web_search.rs @@ -99,6 +99,10 @@ impl ToolSpec for WebSearchTool { "web_search" } + fn model_visible(&self) -> bool { + false + } + fn description(&self) -> &'static str { "Search the web and return ranked results with URLs, snippets, session-scoped ref_ids, and an execution receipt. Open a result ref_id with `web.run` when the short summary is not enough; fetch only the few sources needed. When the exact active route reports a documented first-party server-side search tool, it is tried first; otherwise the default backend is DuckDuckGo with Bing fallback. Configured API backends visibly degrade through DuckDuckGo then Bing when unavailable, and every hop is recorded. Configuration and network-policy errors fail closed. Explicit Bing and private DuckDuckGo-compatible routes do not cross providers. Set `[search] provider = \"bing\" | \"tavily\" | \"bocha\" | \"metaso\" | \"searxng\" | \"baidu\" | \"volcengine\" | \"sofya\"` in config.toml, or `[search] base_url` for a private DuckDuckGo-compatible endpoint or trusted SearXNG instance. For a known canonical URL, prefer `fetch_url` directly." } diff --git a/crates/tui/src/tools/web_tool.rs b/crates/tui/src/tools/web_tool.rs new file mode 100644 index 0000000000..2ac6b76773 --- /dev/null +++ b/crates/tui/src/tools/web_tool.rs @@ -0,0 +1,201 @@ +//! Canonical action-based wrapper for web tools. +//! +//! The model sees one tool: `Web` with an `action` parameter +//! (search | fetch | wait). Legacy names (`web_search`, `fetch_url`, +//! `wait_for_dev_server`) stay registered as hidden compat aliases that +//! force the action so saved transcripts replay correctly. + +use async_trait::async_trait; +use serde_json::{Value, json}; + +use super::dev_server_readiness::WaitForDevServerTool; +use super::fetch_url::FetchUrlTool; +use super::spec::{ + ApprovalRequirement, ToolCapability, ToolContext, ToolError, ToolResult, ToolSpec, +}; +use super::web_search::WebSearchTool; + +pub struct WebTool { + name: &'static str, + forced_action: Option<&'static str>, +} + +impl WebTool { + pub const fn new(name: &'static str) -> Self { + Self { + name, + forced_action: None, + } + } + + pub const fn alias(name: &'static str, action: &'static str) -> Self { + Self { + name, + forced_action: Some(action), + } + } + + fn resolve_action<'a>(&self, input: &'a Value) -> &'a str { + self.forced_action.unwrap_or_else(|| { + input + .get("action") + .and_then(Value::as_str) + .unwrap_or("search") + }) + } + + fn strip_action(&self, input: Value) -> Result { + let mut input = input; + if let Some(obj) = input.as_object_mut() { + obj.remove("action"); + Ok(input) + } else { + Err(ToolError::invalid_input("Web tool input must be an object")) + } + } +} + +#[async_trait] +impl ToolSpec for WebTool { + fn name(&self) -> &'static str { + self.name + } + + fn model_visible(&self) -> bool { + self.name == "Web" + } + + fn description(&self) -> &'static str { + "Search the web, fetch a known URL, or wait for a local dev server. Prefer fetch for a canonical URL and search when the source is unknown. Web actions are read-only and network-policy aware." + } + + fn input_schema(&self) -> Value { + json!({ + "type": "object", + "properties": { + "action": { + "type": "string", + "enum": ["search", "fetch", "wait"], + "description": "Action to perform" + }, + "query": { + "type": "string", + "description": "Search query (action=search)" + }, + "q": { + "type": "string", + "description": "Search query alias (action=search)" + }, + "search_query": { + "type": "array", + "description": "Advanced search query array (action=search)", + "items": { + "type": "object", + "properties": { + "q": { "type": "string" }, + "query": { "type": "string" }, + "max_results": { "type": "integer" }, + "recency": { + "oneOf": [ + { "type": "string", "enum": ["day", "week", "month", "year"] }, + { "type": "integer", "minimum": 1, "maximum": 3650 } + ] + }, + "domains": { "type": "array", "items": { "type": "string" } }, + "locale": { "type": "string" } + } + } + }, + "max_results": { + "type": "integer", + "description": "Maximum search results (action=search)" + }, + "timeout_ms": { + "type": "integer", + "description": "Timeout in milliseconds (action=search, fetch, or wait)" + }, + "recency": { + "oneOf": [ + { "type": "string", "enum": ["day", "week", "month", "year"] }, + { "type": "integer", "minimum": 1, "maximum": 3650 } + ], + "description": "Requested freshness window (action=search)" + }, + "domains": { + "type": "array", + "items": { "type": "string" }, + "description": "Restrict search results to domains (action=search)" + }, + "locale": { + "type": "string", + "description": "Requested result locale (action=search)" + }, + "url": { + "type": "string", + "description": "URL to fetch (action=fetch) or healthcheck URL (action=wait)" + }, + "format": { + "type": "string", + "enum": ["text", "markdown", "raw"], + "description": "Post-processing for fetched response (action=fetch)" + }, + "max_bytes": { + "type": "integer", + "description": "Truncate fetched response after this many bytes (action=fetch)" + }, + "fields": { + "type": "array", + "items": { "type": "string" }, + "description": "Optional JSONPath projections for JSON responses (action=fetch)" + }, + "host": { + "type": "string", + "description": "Loopback host to poll (action=wait)" + }, + "port": { + "type": "integer", + "description": "TCP port to wait for (action=wait)" + }, + "poll_interval_ms": { + "type": "integer", + "description": "Delay between readiness probes in milliseconds (action=wait)" + } + }, + "required": ["action"] + }) + } + + fn capabilities(&self) -> Vec { + vec![ToolCapability::ReadOnly, ToolCapability::Network] + } + + fn approval_requirement_for(&self, _input: &Value) -> ApprovalRequirement { + ApprovalRequirement::Auto + } + + fn is_read_only_for(&self, _input: &Value) -> bool { + true + } + + fn supports_parallel_for(&self, input: &Value) -> bool { + self.resolve_action(input) == "search" + } + + fn starts_detached_for(&self, _input: &Value) -> bool { + false + } + + async fn execute(&self, input: Value, context: &ToolContext) -> Result { + let action = self.resolve_action(&input).to_string(); + let input = self.strip_action(input)?; + + match action.as_str() { + "search" => WebSearchTool.execute(input, context).await, + "fetch" => FetchUrlTool.execute(input, context).await, + "wait" => WaitForDevServerTool.execute(input, context).await, + other => Err(ToolError::invalid_input(format!( + "Unknown Web action: {other}" + ))), + } + } +} diff --git a/docs/RUNTIME_SIMPLIFICATION_DESIGN.md b/docs/RUNTIME_SIMPLIFICATION_DESIGN.md index 99c1a4d472..7e966295e4 100644 --- a/docs/RUNTIME_SIMPLIFICATION_DESIGN.md +++ b/docs/RUNTIME_SIMPLIFICATION_DESIGN.md @@ -81,3 +81,20 @@ Default eager count target: **~10** (vs. ~18 today), with the durable families a - Regression: `cargo fmt`, `cargo clippy --workspace --all-targets --locked`, `cargo test -p codewhale-tui --bin codewhale-tui --locked`, and `cargo test --workspace`. + +### v0.9.1 receipt + +Measured with `python3 scripts/measure-runtime-contract.py` on 2026-07-21: + +| Contract | Before | After | +|---|---:|---:| +| Default active tools | 18 | 9 | +| Active tool bytes | ~25,650 | 20,772 | +| Agent-mode instruction bytes | 4,064 | 663 | +| Full system-prompt bytes | 15,842 | 15,368 | + +The final active names are `Bash`, `File`, `Git`, `Run`, `agent`, `tasks`, +`update_plan`, `work_update`, and `tool_search`. `File` advertises only read +actions in Plan mode, and its `patch` action appears only when the existing +apply-patch feature is enabled. Hidden aliases remain executable for transcript +replay but are absent from the model catalog. From 5c3eb8245512cf790a933484453d3e300eb4c7af Mon Sep 17 00:00:00 2001 From: Hunter B Date: Tue, 21 Jul 2026 13:54:21 -0700 Subject: [PATCH 008/111] fix(tui): hide empty work surface Do not render or reserve layout for an active session with no graph-owned work. Preserve the existing disconnected and error diagnostics, and cover stale-cache and side-rail behavior with regressions. --- crates/tui/src/tui/work_surface/mod.rs | 35 +++++++++++++++++++++--- crates/tui/src/tui/work_surface/model.rs | 5 +--- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/crates/tui/src/tui/work_surface/mod.rs b/crates/tui/src/tui/work_surface/mod.rs index c69ccc6823..b058a07e65 100644 --- a/crates/tui/src/tui/work_surface/mod.rs +++ b/crates/tui/src/tui/work_surface/mod.rs @@ -366,15 +366,42 @@ mod tests { } #[test] - fn active_session_without_work_renders_truthful_empty_state() { + fn active_session_without_work_keeps_surface_invisible() { let mut app = app(); app.current_session_id = Some(SESSION.to_string()); let rows = super::model::project(&mut app); - assert_eq!(rows.len(), 1); - assert_eq!(rows[0].label, "Work · empty"); - assert!(!rows[0].selectable); + assert!(rows.is_empty()); + assert_eq!(super::height(&mut app, 120, 32, false), 0); + } + + #[test] + fn empty_work_stays_hidden_after_cached_session_state_is_cleared() { + let mut app = app(); + app.current_session_id = Some(SESSION.to_string()); + app.work_surface.cached_graph = Some(operation_graph(NodeState::Active)); + + let rows = super::model::project(&mut app); + + assert!(rows.is_empty()); + assert!(app.work_surface.cached_graph.is_none()); + } + + #[test] + fn empty_work_reserves_no_side_rail() { + for placement in [ + super::WorkSurfacePlacement::Left, + super::WorkSurfacePlacement::Right, + ] { + let mut app = app(); + app.current_session_id = Some(SESSION.to_string()); + app.work_surface.placement = placement; + let area = ratatui::layout::Rect::new(0, 0, 120, 32); + + assert_eq!(super::height(&mut app, area.width, area.height, false), 0); + assert_eq!(super::split_chat(&mut app, area, false), (area, None)); + } } #[test] diff --git a/crates/tui/src/tui/work_surface/model.rs b/crates/tui/src/tui/work_surface/model.rs index 638ec6a91b..479c4c0187 100644 --- a/crates/tui/src/tui/work_surface/model.rs +++ b/crates/tui/src/tui/work_surface/model.rs @@ -73,7 +73,6 @@ pub(super) struct WorkHitbox { #[derive(Debug, Clone)] enum WorkSourceState { - Empty, Error(String), Disconnected, } @@ -81,7 +80,6 @@ enum WorkSourceState { impl WorkSourceState { const fn label(&self) -> &'static str { match self { - Self::Empty => "empty", Self::Error(_) => "error", Self::Disconnected => "disconnected", } @@ -89,7 +87,6 @@ impl WorkSourceState { fn detail(&self) -> &str { match self { - Self::Empty => "No graph-owned work in the active session", Self::Error(error) => error, Self::Disconnected => "Work Graph runtime is not attached", } @@ -208,7 +205,7 @@ pub(super) fn project(app: &mut App) -> Vec { } Some(Ok(None)) => { app.work_surface.cached_graph = None; - (None, active_session.then_some(WorkSourceState::Empty)) + (None, None) } Some(Err(error)) => ( app.work_surface.cached_graph.clone(), From 5087269606fc8847487b0a8b51ef6adffa8eb2ca Mon Sep 17 00:00:00 2001 From: Hunter B Date: Tue, 21 Jul 2026 14:24:03 -0700 Subject: [PATCH 009/111] docs(public): refresh v0.9.1 product truth Replace the public image with a receipt-backed capture from the real v0.9.1 TUI binary and keep README and website copies byte-identical through a focused contract test. Harvested from PR #4508 by @Hmbown. Co-authored-by: Hunter Bown --- assets/screenshot.png | Bin 211516 -> 141901 bytes .../v091-empty-work-surface-receipt.md | 66 +++++++++++++ docs/public-surface-facts.json | 88 ++++++++++++++++++ web/lib/public-surface-contract.test.ts | 77 +++++++++++++++ web/public/codewhale-tui.png | Bin 0 -> 141901 bytes 5 files changed, 231 insertions(+) create mode 100644 docs/evidence/v091-empty-work-surface-receipt.md create mode 100644 docs/public-surface-facts.json create mode 100644 web/lib/public-surface-contract.test.ts create mode 100644 web/public/codewhale-tui.png diff --git a/assets/screenshot.png b/assets/screenshot.png index c72d148175a778bf717e286c8a1158704a703672..6aa3ab5881d454ad08d1404fa85c21ddfa63764a 100644 GIT binary patch literal 141901 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 XF&Uf=(^4xyfS07G-1iz`{lNbRPQ7s5 literal 211516 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

7bST2`J8l$ugg0bsULzA}xjim%irl+IOpMf7{ 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

Yia*ZBS93qI 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 { + it("keeps checked-in release facts aligned with generated repository facts", () => { + expect(matrix.release.version).toBe(FACTS.version); + expect(matrix.release.providerCount).toBe(FACTS.providers.length); + expect(matrix.screenshot.sourceVersion).toBe(FACTS.version); + expect(matrix.screenshot.sourceCommit).toMatch(/^[0-9a-f]{40}$/); + expect(matrix.screenshot.terminal).toBe("106x32"); + }); + + it("keeps the README and website on one optimized canonical product screenshot", () => { + const readmeImage = bytes(matrix.screenshot.readme); + const websiteImage = bytes(matrix.screenshot.website); + const digest = (image: Buffer) => createHash("sha256").update(image).digest("hex"); + + expect(digest(readmeImage)).toBe(digest(websiteImage)); + expect(pngDimensions(readmeImage)).toEqual([1280, 720]); + expect(statSync(new URL(matrix.screenshot.readme, root)).size).toBeLessThan(500_000); + + const readme = readFileSync(new URL("README.md", root), "utf8"); + const homepage = readFileSync(new URL("web/app/[locale]/page.tsx", root), "utf8"); + expect(readme).toContain("assets/screenshot.png"); + expect(homepage).toContain('src="/codewhale-tui.png"'); + expect(homepage).toContain("with no empty Work bar"); + }); + + it("keeps every fact-matrix source resolvable in the repository", () => { + const sources = new Set(); + const visit = (value: unknown) => { + if (Array.isArray(value)) { + value.forEach(visit); + } else if (value && typeof value === "object") { + for (const [key, child] of Object.entries(value)) { + if (key === "sources" || key === "creditSources") { + (child as string[]).forEach((source) => sources.add(source)); + } else { + visit(child); + } + } + } + }; + visit(matrix); + + for (const source of sources) { + expect(existsSync(new URL(source, root)), source).toBe(true); + } + }); +}); diff --git a/web/public/codewhale-tui.png b/web/public/codewhale-tui.png new file mode 100644 index 0000000000000000000000000000000000000000..6aa3ab5881d454ad08d1404fa85c21ddfa63764a GIT binary patch literal 141901 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 XF&Uf=(^4xyfS07G-1iz`{lNbRPQ7s5 literal 0 HcmV?d00001 From e37df06caeb3064b2bb9263c1c98a903738f3a0a Mon Sep 17 00:00:00 2001 From: Hunter B Date: Tue, 21 Jul 2026 14:24:29 -0700 Subject: [PATCH 010/111] docs(web): make the homepage product first Keep the Blue Stage direction while centering the released runtime, its real terminal capture, explicit boundaries, install path, and community. Describe the work as a bounded task-to-verified-change path and keep the implementation dependency-free. Harvested from PRs #4545 and #4587 by @Hmbown. Co-authored-by: Hunter Bown --- web/app/[locale]/page.tsx | 371 +++++++++++++++---------- web/app/globals.css | 553 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 788 insertions(+), 136 deletions(-) diff --git a/web/app/[locale]/page.tsx b/web/app/[locale]/page.tsx index a451208e94..235cac3be4 100644 --- a/web/app/[locale]/page.tsx +++ b/web/app/[locale]/page.tsx @@ -1,188 +1,287 @@ +import Image from "next/image"; import Link from "next/link"; import { InstallCodeBlock } from "@/components/install-code-block"; import { Whale } from "@/components/whale"; -import { - DOC_TOPICS, - docTopicHref, - docTopicIsExternal, - type DocTopic, -} from "@/lib/docs-map"; import { getFacts } from "@/lib/facts"; -const START_TOPIC_IDS = ["install", "guide", "configuration", "modes"]; -const RUNTIME_TOPIC_IDS = ["tools", "sandbox", "providers", "subagents"]; -const EXTEND_TOPIC_IDS = ["runtime-api", "mcp", "fleet", "troubleshooting"]; +const REPO = "https://github.com/Hmbown/CodeWhale"; -function topics(ids: string[]): DocTopic[] { - return ids.flatMap((id) => { - const topic = DOC_TOPICS.find((candidate) => candidate.id === id); - return topic ? [topic] : []; - }); -} - -function TopicList({ items, locale }: { items: DocTopic[]; locale: string }) { - const isZh = locale === "zh"; +const WORKFLOW = [ + { + en: ["Inspect", "Read the repository, its instructions, and the task."], + zh: ["检查", "读取仓库、项目说明与任务。"], + }, + { + en: ["Act", "Edit files through explicit approval boundaries."], + zh: ["执行", "在明确的审批边界内修改文件。"], + }, + { + en: ["Verify", "Run checks and inspect the result."], + zh: ["验证", "运行检查并核对结果。"], + }, + { + en: ["Report", "Leave a concise, durable receipt."], + zh: ["报告", "留下简洁、可追溯的工作收据。"], + }, +] as const; - return ( -
- {items.map((topic) => { - const external = docTopicIsExternal(topic); - return ( - - {isZh ? topic.label.zh : topic.label.en} - {isZh ? topic.description.zh : topic.description.en} - - - ); - })} -
- ); -} +const SURFACES = [ + { + en: ["TUI", "Interactive terminal work"], + zh: ["TUI", "交互式终端工作"], + }, + { + en: ["codewhale exec", "Scripts and CI"], + zh: ["codewhale exec", "脚本与 CI"], + }, + { + en: ["Web client", "Loopback-only browser client"], + zh: ["Web 客户端", "仅限本机回环的浏览器客户端"], + }, + { + en: ["Runtime API + MCP", "Local integrations"], + zh: ["运行时 API + MCP", "本地集成"], + }, + { + en: ["Fleet", "Durable multi-agent work"], + zh: ["Fleet", "持久化多智能体工作"], + }, +] as const; export default async function HomePage({ params }: { params: Promise<{ locale: string }> }) { const { locale } = await params; const isZh = locale === "zh"; const facts = await getFacts(); + const version = facts.version ?? "0.9.x"; + const providerCount = facts.providers.length; return ( -
-
-