agent-policy-kit 0.2.0 → 0.4.0

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 (60) hide show
  1. package/AGENT_INSTALL.md +126 -42
  2. package/CHANGELOG.md +93 -3
  3. package/README.md +21 -53
  4. package/bin/agent-policy.mjs +10 -10
  5. package/docs/README.md +46 -0
  6. package/docs/assets/configurator.png +0 -0
  7. package/docs/assets/subagent-limits.svg +44 -0
  8. package/docs/design/2026-11-01-documentation-structure.md +58 -0
  9. package/docs/guide/commands.md +375 -0
  10. package/docs/guide/configurator.md +163 -0
  11. package/docs/guide/getting-started.md +119 -0
  12. package/docs/guide/preferences.md +168 -0
  13. package/docs/guide/privacy.md +76 -0
  14. package/docs/guide/updates-and-removal.md +188 -0
  15. package/docs/maintainers/architecture.md +71 -0
  16. package/docs/maintainers/development.md +93 -0
  17. package/docs/maintainers/model-review.md +101 -0
  18. package/docs/maintainers/release.md +114 -0
  19. package/docs/maintainers/verification.md +95 -0
  20. package/docs/maintainers/website.md +112 -0
  21. package/docs/reference/assistants.md +165 -0
  22. package/docs/reference/model-catalog.md +194 -0
  23. package/docs/reference/ownership.md +177 -0
  24. package/docs/reference/presets.md +128 -0
  25. package/docs/reference/roles.md +157 -0
  26. package/docs/research/2026-11-01-model-review.md +341 -0
  27. package/docs/research/limits-evidence.md +28 -0
  28. package/models/README.md +2 -6
  29. package/models/catalog.json +57 -26
  30. package/package.json +7 -3
  31. package/policies/balanced.json +3 -3
  32. package/policies/fast.json +3 -13
  33. package/policies/quality.json +4 -14
  34. package/schema/policy.schema.json +2 -2
  35. package/site/index.html +108 -60
  36. package/src/detect.mjs +61 -13
  37. package/src/explicit.mjs +4 -4
  38. package/src/inspect.mjs +14 -13
  39. package/src/install.mjs +19 -13
  40. package/src/native.mjs +8 -8
  41. package/src/output.mjs +5 -5
  42. package/src/policy.mjs +2 -2
  43. package/src/release.mjs +1 -1
  44. package/src/setup.mjs +1 -1
  45. package/src/share.mjs +5 -5
  46. package/docs/architecture.md +0 -17
  47. package/docs/compatibility.md +0 -23
  48. package/docs/configuration-page.md +0 -44
  49. package/docs/deployment.md +0 -31
  50. package/docs/development.md +0 -21
  51. package/docs/installation.md +0 -23
  52. package/docs/model-catalog.md +0 -102
  53. package/docs/model-updates.md +0 -22
  54. package/docs/npm-release.md +0 -27
  55. package/docs/policy.md +0 -16
  56. package/docs/privacy.md +0 -9
  57. package/docs/recovery.md +0 -13
  58. package/docs/releases.md +0 -40
  59. package/docs/use-cases.md +0 -25
  60. package/docs/verification.md +0 -45
@@ -0,0 +1,341 @@
1
+ # Model review of 2026-11-01
2
+
3
+ This document records the evidence behind the presets and the model catalog of APK 0.4.0. It is for maintainers who prepare the next review and for users who want to know why a preset has its values. It lists the sources per vendor, compares Opus 5.5 with Sonnet 5.5 at different effort levels, compares Fable 5.1 with Opus 5.5, and summarizes what the evidence says about effort and small models. It also lists the decisions of 0.4.0 and the questions that need local verification. The current preset values are in [presets](../reference/presets.md). The catalog fields are in [model catalog](../reference/model-catalog.md). The procedure for the next review is in the [model review procedure](../maintainers/model-review.md).
4
+
5
+ ## Scope and method
6
+
7
+ The review date is 2026-11-01 (UTC). The previous catalog check was on 2026-10-30. The review covers the five assistants that APK configures and the six roles: Coder, Reviewer, Code explorer, Test writer, Docs writer and Task runner. It covers 99 preset cells: 90 cells in Light, Standard and Top-tier (6 roles × 5 assistants × 3 presets) and 9 cells under the top models switch (3 roles × 3 assistants). Gemini and Grok have no top choice.
8
+
9
+ These native clients were inspected read-only:
10
+
11
+ | Assistant | Native client | Version | What was read |
12
+ |---|---|---|---|
13
+ | ChatGPT | Codex CLI | 0.166.0 | Bundled model catalog (`codex debug models --bundled`), the model catalog that a signed-in client receives from the server, release notes |
14
+ | Claude | Claude Code | 2.1.316 | `claude --help`, release notes of 2.1.312 to 2.1.316 |
15
+ | Kimi | Kimi Code CLI | 2.4.1 | Release notes, model metadata that Kimi Code provisions (model fields only) |
16
+ | Gemini | Antigravity CLI | 1.4.12 | `agy --help`, `agy changelog`, the subagent tier values that the parser accepts |
17
+ | Grok | Grok Build | 1.0.70 | The user guide that ships with the client, the client model list |
18
+
19
+ The review used the vendor documentation that the sections below cite. All pages were read on 2026-11-01. No benchmark or task evaluation was run for this review. Native settings were not changed. Account data, credentials and configuration files are not part of this document. Where a fact depends on the account or plan, this document says so and does not state what one account can use.
20
+
21
+ The research had one thread for each vendor and one thread for cross-vendor benchmarks and effort studies. A synthesis compared the findings with the 0.3.0 presets and proposed changes. [Decisions for 0.4.0](#decisions-for-040) lists the changes that the release adopted.
22
+
23
+ ## Primary and secondary sources
24
+
25
+ Each number in this document has a source link and a source type.
26
+
27
+ - **Primary** sources are vendor documentation, vendor announcements and model cards, the native clients, publications of independent benchmark operators (Artificial Analysis, Vals AI) and research papers. A preset change can rely on primary sources.
28
+ - **Secondary** sources are aggregators, blogs and press articles that repeat or summarize other numbers (for example apidog, mindstudio, datacamp, BenchLM, benchmarklist, OfficeChai, BleepingComputer). This document uses secondary numbers only to show a direction when no primary number exists. No preset change of 0.4.0 relies only on secondary sources.
29
+
30
+ Vendor self-reported benchmark numbers are primary for what the vendor claims. They are not independent measurements.
31
+
32
+ ## Findings per vendor
33
+
34
+ ### OpenAI (ChatGPT, Codex)
35
+
36
+ No OpenAI model was released or retired for Codex after 2026-10-30. GPT-6.1 Terra (2026-10-26) is the newest model. There is no GPT-6.1 Luna. The current Luna is `gpt-6-luna`.
37
+
38
+ | Finding | Source |
39
+ |---|---|
40
+ | The bundled catalog of Codex CLI 0.166.0 has 9 visible selectors and 3 hidden specialized or utility entries. | Codex CLI 0.166.0 (primary) |
41
+ | A signed-in Codex CLI catalog observed on 2026-11-01 lists 8 visible models. GPT-5.5 is not in it. The server catalog can vary by account or plan. | Codex CLI 0.166.0 (primary) |
42
+ | GPT-5.5 retired from Codex for ChatGPT sign-in on 2026-10-14. It remains available with API-key sign-in. | [Codex models](https://learn.chatgpt.com/docs/models) (primary) |
43
+ | The server catalog gives GPT-6 Astra a native default effort of medium. The bundled catalog says low. | Codex CLI 0.166.0 (primary) |
44
+ | The server catalog has a hidden, undocumented entry `gpt-reserve`. | Codex CLI 0.166.0 (primary) |
45
+ | GPT-6.1 Sol has a context of 500,000 tokens by default in Codex. The bundled metadata says 272K. | [Codex models](https://learn.chatgpt.com/docs/models) (primary) |
46
+ | GPT-6.1 Terra is available in Codex on Plus, Pro, Business, Enterprise and Edu plans since 2026-10-26. | [Codex changelog](https://learn.chatgpt.com/docs/changelog) (primary) |
47
+ | The `developers.openai.com/codex/*` pages now redirect to `learn.chatgpt.com/docs/*`. | [Codex subagents](https://learn.chatgpt.com/docs/agent-configuration/subagents) (primary) |
48
+
49
+ Positioning. OpenAI describes Astra as its most capable model for complex work and GPT-6.1 Sol as "near-Astra performance for complex work at a lower cost than Astra". Terra is "a fast, efficient model for clear writing, visual understanding, and computer use". Luna is for "focused, high-volume tasks", and OpenAI says "Start with High" for Luna. Source: [Codex models](https://learn.chatgpt.com/docs/models) (primary). Launch coverage says that OpenAI still recommends Sol or Astra for the most complex coding tasks. Source: [BleepingComputer](https://bleepingcomputer.com/news/artificial-intelligence/openai-launches-gpt-61-terra-with-3x-faster-ai-agents-50-percent-lower-pricing) (secondary).
50
+
51
+ Plan usage. Codex credits per 1M tokens (input / cached input / output) are: Astra 250 / 25 / 1,250, GPT-6.1 Sol 50 / 2.5 / 250, GPT-6.1 Terra 25 / 1.25 / 125, GPT-6 Luna 2.5 / 0.25 / 12.5. Relative to Sol, Astra costs 5 times, Terra 0.5 times and Luna 0.05 times per token. Source: [Codex pricing](https://learn.chatgpt.com/docs/pricing) (primary).
52
+
53
+ Subagent guidance. OpenAI suggests `gpt-6.1-sol` for "ambiguous, multi-step work" and `gpt-6-luna` for "lighter subagent work". For explicit settings it suggests starting at high for Luna and at low for Astra. High is for agents that "trace complex logic, check assumptions, or work through edge cases". The guide names "reviewer or security-focused agents" as examples for high. Medium "balances speed and depth". The example agents use `pr_explorer` on Luna at high and `reviewer` on Sol at medium, so the reviewer example of the guide does not use high. The page does not mention Terra. Source: [Codex subagents](https://learn.chatgpt.com/docs/agent-configuration/subagents) (primary).
54
+
55
+ Benchmarks:
56
+
57
+ | Measurement | Value | Source |
58
+ |---|---|---|
59
+ | Artificial Analysis Coding Agent Index: GPT-6.1 Sol, GPT-6.1 Terra (max), GPT-6 Luna | 54, 48, 31 | [Artificial Analysis: GPT-6.1 Terra](https://artificialanalysis.ai/articles/gpt-6-1-terra-pushes-the-cost-efficiency-frontier) (primary) |
60
+ | Terra: low and medium effort are "Pareto-optimal for cost efficiency" | — | same (primary) |
61
+ | Terminal-Bench 4.0, Artificial Analysis run: Astra, Sol | 59.1%, 56.1% | [benchmarklist](https://benchmarklist.com/models/openai-gpt-6.1-sol/) (secondary) |
62
+ | DeepSWE 1.1: Sol, Astra, Luna | 75.2%, 74.1%, 66.6% | [benchmarklist](https://benchmarklist.com/models/openai-gpt-6.1-sol/), [BenchLM](https://benchlm.ai/md/compare/gpt-6-astra-vs-gpt-6-luna.md) (secondary) |
63
+ | Terminal-Bench 4.0, Terra at max (OpenAI claim) | 50.3% | [BleepingComputer](https://bleepingcomputer.com/news/artificial-intelligence/openai-launches-gpt-61-terra-with-3x-faster-ai-agents-50-percent-lower-pricing) (secondary) |
64
+
65
+ Astra has a small lead over Sol on two of three available measurements. OpenAI publishes no quality figures for Astra at different effort levels.
66
+
67
+ ### Anthropic (Claude, Claude Code)
68
+
69
+ No Anthropic model was released after 2026-10-30. The current models are Fable 5.1, Opus 5.5, Sonnet 5.5 and Haiku 5.5. Source: [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview) (primary). The Anthropic news page showed an untitled item dated 2026-11-01 that could not be identified. Source: [Anthropic news](https://www.anthropic.com/news) (primary).
70
+
71
+ | Finding | Source |
72
+ |---|---|
73
+ | API prices per 1M tokens (input / output): Fable 5.1 $10 / $50, Opus 5.5 $4 / $20, Sonnet 5.5 $2 / $10, Haiku 5.5 $0.10 / $0.50 for prompts up to 100K tokens ($0.50 / $2.50 above). | [Pricing](https://platform.claude.com/docs/en/about-claude/pricing) (primary) |
74
+ | In Claude Code, Opus 5.5, Sonnet 5.5 and Haiku 5.5 default to medium effort. Fable 5.1 defaults to high. All four support low, medium, high, xhigh and max. | [Model configuration](https://code.claude.com/docs/en/model-config) (primary) |
75
+ | On the Claude Platform API, Sonnet 5.5 defaults to high, not medium. | [Sonnet 5.5](https://www.anthropic.com/claude-sonnet-5-5) (primary) |
76
+ | Subagent model order: the Agent tool `model` parameter, frontmatter `model`, `CLAUDE_CODE_SUBAGENT_MODEL`, then the main model. The built-in Explore subagent uses the main conversation's model. | [Subagents](https://code.claude.com/docs/en/sub-agents) (primary) |
77
+ | Frontmatter `effort` overrides the session effort but not `CLAUDE_CODE_EFFORT_LEVEL`. | [Model configuration](https://code.claude.com/docs/en/model-config) (primary) |
78
+ | Claude Code 2.1.316 adds `CLAUDE_CODE_SUBAGENT_EFFORT`. It sets the effort of subagents that name no effort, instead of the session effort. The documentation pages do not describe it yet. | Claude Code 2.1.316 release notes, installed with the client (primary) |
79
+ | Sonnet 4.5 (`claude-sonnet-4-5-20250929`) is deprecated and retires on 2026-11-30. Opus 4.5 retires not sooner than 2026-11-24. Haiku 4.5 retires not sooner than 2026-10-15; that date passed without a deprecation notice. | [Model deprecations](https://platform.claude.com/docs/en/about-claude/model-deprecations) (primary) |
80
+ | Plans: Pro, Max ($100, 5 times Pro) and Ultra ($200, no 5-hour limit). On Pro, Fable uses usage credits. On Max and Ultra, Fable has a separate weekly limit. | [Claude pricing](https://claude.com/pricing), [Use Claude Code with your Pro or Max plan](https://support.claude.com/en/articles/11145838-use-claude-code-with-your-pro-or-max-plan) (primary) |
81
+ | In non-interactive `-p` mode, Fable usage is billed without a consent prompt. | [Model configuration](https://code.claude.com/docs/en/model-config) (primary) |
82
+
83
+ Anthropic gives no per-role model matrix. Its guidance is in [Anthropic's guidance](#anthropics-guidance).
84
+
85
+ ### Moonshot (Kimi, Kimi Code)
86
+
87
+ No Kimi model was released after 2026-10-30. K3.1 Pro (fully rolled out on 2026-10-23) is the newest. Kimi Code has six model IDs, and `kimi-for-coding` is still K2.8 Preview. Sources: [Kimi Code models](https://www.kimi.com/code/docs/en/kimi-code/models.html), [What's New](https://www.kimi.com/code/docs/en/kimi-code/whats-new.html) (primary).
88
+
89
+ | Finding | Source |
90
+ |---|---|
91
+ | `k3` (1M context) uses about twice the quota of `k3-256k`. Moonshot suggests `k3-256k` for "routine feature work" and `k3` for "large codebase analysis, multi-file refactoring". | [Models](https://www.kimi.com/code/docs/en/kimi-code/models.html), [Overview](https://www.kimi.com/code/docs/en/) (primary) |
92
+ | K2.7 Code Highspeed uses about three times the quota. K3.1 Pro Highspeed uses about twice the quota of K3.1 Pro. | [Models](https://www.kimi.com/code/docs/en/kimi-code/models.html) (primary) |
93
+ | K3 and K3.1 Pro need Plus (legacy Moderato) or higher. The 1M context and all Highspeed models need Pro (legacy Allegretto) or higher. Go has no coding quota. | [Membership](https://www.kimi.com/code/docs/en/kimi-code/membership.html) (primary) |
94
+ | Kimi Code 2.4.1 (2026-10-30) limits one file read to 100,000 characters (before: 500,000). It does not change models or effort. | [Kimi Code releases](https://github.com/MoonshotAI/kimi-code/releases) (primary) |
95
+ | A 2.4.1 pre-release listed "limit subagents to the configured model pool". The stable 2.4.1 does not include it. | [Kimi Code releases](https://github.com/MoonshotAI/kimi-code/releases) (primary) |
96
+ | The overview page gives `k3.1-pro` a default of max. The models page and What's New give high. | [Overview](https://www.kimi.com/code/docs/en/), [Models](https://www.kimi.com/code/docs/en/kimi-code/models.html) (primary) |
97
+
98
+ Moonshot gives no guidance on models for subagents. No independent benchmark of K3.1 Pro was found. Moonshot reports 65.7% on Terminal-Bench 4.0 for K3.1 Pro. Source: [datacamp](https://www.datacamp.com/blog/kimi-k3-1-pro) (secondary). The Artificial Analysis Intelligence Index is reported as 55 for K3.1 Pro and 44 for K3. Source: [OfficeChai](https://officechai.com/ai/kimi-k3-1-pro-places-4th-on-artificial-analysis-intelligence-index-ahead-of-gpt-6-astra-gemini-4-argon/) (secondary).
99
+
100
+ APK sets Kimi effort per model alias, not per role. Roles that share one alias share one effort. [Roles](../reference/roles.md) describes this.
101
+
102
+ ### Google (Gemini, Antigravity)
103
+
104
+ Antigravity 1.4.12 did not add tiers or per-role effort.
105
+
106
+ | Finding | Source |
107
+ |---|---|
108
+ | The agent `model` field of the CLI accepts only `inherit`, `flash_lite`, `flash` and `pro`. | Antigravity CLI 1.4.12 parser (primary) |
109
+ | The subagent documentation lists only `inherit`, `flash` and `pro`. `flash_lite` is undocumented. | [Antigravity subagents](https://antigravity.google/docs/subagents) (primary) |
110
+ | Effort applies only to the whole session (`--effort`, `/effort`). Agent files have no effort field. | `agy --help`, Antigravity CLI 1.4.12 (primary) |
111
+ | The built-in tier text describes `flash` as "suited for simple tasks like research lookups, file reading, or quick searches" and `pro` as "suited for complex tasks requiring deep reasoning, large refactors, or multi-step planning". | Antigravity CLI 1.4.12 (primary) |
112
+ | Current models: Gemini 4 Argon (flagship), Gemini 3.8 Flash and Gemini 3.5 Flash-Lite. | [Gemini API models](https://ai.google.dev/gemini-api/docs/models) (primary) |
113
+ | Gemini 4 Argon access: the Google blog names AI Ultra subscribers. The Antigravity blog names AI Pro and Ultra subscribers. | [Introducing Gemini 4 Argon](https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-argon/), [Gemini 4 Argon in Antigravity](https://antigravity.google/blog/gemini-4-argon-in-google-antigravity/) (primary) |
114
+ | Antigravity quotas for Pro and Ultra refresh every five hours. Ultra gives 5 or 20 times the Pro quota. Google publishes no quota per tier. | [Antigravity rate limits](https://blog.google/feed/new-antigravity-rate-limits-pro-ultra-subsribers/), [Google AI Ultra benefits](https://support.google.com/googleone/answer/16286513?hl=en) (primary) |
115
+
116
+ Google does not document which Gemini model each tier uses. The CLI receives the tier settings from the server. Tier-to-model resolution varies by account and was not verified.
117
+
118
+ Benchmarks:
119
+
120
+ | Measurement | Value | Source |
121
+ |---|---|---|
122
+ | Gemini 3.8 Flash: SWE-Bench Pro, Terminal-Bench 2.1 | 61.6%, 90.8% | [Google Cloud: Gemini 3.8 Flash](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/guides/gemini-3-8-flash) (primary) |
123
+ | Gemini 3.8 Flash: Terminal-Bench 4.0 | 19.1% | [Vellum](https://www.vellum.ai/blog/gemini-3-8-flash-benchmarks-explained), [datacamp](https://www.datacamp.com/blog/gemini-3-8-flash-cyber), [cellcog](https://cellcog.ai/blog/gemini-3-8-flash/) (secondary) |
124
+ | Gemini 4 Argon: Terminal-Bench 4.0 (Opus 5.5: 66.4%) | 57.4% | [mindstudio](https://www.mindstudio.ai/blog/gemini-4-argon-benchmark-analysis) (secondary) |
125
+ | Gemini 4 Carbon (not publicly available) with Antigravity CLI vs Claude Code with Opus 5.5 (max): Coding Agent Index | 59 vs 62 | [Artificial Analysis: Gemini 4 Carbon](https://artificialanalysis.ai/articles/gemini-4-carbon-new-number-1) (primary) |
126
+
127
+ No coding benchmark was found for Gemini 3.5 Flash-Lite.
128
+
129
+ ### xAI (Grok, Grok Build)
130
+
131
+ The xAI model list has no new language model after 2026-10-30 and no deprecated language model. The four catalog IDs (`grok-4.7`, `grok-4.6`, `grok-4.5`, `grok-build-0.1`) are current. Source: [xAI models](https://docs.x.ai/developers/models) (primary).
132
+
133
+ | Finding | Source |
134
+ |---|---|
135
+ | API prices per 1M tokens (input / output, prompts below 200K): grok-4.7 $2 / $6, grok-build-0.1 $1 / $2. | [xAI models](https://docs.x.ai/developers/models) (primary) |
136
+ | xAI says: "For everything else, including code, use Grok 4.7." | [xAI models](https://docs.x.ai/developers/models) (primary) |
137
+ | The Grok Build model list gives grok-4.7 the reasoning levels low, medium, high (default) and xhigh. | Grok Build 1.0.70 (primary) |
138
+ | Grok Build resolves subagent effort in this order: spawn override, role default, persona default, parent session. Personas have a `reasoning_effort` field. | Grok Build 1.0.70 user guide, chapter 16 (primary). The public copy is [Grok Build subagents](https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md); it was not compared with the installed copy. |
139
+ | `[subagents.models]` entries set only a model string. | Grok Build 1.0.70 configuration reference (primary) |
140
+ | grok-build-0.1 always reasons and has no effort setting. | [Vercel AI Gateway: grok-build-0.1](https://vercel.com/ai-gateway/models/grok-build-0.1) (secondary) |
141
+ | The user guide of 1.0.70 still says that new sessions start with `grok-4.5`. The client reports grok-4.7 as its default. This is stale upstream documentation. | Grok Build 1.0.70 (primary) |
142
+
143
+ Benchmarks:
144
+
145
+ | Measurement | Value | Source |
146
+ |---|---|---|
147
+ | Grok 4.7 (xhigh) vs Grok 4.6 (high): CursorBench 4.0 | 46.3% vs 40.4% | [xAI: Grok 4.7](https://x.ai/news/grok-4-7) (primary) |
148
+ | Grok 4.7 vs Grok 4.6: DeepSWE 1.1 (high) | 71.0% vs 65.2% | [xAI: Grok 4.7](https://x.ai/news/grok-4-7) (primary) |
149
+ | Grok 4.7: Terminal-Bench 4.0 | 37.6% in the announcement, 38.0% in the model card | [xAI: Grok 4.7](https://x.ai/news/grok-4-7), [Grok 4.7 model card](https://media.x.ai/v1/website/card4p7-3a96f40b.pdf) (primary) |
150
+ | Grok 4.7 (xhigh) with Grok Build: Coding Agent Index | 56 | [Artificial Analysis: Grok 4.7](https://artificialanalysis.ai/articles/benchmarking-grok-4-7) (primary; read through a search summary, not directly) |
151
+
152
+ No current benchmark was found for grok-build-0.1. No official source describes how Grok Build usage counts per model on xAI plans.
153
+
154
+ ## Opus 5.5 and Sonnet 5.5
155
+
156
+ This comparison decides the Claude Coder of Standard and Top-tier. The sources seem to disagree. At max or xhigh, Sonnet 5.5 is almost equal to Opus 5.5. At equal high effort, Sonnet 5.5 is clearly behind. The difference comes from effort: Sonnet 5.5 reaches Opus 5.5 only at the levels where one Sonnet task costs more than one Opus task at medium.
157
+
158
+ ### Prices
159
+
160
+ | Model | Input per 1M tokens | Output per 1M tokens | Source |
161
+ |---|---|---|---|
162
+ | Opus 5.5 | $4 | $20 | [Pricing](https://platform.claude.com/docs/en/about-claude/pricing) (primary) |
163
+ | Sonnet 5.5 | $2 | $10 | [Pricing](https://platform.claude.com/docs/en/about-claude/pricing) (primary) |
164
+
165
+ Per token, Opus 5.5 costs twice as much as Sonnet 5.5. Subscription plans meter usage differently from API prices. Use the API prices only to compare the two models.
166
+
167
+ ### Results at max and xhigh
168
+
169
+ | Measurement | Opus 5.5 | Sonnet 5.5 | Source |
170
+ |---|---|---|---|
171
+ | Artificial Analysis Coding Agent Index v2.0, Claude Code, max effort | 61.7 | 59.3 | [Artificial Analysis](https://x.com/ArtificialAnlys/status/2113424551396934134) (primary) |
172
+ | Vals AI Terminal-Bench 4.0 (Mini-SWE-agent harness) | 65.15% | 64.14% | [Vals AI: Terminal-Bench 4.0](https://www.vals.ai/benchmarks/terminal-bench-4) (primary) |
173
+ | Anthropic: Terminal-Bench 4.0 (Opus at xhigh, Sonnet at its reported effort) | 66.4% | 70.6% | [Sonnet 5.5](https://www.anthropic.com/claude-sonnet-5-5) (primary) |
174
+ | Anthropic: CursorBench 4.0 | 57.8% | 55.5% | [Sonnet 5.5](https://www.anthropic.com/claude-sonnet-5-5) (primary) |
175
+ | Anthropic: FrontierCode (Sonnet at max) | 54.4% | 46.2% | [Sonnet 5.5](https://www.anthropic.com/claude-sonnet-5-5) (primary) |
176
+ | Anthropic: FrontierCode, Sonnet 5.5 at xhigh | — | 52.1% | [Haiku 5.5](https://www.anthropic.com/claude-haiku-5-5) (primary) |
177
+
178
+ Caveat for the Terminal-Bench lead of Sonnet 5.5 in Anthropic's numbers: apidog reports, with the system card as its source, that a fallback was used in 1.5% of Sonnet 5.5 trials and in 10% of Opus 5.5 trials. Source: [apidog](https://apidog.com/blog/claude-sonnet-5-5-benchmarks/) (secondary). This review did not check the caveat in the system card.
179
+
180
+ The two independent measurements put Opus 5.5 ahead by 2.4 index points and by about 1 percentage point. At these effort levels the models are almost equal.
181
+
182
+ ### Results at equal high effort
183
+
184
+ Only one source compares the two models at the same effort level. It is secondary: apidog cites the Sonnet 5.5 system card. This review did not check these numbers against the system card. The cost is the API cost of one attempt at one task.
185
+
186
+ | Benchmark | Sonnet 5.5 high | Opus 5.5 high | Source |
187
+ |---|---|---|---|
188
+ | Terminal-Bench 4.0 | 43.0% ($1.94) | 64.2% ($3.88) | [apidog](https://apidog.com/blog/claude-sonnet-5-5-benchmarks/) (secondary) |
189
+ | FrontierCode | 49.4% ($0.42) | 54.0% ($1.09) | [apidog](https://apidog.com/blog/claude-sonnet-5-5-benchmarks/) (secondary) |
190
+ | CursorBench | 47.8% ($1.67) | 56.0% ($3.97) | [apidog](https://apidog.com/blog/claude-sonnet-5-5-benchmarks/) (secondary) |
191
+
192
+ The same source gives two more Terminal-Bench 4.0 results: Opus 5.5 at medium 57.6% ($2.94) and Sonnet 5.5 at xhigh 61.5% ($5.30). Source: [apidog](https://apidog.com/blog/claude-sonnet-5-5-benchmarks/) (secondary). The source has no result for Sonnet 5.5 at medium, which is the Standard Coder setting.
193
+
194
+ Anthropic gives two primary results for Opus 5.5 at medium: FrontierCode 54.6% and CursorBench 52.5%. Source: [Opus 5.5](https://www.anthropic.com/claude-opus-5-5) (primary). On FrontierCode, Opus 5.5 at medium (54.6%) is above Sonnet 5.5 at xhigh (52.1%) and at max (46.2%) in Anthropic's own numbers. The two Anthropic pages do not say that they used the same harness.
195
+
196
+ ### Cost per solved task
197
+
198
+ The cost per solved task is derived in this document. It is the cost of one attempt divided by the success rate, from the apidog numbers above. No source publishes these values.
199
+
200
+ | Benchmark | Setting | Success rate | Cost per attempt | Cost per solved task (derived) |
201
+ |---|---|---|---|---|
202
+ | Terminal-Bench 4.0 | Sonnet 5.5 high | 43.0% | $1.94 | $4.51 |
203
+ | Terminal-Bench 4.0 | Opus 5.5 medium | 57.6% | $2.94 | $5.10 |
204
+ | Terminal-Bench 4.0 | Opus 5.5 high | 64.2% | $3.88 | $6.04 |
205
+ | Terminal-Bench 4.0 | Sonnet 5.5 xhigh | 61.5% | $5.30 | $8.62 |
206
+ | FrontierCode | Sonnet 5.5 high | 49.4% | $0.42 | $0.85 |
207
+ | FrontierCode | Opus 5.5 high | 54.0% | $1.09 | $2.02 |
208
+ | CursorBench | Sonnet 5.5 high | 47.8% | $1.67 | $3.49 |
209
+ | CursorBench | Opus 5.5 high | 56.0% | $3.97 | $7.09 |
210
+
211
+ What the derived values show:
212
+
213
+ - At high, Sonnet 5.5 has the lowest cost per solved task on all three benchmarks, but it solves fewer tasks.
214
+ - On Terminal-Bench 4.0, Opus 5.5 at medium solves 14.6 percentage points more tasks than Sonnet 5.5 at high. Its cost per solved task is about 13% higher.
215
+ - Sonnet 5.5 at xhigh costs more per solved task than Opus 5.5 at high, and it solves fewer tasks (61.5% vs 64.2%).
216
+
217
+ ### The Sonnet 5.5 regression at max
218
+
219
+ Anthropic reports that Sonnet 5.5 scored lower on FrontierCode at max than at xhigh. At max it ran a subagent-based code-review skill more often. This caused timeouts or edits outside the task. Source: [Sonnet 5.5](https://www.anthropic.com/claude-sonnet-5-5) (primary). This is a direct reason not to use max for subagent roles.
220
+
221
+ ### Anthropic's guidance
222
+
223
+ | Guidance | Source |
224
+ |---|---|
225
+ | "Sonnet handles most coding tasks well and costs less than Opus. Reserve Opus for complex architectural decisions or multi-step reasoning." For simple subagent tasks, use `model: haiku`. For agent teams, "Use Sonnet for teammates". | [Costs](https://code.claude.com/docs/en/costs) (primary) |
226
+ | Medium "fits day-to-day engineering with a clear scope". High is for "work where verification matters or edge cases are likely". Xhigh gives "deeper reasoning at higher token spend". Max "may show diminishing returns and is prone to overthinking". | [Model configuration](https://code.claude.com/docs/en/model-config) (primary) |
227
+ | The example read-only code reviewer uses Sonnet at high. | [Subagents](https://code.claude.com/docs/en/sub-agents) (primary) |
228
+ | Sonnet 5.5 is "a faster, lower-cost complement to Claude Opus 5.5" for "well-scoped everyday tasks, bug fixes". | [Sonnet 5.5](https://www.anthropic.com/claude-sonnet-5-5) (primary) |
229
+ | A customer (Factory) calls Opus 5.5 "the first model we'd default to at medium effort". This is a customer quote, not Anthropic guidance. | [Opus 5.5](https://www.anthropic.com/claude-opus-5-5) (primary) |
230
+
231
+ ### What this means for the Standard Claude Coder
232
+
233
+ The Standard Claude Coder stays Sonnet 5.5 at medium in 0.4.0. The reasons:
234
+
235
+ - The equal-effort data that favors Opus 5.5 at medium comes only from a secondary source.
236
+ - No source measures Sonnet 5.5 at medium, so the current cell has no measured position.
237
+ - Anthropic's guidance puts Sonnet first for most coding.
238
+
239
+ The candidates for a local A/B comparison are Sonnet 5.5 at high and Opus 5.5 at medium. On Terminal-Bench 4.0 their derived costs per solved task are close ($4.51 and $5.10), and Opus 5.5 at medium solves more tasks. A test must use representative repository tasks and count the plan usage, not only the API price. The Coder effort also becomes the effort of unnamed subagents in Claude Code 2.1.316 and later (capped at high), so a change to the Coder also changes those subagents. [Roles](../reference/roles.md) describes this default subagent.
240
+
241
+ ## Fable 5.1 and Opus 5.5
242
+
243
+ This comparison decides the Claude choice of the top models switch. The primary source is clear.
244
+
245
+ | Measurement | Opus 5.5 | Fable 5.1 | Source |
246
+ |---|---|---|---|
247
+ | Terminal-Bench 4.0 (Opus at xhigh) | 66.4% | 55.8% | [Opus 5.5](https://www.anthropic.com/claude-opus-5-5) (primary) |
248
+ | FrontierCode 1.1 | 54.4% | 50.3% | [Opus 5.5](https://www.anthropic.com/claude-opus-5-5) (primary) |
249
+ | CursorBench 4.0 | 57.8% | 51.8% | [Opus 5.5](https://www.anthropic.com/claude-opus-5-5) (primary) |
250
+ | OSWorld 2.1 | 81.8% | 80.7% | [Opus 5.5](https://www.anthropic.com/claude-opus-5-5) (primary) |
251
+ | DeepSWE 1.1 | 74.2% | 67.4% | [mindstudio](https://www.mindstudio.ai/blog/gemini-4-argon-benchmark-analysis) (secondary) |
252
+ | API price per 1M tokens (input / output) | $4 / $20 | $10 / $50 | [Pricing](https://platform.claude.com/docs/en/about-claude/pricing) (primary) |
253
+
254
+ The strongest argument for Fable 5.1: Anthropic says that the gap is "narrower in its own use than the scores suggest", and it positions Fable 5.1 "for demanding reasoning and long-horizon agentic work". Sources: [Opus 5.5](https://www.anthropic.com/claude-opus-5-5), [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview) (primary). But Anthropic suggests Fable 5.1 only "when your evals on Claude Opus 5.5 at higher effort still fall short". Source: [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview) (primary). So the next step after Opus 5.5 at high is Opus 5.5 at a higher effort.
255
+
256
+ Fable 5.1 also has different billing. On Pro it uses usage credits, and on Max and Ultra it has a separate weekly limit. In `-p` mode it bills without a consent prompt. Sources: [Model configuration](https://code.claude.com/docs/en/model-config), [Use Claude Code with your Pro or Max plan](https://support.claude.com/en/articles/11145838-use-claude-code-with-your-pro-or-max-plan) (primary).
257
+
258
+ The gain of xhigh over high on Opus 5.5 is small: 66.4% (xhigh, primary, [Opus 5.5](https://www.anthropic.com/claude-opus-5-5)) against 64.2% (high, secondary, [apidog](https://apidog.com/blog/claude-sonnet-5-5-benchmarks/)) on Terminal-Bench 4.0. The switch therefore buys more reasoning on the same model, not a different model with separate billing.
259
+
260
+ ## Effort returns
261
+
262
+ The returns from higher effort decrease quickly.
263
+
264
+ | Finding | Source |
265
+ |---|---|
266
+ | Opus 5 on repository tasks: 17 of 25 solved at low, 18 of 25 at high, 16 of 25 at xhigh. Cost per solved task: $0.75 at low, $1.89 at high, $3.62 at xhigh. | [arXiv 2608.01347](https://arxiv.org/pdf/2608.01347) (primary) |
267
+ | Opus 4.7, observational study: xhigh gave more first-try perfect results than high (6 of 6 vs 2 of 6) at about 9% higher median cost. The sample is six tasks. | [arXiv 2607.02436](https://arxiv.org/pdf/2607.02436) (primary) |
268
+ | GPT-6.1 Terra: low and medium effort are Pareto-optimal for cost efficiency. | [Artificial Analysis: GPT-6.1 Terra](https://artificialanalysis.ai/articles/gpt-6-1-terra-pushes-the-cost-efficiency-frontier) (primary) |
269
+ | Anthropic: max "may show diminishing returns and is prone to overthinking". | [Model configuration](https://code.claude.com/docs/en/model-config) (primary) |
270
+ | OpenAI: higher effort "increases response time and token usage". High is for checking assumptions and edge cases. Low is for when "speed matters most". | [Codex subagents](https://learn.chatgpt.com/docs/agent-configuration/subagents) (primary) |
271
+ | Sonnet 5.5 scored lower at max than at xhigh on FrontierCode. | [Sonnet 5.5](https://www.anthropic.com/claude-sonnet-5-5) (primary) |
272
+
273
+ No study compares how sensitive each role (review, test writing, exploration, documentation) is to model size or effort. The effort changes of 0.4.0 therefore rely on consistent vendor guidance, not on a role benchmark. Their confidence is medium.
274
+
275
+ The 0.4.0 presets apply this evidence where the assistant allows per-role effort. Review and test creation get high. Discovery and writing on a strong model get medium. A small model such as Luna can get high, because that is the vendor's starting level. No preset uses max. Presets pin at most high. The only exception is the Claude top models choice at xhigh. [Presets](../reference/presets.md) states the design principles.
276
+
277
+ ## Small models
278
+
279
+ Small models are much weaker on multi-step agentic tasks. They are closer to larger models on narrow coding tasks.
280
+
281
+ | Measurement | Small model | Larger model | Source |
282
+ |---|---|---|---|
283
+ | Coding Agent Index | GPT-6 Luna 31 | GPT-6.1 Sol 54 | [Artificial Analysis: GPT-6.1 Terra](https://artificialanalysis.ai/articles/gpt-6-1-terra-pushes-the-cost-efficiency-frontier) (primary) |
284
+ | Terminal-Bench 4.0 | Haiku 5.5 39.2% (Haiku 4.5: 0.0%) | Sonnet 5.5 70.6% | [Haiku 5.5](https://www.anthropic.com/claude-haiku-5-5) (primary) |
285
+ | FrontierCode | Haiku 5.5 46.4% | Sonnet 5.5 at xhigh 52.1% | [Haiku 5.5](https://www.anthropic.com/claude-haiku-5-5) (primary) |
286
+ | SWE-Bench Pro | Haiku 5.5 64.8% | Sonnet 5.5 81.3% | [llm-stats](https://llm-stats.com/blog/research/claude-haiku-5-5-launch), [datacamp](https://www.datacamp.com/blog/claude-haiku-5-5) (secondary) |
287
+ | Terminal-Bench 4.0 | Gemini 3.8 Flash 19.1% | — | [Vellum](https://www.vellum.ai/blog/gemini-3-8-flash-benchmarks-explained), [datacamp](https://www.datacamp.com/blog/gemini-3-8-flash-cyber), [cellcog](https://cellcog.ai/blog/gemini-3-8-flash/) (secondary) |
288
+ | SWE-Bench Pro | Gemini 3.8 Flash 61.6% | — | [Google Cloud: Gemini 3.8 Flash](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/guides/gemini-3-8-flash) (primary) |
289
+
290
+ Anthropic says that Haiku 5.5 "pairs well with Opus 5.5 and Sonnet 5.5 as a subagent on coding work". Source: [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview) (primary). OpenAI suggests Luna for "lighter subagent work". Source: [Codex subagents](https://learn.chatgpt.com/docs/agent-configuration/subagents) (primary).
291
+
292
+ This supports the current design. In Standard, small models do exploration and routine work. In Top-tier, the Task runner uses a lighter model in Claude, Kimi, Gemini and Grok. ChatGPT uses Sol for every Top-tier role, and its Task runner runs at medium. In Light, small models do all roles, with a deliberate loss of quality to save plan limits.
293
+
294
+ ## Decisions for 0.4.0
295
+
296
+ The review proposed seven changes to nine of the 99 preset cells. The 0.4.0 release adopted all seven. [CHANGELOG.md](../../CHANGELOG.md) records them. Confidence is the confidence of the evidence, not a test result.
297
+
298
+ | Preset | Assistant | Cells | 0.3.0 | 0.4.0 | Main evidence | Confidence |
299
+ |---|---|---|---|---|---|---|
300
+ | Light | ChatGPT | Coder | Luna · medium | Luna · high | OpenAI says "Start with High" for Luna. Luna costs 0.05 times Sol per token. | Medium |
301
+ | Standard | ChatGPT | Docs writer | Sol · medium | Terra · medium | OpenAI positions Terra for clear writing. Terra costs 0.5 times Sol. Coding Agent Index: Terra 48, Luna 31. | Medium |
302
+ | Top-tier | ChatGPT | Code explorer | Sol · high | Sol · medium | OpenAI reserves high for edge-case checks and uses Luna for its explorer example. | Medium |
303
+ | Top-tier | ChatGPT | Docs writer | Sol · high | Sol · medium | Effort returns decrease. The Standard Docs writer already uses medium. | Medium |
304
+ | Top-tier | Claude | Code explorer | Opus 5.5 · high | Opus 5.5 · medium | Medium is the native default and the level for clear scope. Anthropic suggests a cheaper Explore. | Medium |
305
+ | Top-tier | Claude | Docs writer | Opus 5.5 · high | Opus 5.5 · medium | Same reasons as for the Code explorer. | Medium |
306
+ | Top models switch | Claude | Coder, Reviewer, Test writer | Fable 5.1 · high | Opus 5.5 · xhigh | Opus 5.5 leads Fable 5.1 on all published coding benchmarks at 2.5 times lower price. Anthropic suggests higher Opus effort before Fable. | Medium |
307
+
308
+ The release also changed setup for Claude. Setup writes `CLAUDE_CODE_SUBAGENT_EFFORT` from the Coder effort, capped at high. Before, subagents without a named role kept the main session effort in Claude, so the Coder effort never reached them. With the cap, the xhigh top models choice does not raise those subagents. Earlier Claude Code versions ignore the setting. This was a design decision based on the 2.1.316 release notes. Its precedence is an open question.
309
+
310
+ The catalog snapshot of 0.4.0 records these facts from this review: GPT-5.5 retired for ChatGPT sign-in, the GPT-6 Astra server default, the excluded `gpt-reserve`, the client versions, the Opus 4.5 and Haiku 4.5 retirement dates, the Kimi plan requirements, the undocumented Flash Lite tier and the Grok 4.7 reasoning levels. [Model catalog](../reference/model-catalog.md) describes the fields.
311
+
312
+ ### Cells left unchanged on purpose
313
+
314
+ | Cell | Why it did not change |
315
+ |---|---|
316
+ | Standard, Claude, Coder: Sonnet 5.5 · medium | The equal-effort evidence is secondary. Anthropic suggests Sonnet for most coding. Candidates for a local A/B test: Sonnet 5.5 · high and Opus 5.5 · medium. See [What this means for the Standard Claude Coder](#what-this-means-for-the-standard-claude-coder). |
317
+ | Light, ChatGPT, Code explorer and Docs writer: Luna · low | OpenAI's "start with high" also applies, but Light saves usage on purpose. No data shows that low harms discovery or writing. |
318
+ | Top-tier, Kimi, Code explorer and Docs writer: K3 · high | They share the `kimi-code/k3` alias with the Coder, so their effort cannot go down alone. Moonshot suggests `k3` for large-codebase analysis. |
319
+ | Top-tier, Kimi, Task runner: K2.8 Preview · high | K2.8 Preview has no medium level. The alias effort is shared. |
320
+ | Top-tier, Reviewer at xhigh (all assistants) | The only supporting evidence is a six-task observational study ([arXiv 2607.02436](https://arxiv.org/pdf/2607.02436)). |
321
+ | Top models switch, ChatGPT: Astra · high | Astra leads Sol by a small margin on two of three measurements. No measurement of Astra per effort level exists. Unnamed Codex subagents copy the Coder, so they also run Astra · high when the switch is on. |
322
+ | Top models switch, Kimi: K3.1 Pro · high | It is the newest Kimi model and is available from Plus. Its 1M context needs Pro. |
323
+ | Gemini column | Antigravity has one top tier and no per-role effort. The tier text matches the current split of `pro` and `flash`. |
324
+ | Grok column and no Grok top models switch | APK writes only a model per role. A Grok 4.7 · xhigh switch is possible only after role or persona effort is verified. |
325
+
326
+ ## Open questions for local verification
327
+
328
+ | # | Question | Why it matters | How to check |
329
+ |---|---|---|---|
330
+ | 1 | How does `CLAUDE_CODE_SUBAGENT_EFFORT` rank against frontmatter `effort`, the Agent tool parameter and `CLAUDE_CODE_EFFORT_LEVEL`? | The 0.4.0 setup writes this setting. | Test on Claude Code 2.1.316 or later. Read the documentation when Anthropic adds it. |
331
+ | 2 | Is Sonnet 5.5 · high or Opus 5.5 · medium a better Standard Claude Coder than Sonnet 5.5 · medium? | Only secondary data compares them. | Run an A/B comparison on representative repository tasks. Count solved tasks and plan usage. |
332
+ | 3 | Does Grok Build 1.0.70 accept `reasoning_effort` for `[subagents.roles.<name>]`? How does a persona bind to an `apk-*` agent? | Per-role Grok effort and a Grok 4.7 · xhigh switch depend on it. | Use an isolated Grok home directory with a role and a persona. Read the effort of the subagent in the logs. |
333
+ | 4 | Does `grok-build-0.1` appear in the Grok Build model picker for signed-in accounts on each plan? | Light and Standard use it for Grok. | Check the model list of signed-in clients on different plans. Record only whether the model is offered, not account details. |
334
+ | 5 | Which models do the Antigravity tiers `pro`, `flash` and `flash_lite` use on the Pro and Ultra plans? | `pro` may not mean Gemini 4 Argon on every plan. | Start one subagent per tier and read the resolved model name in the CLI log. |
335
+ | 6 | Does `flash_lite` use less Antigravity quota than `flash`? | It decides whether Flash Lite is useful in Light. | No official data exists. Compare usage statistics. |
336
+ | 7 | Is Terra available for Codex subagents on all paid plans and in the IDE extension? What do Free and Go plans get? | The Standard ChatGPT Docs writer uses Terra. | Compare the Codex model catalog on different plans. Start a subagent with `gpt-6.1-terra`. |
337
+ | 8 | What do the catalog field `multi_agent_reasoning_effort: "xhigh"` and the hidden `gpt-reserve` model mean? | The field may set subagent effort in Codex Ultra mode. | Wait for OpenAI documentation. Compare server catalogs over time. |
338
+ | 9 | Is the Opus 4.5 ID `claude-opus-4-5-20251101` (catalog) or `claude-opus-4-5-20251001` (deprecations page as read in this review)? | The catalog ID may be wrong. | Compare with [Model deprecations](https://platform.claude.com/docs/en/about-claude/model-deprecations). |
339
+ | 10 | What is the untitled Anthropic item dated 2026-11-01? | It may be a new model after this review. | Read [Anthropic news](https://www.anthropic.com/news) again. |
340
+ | 11 | What is the exact Fable limit on Ultra ("50% of weekly limits*")? | The review read it only through a summary tool. | Read [Claude pricing](https://claude.com/pricing) directly. |
341
+ | 12 | Will a stable Kimi Code release limit subagents to the configured model pool? Does per-spawn model selection also take an effort? | The APK model pool must then contain every role model. | Watch [Kimi Code releases](https://github.com/MoonshotAI/kimi-code/releases). |
@@ -0,0 +1,28 @@
1
+ # How the limit illustration was measured
2
+
3
+ This document explains the data behind the subagent limit illustration in the README and on the configuration page. It is for everyone who wants to know where the numbers come from and how far they apply. The data comes from the author's local Codex session logs. It records one developer's work on one plan. It is not a benchmark.
4
+
5
+ ## Method
6
+
7
+ Codex logs the weekly limit as `rate_limits.primary.used_percent`, together with its reset time. Two limit resets that the vendor granted outside the weekly schedule each started a window at 0%. The illustration compares these two windows:
8
+
9
+ | | Without APK | With APK |
10
+ |---|---|---|
11
+ | Subagent setup | No role settings. About half of the subagent tokens ran on GPT-6 Astra, the top model. | Roles put most subagent work on GPT-6.1 Sol and GPT-6 Luna. |
12
+ | Subagents started | 67 | 131 |
13
+ | Active work until the limit reached 100% | 5.3 h | 25.0 h |
14
+ | Credits per 1M tokens after the limit | 35.3 | 3.0 |
15
+
16
+ Active work counts the 10-minute intervals that contain at least one model response. Idle time, for example nights, is not counted. The illustration shows these hours as 8-hour workdays.
17
+
18
+ ## Limits of the comparison
19
+
20
+ - The tasks were different in the two windows.
21
+ - The main session effort was mostly xhigh in the first window. It was mostly high or lower in the second window.
22
+ - Both windows come from one account and the habits of one developer.
23
+
24
+ ## Claude Code observation
25
+
26
+ The Claude Code logs showed the same pattern. When subagents inherited Opus, they produced 2.7 times as many output tokens as the main session. With roles on Sonnet and Haiku, they produced 0.16 times as many. The sample with roles covers one day.
27
+
28
+ For the model choices of each preset, see [presets](../reference/presets.md). For the evidence behind those choices, see the [2026-11-01 model review](2026-11-01-model-review.md).
package/models/README.md CHANGED
@@ -1,7 +1,3 @@
1
- # Release model catalog
1
+ # Model catalog file
2
2
 
3
- catalog.json is a dated native-subagent selector snapshot shipped with the package. It is not a live/account-universal inventory. Each entry records ID, label, native efforts/default when documented, and a primary source. Custom model/deployment IDs remain available where supported.
4
-
5
- The current audit is 2026-10-30 UTC. Codex 0.166.0 has nine visible models and three hidden specialized/utility entries. Native efforts/defaults come from its bundled catalog; separate apiEfforts/apiDefaultEffort metadata records API differences. Ultra is a delegating mode, not an ordinary effort choice. Claude Code has 14 versioned IDs, four family aliases and inherit; alias capabilities depend on the resolved provider model. Kimi has six preferred aliases, including both K3.1 Pro variants, corroborated through whitelisted provisioned metadata. Antigravity CLI 1.4.10 accepts four role tiers, including Flash Lite; its session model picker is a separate surface. See the [audit and preset rationale](../docs/model-catalog.md).
6
-
7
- API defaults can differ from CLI defaults. Unknown native defaults are null; unsupported effort lists are empty. Presets are editable priorities, not measured quality/price guarantees. Update sources/date and release notes alongside any changed recommendation, then regenerate the static page and run all configuration/package tests.
3
+ `catalog.json` is the dated snapshot of the models and efforts that each assistant accepts for its subagents in this configuration release. The package ships it, and the CLI and the configurator validate choices against it. [Model catalog](../docs/reference/model-catalog.md) describes its fields and contents.
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "reviewedAt": "2026-10-30",
3
+ "reviewedAt": "2026-11-01",
4
4
  "scope": "Documented/native coding-tool selectors at this release; account access and custom deployment IDs vary.",
5
5
  "clients": {
6
- "codex": {
7
- "label": "Codex",
6
+ "chatgpt": {
7
+ "label": "ChatGPT",
8
8
  "efforts": [
9
9
  "none",
10
10
  "minimal",
@@ -15,7 +15,7 @@
15
15
  "max"
16
16
  ],
17
17
  "observedClientVersion": "0.166.0",
18
- "observation": "codex debug models --bundled: 9 visible selectors; 3 hidden specialized/utility entries excluded",
18
+ "observation": "codex debug models --bundled: 9 visible selectors; 3 hidden specialized/utility entries excluded. The signed-in server catalog (2026-11-01) lists 8 visible selectors without GPT-5.5, the hidden gpt-reserve entry and a medium default for GPT-6 Astra.",
19
19
  "models": [
20
20
  {
21
21
  "id": "gpt-6-astra",
@@ -27,7 +27,7 @@
27
27
  "xhigh",
28
28
  "max"
29
29
  ],
30
- "defaultEffort": "low",
30
+ "defaultEffort": "medium",
31
31
  "source": "https://developers.openai.com/api/docs/models/gpt-6-astra",
32
32
  "kind": "model",
33
33
  "apiEfforts": [
@@ -41,7 +41,8 @@
41
41
  "nativeSource": "https://learn.chatgpt.com/docs/models",
42
42
  "delegationModes": [
43
43
  "ultra"
44
- ]
44
+ ],
45
+ "bundledDefaultEffort": "low"
45
46
  },
46
47
  {
47
48
  "id": "gpt-6.1-sol",
@@ -227,7 +228,7 @@
227
228
  },
228
229
  {
229
230
  "id": "gpt-5.5",
230
- "label": "GPT-5.5",
231
+ "label": "GPT-5.5 (API key only)",
231
232
  "efforts": [
232
233
  "low",
233
234
  "medium",
@@ -245,7 +246,13 @@
245
246
  "xhigh"
246
247
  ],
247
248
  "apiDefaultEffort": "medium",
248
- "nativeSource": "https://learn.chatgpt.com/docs/models"
249
+ "nativeSource": "https://learn.chatgpt.com/docs/models",
250
+ "lifecycle": {
251
+ "status": "retired",
252
+ "retirementDate": "2026-10-14",
253
+ "scope": "Codex with ChatGPT sign-in; API-key sign-in keeps access",
254
+ "source": "https://learn.chatgpt.com/docs/models"
255
+ }
249
256
  }
250
257
  ],
251
258
  "excluded": [
@@ -260,12 +267,16 @@
260
267
  {
261
268
  "id": "codex-auto-review",
262
269
  "reason": "hidden internal utility selector"
270
+ },
271
+ {
272
+ "id": "gpt-reserve",
273
+ "reason": "hidden undocumented selector in the server catalog"
263
274
  }
264
275
  ],
265
- "note": "Efforts and defaults follow the bundled Codex CLI 0.166.0 catalog. API capabilities are separate apiEfforts/apiDefaultEffort metadata. Ultra is a delegating execution mode, recorded separately and not offered as ordinary subagent effort. An API-supported level absent from the native catalog is unverified for manual per-role configuration, not proven runtime-rejected."
276
+ "note": "Efforts follow the bundled Codex CLI 0.166.0 catalog. Defaults follow the signed-in server catalog of 2026-11-01 where it differs (bundledDefaultEffort keeps the bundled value). API capabilities are separate apiEfforts/apiDefaultEffort metadata. Ultra is a delegating execution mode, recorded separately and not offered as ordinary subagent effort. An API-supported level absent from the native catalog is unverified for manual per-role configuration, not proven runtime-rejected. GPT-5.5 left Codex for ChatGPT sign-in on 2026-10-14 and remains for API-key sign-in."
266
277
  },
267
278
  "claude": {
268
- "label": "Claude Code",
279
+ "label": "Claude",
269
280
  "efforts": [
270
281
  "low",
271
282
  "medium",
@@ -273,7 +284,7 @@
273
284
  "xhigh",
274
285
  "max"
275
286
  ],
276
- "observedClientVersion": "2.1.312",
287
+ "observedClientVersion": "2.1.316",
277
288
  "models": [
278
289
  {
279
290
  "id": "sonnet",
@@ -500,7 +511,12 @@
500
511
  "high"
501
512
  ],
502
513
  "apiDefaultEffort": null,
503
- "apiSource": "https://platform.claude.com/docs/en/build-with-claude/effort"
514
+ "apiSource": "https://platform.claude.com/docs/en/build-with-claude/effort",
515
+ "lifecycle": {
516
+ "status": "active",
517
+ "earliestRetirement": "2026-11-24",
518
+ "source": "https://platform.claude.com/docs/en/about-claude/model-deprecations"
519
+ }
504
520
  },
505
521
  {
506
522
  "id": "claude-sonnet-4-5-20250929",
@@ -522,7 +538,12 @@
522
538
  "efforts": [],
523
539
  "defaultEffort": null,
524
540
  "source": "https://code.claude.com/docs/en/model-config",
525
- "kind": "model"
541
+ "kind": "model",
542
+ "lifecycle": {
543
+ "status": "active",
544
+ "earliestRetirement": "2026-10-15",
545
+ "source": "https://platform.claude.com/docs/en/about-claude/model-deprecations"
546
+ }
526
547
  },
527
548
  {
528
549
  "id": "inherit",
@@ -540,7 +561,7 @@
540
561
  "effortResolution": "Depends on the resolved model and provider; requested levels can be clamped or ignored by Claude Code."
541
562
  }
542
563
  ],
543
- "note": "Full model IDs use the current Claude Code native effort table, which differs from API support for Opus 4.5. Alias/inherit efforts are possible requested levels, not a guarantee for every resolved provider model; unsupported levels can clamp or be ignored. Current account access and provider alias resolution vary.",
564
+ "note": "Full model IDs use the current Claude Code native effort table, which differs from API support for Opus 4.5. Alias/inherit efforts are possible requested levels, not a guarantee for every resolved provider model; unsupported levels can clamp or be ignored. Current account access and provider alias resolution vary. Claude Code 2.1.316 adds CLAUDE_CODE_SUBAGENT_EFFORT for subagents that name no effort; earlier versions ignore it. CLAUDE_CODE_EFFORT_LEVEL still overrides subagent effort frontmatter.",
544
565
  "excluded": [
545
566
  {
546
567
  "id": "best",
@@ -613,7 +634,8 @@
613
634
  "defaultEffort": "high",
614
635
  "source": "https://www.kimi.com/code/docs/en/kimi-code/models",
615
636
  "kind": "native-alias",
616
- "upstreamModelId": "k3"
637
+ "upstreamModelId": "k3",
638
+ "planRequirement": "Plus (Moderato) or higher; 1M context requires Pro (Allegretto) or higher"
617
639
  },
618
640
  {
619
641
  "id": "kimi-code/k3-256k",
@@ -651,14 +673,14 @@
651
673
  "upstreamModelId": "kimi-for-coding-highspeed"
652
674
  }
653
675
  ],
654
- "note": "Current Kimi Code docs list six model IDs; the older kimi.ai/help page still lists four. K3.1 Pro and Highspeed require thinking and support low/high/max, default high. These are preferred native aliases: setup resolves a missing preferred alias only to a unique provisioned match; no provider identity is invented. Account tier controls access.",
655
- "observedClientVersion": "2.4.0",
656
- "observation": "Kimi Code CLI 2.4.0: all six documented preferred aliases and native effort/default capabilities corroborated through whitelisted provisioned metadata; no credentials or custom account aliases retained."
676
+ "note": "Current Kimi Code docs list six model IDs; the older kimi.ai/help page still lists four. K3.1 Pro and Highspeed require thinking and support low/high/max, default high. These are preferred native aliases: setup resolves a missing preferred alias only to a unique provisioned match; no provider identity is invented. Account tier controls access. K3 and K3.1 Pro require the Plus (Moderato) plan or higher. The 1M context of K3 and every Highspeed model require Pro (Allegretto) or higher; on Plus, k3 stays at 256K context and uses about twice the quota of k3-256k. K2.7 Code HighSpeed uses about three times the quota.",
677
+ "observedClientVersion": "2.4.1",
678
+ "observation": "Kimi Code CLI 2.4.0 and 2.4.1: all six documented preferred aliases and native effort/default capabilities corroborated through whitelisted provisioned metadata; no credentials or custom account aliases retained."
657
679
  },
658
- "agy": {
659
- "label": "Antigravity",
680
+ "gemini": {
681
+ "label": "Gemini",
660
682
  "efforts": [],
661
- "observedClientVersion": "1.4.10",
683
+ "observedClientVersion": "1.4.12",
662
684
  "models": [
663
685
  {
664
686
  "id": "pro",
@@ -682,7 +704,9 @@
682
704
  "efforts": [],
683
705
  "defaultEffort": null,
684
706
  "source": "https://antigravity.google/docs/subagents?tab=cli",
685
- "kind": "tier"
707
+ "kind": "tier",
708
+ "documented": false,
709
+ "nativeSource": "Antigravity CLI 1.4.12 agent-file parser"
686
710
  },
687
711
  {
688
712
  "id": "inherit",
@@ -693,10 +717,10 @@
693
717
  "kind": "tier"
694
718
  }
695
719
  ],
696
- "note": "Native per-subagent selectors are tiers, not the session model inventory. CLI 1.4.10 parser explicitly accepts inherit/flash_lite/flash/pro, including Flash Lite absent from the shared docs App table. Per-role effort is not exposed by the agent-file schema."
720
+ "note": "Native per-subagent selectors are tiers, not the session model inventory. The CLI 1.4.12 parser accepts inherit/flash_lite/flash/pro; the public subagent documentation lists only inherit, flash and pro, so flash_lite is undocumented. Google does not document which Gemini model each tier uses; the server sets it per account. Per-role effort is not exposed by the agent-file schema; --effort and /effort apply to the whole session."
697
721
  },
698
722
  "grok": {
699
- "label": "Grok Build",
723
+ "label": "Grok",
700
724
  "efforts": [],
701
725
  "observedClientVersion": "1.0.70",
702
726
  "models": [
@@ -707,7 +731,14 @@
707
731
  "defaultEffort": null,
708
732
  "source": "https://docs.x.ai/developers/models",
709
733
  "nativeSource": "https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md",
710
- "kind": "model"
734
+ "kind": "model",
735
+ "apiEfforts": [
736
+ "low",
737
+ "medium",
738
+ "high",
739
+ "xhigh"
740
+ ],
741
+ "apiDefaultEffort": "high"
711
742
  },
712
743
  {
713
744
  "id": "grok-4.6",
@@ -737,7 +768,7 @@
737
768
  "kind": "model"
738
769
  }
739
770
  ],
740
- "note": "Per-subagent models are set in config.toml [subagents.models]; model IDs follow the documented xAI model list and account access varies. Per-role effort is not exposed by the agent-file schema, so subagents use the main session effort. [subagents] max_concurrent is a native cap."
771
+ "note": "Per-subagent models are set in config.toml [subagents.models]; model IDs follow the documented xAI model list and account access varies. Grok 4.7 supports low/medium/high/xhigh reasoning effort and Grok Build resolves subagent effort from a spawn override, role default, persona default and then the parent session. The [subagents.models] entries that APK writes carry only a model, so APK leaves effort to the main session. [subagents] max_concurrent is a native cap."
741
772
  }
742
773
  }
743
774
  }