e4fd29ac8b
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
146 lines
5.0 KiB
TypeScript
146 lines
5.0 KiB
TypeScript
import { describe, expect, test } from "bun:test"
|
|
import { createSisyphusAgent } from "./sisyphus"
|
|
import { createHephaestusAgent } from "./hephaestus"
|
|
import { buildSisyphusJuniorPrompt } from "./sisyphus-junior/agent"
|
|
import {
|
|
buildAntiDuplicationSection,
|
|
buildExploreSection,
|
|
type AvailableAgent,
|
|
} from "./dynamic-agent-prompt-builder"
|
|
|
|
const exploreAgent = {
|
|
name: "explore",
|
|
description: "Contextual grep specialist",
|
|
metadata: {
|
|
category: "advisor",
|
|
cost: "FREE",
|
|
promptAlias: "Explore",
|
|
triggers: [],
|
|
useWhen: ["Multiple search angles needed"],
|
|
avoidWhen: ["Single keyword search is enough"],
|
|
},
|
|
} satisfies AvailableAgent
|
|
|
|
describe("delegation trust prompt rules", () => {
|
|
test("buildAntiDuplicationSection explains overlap is forbidden", () => {
|
|
// given
|
|
const section = buildAntiDuplicationSection()
|
|
|
|
// when / then
|
|
expect(section).toContain("DO NOT perform the same search yourself")
|
|
expect(section).toContain("non-overlapping work")
|
|
expect(section).toContain("End your response")
|
|
})
|
|
|
|
test("buildExploreSection includes delegation trust rule", () => {
|
|
// given
|
|
const agents = [exploreAgent]
|
|
|
|
// when
|
|
const section = buildExploreSection(agents)
|
|
|
|
// then
|
|
expect(section).toContain("Delegation Trust Rule")
|
|
expect(section).toContain("do **not** manually perform that same search yourself")
|
|
})
|
|
|
|
test("Sisyphus prompt forbids duplicate delegated exploration", () => {
|
|
// given
|
|
const agent = createSisyphusAgent("anthropic/claude-sonnet-4-6", [exploreAgent])
|
|
|
|
// when
|
|
const prompt = agent.prompt
|
|
|
|
// then
|
|
expect(prompt).toContain("Continue only with non-overlapping work")
|
|
expect(prompt).toContain("DO NOT perform the same search yourself")
|
|
})
|
|
|
|
test("Hephaestus prompt forbids duplicate delegated exploration", () => {
|
|
// given
|
|
const agent = createHephaestusAgent("openai/gpt-5.2", [exploreAgent])
|
|
|
|
// when
|
|
const prompt = agent.prompt
|
|
|
|
// then
|
|
expect(prompt).toContain("Continue only with non-overlapping work after launching background agents")
|
|
expect(prompt).toContain("DO NOT perform the same search yourself")
|
|
})
|
|
|
|
test("Hephaestus GPT-5.4 prompt forbids duplicate delegated exploration", () => {
|
|
// given
|
|
const agent = createHephaestusAgent("openai/gpt-5.4", [exploreAgent])
|
|
|
|
// when
|
|
const prompt = agent.prompt
|
|
|
|
// then
|
|
expect(prompt).toContain("continue only with non-overlapping work while they search")
|
|
expect(prompt).toContain("Continue only with non-overlapping work after launching background agents")
|
|
expect(prompt).toContain("DO NOT perform the same search yourself")
|
|
})
|
|
|
|
test("Hephaestus GPT-5.3 Codex prompt forbids duplicate delegated exploration", () => {
|
|
// given
|
|
const agent = createHephaestusAgent("openai/gpt-5.3-codex", [exploreAgent])
|
|
|
|
// when
|
|
const prompt = agent.prompt
|
|
|
|
// then
|
|
expect(prompt).toContain("continue only with non-overlapping work while they search")
|
|
expect(prompt).toContain("Continue only with non-overlapping work after launching background agents")
|
|
expect(prompt).toContain("DO NOT perform the same search yourself")
|
|
})
|
|
|
|
test("Sisyphus-Junior GPT prompt forbids duplicate delegated exploration", () => {
|
|
// given
|
|
const prompt = buildSisyphusJuniorPrompt("openai/gpt-5.2", false)
|
|
|
|
// when / then
|
|
expect(prompt).toContain("continue only with non-overlapping work while they search")
|
|
expect(prompt).toContain("DO NOT perform the same search yourself")
|
|
})
|
|
|
|
test("Sisyphus GPT-5.4 prompt forbids duplicate delegated exploration", () => {
|
|
// given
|
|
const agent = createSisyphusAgent("openai/gpt-5.4", [exploreAgent])
|
|
|
|
// when
|
|
const prompt = agent.prompt
|
|
|
|
// then
|
|
expect(prompt).toContain("do only non-overlapping work simultaneously")
|
|
expect(prompt).toContain("Continue only with non-overlapping work")
|
|
expect(prompt).toContain("DO NOT perform the same search yourself")
|
|
})
|
|
|
|
test("Sisyphus-Junior GPT-5.4 prompt forbids duplicate delegated exploration", () => {
|
|
// given
|
|
const prompt = buildSisyphusJuniorPrompt("openai/gpt-5.4", false)
|
|
|
|
// when / then
|
|
expect(prompt).toContain("continue only with non-overlapping work while they search")
|
|
expect(prompt).toContain("DO NOT perform the same search yourself")
|
|
})
|
|
|
|
test("Sisyphus-Junior GPT-5.3 Codex prompt forbids duplicate delegated exploration", () => {
|
|
// given
|
|
const prompt = buildSisyphusJuniorPrompt("openai/gpt-5.3-codex", false)
|
|
|
|
// when / then
|
|
expect(prompt).toContain("continue only with non-overlapping work while they search")
|
|
expect(prompt).toContain("DO NOT perform the same search yourself")
|
|
})
|
|
|
|
test("Sisyphus-Junior Gemini prompt forbids duplicate delegated exploration", () => {
|
|
// given
|
|
const prompt = buildSisyphusJuniorPrompt("google/gemini-3.1-pro", false)
|
|
|
|
// when / then
|
|
expect(prompt).toContain("continue only with non-overlapping work while they search")
|
|
expect(prompt).toContain("DO NOT perform the same search yourself")
|
|
})
|
|
})
|