diff --git a/src/features/builtin-commands/templates/start-work.ts b/src/features/builtin-commands/templates/start-work.ts index 69a70eb0..4db39be1 100644 --- a/src/features/builtin-commands/templates/start-work.ts +++ b/src/features/builtin-commands/templates/start-work.ts @@ -25,7 +25,7 @@ export const START_WORK_TEMPLATE = `You are starting a Sisyphus work session. } \`\`\` -5. **Read the plan file** and start executing tasks according to Orchestrator Sisyphus workflow +5. **Read the plan file** and start executing tasks according to atlas workflow ## OUTPUT FORMAT @@ -69,4 +69,4 @@ Reading plan and beginning execution... - The session_id is injected by the hook - use it directly - Always update boulder.json BEFORE starting work - Read the FULL plan file before delegating any tasks -- Follow Orchestrator Sisyphus delegation protocols (7-section format)` +- Follow atlas delegation protocols (7-section format)` diff --git a/src/features/claude-code-session-state/state.test.ts b/src/features/claude-code-session-state/state.test.ts index 459dfa7a..aaea217f 100644 --- a/src/features/claude-code-session-state/state.test.ts +++ b/src/features/claude-code-session-state/state.test.ts @@ -37,7 +37,7 @@ describe("claude-code-session-state", () => { setSessionAgent(sessionID, "Prometheus (Planner)") // #when - try to overwrite - setSessionAgent(sessionID, "Sisyphus") + setSessionAgent(sessionID, "sisyphus") // #then - first agent preserved expect(getSessionAgent(sessionID)).toBe("Prometheus (Planner)") @@ -58,10 +58,10 @@ describe("claude-code-session-state", () => { setSessionAgent(sessionID, "Prometheus (Planner)") // #when - force update - updateSessionAgent(sessionID, "Sisyphus") + updateSessionAgent(sessionID, "sisyphus") // #then - expect(getSessionAgent(sessionID)).toBe("Sisyphus") + expect(getSessionAgent(sessionID)).toBe("sisyphus") }) }) @@ -129,7 +129,7 @@ describe("claude-code-session-state", () => { // #given - user switches to custom agent "MyCustomAgent" const sessionID = "test-session-custom" const customAgent = "MyCustomAgent" - const defaultAgent = "Sisyphus" + const defaultAgent = "sisyphus" // User switches to custom agent (via UI) setSessionAgent(sessionID, customAgent) diff --git a/src/features/context-injector/injector.test.ts b/src/features/context-injector/injector.test.ts index b518c48e..eaf69584 100644 --- a/src/features/context-injector/injector.test.ts +++ b/src/features/context-injector/injector.test.ts @@ -21,7 +21,7 @@ describe("createContextInjectorMessagesTransformHook", () => { sessionID, role, time: { created: Date.now() }, - agent: "Sisyphus", + agent: "sisyphus", model: { providerID: "test", modelID: "test" }, path: { cwd: "/", root: "/" }, }, diff --git a/src/hooks/atlas/index.test.ts b/src/hooks/atlas/index.test.ts index 8ccdb9ba..0e671a39 100644 --- a/src/hooks/atlas/index.test.ts +++ b/src/hooks/atlas/index.test.ts @@ -373,7 +373,7 @@ describe("atlas hook", () => { const ORCHESTRATOR_SESSION = "orchestrator-write-test" beforeEach(() => { - setupMessageStorage(ORCHESTRATOR_SESSION, "Atlas") + setupMessageStorage(ORCHESTRATOR_SESSION, "atlas") }) afterEach(() => { @@ -444,7 +444,7 @@ describe("atlas hook", () => { test("should NOT append reminder when non-orchestrator writes outside .sisyphus/", async () => { // #given const nonOrchestratorSession = "non-orchestrator-session" - setupMessageStorage(nonOrchestratorSession, "Sisyphus-Junior") + setupMessageStorage(nonOrchestratorSession, "sisyphus-junior") const hook = createAtlasHook(createMockPluginInput()) const originalOutput = "File written successfully" @@ -601,7 +601,7 @@ describe("atlas hook", () => { getMainSessionID: () => MAIN_SESSION_ID, subagentSessions: new Set(), })) - setupMessageStorage(MAIN_SESSION_ID, "Atlas") + setupMessageStorage(MAIN_SESSION_ID, "atlas") }) afterEach(() => { @@ -845,7 +845,7 @@ describe("atlas hook", () => { // #given - last agent is NOT Atlas cleanupMessageStorage(MAIN_SESSION_ID) - setupMessageStorage(MAIN_SESSION_ID, "Sisyphus") + setupMessageStorage(MAIN_SESSION_ID, "sisyphus") const mockInput = createMockPluginInput() const hook = createAtlasHook(mockInput) diff --git a/src/hooks/keyword-detector/index.test.ts b/src/hooks/keyword-detector/index.test.ts index 28c7bbea..0bcf1149 100644 --- a/src/hooks/keyword-detector/index.test.ts +++ b/src/hooks/keyword-detector/index.test.ts @@ -419,7 +419,7 @@ describe("keyword-detector agent-specific ultrawork messages", () => { } // #when - ultrawork keyword detected with Sisyphus agent - await hook["chat.message"]({ sessionID, agent: "Sisyphus" }, output) + await hook["chat.message"]({ sessionID, agent: "sisyphus" }, output) // #then - should use normal ultrawork message with agent utilization instructions const textPart = output.parts.find(p => p.type === "text") @@ -471,7 +471,7 @@ describe("keyword-detector agent-specific ultrawork messages", () => { message: {} as Record, parts: [{ type: "text", text: "ultrawork implement" }], } - await hook["chat.message"]({ sessionID: sisyphusSessionID, agent: "Sisyphus" }, sisyphusOutput) + await hook["chat.message"]({ sessionID: sisyphusSessionID, agent: "sisyphus" }, sisyphusOutput) // #then - each session should have the correct message type const prometheusTextPart = prometheusOutput.parts.find(p => p.type === "text") @@ -492,7 +492,7 @@ describe("keyword-detector agent-specific ultrawork messages", () => { const sessionID = "same-session-agent-switch" // Simulate: session state was updated to sisyphus (by index.ts updateSessionAgent) - updateSessionAgent(sessionID, "Sisyphus") + updateSessionAgent(sessionID, "sisyphus") const output = { message: {} as Record, diff --git a/src/hooks/prometheus-md-only/index.test.ts b/src/hooks/prometheus-md-only/index.test.ts index d6c2cbb3..9a6ca54e 100644 --- a/src/hooks/prometheus-md-only/index.test.ts +++ b/src/hooks/prometheus-md-only/index.test.ts @@ -277,7 +277,7 @@ describe("prometheus-md-only", () => { describe("with non-Prometheus agent in message storage", () => { beforeEach(() => { - setupMessageStorage(TEST_SESSION_ID, "Sisyphus") + setupMessageStorage(TEST_SESSION_ID, "sisyphus") }) test("should not affect non-Prometheus agents", async () => { diff --git a/src/hooks/todo-continuation-enforcer.test.ts b/src/hooks/todo-continuation-enforcer.test.ts index 0675ca43..6afc31d8 100644 --- a/src/hooks/todo-continuation-enforcer.test.ts +++ b/src/hooks/todo-continuation-enforcer.test.ts @@ -835,8 +835,8 @@ describe("todo-continuation-enforcer", () => { // OpenCode returns assistant messages with flat modelID/providerID, not nested model object const mockMessagesWithAssistant = [ - { info: { id: "msg-1", role: "user", agent: "Sisyphus", model: { providerID: "openai", modelID: "gpt-5.2" } } }, - { info: { id: "msg-2", role: "assistant", agent: "Sisyphus", modelID: "gpt-5.2", providerID: "openai" } }, + { info: { id: "msg-1", role: "user", agent: "sisyphus", model: { providerID: "openai", modelID: "gpt-5.2" } } }, + { info: { id: "msg-2", role: "assistant", agent: "sisyphus", modelID: "gpt-5.2", providerID: "openai" } }, ] const mockInput = { @@ -886,8 +886,8 @@ describe("todo-continuation-enforcer", () => { setMainSession(sessionID) const mockMessagesWithCompaction = [ - { info: { id: "msg-1", role: "user", agent: "Sisyphus", model: { providerID: "anthropic", modelID: "claude-sonnet-4-5" } } }, - { info: { id: "msg-2", role: "assistant", agent: "Sisyphus", modelID: "claude-sonnet-4-5", providerID: "anthropic" } }, + { info: { id: "msg-1", role: "user", agent: "sisyphus", model: { providerID: "anthropic", modelID: "claude-sonnet-4-5" } } }, + { info: { id: "msg-2", role: "assistant", agent: "sisyphus", modelID: "claude-sonnet-4-5", providerID: "anthropic" } }, { info: { id: "msg-3", role: "assistant", agent: "compaction", modelID: "claude-sonnet-4-5", providerID: "anthropic" } }, ] @@ -923,7 +923,7 @@ describe("todo-continuation-enforcer", () => { // #then - continuation uses Sisyphus (skipped compaction agent) expect(promptCalls.length).toBe(1) - expect(promptCalls[0].agent).toBe("Sisyphus") + expect(promptCalls[0].agent).toBe("sisyphus") }) test("should skip injection when only compaction agent messages exist", async () => { diff --git a/src/shared/agent-variant.test.ts b/src/shared/agent-variant.test.ts index 7af36ccb..a23ea735 100644 --- a/src/shared/agent-variant.test.ts +++ b/src/shared/agent-variant.test.ts @@ -18,12 +18,12 @@ describe("resolveAgentVariant", () => { // #given const config = { agents: { - Sisyphus: { variant: "low" }, + sisyphus: { variant: "low" }, }, } as OhMyOpenCodeConfig // #when - const variant = resolveAgentVariant(config, "Sisyphus") + const variant = resolveAgentVariant(config, "sisyphus") // #then expect(variant).toBe("low") @@ -33,7 +33,7 @@ describe("resolveAgentVariant", () => { // #given const config = { agents: { - Sisyphus: { category: "ultrabrain" }, + sisyphus: { category: "ultrabrain" }, }, categories: { ultrabrain: { model: "openai/gpt-5.2", variant: "xhigh" }, @@ -41,7 +41,7 @@ describe("resolveAgentVariant", () => { } as OhMyOpenCodeConfig // #when - const variant = resolveAgentVariant(config, "Sisyphus") + const variant = resolveAgentVariant(config, "sisyphus") // #then expect(variant).toBe("xhigh") @@ -53,13 +53,13 @@ describe("applyAgentVariant", () => { // #given const config = { agents: { - Sisyphus: { variant: "low" }, + sisyphus: { variant: "low" }, }, } as OhMyOpenCodeConfig const message: { variant?: string } = {} // #when - applyAgentVariant(config, "Sisyphus", message) + applyAgentVariant(config, "sisyphus", message) // #then expect(message.variant).toBe("low") @@ -69,13 +69,13 @@ describe("applyAgentVariant", () => { // #given const config = { agents: { - Sisyphus: { variant: "low" }, + sisyphus: { variant: "low" }, }, } as OhMyOpenCodeConfig const message = { variant: "max" } // #when - applyAgentVariant(config, "Sisyphus", message) + applyAgentVariant(config, "sisyphus", message) // #then expect(message.variant).toBe("max")