chore: update artistry category description for creative problem-solving
This commit is contained in:
parent
5f243e2d3a
commit
10bdb6c694
@ -187,6 +187,7 @@ export const CategoryConfigSchema = z.object({
|
|||||||
export const BuiltinCategoryNameSchema = z.enum([
|
export const BuiltinCategoryNameSchema = z.enum([
|
||||||
"visual-engineering",
|
"visual-engineering",
|
||||||
"ultrabrain",
|
"ultrabrain",
|
||||||
|
"deep",
|
||||||
"artistry",
|
"artistry",
|
||||||
"quick",
|
"quick",
|
||||||
"unspecified-low",
|
"unspecified-low",
|
||||||
|
|||||||
@ -208,6 +208,22 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => {
|
|||||||
expect(primary.providers[0]).toBe("openai")
|
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", () => {
|
test("visual-engineering has valid fallbackChain with gemini-3-pro as primary", () => {
|
||||||
// #given - visual-engineering category requirement
|
// #given - visual-engineering category requirement
|
||||||
const visualEngineering = CATEGORY_MODEL_REQUIREMENTS["visual-engineering"]
|
const visualEngineering = CATEGORY_MODEL_REQUIREMENTS["visual-engineering"]
|
||||||
@ -300,11 +316,12 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => {
|
|||||||
expect(primary.providers[0]).toBe("google")
|
expect(primary.providers[0]).toBe("google")
|
||||||
})
|
})
|
||||||
|
|
||||||
test("all 7 categories have valid fallbackChain arrays", () => {
|
test("all 8 categories have valid fallbackChain arrays", () => {
|
||||||
// #given - list of 7 category names
|
// #given - list of 8 category names
|
||||||
const expectedCategories = [
|
const expectedCategories = [
|
||||||
"visual-engineering",
|
"visual-engineering",
|
||||||
"ultrabrain",
|
"ultrabrain",
|
||||||
|
"deep",
|
||||||
"artistry",
|
"artistry",
|
||||||
"quick",
|
"quick",
|
||||||
"unspecified-low",
|
"unspecified-low",
|
||||||
@ -316,7 +333,7 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => {
|
|||||||
const definedCategories = Object.keys(CATEGORY_MODEL_REQUIREMENTS)
|
const definedCategories = Object.keys(CATEGORY_MODEL_REQUIREMENTS)
|
||||||
|
|
||||||
// #then - all categories present with valid fallbackChain
|
// #then - all categories present with valid fallbackChain
|
||||||
expect(definedCategories).toHaveLength(7)
|
expect(definedCategories).toHaveLength(8)
|
||||||
for (const category of expectedCategories) {
|
for (const category of expectedCategories) {
|
||||||
const requirement = CATEGORY_MODEL_REQUIREMENTS[category]
|
const requirement = CATEGORY_MODEL_REQUIREMENTS[category]
|
||||||
expect(requirement).toBeDefined()
|
expect(requirement).toBeDefined()
|
||||||
|
|||||||
@ -94,6 +94,13 @@ export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
|||||||
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "max" },
|
{ 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: {
|
artistry: {
|
||||||
fallbackChain: [
|
fallbackChain: [
|
||||||
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "max" },
|
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "max" },
|
||||||
|
|||||||
@ -159,11 +159,43 @@ Approach:
|
|||||||
- Documentation, READMEs, articles, technical writing
|
- Documentation, READMEs, articles, technical writing
|
||||||
</Category_Context>`
|
</Category_Context>`
|
||||||
|
|
||||||
|
export const DEEP_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
||||||
|
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
|
||||||
|
</Category_Context>`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export const DEFAULT_CATEGORIES: Record<string, CategoryConfig> = {
|
export const DEFAULT_CATEGORIES: Record<string, CategoryConfig> = {
|
||||||
"visual-engineering": { model: "google/gemini-3-pro" },
|
"visual-engineering": { model: "google/gemini-3-pro" },
|
||||||
ultrabrain: { model: "openai/gpt-5.2-codex", variant: "xhigh" },
|
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" },
|
artistry: { model: "google/gemini-3-pro", variant: "max" },
|
||||||
quick: { model: "anthropic/claude-haiku-4-5" },
|
quick: { model: "anthropic/claude-haiku-4-5" },
|
||||||
"unspecified-low": { model: "anthropic/claude-sonnet-4-5" },
|
"unspecified-low": { model: "anthropic/claude-sonnet-4-5" },
|
||||||
@ -174,6 +206,7 @@ export const DEFAULT_CATEGORIES: Record<string, CategoryConfig> = {
|
|||||||
export const CATEGORY_PROMPT_APPENDS: Record<string, string> = {
|
export const CATEGORY_PROMPT_APPENDS: Record<string, string> = {
|
||||||
"visual-engineering": VISUAL_CATEGORY_PROMPT_APPEND,
|
"visual-engineering": VISUAL_CATEGORY_PROMPT_APPEND,
|
||||||
ultrabrain: ULTRABRAIN_CATEGORY_PROMPT_APPEND,
|
ultrabrain: ULTRABRAIN_CATEGORY_PROMPT_APPEND,
|
||||||
|
deep: DEEP_CATEGORY_PROMPT_APPEND,
|
||||||
artistry: ARTISTRY_CATEGORY_PROMPT_APPEND,
|
artistry: ARTISTRY_CATEGORY_PROMPT_APPEND,
|
||||||
quick: QUICK_CATEGORY_PROMPT_APPEND,
|
quick: QUICK_CATEGORY_PROMPT_APPEND,
|
||||||
"unspecified-low": UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND,
|
"unspecified-low": UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND,
|
||||||
@ -184,7 +217,8 @@ export const CATEGORY_PROMPT_APPENDS: Record<string, string> = {
|
|||||||
export const CATEGORY_DESCRIPTIONS: Record<string, string> = {
|
export const CATEGORY_DESCRIPTIONS: Record<string, string> = {
|
||||||
"visual-engineering": "Frontend, UI/UX, design, styling, animation",
|
"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.",
|
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",
|
quick: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
||||||
"unspecified-low": "Tasks that don't fit other categories, low effort required",
|
"unspecified-low": "Tasks that don't fit other categories, low effort required",
|
||||||
"unspecified-high": "Tasks that don't fit other categories, high effort required",
|
"unspecified-high": "Tasks that don't fit other categories, high effort required",
|
||||||
|
|||||||
@ -51,6 +51,16 @@ describe("sisyphus-task", () => {
|
|||||||
expect(category.model).toBe("openai/gpt-5.2-codex")
|
expect(category.model).toBe("openai/gpt-5.2-codex")
|
||||||
expect(category.variant).toBe("xhigh")
|
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", () => {
|
describe("CATEGORY_PROMPT_APPENDS", () => {
|
||||||
@ -71,6 +81,15 @@ describe("sisyphus-task", () => {
|
|||||||
expect(promptAppend).toContain("DEEP LOGICAL REASONING")
|
expect(promptAppend).toContain("DEEP LOGICAL REASONING")
|
||||||
expect(promptAppend).toContain("Strategic advisor")
|
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", () => {
|
describe("CATEGORY_DESCRIPTIONS", () => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user