diff --git a/src/shared/model-requirements.test.ts b/src/shared/model-requirements.test.ts index 2abaac5ba..77b80c7af 100644 --- a/src/shared/model-requirements.test.ts +++ b/src/shared/model-requirements.test.ts @@ -331,19 +331,23 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => { expect(primary.providers[0]).toBe("google") }) - test("writing has valid fallbackChain with gemini-3-flash as primary", () => { + test("writing has valid fallbackChain with k2p5 as primary (kimi-for-coding)", () => { // given - writing category requirement const writing = CATEGORY_MODEL_REQUIREMENTS["writing"] // when - accessing writing requirement - // then - fallbackChain exists with gemini-3-flash as first entry + // then - fallbackChain: k2p5 → gemini-3-flash → claude-sonnet-4-5 expect(writing).toBeDefined() expect(writing.fallbackChain).toBeArray() - expect(writing.fallbackChain.length).toBeGreaterThan(0) + expect(writing.fallbackChain).toHaveLength(3) const primary = writing.fallbackChain[0] - expect(primary.model).toBe("gemini-3-flash") - expect(primary.providers[0]).toBe("google") + expect(primary.model).toBe("k2p5") + expect(primary.providers[0]).toBe("kimi-for-coding") + + const second = writing.fallbackChain[1] + expect(second.model).toBe("gemini-3-flash") + expect(second.providers[0]).toBe("google") }) test("all 8 categories have valid fallbackChain arrays", () => { diff --git a/src/shared/model-requirements.ts b/src/shared/model-requirements.ts index 9271b5e0c..c8109d773 100644 --- a/src/shared/model-requirements.ts +++ b/src/shared/model-requirements.ts @@ -152,10 +152,9 @@ export const CATEGORY_MODEL_REQUIREMENTS: Record = { }, writing: { fallbackChain: [ + { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: ["google", "github-copilot", "opencode"], model: "gemini-3-flash" }, { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }, - { providers: ["zai-coding-plan"], model: "glm-4.7" }, - { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" }, ], }, } diff --git a/src/tools/delegate-task/constants.ts b/src/tools/delegate-task/constants.ts index 7485e97bc..ef4779aaf 100644 --- a/src/tools/delegate-task/constants.ts +++ b/src/tools/delegate-task/constants.ts @@ -162,6 +162,16 @@ Approach: - Draft with care - Polish for clarity and impact - Documentation, READMEs, articles, technical writing + +ANTI-AI-SLOP RULES (NON-NEGOTIABLE): +- NEVER use em dashes (—) or en dashes (–). Use commas, periods, ellipses, or line breaks instead. Zero tolerance. +- Remove AI-sounding phrases: "delve", "it's important to note", "I'd be happy to", "certainly", "please don't hesitate", "leverage", "utilize", "in order to", "moving forward", "circle back", "at the end of the day", "robust", "streamline", "facilitate" +- Pick plain words. "Use" not "utilize". "Start" not "commence". "Help" not "facilitate". +- Use contractions naturally: "don't" not "do not", "it's" not "it is". +- Vary sentence length. Don't make every sentence the same length. +- NEVER start consecutive sentences with the same word. +- No filler openings: skip "In today's world...", "As we all know...", "It goes without saying..." +- Write like a human, not a corporate template. ` export const DEEP_CATEGORY_PROMPT_APPEND = ` @@ -205,7 +215,7 @@ export const DEFAULT_CATEGORIES: Record = { quick: { model: "anthropic/claude-haiku-4-5" }, "unspecified-low": { model: "anthropic/claude-sonnet-4-5" }, "unspecified-high": { model: "anthropic/claude-opus-4-6", variant: "max" }, - writing: { model: "google/gemini-3-flash" }, + writing: { model: "kimi-for-coding/k2p5" }, } export const CATEGORY_PROMPT_APPENDS: Record = { diff --git a/src/tools/delegate-task/tools.test.ts b/src/tools/delegate-task/tools.test.ts index 23012898e..8c4c5735d 100644 --- a/src/tools/delegate-task/tools.test.ts +++ b/src/tools/delegate-task/tools.test.ts @@ -2794,7 +2794,7 @@ describe("sisyphus-task", () => { { name: "writing", description: "Documentation, prose, technical writing", - model: "google/gemini-3-flash", + model: "kimi-for-coding/k2p5", }, ] const availableSkills = [