From 10bdb6c694bb18c33841b4ac97baa06c80f123e2 Mon Sep 17 00:00:00 2001 From: justsisyphus Date: Fri, 30 Jan 2026 14:26:18 +0900 Subject: [PATCH] chore: update artistry category description for creative problem-solving --- src/config/schema.ts | 1 + src/shared/model-requirements.test.ts | 23 ++++++++++++++--- src/shared/model-requirements.ts | 7 ++++++ src/tools/delegate-task/constants.ts | 36 ++++++++++++++++++++++++++- src/tools/delegate-task/tools.test.ts | 19 ++++++++++++++ 5 files changed, 82 insertions(+), 4 deletions(-) diff --git a/src/config/schema.ts b/src/config/schema.ts index 469e9c59..1c887b75 100644 --- a/src/config/schema.ts +++ b/src/config/schema.ts @@ -187,6 +187,7 @@ export const CategoryConfigSchema = z.object({ export const BuiltinCategoryNameSchema = z.enum([ "visual-engineering", "ultrabrain", + "deep", "artistry", "quick", "unspecified-low", diff --git a/src/shared/model-requirements.test.ts b/src/shared/model-requirements.test.ts index 86d6e245..256d4b8b 100644 --- a/src/shared/model-requirements.test.ts +++ b/src/shared/model-requirements.test.ts @@ -208,6 +208,22 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => { expect(primary.providers[0]).toBe("openai") }) + test("deep has valid fallbackChain with gpt-5.2-codex as primary", () => { + // #given - deep category requirement + const deep = CATEGORY_MODEL_REQUIREMENTS["deep"] + + // #when - accessing deep requirement + // #then - fallbackChain exists with gpt-5.2-codex as first entry, medium variant + expect(deep).toBeDefined() + expect(deep.fallbackChain).toBeArray() + expect(deep.fallbackChain.length).toBeGreaterThan(0) + + const primary = deep.fallbackChain[0] + expect(primary.variant).toBe("medium") + expect(primary.model).toBe("gpt-5.2-codex") + expect(primary.providers[0]).toBe("openai") + }) + test("visual-engineering has valid fallbackChain with gemini-3-pro as primary", () => { // #given - visual-engineering category requirement const visualEngineering = CATEGORY_MODEL_REQUIREMENTS["visual-engineering"] @@ -300,11 +316,12 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => { expect(primary.providers[0]).toBe("google") }) - test("all 7 categories have valid fallbackChain arrays", () => { - // #given - list of 7 category names + test("all 8 categories have valid fallbackChain arrays", () => { + // #given - list of 8 category names const expectedCategories = [ "visual-engineering", "ultrabrain", + "deep", "artistry", "quick", "unspecified-low", @@ -316,7 +333,7 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => { const definedCategories = Object.keys(CATEGORY_MODEL_REQUIREMENTS) // #then - all categories present with valid fallbackChain - expect(definedCategories).toHaveLength(7) + expect(definedCategories).toHaveLength(8) for (const category of expectedCategories) { const requirement = CATEGORY_MODEL_REQUIREMENTS[category] expect(requirement).toBeDefined() diff --git a/src/shared/model-requirements.ts b/src/shared/model-requirements.ts index ffcda6ca..8fcf944e 100644 --- a/src/shared/model-requirements.ts +++ b/src/shared/model-requirements.ts @@ -94,6 +94,13 @@ export const CATEGORY_MODEL_REQUIREMENTS: Record = { { providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "max" }, ], }, + deep: { + fallbackChain: [ + { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2-codex", variant: "medium" }, + { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5", variant: "max" }, + { providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "max" }, + ], + }, artistry: { fallbackChain: [ { providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "max" }, diff --git a/src/tools/delegate-task/constants.ts b/src/tools/delegate-task/constants.ts index 2d9a623b..a4defa83 100644 --- a/src/tools/delegate-task/constants.ts +++ b/src/tools/delegate-task/constants.ts @@ -159,11 +159,43 @@ Approach: - Documentation, READMEs, articles, technical writing ` +export const DEEP_CATEGORY_PROMPT_APPEND = ` +You are working on GOAL-ORIENTED AUTONOMOUS tasks. + +**CRITICAL - AUTONOMOUS EXECUTION MINDSET (NON-NEGOTIABLE)**: +You are NOT an interactive assistant. You are an autonomous problem-solver. + +**BEFORE making ANY changes**: +1. SILENTLY explore the codebase extensively (5-15 minutes of reading is normal) +2. Read related files, trace dependencies, understand the full context +3. Build a complete mental model of the problem space +4. DO NOT ask clarifying questions - the goal is already defined + +**Autonomous executor mindset**: +- You receive a GOAL, not step-by-step instructions +- Figure out HOW to achieve the goal yourself +- Thorough research before any action +- Fix hairy problems that require deep understanding +- Work independently without frequent check-ins + +**Approach**: +- Explore extensively, understand deeply, then act decisively +- Prefer comprehensive solutions over quick patches +- If the goal is unclear, make reasonable assumptions and proceed +- Document your reasoning in code comments only when non-obvious + +**Response format**: +- Minimal status updates (user trusts your autonomy) +- Focus on results, not play-by-play progress +- Report completion with summary of changes made +` + export const DEFAULT_CATEGORIES: Record = { "visual-engineering": { model: "google/gemini-3-pro" }, ultrabrain: { model: "openai/gpt-5.2-codex", variant: "xhigh" }, + deep: { model: "openai/gpt-5.2-codex", variant: "medium" }, artistry: { model: "google/gemini-3-pro", variant: "max" }, quick: { model: "anthropic/claude-haiku-4-5" }, "unspecified-low": { model: "anthropic/claude-sonnet-4-5" }, @@ -174,6 +206,7 @@ export const DEFAULT_CATEGORIES: Record = { export const CATEGORY_PROMPT_APPENDS: Record = { "visual-engineering": VISUAL_CATEGORY_PROMPT_APPEND, ultrabrain: ULTRABRAIN_CATEGORY_PROMPT_APPEND, + deep: DEEP_CATEGORY_PROMPT_APPEND, artistry: ARTISTRY_CATEGORY_PROMPT_APPEND, quick: QUICK_CATEGORY_PROMPT_APPEND, "unspecified-low": UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND, @@ -184,7 +217,8 @@ export const CATEGORY_PROMPT_APPENDS: Record = { export const CATEGORY_DESCRIPTIONS: Record = { "visual-engineering": "Frontend, UI/UX, design, styling, animation", ultrabrain: "Use ONLY for genuinely hard, logic-heavy tasks. Give clear goals only, not step-by-step instructions.", - artistry: "Highly creative/artistic tasks, novel ideas", + deep: "Goal-oriented autonomous problem-solving. Thorough research before action. For hairy problems requiring deep understanding.", + artistry: "Complex problem-solving with unconventional, creative approaches - beyond standard patterns", quick: "Trivial tasks - single file changes, typo fixes, simple modifications", "unspecified-low": "Tasks that don't fit other categories, low effort required", "unspecified-high": "Tasks that don't fit other categories, high effort required", diff --git a/src/tools/delegate-task/tools.test.ts b/src/tools/delegate-task/tools.test.ts index 8dbeb04e..4617a351 100644 --- a/src/tools/delegate-task/tools.test.ts +++ b/src/tools/delegate-task/tools.test.ts @@ -51,6 +51,16 @@ describe("sisyphus-task", () => { expect(category.model).toBe("openai/gpt-5.2-codex") expect(category.variant).toBe("xhigh") }) + + test("deep category has model and variant config", () => { + // #given + const category = DEFAULT_CATEGORIES["deep"] + + // #when / #then + expect(category).toBeDefined() + expect(category.model).toBe("openai/gpt-5.2-codex") + expect(category.variant).toBe("medium") + }) }) describe("CATEGORY_PROMPT_APPENDS", () => { @@ -71,6 +81,15 @@ describe("sisyphus-task", () => { expect(promptAppend).toContain("DEEP LOGICAL REASONING") expect(promptAppend).toContain("Strategic advisor") }) + + test("deep category has goal-oriented autonomous prompt", () => { + // #given + const promptAppend = CATEGORY_PROMPT_APPENDS["deep"] + + // #when / #then + expect(promptAppend).toContain("GOAL-ORIENTED") + expect(promptAppend).toContain("autonomous") + }) }) describe("CATEGORY_DESCRIPTIONS", () => {