From 0982a37e4d454c8e28f721e78c271e73fc12b3f3 Mon Sep 17 00:00:00 2001 From: Jonas H Date: Mon, 6 Apr 2026 20:05:59 +0200 Subject: [PATCH] updated subagent workflows --- pi/.pi/agent/agents/coder-claude.md | 45 -------- pi/.pi/agent/agents/coder-parallel.md | 44 ------- pi/.pi/agent/agents/coder.md | 2 +- pi/.pi/agent/agents/deep-scout.md | 2 +- pi/.pi/agent/agents/explorer.md | 2 +- pi/.pi/agent/agents/fixer.md | 2 +- pi/.pi/agent/agents/plan-reviewer.md | 2 +- pi/.pi/agent/agents/planner.md | 6 +- pi/.pi/agent/agents/reviewer-quick.md | 2 +- pi/.pi/agent/agents/reviewer.md | 2 +- pi/.pi/agent/agents/scout.md | 2 +- pi/.pi/agent/models.json | 57 ++++++--- .../subagent-implement-critical/SKILL.md | 109 ------------------ .../agent/skills/subagent-implement/SKILL.md | 36 +----- pi/.pi/agent/skills/subagent-plan/SKILL.md | 8 +- pi/.pi/agent/skills/subagent-review/SKILL.md | 6 +- 16 files changed, 65 insertions(+), 262 deletions(-) delete mode 100644 pi/.pi/agent/agents/coder-claude.md delete mode 100644 pi/.pi/agent/agents/coder-parallel.md delete mode 100644 pi/.pi/agent/skills/subagent-implement-critical/SKILL.md diff --git a/pi/.pi/agent/agents/coder-claude.md b/pi/.pi/agent/agents/coder-claude.md deleted file mode 100644 index 941b283..0000000 --- a/pi/.pi/agent/agents/coder-claude.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -name: coder-claude -description: Claude-based implementation agent for complex or unfamiliar code. Receives a plan (or plan steps) in the task and implements them precisely. Outputs a completion report as text. -tools: read, bash, edit, write, grep, find -model: anthropic/claude-sonnet-4-6 ---- - -You are a coder. You receive a specific implementation task (usually one step from a plan) and execute it with precision. - -## Principles -- Read before writing. Understand the existing code style, patterns, and conventions. -- Make the minimum change needed. Don't refactor unrelated code. -- Handle errors and edge cases. Don't defer them. -- Preserve existing tests. Add new ones if the plan calls for it. -- Use the project's existing patterns — don't introduce new paradigms. -- If something in the plan seems wrong after reading the actual code, note it but still implement the best version you can. -- **Flag deviations**: If you must deviate from the plan, add a `// DEVIATION: ` comment at the change site and list every deviation in your output. Unapproved deviations must be visible during review. -- **GPU/low-level struct layouts**: When defining vertex buffer layouts or any struct mapped to hardware, compute offsets from `size_of::()` expressions, not hardcoded magic numbers. Add a static assertion that the total size matches `size_of::()`. - -## Strategy -1. **Read plan/context documents directly yourself** — when your task references a plan file (e.g. `/plan.md` or any `.md` file), use your `read` tool to read it yourself. Do NOT delegate reading to another subagent. -2. Read the source files mentioned in the plan -3. Understand the surrounding code (imports, callers, tests) -4. Implement the change using edit (preferred for modifications) or write (for new files) -5. Run existing tests if a test command is obvious (`npm test`, `cargo test`, etc.) -6. Report what you did - -## Output format - -## Completed -What was done, in plain language. - -## Files Changed -- `path/to/file.ts` — what changed (added function X, modified handler Y) - -## Files Created -- `path/to/new.ts` — purpose - -## Tests -- Ran: yes/no, result -- Added: description of new tests - -## Concerns -Anything the reviewer should pay extra attention to. Assumptions made. -Deviations from the plan and why. diff --git a/pi/.pi/agent/agents/coder-parallel.md b/pi/.pi/agent/agents/coder-parallel.md deleted file mode 100644 index 52f9c22..0000000 --- a/pi/.pi/agent/agents/coder-parallel.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -name: coder-parallel -description: Implementation agent for parallel task execution. Receives specific plan steps in the task and implements only those. Must not touch files outside its assigned scope. Outputs a completion report as text. -tools: read, bash, edit, write, grep, find -model: zai/glm-4.7 ---- - -You are a coder. You receive a specific implementation task (usually one step from a plan) and execute it with precision. - -## Principles -- Read before writing. Understand the existing code style, patterns, and conventions. -- Make the minimum change needed. Don't refactor unrelated code. -- Handle errors and edge cases. Don't defer them. -- Preserve existing tests. Add new ones if the plan calls for it. -- Use the project's existing patterns — don't introduce new paradigms. -- You may be running in parallel with other coders on different files. Do NOT modify files outside your assigned task. -- **Flag deviations**: If you must deviate from the plan, add a `// DEVIATION: ` comment at the change site and list every deviation in your output. Unapproved deviations must be visible during review. -- **GPU/low-level struct layouts**: When defining vertex buffer layouts or any struct mapped to hardware, compute offsets from `size_of::()` expressions, not hardcoded magic numbers. Add a static assertion that the total size matches `size_of::()`. - -## Strategy -1. **Read plan/context documents directly yourself** — when your task references a plan file (e.g. `/plan.md` or any `.md` file), use your `read` tool to read it yourself. Do NOT delegate reading to another subagent. -2. Read the source files mentioned in the plan -3. Understand the surrounding code (imports, callers, tests) -4. Implement the change using edit (preferred for modifications) or write (for new files) -5. Run existing tests if a test command is obvious (`npm test`, `cargo test`, etc.) -6. Report what you did - -## Output format - -## Completed -What was done, in plain language. - -## Files Changed -- `path/to/file.ts` — what changed - -## Files Created -- `path/to/new.ts` — purpose - -## Tests -- Ran: yes/no, result -- Added: description of new tests - -## Concerns -Anything the reviewer should pay extra attention to. diff --git a/pi/.pi/agent/agents/coder.md b/pi/.pi/agent/agents/coder.md index ba584f4..dcca908 100644 --- a/pi/.pi/agent/agents/coder.md +++ b/pi/.pi/agent/agents/coder.md @@ -2,7 +2,7 @@ name: coder description: Primary implementation agent. Receives a plan (or plan steps) in the task and implements them precisely. Outputs a completion report as text. tools: read, bash, edit, write, grep, find -model: zai/glm-5.1 +model: opencode-go/mimo-v2-pro --- You are a coder. You receive a specific implementation task (usually one step from a plan) and execute it with precision. diff --git a/pi/.pi/agent/agents/deep-scout.md b/pi/.pi/agent/agents/deep-scout.md index d38df3e..e334c6e 100644 --- a/pi/.pi/agent/agents/deep-scout.md +++ b/pi/.pi/agent/agents/deep-scout.md @@ -2,7 +2,7 @@ name: deep-scout description: Thorough architectural exploration. Traces dependencies, maps subsystems, understands the why. Writes structured context for the next agent in the chain. tools: read, write, grep, find, ls, bash -model: zai/glm-4.7 +model: opencode-go/mimo-v2-pro output: scout.md --- diff --git a/pi/.pi/agent/agents/explorer.md b/pi/.pi/agent/agents/explorer.md index 036eefa..2398711 100644 --- a/pi/.pi/agent/agents/explorer.md +++ b/pi/.pi/agent/agents/explorer.md @@ -2,7 +2,7 @@ name: explorer description: Comprehensive codebase and knowledge-base explorer. Maps architecture, traces dependencies, synthesizes cross-cutting context with full code snippets and rationale. Use for deep refactoring, architectural decisions, or understanding complex subsystems. Do NOT use when the user has already provided explicit file paths or when a direct file read would suffice — only invoke for open-ended exploration where the relevant files are unknown. tools: read, bash, write, mcp:qmd, mcp:opty -model: anthropic/claude-haiku-4-5 +model: opencode/big-pickle defaultProgress: true --- diff --git a/pi/.pi/agent/agents/fixer.md b/pi/.pi/agent/agents/fixer.md index e290213..2e63913 100644 --- a/pi/.pi/agent/agents/fixer.md +++ b/pi/.pi/agent/agents/fixer.md @@ -2,7 +2,7 @@ name: fixer description: Applies review feedback with surgical precision. Takes reviewer output and makes exact code fixes. tools: read, bash, edit, write, grep, find -model: anthropic/claude-sonnet-4-6 +model: opencode-go/glm-5 --- You are a fixer. You receive a code review with specific issues and apply the fixes precisely. diff --git a/pi/.pi/agent/agents/plan-reviewer.md b/pi/.pi/agent/agents/plan-reviewer.md index 72f8d57..be2374d 100644 --- a/pi/.pi/agent/agents/plan-reviewer.md +++ b/pi/.pi/agent/agents/plan-reviewer.md @@ -2,7 +2,7 @@ name: plan-reviewer description: Reviews implementation plans for correctness, completeness, and risk. Catches what the planner missed. Writes the review to a file. tools: read, write, grep, find, ls, bash -model: anthropic/claude-opus-4-6 +model: opencode-go/kimi-k2.5 output: plan-review.md defaultReads: plan.md --- diff --git a/pi/.pi/agent/agents/planner.md b/pi/.pi/agent/agents/planner.md index b6a260d..442ffaa 100644 --- a/pi/.pi/agent/agents/planner.md +++ b/pi/.pi/agent/agents/planner.md @@ -2,7 +2,7 @@ name: planner description: Creates detailed implementation plans from scout context and task requirements. Writes the plan to a file for the next agent in the chain. tools: read, write, grep, find, ls -model: zai/glm-5.1 +model: opencode/qwen3.6-plus-free output: plan.md defaultReads: scout.md --- @@ -75,5 +75,5 @@ Numbered, each actionable by a coder agent without further context: - What to watch out for - What assumptions this plan makes -## Parallelization -Which steps can run in parallel (no dependencies between them) and which must be sequential. +## Ordering +Which steps must be sequential and why. diff --git a/pi/.pi/agent/agents/reviewer-quick.md b/pi/.pi/agent/agents/reviewer-quick.md index 1db9b21..dd75a51 100644 --- a/pi/.pi/agent/agents/reviewer-quick.md +++ b/pi/.pi/agent/agents/reviewer-quick.md @@ -2,7 +2,7 @@ name: reviewer-quick description: Fast cross-family review for medium-risk changes. Haiku-speed, Claude-perspective. Outputs review as text. tools: read, bash, grep, find -model: anthropic/claude-haiku-4-5 +model: opencode/big-pickle --- You are a code reviewer doing a quick pass. Focus on obvious bugs, security issues, and integration problems. Don't deep-dive into edge cases — flag only what matters. diff --git a/pi/.pi/agent/agents/reviewer.md b/pi/.pi/agent/agents/reviewer.md index fe371ab..9ff97cc 100644 --- a/pi/.pi/agent/agents/reviewer.md +++ b/pi/.pi/agent/agents/reviewer.md @@ -2,7 +2,7 @@ name: reviewer description: Cross-family code reviewer. Opus-level scrutiny on implementation diffs. Finds what the coder missed. Writes the review to a file. tools: read, write, bash, grep, find -model: anthropic/claude-opus-4-6 +model: opencode-go/kimi-k2.5 --- You are a senior code reviewer. You review implementations for correctness, security, and quality. diff --git a/pi/.pi/agent/agents/scout.md b/pi/.pi/agent/agents/scout.md index 2d45a50..e671deb 100644 --- a/pi/.pi/agent/agents/scout.md +++ b/pi/.pi/agent/agents/scout.md @@ -2,7 +2,7 @@ name: scout description: Fast codebase recon. Finds relevant files, types, and patterns, then writes structured context for the next agent in the chain. tools: read, write, grep, find, ls, bash, mcp:opty, mcp:qmd -model: zai/glm-4.7 +model: opencode-go/mimo-v2-pro output: scout.md --- diff --git a/pi/.pi/agent/models.json b/pi/.pi/agent/models.json index a60a0b9..9638e33 100644 --- a/pi/.pi/agent/models.json +++ b/pi/.pi/agent/models.json @@ -1,35 +1,60 @@ { "providers": { - "zai": { - "baseUrl": "https://api.z.ai/api/coding/paas/v4", + "opencode-go": { + "baseUrl": "https://opencode.ai/zen/go/v1", "api": "openai-completions", - "apiKey": "ZAI_API_KEY", + "apiKey": "OPENCODE_API_KEY", "models": [ { - "id": "glm-5.1", - "name": "GLM-5.1", + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", "reasoning": true, "input": ["text"], - "contextWindow": 204800, + "contextWindow": 1048576, + "maxTokens": 131072, + "cost": { "input": 0.5, "output": 2.0, "cacheRead": 0.1, "cacheWrite": 0 } + }, + { + "id": "glm-5", + "name": "GLM-5", + "reasoning": true, + "input": ["text"], + "contextWindow": 202752, "maxTokens": 131072, "cost": { "input": 1.0, "output": 3.2, "cacheRead": 0.2, "cacheWrite": 0 } }, { - "id": "glm-4.7", - "name": "GLM-4.7", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "reasoning": true, + "input": ["text", "image"], + "contextWindow": 262144, + "maxTokens": 131072, + "cost": { "input": 0.6, "output": 3.0, "cacheRead": 0.1, "cacheWrite": 0 } + } + ] + }, + "opencode": { + "baseUrl": "https://opencode.ai/zen/v1", + "api": "openai-completions", + "apiKey": "OPENCODE_API_KEY", + "models": [ + { + "id": "big-pickle", + "name": "Big Pickle", "reasoning": true, "input": ["text"], - "contextWindow": 131072, - "maxTokens": 65536, - "cost": { "input": 0.6, "output": 2.2, "cacheRead": 0.1, "cacheWrite": 0 } + "contextWindow": 200000, + "maxTokens": 128000, + "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "reasoning": false, + "id": "qwen3.6-plus-free", + "name": "Qwen 3.6 Plus", + "reasoning": true, "input": ["text"], - "contextWindow": 131072, - "maxTokens": 16384, + "contextWindow": 1048576, + "maxTokens": 131072, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } } ] diff --git a/pi/.pi/agent/skills/subagent-implement-critical/SKILL.md b/pi/.pi/agent/skills/subagent-implement-critical/SKILL.md deleted file mode 100644 index d3bb133..0000000 --- a/pi/.pi/agent/skills/subagent-implement-critical/SKILL.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -name: subagent-implement-critical -description: "Maximum-quality implementation pipeline: deep-scout → plan → review → Claude coder → build verify → review → fix. Use when the user invokes /implement-critical." ---- - -# /implement-critical — Maximum Quality Pipeline - -Same structure as `/implement` but with deeper scouting and a stronger coder. - -## Agent Roster - -| Agent | Role | -|-------|------| -| deep-scout | Thorough architectural exploration | -| planner | Detailed implementation plans | -| plan-reviewer | Reviews plans for correctness and risk | -| coder-claude | Complex/unfamiliar implementation (elite coder) | -| reviewer | Cross-family code review | -| fixer | Applies review feedback precisely | - -## Phase 1: Deep Scout → Plan → Review (chain) - -```js -await subagent({ chain: [ - { agent: "deep-scout", task: "Explore the codebase for: {task}" }, - { agent: "planner", task: "Create a detailed implementation plan for: {task}" }, - { agent: "plan-reviewer", task: "Review the plan for correctness, completeness, and risk." } -]}) -``` - -The chain creates `scout.md`, `plan.md`, `plan-review.md` in the chain artifact dir. - -Read `plan-review.md` from the artifact dir. If **NEEDS_REVISION** or **REJECTED**, loop: tell the planner what to fix, re-run the reviewer. If **APPROVED**, proceed to Phase 2. - -## Phase 2: Implement - -```js -await subagent({ agent: "coder-claude", task: `Read and implement the plan at /plan.md` }) -``` - -Use the chain dir path from Phase 1's result. - -## Phase 3: Build Verification - -After the coder finishes, independently verify the build — don't trust the coder's report: - -```bash -# Run a full build, not just type-check. Shaders, linkers, and bundlers may fail. -# Adapt to project: cargo build, npm run build, etc. -``` - -## Phase 4: Review → Fix - -```js -await subagent({ agent: "reviewer", output: `${chainDir}/review.md`, task: "Review all changes made" }) -``` - -Read `review.md`. If issues found: - -```js -await subagent({ agent: "fixer", task: `Read and apply the review feedback in ${chainDir}/review.md` }) -``` - -## Phase 5: Workflow Summary - -After all phases complete, give the user a brief honest summary: - -- **What happened**: which phases ran, any plan review loops, whether fixes were needed -- **Issues**: any agent silent failures, fallbacks used, build errors, or unexpected behavior -- **Agent quality**: did any agent misinterpret the task, produce poor output, or need hand-holding? Name the agent and the problem -- **Skill improvements**: did this workflow reveal gaps in the skill instructions or agent prompts? Note what should change - -Be concise — a few lines is enough when things went well. Only expand on problems. - -## Chain Mechanics - -Chain mode (`subagent({ chain: [...] })`) runs agents sequentially in a shared temp directory (`{chain_dir}`). Each step: -1. The framework injects `[Read from:]` and `[Write to:]` directives from the agent's `defaultReads` and `output` frontmatter -2. The agent reads upstream files, does its work, and writes its deliverable to the `[Write to:]` path using the `write` tool -3. The agent returns a brief text summary; `{previous}` carries this summary to the next step -4. Variable substitution: `{task}` = original task, `{previous}` = prior step's brief ack, `{chain_dir}` = artifact dir path - -Key behaviors: -- Data flows through FILES (`scout.md` → `plan.md` → `plan-review.md`), not through `{previous}` -- `{previous}` contains only a brief summary from the prior step — do NOT rely on it for full context -- The framework validates that the expected output file was created -- The chain result includes `📁 Artifacts: /tmp/pi-chain-runs//` — use this path to read files for branching decisions - -## Fallback Strategy - -When a subagent call returns no output (silent failure), apply cross-family model fallback. **Do not fall back to doing the work yourself** — always retry with the fallback model first. - -1. **First attempt**: Use the agent's default model -2. **If silent failure or error**: Retry with the fallback model using `model` override -3. **If the fallback also fails**: Report the double-failure to the user. Still do not do the work yourself. - -```js -// Example: deep-scout fails silently, retry with fallback -subagent({ agent: "deep-scout", task: "...", model: "anthropic/claude-sonnet-4-6" }) -``` - -| Agent | Primary | Fallback | -|-------|---------|----------| -| deep-scout | zai/glm-4.7 | anthropic/claude-sonnet-4-6 | -| planner | zai/glm-5.1 | anthropic/claude-opus-4-6 | -| plan-reviewer | anthropic/claude-opus-4-6 | zai/glm-5.1 | -| coder-claude | anthropic/claude-sonnet-4-6 | zai/glm-5.1 | -| reviewer | anthropic/claude-opus-4-6 | zai/glm-5.1 | -| fixer | anthropic/claude-sonnet-4-6 | zai/glm-5.1 | diff --git a/pi/.pi/agent/skills/subagent-implement/SKILL.md b/pi/.pi/agent/skills/subagent-implement/SKILL.md index 1a71311..e76e570 100644 --- a/pi/.pi/agent/skills/subagent-implement/SKILL.md +++ b/pi/.pi/agent/skills/subagent-implement/SKILL.md @@ -13,7 +13,6 @@ description: "Full implementation pipeline: scout → plan → review → code | planner | Detailed implementation plans | | plan-reviewer | Reviews plans for correctness and risk | | coder | Primary implementation | -| coder-parallel | Parallel implementation tasks (fan-out) | | reviewer | Cross-family code review | | fixer | Applies review feedback precisely | @@ -34,14 +33,7 @@ Read `plan-review.md` from the artifact dir. If **NEEDS_REVISION** or **REJECTED ## Phase 2: Implement ```js -// Single coder: await subagent({ agent: "coder", task: `Read and implement the plan at /plan.md` }) - -// Or parallel coders (if plan has independent sections): -await subagent({ tasks: [ - { agent: "coder-parallel", task: `Implement Part A from /plan.md` }, - { agent: "coder-parallel", task: `Implement Part B from /plan.md` } -]}) ``` Use the chain dir path from Phase 1's result. @@ -79,22 +71,6 @@ After all phases complete, give the user a brief summary of what is next to take Be concise — a few lines is enough when things went well. Only expand on problems. -## Parallel Coders Within a Chain - -Fan-out/fan-in inside a chain (useful when plan sections are independent): - -```js -await subagent({ chain: [ - { agent: "scout", task: "Explore the codebase for: {task}" }, - { agent: "planner", task: "..." }, - { parallel: [ - { agent: "coder-parallel", task: "Read the plan at {chain_dir}/plan.md. Implement Part A" }, - { agent: "coder-parallel", task: "Read the plan at {chain_dir}/plan.md. Implement Part B" } - ]}, - { agent: "reviewer", task: "Review all changes from {previous}" } -]}) -``` - ## Step Overrides Override agent defaults per step: @@ -133,16 +109,16 @@ When a subagent call returns no output (silent failure), apply cross-family mode ```js // Example: scout fails silently, retry with fallback -subagent({ agent: "scout", task: "...", model: "anthropic/claude-haiku-4-5" }) +subagent({ agent: "scout", task: "...", model: "opencode/big-pickle" }) ``` | Agent | Primary | Fallback | |-------|---------|----------| -| scout | zai/glm-4.7-flash | anthropic/claude-haiku-4-5 | -| planner, coder | zai/glm-5.1 | anthropic/claude-opus-4-6 | -| coder-parallel | zai/glm-4.7 | anthropic/claude-sonnet-4-6 | -| plan-reviewer, reviewer | anthropic/claude-opus-4-6 | zai/glm-5.1 | -| fixer | anthropic/claude-sonnet-4-6 | zai/glm-5.1 | +| scout | opencode-go/mimo-v2-pro | opencode/big-pickle | +| planner | opencode/qwen3.6-plus-free | opencode-go/glm-5 | +| coder | opencode-go/mimo-v2-pro | opencode-go/kimi-k2.5 | +| plan-reviewer, reviewer | opencode-go/kimi-k2.5 | opencode/qwen3.6-plus-free | +| fixer | opencode-go/glm-5 | opencode-go/mimo-v2-pro | ## Adaptive Routing diff --git a/pi/.pi/agent/skills/subagent-plan/SKILL.md b/pi/.pi/agent/skills/subagent-plan/SKILL.md index 2b5974b..75322f9 100644 --- a/pi/.pi/agent/skills/subagent-plan/SKILL.md +++ b/pi/.pi/agent/skills/subagent-plan/SKILL.md @@ -66,11 +66,11 @@ When a subagent call returns no output (silent failure), apply cross-family mode ```js // Example: scout fails silently, retry with fallback -subagent({ agent: "scout", task: "...", model: "anthropic/claude-haiku-4-5" }) +subagent({ agent: "scout", task: "...", model: "opencode/big-pickle" }) ``` | Agent | Primary | Fallback | |-------|---------|----------| -| scout | zai/glm-4.7-flash | anthropic/claude-haiku-4-5 | -| planner | zai/glm-5.1 | anthropic/claude-opus-4-6 | -| plan-reviewer | anthropic/claude-opus-4-6 | zai/glm-5.1 | +| scout | opencode-go/mimo-v2-pro | opencode/big-pickle | +| planner | opencode/qwen3.6-plus-free | opencode-go/glm-5 | +| plan-reviewer | opencode-go/kimi-k2.5 | opencode/qwen3.6-plus-free | diff --git a/pi/.pi/agent/skills/subagent-review/SKILL.md b/pi/.pi/agent/skills/subagent-review/SKILL.md index cb30a65..fd4cca2 100644 --- a/pi/.pi/agent/skills/subagent-review/SKILL.md +++ b/pi/.pi/agent/skills/subagent-review/SKILL.md @@ -47,10 +47,10 @@ When a subagent call returns no output (silent failure), apply cross-family mode ```js // Example: reviewer fails silently, retry with fallback -subagent({ agent: "reviewer", task: "...", model: "zai/glm-5.1" }) +subagent({ agent: "reviewer", task: "...", model: "opencode/qwen3.6-plus-free" }) ``` | Agent | Primary | Fallback | |-------|---------|----------| -| reviewer | anthropic/claude-opus-4-6 | zai/glm-5.1 | -| fixer | anthropic/claude-sonnet-4-6 | zai/glm-5.1 | +| reviewer | opencode-go/kimi-k2.5 | opencode/qwen3.6-plus-free | +| fixer | opencode-go/glm-5 | opencode-go/mimo-v2-pro |