always-on mark_todos_done: no ToolGroup ever exposed it, blocking every agent
This commit is contained in:
parent
e269af7882
commit
8a16d4ca7e
3 changed files with 39 additions and 8 deletions
|
|
@ -639,7 +639,19 @@ impl ToolGroup {
|
|||
/// than on tool groups, and every agent should be able to reach for it
|
||||
/// regardless of which optional groups it's been granted — same
|
||||
/// reasoning as `set_status`.
|
||||
pub const ALWAYS_ON_TOOLS: &'static [&'static str] = &["set_status", "compact"];
|
||||
///
|
||||
/// `mark_todos_done` too (a critical bug every agent hit): it was
|
||||
/// declared as a `#[tool]` fn but never added to *any*
|
||||
/// group's [`tools`](Self::tools), including `Inbox`, so no agent could
|
||||
/// ever get it into `--allowedTools` and every call prompted for
|
||||
/// approval it can't get. Todos are pushed to an agent independent of
|
||||
/// whether it holds `Inbox` (that group only gates
|
||||
/// `get_loose_ends`/`cancel_loose_end`/`remind`), so an agent without
|
||||
/// `Inbox` could accumulate todos it can never clear — same
|
||||
/// "every agent needs this regardless of optional groups" shape as
|
||||
/// `set_status`/`compact`, not a narrower `Inbox`-only fix.
|
||||
pub const ALWAYS_ON_TOOLS: &'static [&'static str] =
|
||||
&["set_status", "compact", "mark_todos_done"];
|
||||
|
||||
/// The Claude built-in tool names enabled by this group. Only
|
||||
/// `WebTools` returns a non-empty slice; all other groups return `&[]`
|
||||
|
|
|
|||
Loading…
Reference in a new issue