test: fix flaky tests caused by mock.module pollution across parallel test files
This commit is contained in:
parent
0d938059f9
commit
9b59ef66e4
@ -396,9 +396,9 @@ describe("atlas hook", () => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// #then
|
// #then
|
||||||
expect(output.output).toContain("DELEGATION REQUIRED")
|
|
||||||
expect(output.output).toContain("ORCHESTRATOR, not an IMPLEMENTER")
|
expect(output.output).toContain("ORCHESTRATOR, not an IMPLEMENTER")
|
||||||
expect(output.output).toContain("delegate_task")
|
expect(output.output).toContain("delegate_task")
|
||||||
|
expect(output.output).toContain("delegate_task")
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should append delegation reminder when orchestrator edits outside .sisyphus/", async () => {
|
test("should append delegation reminder when orchestrator edits outside .sisyphus/", async () => {
|
||||||
@ -417,7 +417,7 @@ describe("atlas hook", () => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// #then
|
// #then
|
||||||
expect(output.output).toContain("DELEGATION REQUIRED")
|
expect(output.output).toContain("ORCHESTRATOR, not an IMPLEMENTER")
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should NOT append reminder when orchestrator writes inside .sisyphus/", async () => {
|
test("should NOT append reminder when orchestrator writes inside .sisyphus/", async () => {
|
||||||
@ -438,7 +438,7 @@ describe("atlas hook", () => {
|
|||||||
|
|
||||||
// #then
|
// #then
|
||||||
expect(output.output).toBe(originalOutput)
|
expect(output.output).toBe(originalOutput)
|
||||||
expect(output.output).not.toContain("DELEGATION REQUIRED")
|
expect(output.output).not.toContain("ORCHESTRATOR, not an IMPLEMENTER")
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should NOT append reminder when non-orchestrator writes outside .sisyphus/", async () => {
|
test("should NOT append reminder when non-orchestrator writes outside .sisyphus/", async () => {
|
||||||
@ -462,7 +462,7 @@ describe("atlas hook", () => {
|
|||||||
|
|
||||||
// #then
|
// #then
|
||||||
expect(output.output).toBe(originalOutput)
|
expect(output.output).toBe(originalOutput)
|
||||||
expect(output.output).not.toContain("DELEGATION REQUIRED")
|
expect(output.output).not.toContain("ORCHESTRATOR, not an IMPLEMENTER")
|
||||||
|
|
||||||
cleanupMessageStorage(nonOrchestratorSession)
|
cleanupMessageStorage(nonOrchestratorSession)
|
||||||
})
|
})
|
||||||
@ -526,7 +526,7 @@ describe("atlas hook", () => {
|
|||||||
|
|
||||||
// #then
|
// #then
|
||||||
expect(output.output).toBe(originalOutput)
|
expect(output.output).toBe(originalOutput)
|
||||||
expect(output.output).not.toContain("DELEGATION REQUIRED")
|
expect(output.output).not.toContain("ORCHESTRATOR, not an IMPLEMENTER")
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should NOT append reminder when orchestrator writes inside .sisyphus with mixed separators", async () => {
|
test("should NOT append reminder when orchestrator writes inside .sisyphus with mixed separators", async () => {
|
||||||
@ -547,7 +547,7 @@ describe("atlas hook", () => {
|
|||||||
|
|
||||||
// #then
|
// #then
|
||||||
expect(output.output).toBe(originalOutput)
|
expect(output.output).toBe(originalOutput)
|
||||||
expect(output.output).not.toContain("DELEGATION REQUIRED")
|
expect(output.output).not.toContain("ORCHESTRATOR, not an IMPLEMENTER")
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should NOT append reminder for absolute Windows path inside .sisyphus\\", async () => {
|
test("should NOT append reminder for absolute Windows path inside .sisyphus\\", async () => {
|
||||||
@ -568,7 +568,7 @@ describe("atlas hook", () => {
|
|||||||
|
|
||||||
// #then
|
// #then
|
||||||
expect(output.output).toBe(originalOutput)
|
expect(output.output).toBe(originalOutput)
|
||||||
expect(output.output).not.toContain("DELEGATION REQUIRED")
|
expect(output.output).not.toContain("ORCHESTRATOR, not an IMPLEMENTER")
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should append reminder for Windows path outside .sisyphus\\", async () => {
|
test("should append reminder for Windows path outside .sisyphus\\", async () => {
|
||||||
@ -587,7 +587,7 @@ describe("atlas hook", () => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// #then
|
// #then
|
||||||
expect(output.output).toContain("DELEGATION REQUIRED")
|
expect(output.output).toContain("ORCHESTRATOR, not an IMPLEMENTER")
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -636,7 +636,7 @@ describe("atlas hook", () => {
|
|||||||
expect(mockInput._promptMock).toHaveBeenCalled()
|
expect(mockInput._promptMock).toHaveBeenCalled()
|
||||||
const callArgs = mockInput._promptMock.mock.calls[0][0]
|
const callArgs = mockInput._promptMock.mock.calls[0][0]
|
||||||
expect(callArgs.path.id).toBe(MAIN_SESSION_ID)
|
expect(callArgs.path.id).toBe(MAIN_SESSION_ID)
|
||||||
expect(callArgs.body.parts[0].text).toContain("BOULDER CONTINUATION")
|
expect(callArgs.body.parts[0].text).toContain("incomplete tasks")
|
||||||
expect(callArgs.body.parts[0].text).toContain("2 remaining")
|
expect(callArgs.body.parts[0].text).toContain("2 remaining")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,16 @@ mock.module("../../shared/logger", () => ({
|
|||||||
|
|
||||||
mock.module("../../shared/system-directive", () => ({
|
mock.module("../../shared/system-directive", () => ({
|
||||||
createSystemDirective: (type: string) => `[DIRECTIVE:${type}]`,
|
createSystemDirective: (type: string) => `[DIRECTIVE:${type}]`,
|
||||||
SystemDirectiveTypes: { COMPACTION_CONTEXT: "COMPACTION_CONTEXT" },
|
SystemDirectiveTypes: {
|
||||||
|
TODO_CONTINUATION: "TODO CONTINUATION",
|
||||||
|
RALPH_LOOP: "RALPH LOOP",
|
||||||
|
BOULDER_CONTINUATION: "BOULDER CONTINUATION",
|
||||||
|
DELEGATION_REQUIRED: "DELEGATION REQUIRED",
|
||||||
|
SINGLE_TASK_ONLY: "SINGLE TASK ONLY",
|
||||||
|
COMPACTION_CONTEXT: "COMPACTION CONTEXT",
|
||||||
|
CONTEXT_WINDOW_MONITOR: "CONTEXT WINDOW MONITOR",
|
||||||
|
PROMETHEUS_READ_ONLY: "PROMETHEUS READ-ONLY",
|
||||||
|
},
|
||||||
}))
|
}))
|
||||||
|
|
||||||
import { createCompactionContextInjector } from "./index"
|
import { createCompactionContextInjector } from "./index"
|
||||||
|
|||||||
@ -92,7 +92,24 @@ mock.module("../shared/model-resolver", () => ({
|
|||||||
|
|
||||||
mock.module("../shared/model-requirements", () => ({
|
mock.module("../shared/model-requirements", () => ({
|
||||||
AGENT_MODEL_REQUIREMENTS: {
|
AGENT_MODEL_REQUIREMENTS: {
|
||||||
prometheus: { fallbackChain: [{ providers: ["anthropic"], model: "claude-opus-4-5" }] },
|
sisyphus: { fallbackChain: [{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5" }] },
|
||||||
|
oracle: { fallbackChain: [{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" }] },
|
||||||
|
librarian: { fallbackChain: [{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }] },
|
||||||
|
explore: { fallbackChain: [{ providers: ["anthropic", "opencode"], model: "claude-haiku-4-5" }] },
|
||||||
|
"multimodal-looker": { fallbackChain: [{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-flash" }] },
|
||||||
|
prometheus: { fallbackChain: [{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5" }] },
|
||||||
|
metis: { fallbackChain: [{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5" }] },
|
||||||
|
momus: { fallbackChain: [{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" }] },
|
||||||
|
atlas: { fallbackChain: [{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }] },
|
||||||
|
},
|
||||||
|
CATEGORY_MODEL_REQUIREMENTS: {
|
||||||
|
"visual-engineering": { fallbackChain: [{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro" }] },
|
||||||
|
ultrabrain: { fallbackChain: [{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2-codex" }] },
|
||||||
|
artistry: { fallbackChain: [{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro" }] },
|
||||||
|
quick: { fallbackChain: [{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-haiku-4-5" }] },
|
||||||
|
"unspecified-low": { fallbackChain: [{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }] },
|
||||||
|
"unspecified-high": { fallbackChain: [{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5" }] },
|
||||||
|
writing: { fallbackChain: [{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-flash" }] },
|
||||||
},
|
},
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user