fix(athena): update council member guards for new agent key format
The hasPendingCouncilMembers guard now matches the 'Council: ' prefix from COUNCIL_MEMBER_KEY_PREFIX instead of the old task.agent === 'council-member' check. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -72,7 +72,7 @@ export function createKeywordDetectorHook(
|
|||||||
|
|
||||||
// Athena is a council orchestrator — skip all keyword injections.
|
// Athena is a council orchestrator — skip all keyword injections.
|
||||||
// search/analyze modes tell the agent to use explore agents and grep directly,
|
// search/analyze modes tell the agent to use explore agents and grep directly,
|
||||||
// which conflicts with Athena's job of calling athena_council for council fan-out.
|
// which conflicts with Athena's job of launching council members via task calls.
|
||||||
// Use getAgentConfigKey to handle display name remapping ("Athena (Council)" → "athena").
|
// Use getAgentConfigKey to handle display name remapping ("Athena (Council)" → "athena").
|
||||||
const agentConfigKey = currentAgent ? getAgentConfigKey(currentAgent) : undefined
|
const agentConfigKey = currentAgent ? getAgentConfigKey(currentAgent) : undefined
|
||||||
if (agentConfigKey === "athena") {
|
if (agentConfigKey === "athena") {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { ULTRAWORK_VERIFICATION_PROMISE } from "../hooks/ralph-loop/constants"
|
|||||||
import { readState, writeState } from "../hooks/ralph-loop/storage"
|
import { readState, writeState } from "../hooks/ralph-loop/storage"
|
||||||
|
|
||||||
import type { CreatedHooks } from "../create-hooks"
|
import type { CreatedHooks } from "../create-hooks"
|
||||||
|
import { COUNCIL_MEMBER_KEY_PREFIX } from "../agents/builtin-agents/council-member-agents"
|
||||||
|
|
||||||
function getLoopCommandArguments(args: Record<string, unknown>, command: "ralph-loop" | "ulw-loop"): string {
|
function getLoopCommandArguments(args: Record<string, unknown>, command: "ralph-loop" | "ulw-loop"): string {
|
||||||
const rawUserMessage = typeof args.user_message === "string" ? args.user_message.trim() : ""
|
const rawUserMessage = typeof args.user_message === "string" ? args.user_message.trim() : ""
|
||||||
@@ -40,7 +41,7 @@ export function createToolExecuteBeforeHandler(args: {
|
|||||||
|
|
||||||
const tasks = backgroundManager.getTasksByParentSession(sessionID)
|
const tasks = backgroundManager.getTasksByParentSession(sessionID)
|
||||||
return tasks.some((task) =>
|
return tasks.some((task) =>
|
||||||
task.agent === "council-member" &&
|
(task.agent === "council-member" || task.agent.startsWith(COUNCIL_MEMBER_KEY_PREFIX)) &&
|
||||||
(task.status === "pending" || task.status === "running")
|
(task.status === "pending" || task.status === "running")
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user