@open-agent-toolkit/cli 0.2.18 → 0.2.20

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.
@@ -1,10 +1,10 @@
1
1
  # Evidence and Refresh Policy
2
2
 
3
3
  ```yaml
4
- guidance_version: 2026-07-21
5
- last_verified: 2026-07-21
6
- review_after: 2026-09-04
7
- stale_after: 2026-10-19
4
+ guidance_version: 2026-07-25
5
+ last_verified: 2026-07-25
6
+ review_after: 2026-09-08
7
+ stale_after: 2026-10-23
8
8
  ```
9
9
 
10
10
  This file governs dated provider examples. It does not override a live catalog,
@@ -17,8 +17,11 @@ authorization boundary.
17
17
  - `review-required`: older than 45 days, a newer family is observed, or a material control, price, tool, context, alias, or harness change is detected.
18
18
  - `stale`: older than 90 days, named models are unavailable or deprecated, or the launching surface can no longer express the recorded controls.
19
19
 
20
- Provider mappings in this package become review-required on 2026-09-04 and
21
- stale on 2026-10-19 unless re-verified earlier.
20
+ Provider mappings in this package become review-required on 2026-09-08 and
21
+ stale on 2026-10-23 unless re-verified earlier, or on the earlier date a
22
+ reference states in its own header. `provider-cursor.md` carries an earlier
23
+ 2026-09-04 review date because its catalog was not re-verified in the
24
+ 2026-07-25 refresh.
22
25
 
23
26
  ## Immediate Review Triggers
24
27
 
@@ -61,24 +64,61 @@ When evidence is incomplete, retain the incumbent or route one class up.
61
64
 
62
65
  Do not use aggregate leaderboard rank as a universal model order.
63
66
 
67
+ ## Comparable-Rung Analysis
68
+
69
+ For cross-provider analysis, show same-labelled effort rungs first when they
70
+ exist, then show empirically interesting practical substitutions as a separate
71
+ view. Label the model, effort, service tier, harness, benchmark version, and
72
+ retrieval date for every row.
73
+
74
+ Same-labelled rungs are comparable observations, not equivalent controls.
75
+ CursorBench, provider-native coding-agent harnesses, and common-agent harnesses
76
+ produce different Opus-to-Sol relationships. Preserve that disagreement; never
77
+ publish a provider-independent effort conversion.
78
+
64
79
  ## Current Evidence Summary
65
80
 
66
81
  - OpenAI positions GPT-5.6 Sol as frontier, Terra as balanced, and Luna as
67
82
  high-volume. Official guidance starts at medium generally, but independent
68
83
  coding-agent data shows meaningful Luna/Terra quality cliffs below high for
69
84
  repository work. The dated mechanical Codex floor is therefore Luna high.
70
- - Anthropic positions Sonnet 5 as the speed/intelligence workhorse, Opus 4.8 as
71
- a complex coding and enterprise model, and Fable 5 as the most capable widely
72
- released model. Their effort defaults and recommendations differ by model.
85
+ - Post-release Opus 5 evidence supports medium for normal substantive Claude
86
+ work and high for hard reasoning. Use xhigh for a reasoning-depth bottleneck
87
+ or evaluated long-horizon gain; max is selective and requires an effort
88
+ sweep. Consequence adds independent review rather than automatically raising
89
+ effort.
90
+ - Sonnet 5 is a conditional route when measured latency, throughput, access,
91
+ rate limits, or end-to-end workload economics win. Fable 5 is an
92
+ eligibility-gated specialist; its missing-domain-concept or long-horizon
93
+ reviewer instantiation remains provisional, and zero-data-retention
94
+ requirements exclude the current route.
73
95
  - CursorBench supports Composer 2.5 as an economical bounded coding worker.
74
96
  Cursor explicitly documents Composer fast as the same intelligence at a
75
97
  higher latency tier price.
98
+ - Mechanical reconnaissance remains harness-specific: Luna high in Codex,
99
+ Haiku 4.5 in Claude, and Composer 2.5 in Cursor. Direct API mini or nano
100
+ routes are limited to strict extraction, classification, or similarly
101
+ mechanically verified work.
76
102
  - OpenAI's long-context evidence disqualifies Luna for some very large-context
77
- work even when Luna's nominal context window accepts the input.
78
- - Anthropic documents benign false positives from Fable's stronger cyber
79
- classifier. This is operational evidence to consider when routing
80
- cyber-sensitive work, not a capability weakness or a reason to invert the
81
- general Opus-first policy.
103
+ work even when Luna's nominal context window accepts the input. Sol's current
104
+ direct-API requests above 272K input tokens carry a input and 1.5× output
105
+ price step.
106
+ - Sol's measured advantage is trajectory efficiency, not universal list-price
107
+ leadership. Opus output token pricing can be lower while Sol costs less per
108
+ completed task through fewer tokens, steps, turns, or recoveries.
109
+ - Two independent benchmarks show top-end Opus effort is non-monotonic:
110
+ Artificial Analysis Coding Agent Index (xhigh 67, max 66) and Frontier-Bench
111
+ (xhigh 44.4%, max 43.3%), both retrieved 2026-07-25. Frontier-Bench is
112
+ vendor-operated and its figure rests on a single self-reported row with no
113
+ independently verified counterpart, so weight it below the Coding Agent Index
114
+ rather than treating the two as equal evidence. CursorBench 3.2 is monotonic
115
+ over the same range, 69.3% to 70.0%; its contribution is economic, since
116
+ marginal cost per score point is roughly 3.75x worse above high than below
117
+ it. Together these support treating max as a route requiring justification,
118
+ not a strictly better rung.
119
+ - Cyber-sensitive and valid dual-use work should start on Opus 5 with
120
+ documented fallback handling where safeguards block the workflow. Opus 4.8
121
+ remains a compatibility fallback, not the universal primary.
82
122
  - Cursor disclosed that Cursor repository data entered Grok 4.5's training
83
123
  mixture. Its CursorBench ranking is evidence of competitiveness, not proof
84
124
  of superiority over nearby frontier models. Practical use supports Grok 4.5
@@ -86,8 +126,99 @@ Do not use aggregate leaderboard rank as a universal model order.
86
126
  implementation, and hard-reasoning economy routes, with cross-family review
87
127
  retained for consequential conclusions.
88
128
 
129
+ ## Speed and Wall-Clock Contract
130
+
131
+ Speed evidence must satisfy the multi-measure contract defined in
132
+ `model-selection-principles.md`, which is the single authority for which
133
+ measures are required and which are recorded when available. Do not restate a
134
+ divergent list here.
135
+
136
+ Every load-bearing quantitative claim requires claim-level provenance:
137
+
138
+ - a direct result locator, retrieval date, and stable source identity;
139
+ - exact model selector, effort, reasoning mode, service tier, harness, and
140
+ benchmark version;
141
+ - metric definition, aggregation basis, exclusions, and extraction method;
142
+ - absolute input values before any derived ratio or delta;
143
+ - the formula and units for each derived value;
144
+ - cache, fallback, refusal, retry, and completion treatment;
145
+ - unresolved source gaps stated explicitly rather than inferred away.
146
+
147
+ The Coding Agent Index time measure is average active agent wall time per task.
148
+ It excludes environment startup and verifier or judge time, and must not be
149
+ relabeled as total user-observed elapsed time. AA-Briefcase time remains
150
+ definition-unverified and must not be compared directly with it. Mutable
151
+ leaderboards require row-level locators; a homepage or aggregate rank is not a
152
+ sufficient source.
153
+
154
+ This file records reconciled conclusions and the values that drive a rule, not
155
+ the full ledger behind them. Every figure quoted here must name a publicly
156
+ resolvable source: the benchmark, its version, and the retrieval date, so a
157
+ reader outside the authoring environment can check it. Do not cite a private
158
+ research artifact as a locator — an internal packet may hold the working
159
+ arithmetic, but it cannot serve as provenance for published guidance.
160
+
161
+ ## Research Independence and Acceptance
162
+
163
+ A policy refresh requires:
164
+
165
+ 1. a neutral research brief and isolated independent author lanes;
166
+ 2. a source ledger with claim-level provenance for each lane;
167
+ 3. reciprocal or independent review that did not author the claim under review;
168
+ 4. fact reconciliation before routing synthesis;
169
+ 5. a cross-model synthesis that preserves contradictions and uncertainty;
170
+ 6. explicit human acceptance of the update scope;
171
+ 7. canonical-first application;
172
+ 8. downstream parity verification by read-back.
173
+
174
+ The author and reviewer may use the same evidence, but reviewer output must be
175
+ independently produced. Agreement is not proof. Record disagreements and their
176
+ resolution; do not collapse them into an unsupported consensus.
177
+
178
+ ## Live-Catalog and Downstream Gates
179
+
180
+ Before adding or changing a selector, verify the live launching surface,
181
+ resolved identity, effort or thinking control, service tier, and absence of
182
+ silent fallback. Direct-provider evidence can nominate a harness candidate but
183
+ cannot prove its alias.
184
+
185
+ A selector ships only after a live probe verifies those controls for that
186
+ specific mapping. Verification does not generalize: neither across rungs of one
187
+ family nor across families, because a harness may substitute a default for any
188
+ component it cannot resolve. Probe a non-default rung as well, or a result that
189
+ merely matches the family default cannot distinguish an honored parameter from
190
+ an ignored one.
191
+
192
+ The six Cursor `claude-opus-5` and `claude-opus-4-8` mappings shipped on
193
+ 2026-07-25 met this gate; their resolved identities are listed in
194
+ `provider-cursor.md`.
195
+
196
+ After canonical changes:
197
+
198
+ 1. inventory exact mirrors, wrappers, generated views, and application-specific
199
+ consumers before synchronization;
200
+ 2. use each consumer's supported sync or bundle mechanism;
201
+ 3. read back every consumer, including each machine where user-scope copies
202
+ exist;
203
+ 4. require byte-for-byte equality for mirrors and documented semantic parity
204
+ for intentional wrappers;
205
+ 5. search live prompts, rules, code, and configuration for copied historical
206
+ selectors or effort defaults;
207
+ 6. record intentional exceptions and fail the gate while unexplained
208
+ divergence remains.
209
+
89
210
  ## Reverification Record
90
211
 
212
+ One record describes one provider reference. When a single refresh cycle
213
+ updates several provider references, emit one record per provider inside a
214
+ `records:` list and lift the cycle-level fields — `verified_at`, `sources`,
215
+ `claim_provenance`, `independent_author`, `independent_reviewer`,
216
+ `incumbent_changes`, `reason`, `downstream_consumers`, `downstream_parity`, and
217
+ `unresolved_items` — to the parent so they are stated once rather than
218
+ duplicated per provider. Each record then carries only `provider`,
219
+ `harness_context`, `catalog_source`, `models_considered`, `controls_verified`,
220
+ and `eligibility_verified`.
221
+
91
222
  When updating a provider reference, record:
92
223
 
93
224
  ```yaml
@@ -97,7 +228,14 @@ harness_context: exact launching surface
97
228
  catalog_source: tool schema | CLI list | API catalog | UI snapshot
98
229
  models_considered: exact selectors
99
230
  controls_verified: effort, service tier, reasoning mode, context, tools
100
- sources: official docs and relevant benchmarks
231
+ eligibility_verified: retention, access, pricing thresholds, safeguards
232
+ sources: direct locators for official docs and relevant benchmark rows
233
+ claim_provenance: selector, effort, harness, metric, locator, retrieval date
234
+ independent_author: identity and model family
235
+ independent_reviewer: identity and model family
101
236
  incumbent_changes: additions, replacements, removals, or none
102
237
  reason: scheduled review or trigger
238
+ downstream_consumers: mirrors, wrappers, generated views, applications
239
+ downstream_parity: hashes or documented semantic comparison
240
+ unresolved_items: gaps, provisional routes, and deferred probes
103
241
  ```
@@ -12,11 +12,24 @@ Never select from a model family name alone. Preserve these axes separately:
12
12
  - provider-native effort or reasoning selector;
13
13
  - service tier, including fast or priority variants;
14
14
  - reasoning mode when the provider exposes one independently of effort;
15
+ - task class and the reasoning depth the work requires;
16
+ - consequence and the independent-review requirement it creates;
17
+ - reviewer role and the anticipated failure mode that reviewer should catch;
18
+ - eligibility, including selector availability, retention policy, access,
19
+ context, safeguards, and harness-version constraints;
15
20
  - role, context inheritance, authority, deadline, and route.
16
21
 
17
22
  Do not normalize effort labels across providers. `medium`, `high`, `xhigh`,
18
23
  `max`, extended thinking, adaptive thinking, and provider-specific modes have
19
- different semantics. The exact pair or tuple is the route.
24
+ different semantics. Compare same-labelled rungs only as an analysis view
25
+ within a named harness, never as evidence that the labels are equivalent. The
26
+ exact pair or tuple is the route.
27
+
28
+ Task class, effort, consequence, reviewer role, and eligibility are related but
29
+ independent decisions. Reasoning depth determines effort escalation.
30
+ Consequence normally adds independent review, root-owned authorization, or
31
+ stronger verification; it does not automatically force the highest effort.
32
+ Eligibility filters the candidate set before capability or economy is compared.
20
33
 
21
34
  ## Five Task Classes
22
35
 
@@ -59,7 +72,27 @@ the task.
59
72
  adversarial behavior, or expensive failure dominates.
60
73
 
61
74
  Narrow a poorly decomposed task before escalating its model. Model capability
62
- never repairs an over-broad objective.
75
+ never repairs an over-broad objective. A consequential classification does not
76
+ by itself justify top effort; raise effort only when deeper reasoning is also a
77
+ bottleneck.
78
+
79
+ ## Eligibility
80
+
81
+ Eliminate ineligible routes before ranking capability, cost, or speed. Verify:
82
+
83
+ - the exact selector and required effort or thinking control exist in the live
84
+ launching surface;
85
+ - retention, data-handling, authorization, and safeguard behavior permit the
86
+ workload;
87
+ - account access, rate limits, service-tier commitments, and harness version
88
+ permit the route;
89
+ - the context window, long-context quality, and threshold pricing fit the
90
+ input;
91
+ - tool support and fallback behavior are understood and do not silently change
92
+ the selected route.
93
+
94
+ Provider evidence can nominate a candidate. It cannot prove that another
95
+ harness exposes the same selector or control.
63
96
 
64
97
  ## Long Context
65
98
 
@@ -88,9 +121,41 @@ the final answer is short.
88
121
 
89
122
  A fast or priority tier is a latency control unless the provider explicitly
90
123
  documents a capability difference. It does not satisfy a higher task-class
91
- floor. Choose it only when wall-clock latency is worth the price and record it
124
+ floor. Choose it only when measured latency is worth the price and record it
92
125
  separately from the model and effort.
93
126
 
127
+ Speed is a multi-measure contract, not a single throughput number. This section
128
+ defines that contract; other references cite it rather than restating their own
129
+ version.
130
+
131
+ Required in any speed claim:
132
+
133
+ - time to first token;
134
+ - active agent runtime;
135
+ - total user-observed elapsed time;
136
+ - output tokens;
137
+ - steps, turns, or tool calls;
138
+ - completion rate and variance.
139
+
140
+ Time to first token is required, not substitutable. Where a harness cannot
141
+ expose it, record it explicitly as not-reported rather than silently omitting
142
+ it or supplying a different measure in its place; an absent measure and an
143
+ unmeasurable one are different claims.
144
+
145
+ Record additionally when available:
146
+
147
+ - first useful action, which is a complement to time to first token and never
148
+ a replacement for it;
149
+ - output rate;
150
+ - input and cached-input tokens;
151
+ - retries, recoveries, refusals, and operator interventions;
152
+ - service tier, rate limits, and agent-slot occupancy;
153
+ - cost per attempted and completed task.
154
+
155
+ Do not relabel active runtime as total elapsed time, and do not infer latency
156
+ from tokens or steps. Trajectory measures cannot substitute for measured
157
+ latency. Compare list pricing separately from total trajectory cost.
158
+
94
159
  ## Independent Review
95
160
 
96
161
  For high-risk diffs and foundational decisions, prefer an author and reviewer
@@ -98,6 +163,13 @@ from different model families or providers. Agreement is not proof; disagreement
98
163
  is evidence that the root must resolve. The root verifies every load-bearing
99
164
  claim and retains final judgment.
100
165
 
166
+ Choose the reviewer according to the failure mode the reviewer should catch:
167
+ engineering execution, tool trajectory, missing domain concepts, factual
168
+ knowledge, policy interpretation, or adversarial weakness. Named reviewer
169
+ instantiations in provider guidance are dated and provisional unless a relevant
170
+ evaluation qualifies them. Reviewer independence never transfers authorization
171
+ away from the root.
172
+
101
173
  ## Staleness
102
174
 
103
175
  Read `evidence-and-refresh.md` when provider guidance is review-required or
@@ -1,7 +1,7 @@
1
1
  ---
2
- guidance_version: 2026-07-22
3
- last_verified: 2026-07-22
4
- review_after: 2026-09-04
2
+ guidance_version: 2026-07-25
3
+ last_verified: 2026-07-25
4
+ review_after: 2026-09-08
5
5
  ---
6
6
 
7
7
  # Claude Model Selection
@@ -15,12 +15,15 @@ the dated model examples below. Launch mechanics for OAT dispatch live in
15
15
 
16
16
  - `claude-haiku-4-5`: fastest economical class for straightforward,
17
17
  high-volume, mechanically verified work.
18
- - `claude-sonnet-5`: normal workhorse for coding, tool use, knowledge work, and
19
- agentic execution.
20
- - `claude-opus-4-8`: strong complex coding and enterprise route and the
21
- default for hard-reasoning and consequential work.
22
- - `claude-fable-5`: exceptional escalation route for the most difficult
23
- long-running agents, coding, and frontier knowledge work.
18
+ - `claude-opus-5`: normal substantive route and the default for
19
+ interpretation-heavy implementation, hard reasoning, and consequential work.
20
+ - `claude-sonnet-5`: conditional route when measured latency, throughput,
21
+ access, rate limits, or established-workflow economics beat the relevant
22
+ Opus route.
23
+ - `claude-fable-5`: eligibility-gated specialist for a directly relevant
24
+ failure mode, not a universal escalation above Opus.
25
+ - `claude-opus-4-8`: compatibility or documented safeguard fallback, not the
26
+ current general primary.
24
27
 
25
28
  Claude Mythos 5 is invitation-only and intended for approved defensive cyber
26
29
  work. It is not a general routing candidate unless the organization explicitly
@@ -30,52 +33,109 @@ provisions and authorizes it.
30
33
 
31
34
  Never normalize Claude effort against OpenAI or Cursor labels.
32
35
 
33
- - Sonnet 5: high is the default workhorse; medium is the cost-saving step down;
34
- xhigh is for the hardest coding and agentic work; max is exceptional.
35
- - Opus 4.8: start at xhigh for coding and agentic work; use high for other
36
- intelligence-sensitive work; lower only after evaluation.
37
- - Fable 5: start at high; use xhigh for capability-sensitive work; max is
38
- exceptional; medium/low are routine-work controls, not the default economy
39
- substitute for Sonnet.
36
+ - Opus 5: use medium for normal substantive work and high for hard reasoning,
37
+ architecture, ambiguity, and deep review. Use xhigh only when reasoning depth
38
+ is the bottleneck or an evaluated long-horizon workload benefits. Max is
39
+ exceptional and requires a workload-specific effort sweep or an explicit
40
+ quality-first exception.
41
+ - Sonnet 5: use medium or high only when measured latency, throughput, access,
42
+ or workload economics justify the conditional route. Do not preserve xhigh
43
+ or max as generic workhorse settings.
44
+ - Fable 5: use high or xhigh only for a qualified specialist case. Max is
45
+ exceptional; medium or low are not routine economy substitutes for Opus.
40
46
  - Haiku 4.5 does not expose the same adaptive-effort surface. Use only controls
41
47
  present in the live schema.
42
48
 
43
49
  Effort changes tool-call behavior as well as prose. Record it independently.
44
- For Opus 4.8 direct API calls, verify adaptive thinking is enabled as required
45
- by the current API contract. Fable adaptive thinking is always on in the
46
- current API.
50
+ Opus 5 adaptive thinking is on by default; current direct-API behavior rejects
51
+ disabling thinking at xhigh or max. Verify the live schema before launch.
52
+ Changing effort or speed can invalidate prompt caches. Fable adaptive thinking
53
+ is always on in the current API.
47
54
 
48
55
  ## Dated Task-Class Matrix
49
56
 
50
- | Task class | Default | Economy | Escalation | Floor notes |
51
- | ------------------------ | -------------- | ---------------------------------------------------- | -------------------------------------------- | ----------------------------------------------------------------------------------------- |
52
- | `mechanical-recon` | Haiku 4.5 | Same, with strict output and mechanical verification | Sonnet 5 medium | Haiku is below floor for semantic audits and silent-miss-prone exploration. |
53
- | `intelligent-recon` | Sonnet 5 high | Sonnet 5 medium | Sonnet xhigh or Opus 4.8 xhigh | Do not use Sonnet low for coding or open-ended recon. |
54
- | `default-implementation` | Sonnet 5 high | Sonnet 5 medium | Sonnet xhigh or Opus 4.8 xhigh | Fable low/medium is not the routine economy route. |
55
- | `hard-reasoning` | Opus 4.8 xhigh | Sonnet 5 xhigh | Fable 5 xhigh for exceptional escalation | Unresolved ambiguity or exceptional novelty must justify Fable's incremental cost. |
56
- | `consequential` | Opus 4.8 xhigh | No routine economy route | Fable 5 xhigh or max plus independent review | A consequential label alone does not justify Fable; retain root authorization and review. |
57
+ These routes are dated guidance and benchmark-derived routing hypotheses.
58
+ Evaluate them on representative local work before treating fine boundaries as
59
+ stable.
60
+
61
+ | Task class | Default | Economy | Escalation | Floor notes |
62
+ | ------------------------ | ----------------------------------- | ------------------------------------------------------ | --------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
63
+ | `mechanical-recon` | Haiku 4.5 | Same, with strict output and mechanical verification | Opus 5 medium | Haiku is below floor for semantic audits and silent-miss-prone exploration. |
64
+ | `intelligent-recon` | Opus 5 medium | Sonnet 5 medium/high only when its measured route wins | Opus 5 high | Do not use Sonnet low for coding or open-ended recon. |
65
+ | `default-implementation` | Opus 5 medium | Sonnet 5 medium/high for evaluated bounded throughput | Opus 5 high | Fable is not a routine implementation or economy route. |
66
+ | `hard-reasoning` | Opus 5 high | Opus 5 medium only after narrowing and evaluation | Opus 5 xhigh for a reasoning-depth bottleneck | Use max only after a workload-specific effort sweep. |
67
+ | `consequential` | Opus 5 high plus independent review | No routine economy route | Opus 5 xhigh when deeper reasoning is also required | Consequence adds review and root authorization; it does not automatically require xhigh or max. |
57
68
 
58
69
  ## Root and Subagent Cost Posture
59
70
 
60
71
  Preserve strong, low-volume root orchestration. Root calls are
61
72
  coherence-critical and comparatively infrequent, while bounded subagents carry
62
73
  most execution volume. Capture routine savings in higher-volume subagents by
63
- routing mechanical work to Haiku and normal implementation to Sonnet instead
64
- of weakening the root orchestrator.
74
+ routing mechanical work to Haiku and using Sonnet only where a measured
75
+ high-volume route wins instead of weakening the root orchestrator.
65
76
 
66
77
  Opus remains the hard-reasoning and consequential root default. Escalate the
67
78
  root from Opus to Fable only when unresolved ambiguity, exceptional novelty or
68
- consequence, or a directly relevant Fable strength is expected to justify the
69
- incremental cost. A consequential classification by itself is insufficient.
79
+ consequence, or a directly relevant Fable strength exposes a failure mode that
80
+ Fable is expected to catch and eligibility permits it. This named Fable
81
+ instantiation is provisional.
82
+
83
+ A consequential classification by itself is insufficient.
84
+
85
+ ## Conditional and Specialist Routes
86
+
87
+ Sonnet remains available when time to first token, active runtime, total elapsed
88
+ time, throughput, access, rate limits, or end-to-end workload economics win for
89
+ the actual harness. Compare against the relevant Opus effort and service tier,
90
+ not an unrelated maximum-effort latency row. A lower token price alone does not
91
+ prove lower trajectory cost.
92
+
93
+ Choose specialist reviewers by anticipated failure mode. Fable is a
94
+ provisional candidate for latent-knowledge, missing-domain-concept,
95
+ sparse-context, long-horizon, or additional-perspective work. It is unavailable
96
+ where zero data retention is required because the current route requires
97
+ 30-day retention. Provider availability, retention, and controls must be
98
+ verified before selection.
99
+
100
+ ## Eligibility, Retention, and Service Constraints
101
+
102
+ Eligibility filters the candidate set before capability or economy is compared.
103
+ A route that fails one of these gates is unavailable regardless of benchmark
104
+ standing. These are dated facts verified 2026-07-25; reverify against the live
105
+ schema and the organization's actual plan before launch.
106
+
107
+ | Constraint | Opus 5 | Sonnet 5 | Fable 5 | Haiku 4.5 |
108
+ | ------------------- | ---------------------- | ------------- | -------------------------- | ------------- |
109
+ | Zero data retention | eligible | eligible | **unavailable**, needs 30d | eligible |
110
+ | Priority Tier | not supported | not supported | supported | verify live |
111
+ | Fast mode | gated research preview | no | no | no |
112
+ | Long context | 1M at standard rates | 1M standard | 1M standard | verify live |
113
+ | Claude Code minimum | version-gated | version-gated | version-gated | version-gated |
114
+
115
+ - Zero data retention removes Fable from the route set outright. Check the
116
+ retention requirement before selecting a specialist reviewer.
117
+ - Priority Tier commitments are closed to new buyers, so this matters only for
118
+ an existing commitment. Do not infer availability from another Claude family.
119
+ - Fast mode is a gated latency purchase, not a capability rung.
120
+ - Claude 4.6 and later families use their full 1M context windows at standard
121
+ rates. Do not carry a competitor's long-context surcharge model across to
122
+ Claude; the Codex Sol threshold step is a Sol fact, not a general one.
123
+ - Claude Code enforces family-specific minimum versions. Verify the installed
124
+ runtime rather than assuming the catalog entry is launchable.
125
+
126
+ Record service tier independently and apply the multi-measure speed contract
127
+ from `model-selection-principles.md`.
70
128
 
71
129
  ## Cyber-Sensitive Evidence
72
130
 
73
- Fable 5 has a stronger cyber classifier that may flag benign coding and
74
- debugging work. For security review, vulnerability triage, auth boundaries,
75
- permissions, and other dual-use workflows where false-positive blocking would
76
- break the run, Opus 4.8 xhigh remains the operational default. Pair
77
- consequential findings with an independent provider review.
131
+ For security review, vulnerability triage, auth boundaries, permissions, and
132
+ other valid dual-use workflows, start with Opus 5 at the effort warranted by
133
+ reasoning depth and pair consequential findings with an independent provider
134
+ review.
78
135
 
136
+ If a safeguard blocks a valid workflow, record the refusal, preserve the
137
+ authorization boundary, and use a documented compatible fallback. Opus 4.8 is
138
+ the current fallback target where necessary, not the universal cyber primary.
79
139
  Do not infer that a stronger safety classifier is a capability weakness. It is
80
140
  evidence about predictable workflow completion and refusal behavior, not an
81
141
  exception that inverts the general Opus-first policy.
@@ -1,7 +1,7 @@
1
1
  ---
2
- guidance_version: 2026-07-22
3
- last_verified: 2026-07-22
4
- review_after: 2026-09-04
2
+ guidance_version: 2026-07-25
3
+ last_verified: 2026-07-25
4
+ review_after: 2026-09-08
5
5
  ---
6
6
 
7
7
  # Codex and OpenAI Model Selection
@@ -33,24 +33,50 @@ name includes `codex`.
33
33
 
34
34
  ## Dated Task-Class Matrix
35
35
 
36
- | Task class | Default | Economy | Escalation | Floor notes |
37
- | ------------------------ | ----------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | -------------------------------------------------------------- |
38
- | `mechanical-recon` | `gpt-5.6-luna`, `high` | Direct API only: `gpt-5.4-mini` medium; `gpt-5.4-nano` medium for strict extraction/classification | `gpt-5.6-terra`, medium or high | Do not use Luna none/low for broad repository work. |
39
- | `intelligent-recon` | `gpt-5.6-terra`, `high` | Terra `medium` with tight scope and verification | Sol `medium`, then `high` | A silent miss disqualifies Terra none/low. |
40
- | `default-implementation` | `gpt-5.6-sol`, `medium` | Terra `high` for independently bounded, strongly tested work | Sol `high` | Luna is not the normal implementation lead. |
41
- | `hard-reasoning` | `gpt-5.6-sol`, `high` | Sol `medium` only after narrowing the problem | Sol `xhigh` | Do not automatically escalate Terra to xhigh/max; move to Sol. |
42
- | `consequential` | `gpt-5.6-sol`, `xhigh` | No routine economy route | Sol `max`, or a separately evaluated Sol `pro` route | Require independent review and root-owned authorization. |
36
+ | Task class | Default | Economy | Escalation | Floor notes |
37
+ | ------------------------ | ---------------------------------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
38
+ | `mechanical-recon` | `gpt-5.6-luna`, `high` | Direct API only: `gpt-5.4-mini` medium; `gpt-5.4-nano` medium for strict extraction/classification | `gpt-5.6-terra`, medium or high | Do not use Luna none/low for broad repository work. |
39
+ | `intelligent-recon` | `gpt-5.6-terra`, `high` | Terra `medium` with tight scope and verification | Sol `medium`, then `high` | A silent miss disqualifies Terra none/low. |
40
+ | `default-implementation` | `gpt-5.6-sol`, `medium` | Terra `high` for independently bounded, strongly tested work | Sol `high` | Luna is not the normal implementation lead. |
41
+ | `hard-reasoning` | `gpt-5.6-sol`, `high` | Sol `medium` only after narrowing the problem | Sol `xhigh` | Do not automatically escalate Terra to xhigh/max; move to Sol. |
42
+ | `consequential` | `gpt-5.6-sol`, `high`, plus independent review | No routine economy route | Sol `xhigh` when deeper reasoning is required; `max` or a separately evaluated `pro` route only after evaluation | Consequence adds review and root authorization; it does not automatically require xhigh or max. |
43
43
 
44
44
  `reasoning.mode: "pro"` is a separate quality/latency/cost control on GPT-5.6,
45
45
  not a model slug and not an effort label. Record it independently. Evaluate it
46
46
  against max or xhigh on representative consequential work before adopting it.
47
47
 
48
+ The task-class ladder is work-shape based. Sol is the code-first,
49
+ trajectory-efficient route for implementation and hard reasoning; this does
50
+ not establish a provider-independent ranking against interpretation-heavy
51
+ models in other harnesses. Consequential work requires independent review and
52
+ root-owned authorization. It does not automatically force Sol xhigh or max:
53
+ choose effort from reasoning depth, then add the consequence controls.
54
+
48
55
  ## Long-Context Floor
49
56
 
50
57
  For very large context, prefer Sol or Terra. Published GPT-5.6 results show a
51
58
  large Luna retention drop in the 256K-to-1M range. Large context does not change
52
59
  the task class, but it may disqualify Luna, mini, or nano.
53
60
 
61
+ For Sol requests above 272K input tokens, the current direct-API price step is
62
+ 2× input and 1.5× output. Apply the threshold to the whole request and verify
63
+ the live pricing contract before cost-sensitive dispatch. Crossing this
64
+ threshold can change the economical route even when Sol remains the capability
65
+ choice.
66
+
67
+ ## Trajectory Economics
68
+
69
+ Token list price and total trajectory cost are separate. A model with a higher
70
+ output-token price can still cost less per completed task when it uses fewer
71
+ output tokens, steps, tool calls, retries, or recoveries. Conversely, a cheap
72
+ attempt is not economical when completion rate is low or operator intervention
73
+ is high.
74
+
75
+ Evaluate input, cached-input, and output tokens together with the multi-measure
76
+ speed contract from `model-selection-principles.md`. Do not use token price
77
+ alone as a proxy for wall-clock efficiency, and do not infer latency from
78
+ trajectory length without a measured runtime.
79
+
54
80
  ## Tool-Heavy Work
55
81
 
56
82
  Use Programmatic Tool Calling only for bounded processing such as filtering,