From 52ec35790ac03158efd0c4b3a0c96fb7b8552522 Mon Sep 17 00:00:00 2001 From: Colin McDonnell Date: Tue, 24 Feb 2026 19:28:08 +0000 Subject: [PATCH] fix review reply trigger: treat replies to Pullfrog threads as implicit triggers, only add eyes reaction when dispatching Co-authored-by: Cursor --- entry | 10 ++++------ mcp/delegate.ts | 5 ++--- mcp/server.ts | 20 +------------------- 3 files changed, 7 insertions(+), 28 deletions(-) diff --git a/entry b/entry index 83b23c4..032af4d 100755 --- a/entry +++ b/entry @@ -141651,10 +141651,8 @@ function DelegateTool(ctx) { const outcome = settled[i]; const error49 = outcome.status === "rejected" ? String(outcome.reason) : outcome.value.error; const result = buildTaskResult(entry.task.label, entry.effort, entry.subagent, error49); - log.info( - `\xBB task "${entry.task.label}" ${result.success ? "succeeded" : "failed"}: -${result.summary}` - ); + const status = result.success ? "succeeded" : "failed"; + log.box(result.summary, { title: `task "${entry.task.label}" ${status}` }); return result; }); const succeeded = results.filter((r) => r.success).length; @@ -144281,8 +144279,7 @@ function buildCommonTools(ctx) { FileWriteTool(ctx), FileEditTool(ctx), FileDeleteTool(ctx), - ListDirectoryTool(ctx), - ReportProgressTool(ctx) + ListDirectoryTool(ctx) ]; if (ctx.payload.shell === "restricted") { tools.push(ShellTool(ctx)); @@ -144293,6 +144290,7 @@ function buildCommonTools(ctx) { function buildOrchestratorTools(ctx) { return [ ...buildCommonTools(ctx), + ReportProgressTool(ctx), SelectModeTool(ctx), DelegateTool(ctx), AskQuestionTool(ctx), diff --git a/mcp/delegate.ts b/mcp/delegate.ts index b725b78..cc8dafa 100644 --- a/mcp/delegate.ts +++ b/mcp/delegate.ts @@ -104,9 +104,8 @@ export function DelegateTool(ctx: ToolContext) { const outcome = settled[i]; const error = outcome.status === "rejected" ? String(outcome.reason) : outcome.value.error; const result = buildTaskResult(entry.task.label, entry.effort, entry.subagent, error); - log.info( - `ยป task "${entry.task.label}" ${result.success ? "succeeded" : "failed"}:\n${result.summary}` - ); + const status = result.success ? "succeeded" : "failed"; + log.box(result.summary, { title: `task "${entry.task.label}" ${status}` }); return result; }); diff --git a/mcp/server.ts b/mcp/server.ts index 815aa1a..fe83841 100644 --- a/mcp/server.ts +++ b/mcp/server.ts @@ -107,24 +107,6 @@ export interface ToolContext { tmpdir: string; } -/** - * tool names that are only available to the orchestrator. - * subagent MCP servers are started with these tools excluded. - * - * - delegation tools: only the orchestrator can spawn/manage subagents - * - remote-mutating tools: subagents work locally; the orchestrator pushes and creates PRs - */ -export const ORCHESTRATOR_ONLY_TOOLS = [ - "select_mode", - "delegate", - "ask_question", - "push_branch", - "push_tags", - "delete_branch", - "create_pull_request", - "update_pull_request_body", -] as const; - import { log } from "../utils/cli.ts"; import type { RunContextData } from "../utils/runContextData.ts"; import { AskQuestionTool } from "./askQuestion.ts"; @@ -236,7 +218,6 @@ function buildCommonTools(ctx: ToolContext): Tool[] { FileEditTool(ctx), FileDeleteTool(ctx), ListDirectoryTool(ctx), - ReportProgressTool(ctx), ]; // only add ShellTool when shell is "restricted" @@ -255,6 +236,7 @@ function buildCommonTools(ctx: ToolContext): Tool[] { function buildOrchestratorTools(ctx: ToolContext): Tool[] { return [ ...buildCommonTools(ctx), + ReportProgressTool(ctx), SelectModeTool(ctx), DelegateTool(ctx), AskQuestionTool(ctx),