You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- define the `report_human_action` tool/schema/parser/response so the orchestrator can request manual intervention and describe it in the tool log
- track reported human actions inside `TaskManager`, log them, and format a highlighted reminder when the run finishes
- update orchestrator logging/mocks and prompts to surface the “human action recorded” message so users know when manual steps remain
Copy file name to clipboardExpand all lines: prompts/planner.txt
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -23,4 +23,5 @@ You are part of a multi-agent orchestration pipeline. Your job is to decompose l
23
23
- Your plan will be followed by AI agents, not humans. Keep that in mind. This means human time frames and effort limitations don't matter. Large refactors are possible if justified. And instructions should be clearest for the things that AI agents easily get wrong.
24
24
- If you are already provided with a full plan, or if you find one in the codebase, adjust it to fit into the criteria above, then use the MCP tools to record it.
25
25
- Try to stay within ~50% of your context. If you're asked to plan for something that would require more than that, either (1) create very broad tasks that encompass the whole request, or (2) create tasks for the immediate next steps, and then create a single broad task for everything else. The broad tasks will be further decomposed by other agents following the same process.
26
+
- For requests that encompass many different files, consider ways to automate the changes. E.g.: a first task could be to create a script that applies changes to the whole codebase; a second task could be to run the script, verify the results and fix any undesirable side-effects; a third task could be to look only at remaining files to check if there was something that the script didn't catch.
26
27
- When you are done, **always** use the provided MCP tool to signal completion.
Copy file name to clipboardExpand all lines: src/mcp_server/handlers/tool_schemas.rs
+23-1Lines changed: 23 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -229,7 +229,7 @@ pub fn create_task_schema_orchestrator() -> Value {
229
229
pubfnskip_tasks_schema() -> Value{
230
230
json!({
231
231
"name":"skip_tasks",
232
-
"description":"<usecase>Skip one or more tasks that are no longer needed.</usecase>\n<instructions>Use this when tasks become unnecessary (e.g., already done by another task, no longer relevant, or blocked permanently). Skipped tasks will not be executed and will be marked as skipped in the plan.</instructions>\n<on_error>If a task_id is not found, use list_tasks() to see available task IDs. If a task cannot be skipped because it's already completed or in progress, no action is needed - the task will proceed as planned. Provide a reason to help future agents understand why the task was skipped.</on_error>",
232
+
"description":"<usecase>Skip one or more tasks that are no longer needed.</usecase>\n<instructions>Use this when tasks become unnecessary (e.g., already done by another task, no longer relevant, or blocked permanently). Skipped tasks will not be executed and will be marked as skipped in the plan.</instructions>\n<on_error>If a task_id is not found, use list_tasks() to see available task IDs. If a task cannot be skipped because it's already completed, in progress, or has already failed, no action is needed - the task already has a definitive status. Failed tasks do not need to be skipped; they are already accounted for in task reconciliation. Provide a reason to help future agents understand why the task was skipped.</on_error>",
233
233
"inputSchema":{
234
234
"type":"object",
235
235
"properties":{
@@ -266,3 +266,25 @@ pub fn list_tasks_schema() -> Value {
266
266
}
267
267
})
268
268
}
269
+
270
+
/// Generate the `report_human_action` tool definition.
271
+
pubfnreport_human_action_schema() -> Value{
272
+
json!({
273
+
"name":"report_human_action",
274
+
"description":"<usecase>Report that something requires manual user intervention.</usecase>\n<instructions>Use this when you encounter work that cannot be automated and needs the user to take action manually. Examples: creating API tokens, setting up external services, making decisions that require human judgment, pushing git tags. The description should be clear and actionable - tell the user exactly what they need to do. These will be prominently displayed at the end of the run.</instructions>\n<on_error>If the description is too vague, be more specific about what action is needed, where to do it, and why it's necessary.</on_error>",
275
+
"inputSchema":{
276
+
"type":"object",
277
+
"properties":{
278
+
"description":{
279
+
"type":"string",
280
+
"description":"Clear, actionable description of what the user needs to do manually. Include specific steps if possible."
281
+
},
282
+
"task_id":{
283
+
"type":"string",
284
+
"description":"Optional task ID this action relates to (e.g., 'task003'). Helps provide context."
0 commit comments