@bastani/atomic 0.9.4-alpha.7 → 0.9.4-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/builtin/cursor/package.json +2 -2
  3. package/dist/builtin/intercom/package.json +1 -1
  4. package/dist/builtin/mcp/package.json +1 -1
  5. package/dist/builtin/subagents/CHANGELOG.md +7 -0
  6. package/dist/builtin/subagents/agents/code-simplifier.md +2 -2
  7. package/dist/builtin/subagents/agents/codebase-analyzer.md +2 -2
  8. package/dist/builtin/subagents/agents/codebase-locator.md +2 -2
  9. package/dist/builtin/subagents/agents/codebase-online-researcher.md +2 -2
  10. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -2
  11. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +2 -2
  12. package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -2
  13. package/dist/builtin/subagents/agents/debugger.md +1 -1
  14. package/dist/builtin/subagents/agents/worker.md +2 -2
  15. package/dist/builtin/subagents/package.json +1 -1
  16. package/dist/builtin/web-access/package.json +1 -1
  17. package/dist/builtin/workflows/CHANGELOG.md +18 -0
  18. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +24 -22
  19. package/dist/builtin/workflows/builtin/goal-runner.ts +12 -23
  20. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +4 -4
  21. package/dist/builtin/workflows/builtin/ralph-models.ts +53 -75
  22. package/dist/builtin/workflows/package.json +1 -1
  23. package/dist/bun/cli.d.ts.map +1 -1
  24. package/dist/bun/cli.js +3 -2
  25. package/dist/bun/cli.js.map +1 -1
  26. package/dist/cli.d.ts.map +1 -1
  27. package/dist/cli.js +15 -5
  28. package/dist/cli.js.map +1 -1
  29. package/dist/config.d.ts +10 -3
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +18 -1
  32. package/dist/config.js.map +1 -1
  33. package/dist/core/agent-session-events.d.ts.map +1 -1
  34. package/dist/core/agent-session-events.js +14 -8
  35. package/dist/core/agent-session-events.js.map +1 -1
  36. package/dist/core/agent-session-export.d.ts.map +1 -1
  37. package/dist/core/agent-session-export.js +4 -2
  38. package/dist/core/agent-session-export.js.map +1 -1
  39. package/dist/core/agent-session-extension-bindings.d.ts +3 -1
  40. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  41. package/dist/core/agent-session-extension-bindings.js +7 -4
  42. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  43. package/dist/core/agent-session-methods.d.ts +4 -1
  44. package/dist/core/agent-session-methods.d.ts.map +1 -1
  45. package/dist/core/agent-session-methods.js.map +1 -1
  46. package/dist/core/agent-session-retry.d.ts +2 -0
  47. package/dist/core/agent-session-retry.d.ts.map +1 -1
  48. package/dist/core/agent-session-retry.js +66 -7
  49. package/dist/core/agent-session-retry.js.map +1 -1
  50. package/dist/core/copilot-model-static-fallbacks.d.ts +43 -0
  51. package/dist/core/copilot-model-static-fallbacks.d.ts.map +1 -0
  52. package/dist/core/copilot-model-static-fallbacks.js +50 -0
  53. package/dist/core/copilot-model-static-fallbacks.js.map +1 -0
  54. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  55. package/dist/core/extensions/loader-virtual-modules.js +64 -11
  56. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  57. package/dist/core/model-registry-builtins.d.ts.map +1 -1
  58. package/dist/core/model-registry-builtins.js +9 -1
  59. package/dist/core/model-registry-builtins.js.map +1 -1
  60. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  61. package/dist/core/resource-loader-reload.js +4 -2
  62. package/dist/core/resource-loader-reload.js.map +1 -1
  63. package/dist/core/resource-loader-types.d.ts +6 -0
  64. package/dist/core/resource-loader-types.d.ts.map +1 -1
  65. package/dist/core/resource-loader-types.js.map +1 -1
  66. package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
  67. package/dist/core/tools/bash-pty-native.js +2 -2
  68. package/dist/core/tools/bash-pty-native.js.map +1 -1
  69. package/dist/core/tools/search-native.d.ts.map +1 -1
  70. package/dist/core/tools/search-native.js +2 -2
  71. package/dist/core/tools/search-native.js.map +1 -1
  72. package/dist/main.d.ts.map +1 -1
  73. package/dist/main.js +56 -32
  74. package/dist/main.js.map +1 -1
  75. package/dist/modes/interactive/interactive-deferred-startup.d.ts +2 -0
  76. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -0
  77. package/dist/modes/interactive/interactive-deferred-startup.js +59 -0
  78. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -0
  79. package/dist/modes/interactive/interactive-mode-base.d.ts +2 -0
  80. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  81. package/dist/modes/interactive/interactive-mode-base.js +4 -0
  82. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  83. package/dist/modes/interactive/interactive-mode-deps.d.ts +1 -1
  84. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  85. package/dist/modes/interactive/interactive-mode-deps.js +1 -1
  86. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  87. package/dist/modes/interactive/interactive-mode-surface.d.ts +2 -0
  88. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  89. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  90. package/dist/modes/interactive/interactive-mode-types.d.ts +2 -0
  91. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
  92. package/dist/modes/interactive/interactive-mode-types.js.map +1 -1
  93. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  94. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  95. package/dist/modes/interactive/interactive-mode.js +1 -0
  96. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  97. package/dist/modes/interactive/interactive-session-runtime.d.ts.map +1 -1
  98. package/dist/modes/interactive/interactive-session-runtime.js +4 -2
  99. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  100. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  101. package/dist/modes/interactive/interactive-startup.js +11 -1
  102. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  103. package/dist/utils/module-require.d.ts +11 -0
  104. package/dist/utils/module-require.d.ts.map +1 -0
  105. package/dist/utils/module-require.js +16 -0
  106. package/dist/utils/module-require.js.map +1 -0
  107. package/docs/workflows.md +1 -1
  108. package/npm-shrinkwrap.json +23 -23
  109. package/package.json +5 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.9.4-alpha.9] - 2026-07-02
6
+
7
+ ### Changed
8
+
9
+ - Sped up TUI startup for the compiled Bun binary (and Windows) by ~2.8x on warm starts: builtin extensions transpiled at runtime through jiti now use a persistent on-disk cache at `~/.atomic/agent/cache/jiti/<version>` instead of re-transpiling ~280 TypeScript files on every launch (extension loading drops from ~4.1s to ~1.4s on Linux). Cache entries self-invalidate via jiti's source-content hashing, and stale version directories are pruned in the background.
10
+ - Made `--version`/`-v` a fast path that prints the version before loading the full CLI module graph, dropping `atomic --version` from ~380ms to ~25ms. The CLI entrypoint now loads the main module graph dynamically so metadata fast paths skip it entirely.
11
+ - Decoupled the TUI first paint from extension loading: in interactive mode the shell (header, editor, footer) now renders immediately with a "Loading extensions, skills, prompts, themes..." indicator while extension code loads in the background, dropping perceived compiled-binary startup from ~2s (warm) / ~5s (cold) to ~0.5s regardless of extension count. Deferred loading only engages when nothing before first paint needs extensions (no pending trust prompt, `-e` paths, extension flags, or CLI/settings model selection); resources, startup notices, and any saved-model restore that depends on extension-registered providers are applied once the background load completes.
12
+ - Deferred loading of the HTML session export module (including its large generated template) until `--export` or `/export` is actually used.
13
+ - Compiled binaries are now built with Bun bytecode compilation (`--bytecode --format=cjs`), skipping JavaScript parsing at launch: TUI first paint drops from ~450ms to ~200ms and `--version` from ~285ms to ~85ms. To support the CJS bundle (where `import.meta.url` no longer points into Bun's virtual filesystem), binary detection also checks `process.argv[1]`, native-module `require`s are anchored to the executable path, and the extension loader's dev-mode alias fallback resolves packages via their `package.json` export instead of `import.meta.resolve()`.
14
+
15
+ ### Fixed
16
+
17
+ - Fixed intercepted provider safety refusals dead-ending agent turns: a canned "I'm sorry, but I cannot assist with that request." completion arriving with zero token usage and a spurious `stopReason` of `length` (or `stop`) — observed on `github-copilot` GPT models under very large contexts — was accepted as the final answer, silently ending the turn (and, inside workflows, poisoning worker receipts). Such canned refusals are now detected (single short refusal text, no tool calls or thinking, zero billed output) and auto-retried like other transient failures, bounded by `maxRetries`; genuine model-authored refusals that bill output tokens are never retried ([#1608](https://github.com/bastani-inc/atomic/issues/1608)).
18
+ - Fixed the root cause of GitHub Copilot sessions overrunning server-enforced limits when the live CAPI `/models` catalog is unavailable (cold start without cache, catalog fetch failure, or network-restricted environments): several bundled `pi-ai` Copilot model definitions disagree with what CAPI actually enforces — the `gpt-5.x` family claims a 400k context window vs CAPI's 272k default tier, `claude-opus-4.6`/`claude-sonnet-4.6` claim the branded 1M window as their base tier vs CAPI's 200k, and `claude-opus-4.6`/`4.7` ship a 32k output cap vs CAPI's real 64k. Because auto-compaction thresholds are driven by `model.contextWindow`, an overstated window meant sessions never compacted, sailed past the real server cap, and were intercepted by CAPI with the canned refusals above; understated output caps truncated long responses at half the real limit. Atomic now applies a static CAPI-derived limit snapshot (snapshotted 2026-07-02) for every bundled Copilot model present in the CAPI catalog whenever the active catalog has no entry for it, carrying the full tier structure — default-tier context window, `max_output_tokens`, and the branded long-context tier with its hard input cap where CAPI advertises one (e.g. 272k/1.05M with a 922k input cap for `gpt-5.5`, 200k/1M with a 936k input cap for `claude-opus-4.8`) — so persisted long-context selections stay valid offline; the live catalog (or its disk cache) always wins when available ([#1608](https://github.com/bastani-inc/atomic/issues/1608)).
19
+ - Changed structured safety-trigger errors to be auto-retried for all providers, not just GitHub Copilot Gemini: pi-ai maps Anthropic `refusal` stops to a canned "The model refused to complete the request" error and OpenAI-style APIs surface `finish_reason: content_filter`; both are now classified as retryable (bounded by `maxRetries`) so spurious safety triggers re-request the model call instead of dead-ending the task ([#1608](https://github.com/bastani-inc/atomic/issues/1608)).
20
+
5
21
  ## [0.9.4-alpha.7] - 2026-07-02
6
22
 
7
23
  ### Added
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/cursor",
3
- "version": "0.9.4-alpha.7",
3
+ "version": "0.9.4-alpha.9",
4
4
  "private": true,
5
5
  "description": "Experimental first-party Atomic extension for Cursor OAuth, model discovery, and streaming provider registration.",
6
6
  "contributors": [
@@ -40,7 +40,7 @@
40
40
  }
41
41
  },
42
42
  "dependencies": {
43
- "@bastani/atomic-natives": "0.9.4-alpha.7",
43
+ "@bastani/atomic-natives": "0.9.4-alpha.9",
44
44
  "@bufbuild/protobuf": "^2.12.1",
45
45
  "@earendil-works/pi-ai": "^0.80.3"
46
46
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/intercom",
3
- "version": "0.9.4-alpha.7",
3
+ "version": "0.9.4-alpha.9",
4
4
  "private": true,
5
5
  "description": "Atomic extension providing a private coordination channel between parent and child agent sessions. Fork of: https://github.com/nicobailon/pi-intercom",
6
6
  "contributors": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/mcp",
3
- "version": "0.9.4-alpha.7",
3
+ "version": "0.9.4-alpha.9",
4
4
  "private": true,
5
5
  "description": "Atomic extension that adapts MCP (Model Context Protocol) servers into the coding agent. Fork of: https://github.com/nicobailon/pi-mcp-adapter",
6
6
  "contributors": [
@@ -2,6 +2,13 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.9.4-alpha.9] - 2026-07-02
6
+
7
+ ### Changed
8
+
9
+ - Curated builtin agent model defaults against Atomic's agentic-coding benchmark (pass@1 / avg cost per task, 2026-07-02) under a role-based placement principle: only reviewer-style roles warrant best-in-class models; every builtin agent is a performance-per-dollar role and now leads with the measured value point for its tier. All primaries are now `openai-codex/gpt-5.5`: `debugger` at `:xhigh` (67% / $7.23, with `anthropic/claude-fable-5:xhigh` — the 70% / $13.41 accuracy ceiling — as first cross-family fallback); `worker`, `code-simplifier`, `codebase-online-researcher`, `codebase-analyzer`, and `codebase-research-analyzer` at `:medium` (54% / $2.75, strictly better than their previous GLM-5.2 primaries measured at 36% / $2.84, which move into the fallback chain); and `codebase-locator`, `codebase-research-locator`, and `codebase-pattern-finder` at `:low` ($1.20 / task, 28 steps, 9.4k output tokens — the measured cheap-tier value point), backed only by measured fallbacks (`claude-opus-4.8:low` at 41% / $2.29, then `glm-5.2:high`). All fallback chains degrade in a consistent order: same-model provider mirrors first (to preserve capability when a provider fails), then remaining families by descending benchmark value (`claude-fable-5:low` at 60% / $3.76 ahead of `claude-opus-4.8:medium` at 49% / $3.44, then GLM), with OpenRouter mirrors as the availability tail in the same order; `claude-opus-4.8` fallbacks ride at their `:high`/`:medium`/`:low` value points instead of `:xhigh`. Dropped strictly dominated models from all chains: `claude-sonnet-5`, `claude-sonnet-4.6`, and `gemini-3.1-pro` everywhere, and `gemini-3.5-flash` everywhere. Unbenchmarked models (`gpt-5.4-mini`, `claude-haiku-4.5`) and unmeasured levels (`gemini-3.5-flash:low`) are removed entirely — every chain entry in every builtin agent now corresponds to a benchmark datapoint.
10
+ - Normalized all GLM-5.2 entries to the model's two real reasoning tiers: GLM-5.2's thinking-level map collapses `minimal`/`low`/`medium`/`high` to its "high" effort and `xhigh` to "max", so the previous `zai/glm-5.2:medium` and `:low` labels (the `codebase-online-researcher` and analyzer primaries and various fallbacks) silently ran at the "high" tier under a misleading label. Native `zai`/`zai-coding-cn` entries now say `:high` explicitly, the `debugger` chain keeps `:xhigh` (→ "max"), and the `openrouter/z-ai/glm-5.2` mirror — which only maps `:xhigh` — is now always `:xhigh` instead of unsupported `:medium`/`:low`.
11
+
5
12
  ## [0.9.4-alpha.7] - 2026-07-02
6
13
 
7
14
  ### Fixed
@@ -8,8 +8,8 @@ description: |
8
8
  - Production-quality refinement of a working draft ("ugly but working CSV parser").
9
9
  - Code that has gotten messy after several iterations.
10
10
  tools: read, edit, write, search, find, ls, bash, todo
11
- model: zai/glm-5.2:medium
12
- fallbackModels: zai-coding-cn/glm-5.2:medium, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, github-copilot/claude-opus-4.8 (1m):medium, anthropic/claude-opus-4-8:medium, github-copilot/gemini-3.5-flash (1m):medium, google/gemini-3.5-flash:medium, google-vertex/gemini-3.5-flash:medium, github-copilot/gemini-3.1-pro-preview (1m):medium, google/gemini-3.1-pro-preview:medium, google-vertex/gemini-3.1-pro-preview:medium, openrouter/z-ai/glm-5.2:medium, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-opus-4-8:medium, openrouter/google/gemini-3.5-flash:medium, openrouter/google/gemini-3.1-pro-preview:medium
11
+ model: openai-codex/gpt-5.5:medium
12
+ fallbackModels: github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-opus-4.8 (1m):medium, anthropic/claude-opus-4-8:medium, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/z-ai/glm-5.2:xhigh
13
13
  skills: tdd, playwright-cli, tmux
14
14
  ---
15
15
 
@@ -2,8 +2,8 @@
2
2
  name: codebase-analyzer
3
3
  description: Analyzes codebase implementation details. Call the codebase-analyzer agent when you need to find detailed information about specific components.
4
4
  tools: read, search, find, ls, todo
5
- model: zai/glm-5.2:low
6
- fallbackModels: zai-coding-cn/glm-5.2:low, openai-codex/gpt-5.5:low, github-copilot/gpt-5.5:low, openai/gpt-5.5:low, github-copilot/claude-opus-4.8 (1m):low, anthropic/claude-opus-4-8:low, github-copilot/gemini-3.5-flash (1m):low, google/gemini-3.5-flash:low, google-vertex/gemini-3.5-flash:low, github-copilot/gemini-3.1-pro-preview (1m):low, google/gemini-3.1-pro-preview:low, google-vertex/gemini-3.1-pro-preview:low, openrouter/z-ai/glm-5.2:low, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/google/gemini-3.5-flash:low, openrouter/google/gemini-3.1-pro-preview:low
5
+ model: openai-codex/gpt-5.5:medium
6
+ fallbackModels: github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-opus-4.8 (1m):medium, anthropic/claude-opus-4-8:medium, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/z-ai/glm-5.2:xhigh
7
7
  skills: tdd, playwright-cli, tmux
8
8
  ---
9
9
 
@@ -2,8 +2,8 @@
2
2
  name: codebase-locator
3
3
  description: Locates files, directories, and components relevant to a feature or task. Basically a "super search/find/ls tool."
4
4
  tools: read, search, find, ls
5
- model: openai/gpt-5.4-mini:low
6
- fallbackModels: openai-codex/gpt-5.4-mini:low, github-copilot/gpt-5.4-mini:low, anthropic/claude-haiku-4-5:low, github-copilot/claude-haiku-4.5:low, github-copilot/gemini-3.5-flash (1m):low, google/gemini-3.5-flash:low, google-vertex/gemini-3.5-flash:low, openrouter/openai/gpt-5.4-mini:low, openrouter/anthropic/claude-haiku-4-5:low, openrouter/google/gemini-3.5-flash:low
5
+ model: openai-codex/gpt-5.5:low
6
+ fallbackModels: github-copilot/gpt-5.5:low, openai/gpt-5.5:low, github-copilot/claude-opus-4.8 (1m):low, anthropic/claude-opus-4-8:low, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/z-ai/glm-5.2:xhigh
7
7
  ---
8
8
 
9
9
  You are a specialist at finding WHERE code lives in a codebase. Your job is to locate relevant files and organize them by purpose, NOT to analyze their contents.
@@ -2,8 +2,8 @@
2
2
  name: codebase-online-researcher
3
3
  description: Online research for up-to-date documentation and library-source knowledge. Use when you need authoritative external information — official docs, ecosystem context, version-specific behavior, GitHub permalinks into open-source libraries, or video tutorials.
4
4
  tools: read, search, find, ls, bash, web_search, fetch_content, get_search_content, todo
5
- model: zai/glm-5.2:medium
6
- fallbackModels: zai-coding-cn/glm-5.2:medium, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, github-copilot/claude-opus-4.8 (1m):medium, anthropic/claude-opus-4-8:medium, github-copilot/gemini-3.5-flash (1m):medium, google/gemini-3.5-flash:medium, google-vertex/gemini-3.5-flash:medium, github-copilot/gemini-3.1-pro-preview (1m):medium, google/gemini-3.1-pro-preview:medium, google-vertex/gemini-3.1-pro-preview:medium, openrouter/z-ai/glm-5.2:medium, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-opus-4-8:medium, openrouter/google/gemini-3.5-flash:medium, openrouter/google/gemini-3.1-pro-preview:medium
5
+ model: openai-codex/gpt-5.5:medium
6
+ fallbackModels: github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-opus-4.8 (1m):medium, anthropic/claude-opus-4-8:medium, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/z-ai/glm-5.2:xhigh
7
7
  skills: playwright-cli
8
8
  ---
9
9
 
@@ -2,8 +2,8 @@
2
2
  name: codebase-pattern-finder
3
3
  description: Find similar implementations, usage examples, or existing patterns in the codebase that can be modeled after.
4
4
  tools: read, search, find, ls
5
- model: openai/gpt-5.4-mini:low
6
- fallbackModels: openai-codex/gpt-5.4-mini:low, github-copilot/gpt-5.4-mini:low, anthropic/claude-haiku-4-5:low, github-copilot/claude-haiku-4.5:low, github-copilot/gemini-3.5-flash (1m):low, google/gemini-3.5-flash:low, google-vertex/gemini-3.5-flash:low, openrouter/openai/gpt-5.4-mini:low, openrouter/anthropic/claude-haiku-4-5:low, openrouter/google/gemini-3.5-flash:low
5
+ model: openai-codex/gpt-5.5:low
6
+ fallbackModels: github-copilot/gpt-5.5:low, openai/gpt-5.5:low, github-copilot/claude-opus-4.8 (1m):low, anthropic/claude-opus-4-8:low, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/z-ai/glm-5.2:xhigh
7
7
  ---
8
8
 
9
9
  You are a specialist at finding code patterns and examples in the codebase. Your job is to locate similar implementations that can serve as templates or inspiration for new work.
@@ -2,8 +2,8 @@
2
2
  name: codebase-research-analyzer
3
3
  description: Analyzes local research documents to extract high-value insights, decisions, and technical details while filtering out noise. Use this when you want to deep dive on a research topic or understand the rationale behind decisions.
4
4
  tools: read, search, find, ls, todo
5
- model: zai/glm-5.2:low
6
- fallbackModels: zai-coding-cn/glm-5.2:low, openai-codex/gpt-5.5:low, github-copilot/gpt-5.5:low, openai/gpt-5.5:low, github-copilot/claude-opus-4.8 (1m):low, anthropic/claude-opus-4-8:low, github-copilot/gemini-3.5-flash (1m):low, google/gemini-3.5-flash:low, google-vertex/gemini-3.5-flash:low, github-copilot/gemini-3.1-pro-preview (1m):low, google/gemini-3.1-pro-preview:low, google-vertex/gemini-3.1-pro-preview:low, openrouter/z-ai/glm-5.2:low, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/google/gemini-3.5-flash:low, openrouter/google/gemini-3.1-pro-preview:low
5
+ model: openai-codex/gpt-5.5:medium
6
+ fallbackModels: github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-opus-4.8 (1m):medium, anthropic/claude-opus-4-8:medium, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/z-ai/glm-5.2:xhigh
7
7
  ---
8
8
 
9
9
  You are a specialist at extracting HIGH-VALUE insights from research documents. Your job is to deeply analyze documents and return only the most relevant, actionable information while filtering out noise.
@@ -2,8 +2,8 @@
2
2
  name: codebase-research-locator
3
3
  description: Discovers local research documents that are relevant to the current research task.
4
4
  tools: read, search, find, ls
5
- model: openai/gpt-5.4-mini:low
6
- fallbackModels: openai-codex/gpt-5.4-mini:low, github-copilot/gpt-5.4-mini:low, anthropic/claude-haiku-4-5:low, github-copilot/claude-haiku-4.5:low, github-copilot/gemini-3.5-flash (1m):low, google/gemini-3.5-flash:low, google-vertex/gemini-3.5-flash:low, openrouter/openai/gpt-5.4-mini:low, openrouter/anthropic/claude-haiku-4-5:low, openrouter/google/gemini-3.5-flash:low
5
+ model: openai-codex/gpt-5.5:low
6
+ fallbackModels: github-copilot/gpt-5.5:low, openai/gpt-5.5:low, github-copilot/claude-opus-4.8 (1m):low, anthropic/claude-opus-4-8:low, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/z-ai/glm-5.2:xhigh
7
7
  ---
8
8
 
9
9
  You are a specialist at finding documents in the `research/` directory. Your job is to locate relevant research documents and categorize them, NOT to analyze their contents in depth.
@@ -3,7 +3,7 @@ name: debugger
3
3
  description: Debug errors, test failures, and unexpected behavior. Use PROACTIVELY when encountering issues, analyzing stack traces, or investigating system problems.
4
4
  tools: read, search, find, ls, bash, web_search, fetch_content, get_search_content, intercom, contact_supervisor, todo
5
5
  model: openai-codex/gpt-5.5:xhigh
6
- fallbackModels: github-copilot/gpt-5.5:xhigh, openai/gpt-5.5:xhigh, github-copilot/claude-opus-4.8 (1m):xhigh, anthropic/claude-opus-4-8:xhigh, zai/glm-5.2:xhigh, zai-coding-cn/glm-5.2:xhigh, github-copilot/gemini-3.5-flash (1m):high, google/gemini-3.5-flash:high, google-vertex/gemini-3.5-flash:high, github-copilot/gemini-3.1-pro-preview (1m):high, google/gemini-3.1-pro-preview:high, google-vertex/gemini-3.1-pro-preview:high, openrouter/z-ai/glm-5.2:xhigh, openrouter/openai/gpt-5.5:xhigh, openrouter/anthropic/claude-opus-4-8:xhigh, openrouter/google/gemini-3.5-flash:high, openrouter/google/gemini-3.1-pro-preview:high
6
+ fallbackModels: github-copilot/gpt-5.5:xhigh, openai/gpt-5.5:xhigh, anthropic/claude-fable-5:xhigh, github-copilot/claude-opus-4.8 (1m):high, anthropic/claude-opus-4-8:high, zai/glm-5.2:xhigh, zai-coding-cn/glm-5.2:xhigh, openrouter/openai/gpt-5.5:xhigh, openrouter/anthropic/claude-fable-5:xhigh, openrouter/anthropic/claude-opus-4-8:high, openrouter/z-ai/glm-5.2:xhigh
7
7
  skills: tdd, playwright-cli, tmux
8
8
  ---
9
9
 
@@ -5,8 +5,8 @@ systemPromptMode: replace
5
5
  inheritProjectContext: true
6
6
  inheritSkills: false
7
7
  tools: read, edit, write, search, find, ls, bash, web_search, fetch_content, get_search_content, intercom, contact_supervisor, todo
8
- model: zai/glm-5.2:medium
9
- fallbackModels: zai-coding-cn/glm-5.2:medium, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, github-copilot/claude-opus-4.8 (1m):medium, anthropic/claude-opus-4-8:medium, github-copilot/gemini-3.5-flash (1m):medium, google/gemini-3.5-flash:medium, google-vertex/gemini-3.5-flash:medium, github-copilot/gemini-3.1-pro-preview (1m):medium, google/gemini-3.1-pro-preview:medium, google-vertex/gemini-3.1-pro-preview:medium, openrouter/z-ai/glm-5.2:medium, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-opus-4-8:medium, openrouter/google/gemini-3.5-flash:medium, openrouter/google/gemini-3.1-pro-preview:medium
8
+ model: openai-codex/gpt-5.5:medium
9
+ fallbackModels: github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-opus-4.8 (1m):medium, anthropic/claude-opus-4-8:medium, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/z-ai/glm-5.2:xhigh
10
10
  skills: tdd, playwright-cli, tmux
11
11
  defaultContext: fork
12
12
  defaultProgress: true
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/subagents",
3
- "version": "0.9.4-alpha.7",
3
+ "version": "0.9.4-alpha.9",
4
4
  "private": true,
5
5
  "description": "Atomic extension for delegating tasks to subagents with chains, parallel execution, and TUI clarification. Fork of: https://github.com/nicobailon/pi-subagents",
6
6
  "contributors": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/web-access",
3
- "version": "0.9.4-alpha.7",
3
+ "version": "0.9.4-alpha.9",
4
4
  "private": true,
5
5
  "description": "Atomic extension for web search, URL fetching, GitHub repo cloning, PDF/video extraction. Fork of: https://github.com/nicobailon/pi-web-access",
6
6
  "contributors": [
@@ -6,6 +6,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.9.4-alpha.9] - 2026-07-02
10
+
11
+ ### Changed
12
+
13
+ - Changed the Claude Fable 5 reasoning level back from `high` to `xhigh` across all builtin workflow model chains (`ralph` prompt-engineer/reviewer-a/reviewer-b/reviewer-c, `goal` reviewer, `deep-research-codebase` planner, and `open-claude-design`), covering both the native `anthropic/claude-fable-5` entries and their OpenRouter mirrors; this reverts the `xhigh` → `high` change shipped in 0.9.4-alpha.8.
14
+ - Curated all builtin workflow model chains against Atomic's agentic-coding benchmark (pass@1 / avg cost per task, 2026-07-02) under a role-based placement principle: **reviewers get best-in-class verification quality, every other stage gets the best measured performance-per-dollar**. Reviewer stages keep `anthropic/claude-fable-5:xhigh` (70% / $13.41, `ralph` reviewer-a and the `goal` reviewer), `openai-codex/gpt-5.5:xhigh` (67% / $7.23, reviewer-b), and `zai/glm-5.2:xhigh` (44% / $3.92, reviewer-c for third-family diversity). Non-reviewer stages moved to perf-per-dollar primaries: `ralph` prompt-engineer and the `deep-research-codebase` planner from `claude-fable-5:xhigh` to `openai-codex/gpt-5.5:xhigh` (−3pts for half the cost, with `fable-5:xhigh` as the first cross-family fallback), and the `deep-research-codebase` explorer from unbenchmarked `gpt-5.4-mini:low` to the measured cheap-tier value point `openai-codex/gpt-5.5:low` ($1.20 / task, 28 steps, 9.4k output tokens), backed only by measured fallbacks (`claude-opus-4.8:low` at 41% / $2.29, then `glm-5.2:high`). Unbenchmarked models (`gpt-5.4-mini`, `claude-haiku-4.5`) and unmeasured levels (`gemini-3.5-flash:low`) are removed entirely — every chain entry now corresponds to a benchmark datapoint. Dropped strictly dominated candidates from every chain: `claude-sonnet-5` (40–54% at $4.08–$26.40 per task with up to 268 steps), `claude-sonnet-4.6` (30% / $5.52), `gemini-3.1-pro` (12% / $9.48), and `gemini-3.5-flash` (37% / $7.34 with 276k output tokens). Moved `claude-opus-4.8` fallback entries from `:xhigh` to `:high` — its cost/value point (52% / $4.28 vs 54% / $8.01) — everywhere except `open-claude-design`, which keeps an Anthropic-led chain (`fable-5:xhigh` primary, Opus at `:xhigh`) since design quality, not $/task, is its objective. Added `anthropic/claude-fable-5:low` (60% / $3.76) as the Anthropic candidate in the medium-tier `ralph` research/orchestrator and `goal` worker chains.
15
+ - Normalized all GLM-5.2 chain entries to the model's two real reasoning tiers: GLM-5.2's thinking-level map collapses `minimal`/`low`/`medium`/`high` to its "high" effort and `xhigh` to "max", so the previous `zai/glm-5.2:medium` entries in the `ralph` research/orchestrator and `goal` worker chains silently ran (and billed) at the "high" tier under a misleading label. Native `zai`/`zai-coding-cn` entries in medium-tier chains now say `:high` explicitly, judgment-tier chains keep `:xhigh` (→ "max"), and the `openrouter/z-ai/glm-5.2` mirror — which only maps `:xhigh` — is now always `:xhigh` instead of unsupported `:medium`.
16
+
17
+ ## [0.9.4-alpha.8] - 2026-07-02
18
+
19
+ ### Changed
20
+
21
+ - Changed the Claude Fable 5 reasoning level from `xhigh` to `high` across all builtin workflow model chains (`ralph` prompt-engineer/reviewer-a/reviewer-b/reviewer-c, `goal` reviewer, `deep-research-codebase` planner, and `open-claude-design`), covering both the native `anthropic/claude-fable-5` entries and their OpenRouter mirrors.
22
+
23
+ ### Fixed
24
+
25
+ - Fixed the builtin `goal` reviewer and `deep-research-codebase` planner model fallback chains missing the OpenRouter mirror of their primary model: `openrouter/anthropic/claude-fable-5` is now the first OpenRouter fallback candidate in both chains, matching the ordering already used by the `ralph` prompt-engineer/reviewer and `open-claude-design` chains.
26
+
9
27
  ## [0.9.4-alpha.7] - 2026-07-02
10
28
 
11
29
  ### Fixed
@@ -31,41 +31,43 @@ export interface DeepResearchCodebaseResult {
31
31
 
32
32
  export const FILE_ONLY_OUTPUT = "file-only" satisfies WorkflowOutputMode;
33
33
 
34
+ // Chains curated from Atomic's agentic-coding benchmark (see ralph-models.ts
35
+ // for the frontier data and placement principle: only reviewers get
36
+ // best-in-class models; the planner is a perf-per-dollar stage).
34
37
  export const PLANNER_MODEL_CONFIG = {
35
- model: "anthropic/claude-fable-5:xhigh",
38
+ model: "openai-codex/gpt-5.5:xhigh",
36
39
  fallbackModels: [
37
- "openai-codex/gpt-5.5:xhigh",
38
40
  "github-copilot/gpt-5.5:xhigh",
39
41
  "openai/gpt-5.5:xhigh",
40
- "github-copilot/claude-opus-4.8 (1m):xhigh",
41
- "anthropic/claude-opus-4-8:xhigh",
42
+ "anthropic/claude-fable-5:xhigh",
43
+ "github-copilot/claude-opus-4.8 (1m):high",
44
+ "anthropic/claude-opus-4-8:high",
42
45
  "zai/glm-5.2:xhigh",
43
46
  "zai-coding-cn/glm-5.2:xhigh",
44
- "github-copilot/gemini-3.5-flash (1m):high",
45
- "google/gemini-3.5-flash:high",
46
- "google-vertex/gemini-3.5-flash:high",
47
- "github-copilot/gemini-3.1-pro-preview (1m):high",
48
- "google/gemini-3.1-pro-preview:high",
49
- "google-vertex/gemini-3.1-pro-preview:high",
50
47
  "openrouter/openai/gpt-5.5:xhigh",
51
- "openrouter/anthropic/claude-opus-4-8:xhigh",
52
- "openrouter/z-ai/glm-5.2:xhigh",
53
- "openrouter/google/gemini-3.5-flash:high",
54
- "openrouter/google/gemini-3.1-pro-preview:high"
48
+ "openrouter/anthropic/claude-fable-5:xhigh",
49
+ "openrouter/anthropic/claude-opus-4-8:high",
50
+ "openrouter/z-ai/glm-5.2:xhigh"
55
51
  ],
56
52
  excludedTools: ["ask_user_question"],
57
53
  } as const;
58
54
 
55
+ // gpt-5.5:low is the measured cheap-tier diamond ($1.20/task, 28 steps, 9.4k
56
+ // output tokens). Benchmark-measured models only: opus-4.8:low (41%/$2.29)
57
+ // and glm-5.2:high (36%/$2.84) back it up; unbenchmarked minis/haiku/flash
58
+ // are excluded.
59
59
  export const EXPLORER_MODEL_CONFIG = {
60
- model: "openai-codex/gpt-5.4-mini:low",
60
+ model: "openai-codex/gpt-5.5:low",
61
61
  fallbackModels: [
62
- "github-copilot/gpt-5.4-mini:low",
63
- "openai/gpt-5.4-mini:low",
64
- "github-copilot/claude-haiku-4.5:low",
65
- "anthropic/claude-haiku-4-5:low",
66
- "github-copilot/gemini-3.5-flash (1m):low",
67
- "google/gemini-3.5-flash:low",
68
- "google-vertex/gemini-3.5-flash:low",
62
+ "github-copilot/gpt-5.5:low",
63
+ "openai/gpt-5.5:low",
64
+ "github-copilot/claude-opus-4.8 (1m):low",
65
+ "anthropic/claude-opus-4-8:low",
66
+ "zai/glm-5.2:high",
67
+ "zai-coding-cn/glm-5.2:high",
68
+ "openrouter/openai/gpt-5.5:low",
69
+ "openrouter/anthropic/claude-opus-4-8:low",
70
+ "openrouter/z-ai/glm-5.2:xhigh",
69
71
  ],
70
72
  excludedTools: ["ask_user_question"],
71
73
  } as const;
@@ -92,26 +92,22 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
92
92
  const comparisonBaseBranch = normalizeBranchInput(inputs.base_branch, "origin/main");
93
93
  const { ledger, ledgerPath, artifactDir } = await createGoalLedger(objective);
94
94
 
95
+ // Chains curated from Atomic's agentic-coding benchmark (see
96
+ // ralph-models.ts for the frontier data and drop rationale).
95
97
  const workerModelConfig = {
96
98
  model: "openai-codex/gpt-5.5:medium",
97
99
  fallbackModels: [
98
100
  "github-copilot/gpt-5.5:medium",
99
101
  "openai/gpt-5.5:medium",
102
+ "anthropic/claude-fable-5:low",
100
103
  "github-copilot/claude-opus-4.8 (1m):medium",
101
104
  "anthropic/claude-opus-4-8:medium",
102
- "zai/glm-5.2:medium",
103
- "zai-coding-cn/glm-5.2:medium",
104
- "github-copilot/gemini-3.5-flash (1m):medium",
105
- "google/gemini-3.5-flash:medium",
106
- "google-vertex/gemini-3.5-flash:medium",
107
- "github-copilot/gemini-3.1-pro-preview (1m):medium",
108
- "google/gemini-3.1-pro-preview:medium",
109
- "google-vertex/gemini-3.1-pro-preview:medium",
105
+ "zai/glm-5.2:high",
106
+ "zai-coding-cn/glm-5.2:high",
110
107
  "openrouter/openai/gpt-5.5:medium",
108
+ "openrouter/anthropic/claude-fable-5:low",
111
109
  "openrouter/anthropic/claude-opus-4-8:medium",
112
- "openrouter/z-ai/glm-5.2:medium",
113
- "openrouter/google/gemini-3.5-flash:medium",
114
- "openrouter/google/gemini-3.1-pro-preview:medium"
110
+ "openrouter/z-ai/glm-5.2:xhigh"
115
111
  ],
116
112
  tools: goalRunnerTools,
117
113
  };
@@ -122,21 +118,14 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
122
118
  "openai-codex/gpt-5.5:xhigh",
123
119
  "github-copilot/gpt-5.5:xhigh",
124
120
  "openai/gpt-5.5:xhigh",
125
- "github-copilot/claude-opus-4.8 (1m):xhigh",
126
- "anthropic/claude-opus-4-8:xhigh",
121
+ "github-copilot/claude-opus-4.8 (1m):high",
122
+ "anthropic/claude-opus-4-8:high",
127
123
  "zai/glm-5.2:xhigh",
128
124
  "zai-coding-cn/glm-5.2:xhigh",
129
- "github-copilot/gemini-3.5-flash (1m):high",
130
- "google/gemini-3.5-flash:high",
131
- "google-vertex/gemini-3.5-flash:high",
132
- "github-copilot/gemini-3.1-pro-preview (1m):high",
133
- "google/gemini-3.1-pro-preview:high",
134
- "google-vertex/gemini-3.1-pro-preview:high",
125
+ "openrouter/anthropic/claude-fable-5:xhigh",
135
126
  "openrouter/openai/gpt-5.5:xhigh",
136
- "openrouter/anthropic/claude-opus-4-8:xhigh",
137
- "openrouter/z-ai/glm-5.2:xhigh",
138
- "openrouter/google/gemini-3.5-flash:high",
139
- "openrouter/google/gemini-3.1-pro-preview:high"
127
+ "openrouter/anthropic/claude-opus-4-8:high",
128
+ "openrouter/z-ai/glm-5.2:xhigh"
140
129
  ],
141
130
  tools: goalRunnerTools,
142
131
  schema: reviewDecisionSchema,
@@ -74,6 +74,9 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
74
74
  });
75
75
  }
76
76
 
77
+ // Anthropic-heavy chain for design taste; sonnet-5/sonnet-4.6 dropped as
78
+ // strictly dominated in Atomic's benchmark (see ralph-models.ts). Opus stays
79
+ // at :xhigh here — visual quality, not $/task, is the objective for design.
77
80
  const designModelConfig = {
78
81
  model: "anthropic/claude-fable-5:xhigh",
79
82
  fallbackModels: [
@@ -81,12 +84,9 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
81
84
  "anthropic/claude-opus-4-8:xhigh",
82
85
  "zai/glm-5.2:xhigh",
83
86
  "zai-coding-cn/glm-5.2:xhigh",
84
- "github-copilot/claude-sonnet-4.6 (1m):high",
85
- "anthropic/claude-sonnet-4-6:high",
86
87
  "openrouter/anthropic/claude-fable-5:xhigh",
87
88
  "openrouter/anthropic/claude-opus-4-8:xhigh",
88
- "openrouter/z-ai/glm-5.2:xhigh",
89
- "openrouter/anthropic/claude-sonnet-4-6:high"
89
+ "openrouter/z-ai/glm-5.2:xhigh"
90
90
  ],
91
91
  };
92
92
  // Phase 1: combined discovery + init — one stage interviews the user via
@@ -1,27 +1,42 @@
1
1
  import { reviewDecisionSchema } from "./ralph-core.js";
2
2
 
3
+ // Model chains are curated from Atomic's agentic-coding benchmark
4
+ // (pass@1 / avg $ per task, 2026-07-02):
5
+ // - Placement principle: REVIEWERS get best-in-class verification quality
6
+ // (fable-5:xhigh 70%/$13.41 leads reviewer-A and the goal reviewer);
7
+ // EVERY OTHER stage gets the best measured performance-per-dollar
8
+ // (gpt-5.5:xhigh 67%/$7.23 for hard stages, gpt-5.5:medium 54%/$2.75 for
9
+ // workhorse stages, gpt-5.5:low $1.20 for retrieval).
10
+ // - Pareto frontier: gpt-5.5 low ($1.20/27%) → gpt-5.5 medium ($2.75/54%) →
11
+ // fable-5 low ($3.76/60%) → gpt-5.5 high ($5.10/64%) → fable-5 medium
12
+ // ($6.09/65%) → gpt-5.5 xhigh ($7.23/67%) → fable-5 high ($9.18/69%) →
13
+ // fable-5 xhigh ($13.41/70%).
14
+ // - Dropped as strictly dominated: claude-sonnet-5 (40-54% at $4-26, up to
15
+ // 268 steps), claude-sonnet-4.6 (30%/$5.52), gemini-3.1-pro (12%/$9.48),
16
+ // gemini-3.5-flash (37%/$7.34, 276k output tokens).
17
+ // - claude-opus-4.8 rides at :high — its value point (52%/$4.28); :xhigh
18
+ // doubles the cost for +2pts.
19
+ // - glm-5.2 is reviewer-C's diversity primary only (third model family
20
+ // decorrelates review errors); elsewhere it is a budget fallback. Note:
21
+ // GLM-5.2 has only two real reasoning tiers — its thinkingLevelMap collapses
22
+ // minimal/low/medium/high to "high" and xhigh to "max" — so chains only use
23
+ // :high (budget tier, 36%/$2.84) or :xhigh (best tier, 44%/$3.92); the
24
+ // openrouter/z-ai mirror maps :xhigh exclusively, so it is always :xhigh.
25
+
3
26
  export const promptEngineerModelConfig = {
4
- model: "anthropic/claude-fable-5:xhigh",
27
+ model: "openai-codex/gpt-5.5:xhigh",
5
28
  fallbackModels: [
6
- "openai-codex/gpt-5.5:xhigh",
7
29
  "github-copilot/gpt-5.5:xhigh",
8
30
  "openai/gpt-5.5:xhigh",
9
- "github-copilot/claude-opus-4.8 (1m):xhigh",
10
- "anthropic/claude-opus-4-8:xhigh",
31
+ "anthropic/claude-fable-5:xhigh",
32
+ "github-copilot/claude-opus-4.8 (1m):high",
33
+ "anthropic/claude-opus-4-8:high",
11
34
  "zai/glm-5.2:xhigh",
12
35
  "zai-coding-cn/glm-5.2:xhigh",
13
- "github-copilot/gemini-3.5-flash (1m):high",
14
- "google/gemini-3.5-flash:high",
15
- "google-vertex/gemini-3.5-flash:high",
16
- "github-copilot/gemini-3.1-pro-preview (1m):high",
17
- "google/gemini-3.1-pro-preview:high",
18
- "google-vertex/gemini-3.1-pro-preview:high",
19
- "openrouter/anthropic/claude-fable-5:xhigh",
20
36
  "openrouter/openai/gpt-5.5:xhigh",
21
- "openrouter/anthropic/claude-opus-4-8:xhigh",
22
- "openrouter/z-ai/glm-5.2:xhigh",
23
- "openrouter/google/gemini-3.5-flash:high",
24
- "openrouter/google/gemini-3.1-pro-preview:high"
37
+ "openrouter/anthropic/claude-fable-5:xhigh",
38
+ "openrouter/anthropic/claude-opus-4-8:high",
39
+ "openrouter/z-ai/glm-5.2:xhigh"
25
40
  ],
26
41
  excludedTools: ["ask_user_question"],
27
42
  };
@@ -31,21 +46,15 @@ export const researchModelConfig = {
31
46
  fallbackModels: [
32
47
  "github-copilot/gpt-5.5:medium",
33
48
  "openai/gpt-5.5:medium",
49
+ "anthropic/claude-fable-5:low",
34
50
  "github-copilot/claude-opus-4.8 (1m):medium",
35
51
  "anthropic/claude-opus-4-8:medium",
36
- "zai/glm-5.2:medium",
37
- "zai-coding-cn/glm-5.2:medium",
38
- "github-copilot/gemini-3.5-flash (1m):medium",
39
- "google/gemini-3.5-flash:medium",
40
- "google-vertex/gemini-3.5-flash:medium",
41
- "github-copilot/gemini-3.1-pro-preview (1m):medium",
42
- "google/gemini-3.1-pro-preview:medium",
43
- "google-vertex/gemini-3.1-pro-preview:medium",
52
+ "zai/glm-5.2:high",
53
+ "zai-coding-cn/glm-5.2:high",
44
54
  "openrouter/openai/gpt-5.5:medium",
55
+ "openrouter/anthropic/claude-fable-5:low",
45
56
  "openrouter/anthropic/claude-opus-4-8:medium",
46
- "openrouter/z-ai/glm-5.2:medium",
47
- "openrouter/google/gemini-3.5-flash:medium",
48
- "openrouter/google/gemini-3.1-pro-preview:medium"
57
+ "openrouter/z-ai/glm-5.2:xhigh"
49
58
  ],
50
59
  excludedTools: ["ask_user_question"],
51
60
  };
@@ -55,21 +64,15 @@ export const orchestratorModelConfig = {
55
64
  fallbackModels: [
56
65
  "github-copilot/gpt-5.5:medium",
57
66
  "openai/gpt-5.5:medium",
67
+ "anthropic/claude-fable-5:low",
58
68
  "github-copilot/claude-opus-4.8 (1m):medium",
59
69
  "anthropic/claude-opus-4-8:medium",
60
- "zai/glm-5.2:medium",
61
- "zai-coding-cn/glm-5.2:medium",
62
- "github-copilot/gemini-3.5-flash (1m):medium",
63
- "google/gemini-3.5-flash:medium",
64
- "google-vertex/gemini-3.5-flash:medium",
65
- "github-copilot/gemini-3.1-pro-preview (1m):medium",
66
- "google/gemini-3.1-pro-preview:medium",
67
- "google-vertex/gemini-3.1-pro-preview:medium",
70
+ "zai/glm-5.2:high",
71
+ "zai-coding-cn/glm-5.2:high",
68
72
  "openrouter/openai/gpt-5.5:medium",
73
+ "openrouter/anthropic/claude-fable-5:low",
69
74
  "openrouter/anthropic/claude-opus-4-8:medium",
70
- "openrouter/z-ai/glm-5.2:medium",
71
- "openrouter/google/gemini-3.5-flash:medium",
72
- "openrouter/google/gemini-3.1-pro-preview:medium"
75
+ "openrouter/z-ai/glm-5.2:xhigh"
73
76
  ],
74
77
  excludedTools: ["ask_user_question"],
75
78
  };
@@ -77,25 +80,17 @@ export const orchestratorModelConfig = {
77
80
  export const reviewerAModelConfig = {
78
81
  model: "anthropic/claude-fable-5:xhigh",
79
82
  fallbackModels: [
80
- "github-copilot/claude-opus-4.8 (1m):xhigh",
81
- "anthropic/claude-opus-4-8:xhigh",
82
83
  "openai-codex/gpt-5.5:xhigh",
83
84
  "github-copilot/gpt-5.5:xhigh",
84
85
  "openai/gpt-5.5:xhigh",
86
+ "github-copilot/claude-opus-4.8 (1m):high",
87
+ "anthropic/claude-opus-4-8:high",
85
88
  "zai/glm-5.2:xhigh",
86
89
  "zai-coding-cn/glm-5.2:xhigh",
87
- "github-copilot/gemini-3.5-flash (1m):high",
88
- "google/gemini-3.5-flash:high",
89
- "google-vertex/gemini-3.5-flash:high",
90
- "github-copilot/gemini-3.1-pro-preview (1m):high",
91
- "google/gemini-3.1-pro-preview:high",
92
- "google-vertex/gemini-3.1-pro-preview:high",
93
90
  "openrouter/anthropic/claude-fable-5:xhigh",
94
- "openrouter/anthropic/claude-opus-4-8:xhigh",
95
91
  "openrouter/openai/gpt-5.5:xhigh",
96
- "openrouter/z-ai/glm-5.2:xhigh",
97
- "openrouter/google/gemini-3.5-flash:high",
98
- "openrouter/google/gemini-3.1-pro-preview:high"
92
+ "openrouter/anthropic/claude-opus-4-8:high",
93
+ "openrouter/z-ai/glm-5.2:xhigh"
99
94
  ],
100
95
  excludedTools: ["ask_user_question"],
101
96
  schema: reviewDecisionSchema,
@@ -107,22 +102,14 @@ export const reviewerBModelConfig = {
107
102
  "github-copilot/gpt-5.5:xhigh",
108
103
  "openai/gpt-5.5:xhigh",
109
104
  "anthropic/claude-fable-5:xhigh",
110
- "github-copilot/claude-opus-4.8 (1m):xhigh",
111
- "anthropic/claude-opus-4-8:xhigh",
105
+ "github-copilot/claude-opus-4.8 (1m):high",
106
+ "anthropic/claude-opus-4-8:high",
112
107
  "zai/glm-5.2:xhigh",
113
108
  "zai-coding-cn/glm-5.2:xhigh",
114
- "github-copilot/gemini-3.5-flash (1m):high",
115
- "google/gemini-3.5-flash:high",
116
- "google-vertex/gemini-3.5-flash:high",
117
- "github-copilot/gemini-3.1-pro-preview (1m):high",
118
- "google/gemini-3.1-pro-preview:high",
119
- "google-vertex/gemini-3.1-pro-preview:high",
120
109
  "openrouter/openai/gpt-5.5:xhigh",
121
110
  "openrouter/anthropic/claude-fable-5:xhigh",
122
- "openrouter/anthropic/claude-opus-4-8:xhigh",
123
- "openrouter/z-ai/glm-5.2:xhigh",
124
- "openrouter/google/gemini-3.5-flash:high",
125
- "openrouter/google/gemini-3.1-pro-preview:high"
111
+ "openrouter/anthropic/claude-opus-4-8:high",
112
+ "openrouter/z-ai/glm-5.2:xhigh"
126
113
  ],
127
114
  excludedTools: ["ask_user_question"],
128
115
  schema: reviewDecisionSchema,
@@ -132,26 +119,17 @@ export const reviewerCModelConfig = {
132
119
  model: "zai/glm-5.2:xhigh",
133
120
  fallbackModels: [
134
121
  "zai-coding-cn/glm-5.2:xhigh",
135
- "github-copilot/gemini-3.5-flash (1m):high",
136
- "google/gemini-3.5-flash:high",
137
- "google-vertex/gemini-3.5-flash:high",
138
- "github-copilot/gemini-3.1-pro-preview (1m):high",
139
- "google/gemini-3.1-pro-preview:high",
140
- "google-vertex/gemini-3.1-pro-preview:high",
122
+ "openrouter/z-ai/glm-5.2:xhigh",
141
123
  "openai-codex/gpt-5.5:xhigh",
142
124
  "github-copilot/gpt-5.5:xhigh",
143
125
  "openai/gpt-5.5:xhigh",
144
126
  "anthropic/claude-fable-5:xhigh",
145
- "github-copilot/claude-opus-4.8 (1m):xhigh",
146
- "anthropic/claude-opus-4-8:xhigh",
147
- "openrouter/anthropic/claude-fable-5:xhigh",
148
- "openrouter/anthropic/claude-opus-4-8:xhigh",
127
+ "github-copilot/claude-opus-4.8 (1m):high",
128
+ "anthropic/claude-opus-4-8:high",
149
129
  "openrouter/openai/gpt-5.5:xhigh",
150
- "openrouter/z-ai/glm-5.2:xhigh",
151
- "openrouter/google/gemini-3.5-flash:high",
152
- "openrouter/google/gemini-3.1-pro-preview:high"
130
+ "openrouter/anthropic/claude-fable-5:xhigh",
131
+ "openrouter/anthropic/claude-opus-4-8:high"
153
132
  ],
154
133
  excludedTools: ["ask_user_question"],
155
134
  schema: reviewDecisionSchema,
156
135
  };
157
-