diff --git a/tools/delegate_tool.py b/tools/delegate_tool.py index cbcb6755cc562..13e2143336b67 100644 --- a/tools/delegate_tool.py +++ b/tools/delegate_tool.py @@ -3670,20 +3670,23 @@ def _build_top_level_description() -> str: "poll; continue other work.\n\n" "USE FOR: reasoning-heavy subtasks, work that would flood your context " "with intermediate data, or independent parallel workstreams.\n" - "DO NOT USE FOR: a single tool call; mechanical multi-step work (use " - "execute_code); tasks needing user interaction; or durable work that " - "must survive this session (use cronjob or terminal(background=True, " - "notify_on_complete=True) — /stop, /new, or process exit discards " - "running subagents).\n\n" + "DO NOT USE FOR (use these instead):\n" + "- Mechanical multi-step work with no reasoning needed -> execute_code\n" + "- A single tool call -> call the tool directly\n" + "- Tasks needing user interaction -> subagents cannot ask questions\n" + "- Durable work that must survive this session -> cronjob or " + "terminal(background=True, notify_on_complete=True); /stop, /new, or " + "process exit discards running subagents.\n\n" "RULES:\n" "- Children know nothing of this conversation: pass everything needed " "via 'context', including any required output language, tone, or " "style (e.g. \"respond in Chinese\").\n" - "- Child summaries are SELF-REPORTS, not verified facts. For external " - "side effects (uploads, remote writes, publishing), require a " - "verifiable handle (URL, ID, absolute path) and verify it yourself — " - "fetch the URL, stat the file, read back the content — before " - "reporting success.\n" + "- Child summaries are SELF-REPORTS, not verified facts: a child " + "claiming \"uploaded successfully\" or \"file written\" may be wrong. " + "For external side effects (uploads, remote writes, publishing), " + "require a verifiable handle (URL, ID, absolute path) and verify it " + "yourself — fetch the URL, stat the file, read back the content — " + "before telling the user the operation succeeded.\n" "- Leaf children (the default) cannot call delegate_task, clarify, " "memory, send_message, or cronjob; orchestrators regain only " "delegate_task.\n"