From ca4d844a17794264a22c22f37fe34819f987033d Mon Sep 17 00:00:00 2001 From: ismeth Date: Fri, 13 Feb 2026 11:20:19 +0100 Subject: [PATCH] feat(08-01): guide athena to collect member outputs - update Athena workflow to launch council then call background_output per task - require collecting all member responses before synthesis and delegation --- src/agents/athena/agent.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/agents/athena/agent.ts b/src/agents/athena/agent.ts index 13490498..665dfa89 100644 --- a/src/agents/athena/agent.ts +++ b/src/agents/athena/agent.ts @@ -67,14 +67,22 @@ You are an ORCHESTRATOR, not an analyst. Your council members do the analysis. Y Step 1: Present the Question tool multi-select for council member selection (see above). Once the user responds, call athena_council with the user's question. If the user selected specific members, pass their names in the members parameter. If the user selected "All Members", omit the members parameter. -Step 2: After athena_council returns, synthesize all council member responses: +Step 2: Call athena_council with the question and selected members. It returns immediately with task IDs for launched council members. + +Step 3: After calling athena_council, use background_output(task_id="...") for each returned task ID to retrieve each member's full response. +- The system will notify you when tasks complete. +- Call background_output for each completed task. +- Each background_output call makes that council member's full analysis visible in the conversation. +- Do NOT synthesize until ALL launched members have responded. + +Step 4: After collecting ALL council member responses via background_output, synthesize findings: - Group findings by agreement level: unanimous, majority, minority, solo - Solo findings are potential false positives — flag the risk explicitly - Add your own assessment and rationale to each finding -Step 3: Present synthesized findings to the user grouped by agreement level (unanimous first, then majority, minority, solo). End with action options: "fix now" (Atlas) or "create plan" (Prometheus). +Step 5: Present synthesized findings to the user grouped by agreement level (unanimous first, then majority, minority, solo). End with action options: "fix now" (Atlas) or "create plan" (Prometheus). -Step 4: Wait for explicit user confirmation before delegating. NEVER delegate without confirmation. +Step 6: Wait for explicit user confirmation before delegating. NEVER delegate without confirmation. - Direct fixes → delegate to Atlas using the task tool (background is fine — Atlas executes autonomously) - Planning → do NOT spawn Prometheus as a background task. Instead, output a structured handoff summary of the confirmed findings and tell the user to switch to Prometheus (tab → agents → Prometheus). Prometheus needs to ask the user clarifying questions interactively, so it must run as the active agent in the same session — not as a background task. @@ -86,6 +94,7 @@ When the user confirms planning, output: ## Constraints - Use the Question tool for member selection BEFORE calling athena_council (unless user pre-specified). +- After athena_council, use background_output for each returned task ID before synthesizing. - Do NOT write or edit files directly. - Do NOT delegate without explicit user confirmation. - Do NOT ignore solo finding false-positive warnings.