feat(tools): hide todo_* aliases from model catalog, add deprecation metadata (#2682)
- Add model_visible() hook to ToolSpec trait (default true) - Override model_visible() -> false on todo_write, todo_add, todo_update, todo_list - Checklist variants remain model-visible as the canonical surface - Legacy todo_* calls still work for saved transcript replay - Return _deprecation metadata with use_instead and removed_in=0.9.0 - Update prompts to recommend checklist_* only - Update TOOL_SURFACE.md with v0.9.0 deprecation notes - Add tests for hidden catalog, compat alias behavior, and metadata Verification: cargo test -p codewhale-tui -- todo, cargo clippy -D warnings
This commit is contained in:
@@ -110,9 +110,14 @@ to the model, such as `mcp_<server>_<tool>`.
|
||||
| `task_cancel` | Cancel a queued or running durable task. Approval-required. |
|
||||
| `checklist_write` | Granular progress under the active thread/task. Checklist state is subordinate to the durable task. |
|
||||
| `checklist_add` / `checklist_update` / `checklist_list` | Single-item checklist operations. |
|
||||
| `todo_write` / `todo_add` / `todo_update` / `todo_list` | Compatibility aliases for the checklist tools. Existing sessions keep working, but new prompts should use `checklist_*`. |
|
||||
| `note` | One-off important fact for later. |
|
||||
|
||||
The legacy `todo_write`, `todo_add`, `todo_update`, and `todo_list` names are
|
||||
hidden compatibility aliases for saved transcript replay. They remain callable
|
||||
by exact name, but they are not part of the model-visible catalog; compatibility
|
||||
results include `_deprecation.use_instead = checklist_*` and
|
||||
`_deprecation.removed_in = 0.9.0`.
|
||||
|
||||
### Verification gates and artifacts
|
||||
|
||||
| Tool | Niche |
|
||||
|
||||
Reference in New Issue
Block a user