@open-agent-toolkit/cli 0.2.19 → 0.2.21
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.
- package/assets/config/dispatch-matrix-recommendation.json +15 -5
- package/assets/docs/cli-utilities/configuration.md +10 -5
- package/assets/docs/contributing/index.md +1 -0
- package/assets/docs/contributing/verifying-cursor-pins.md +282 -0
- package/assets/docs/workflows/projects/artifacts.md +1 -1
- package/assets/docs/workflows/projects/dispatch-ceiling.md +50 -4
- package/assets/docs/workflows/skills/explainer-kit.md +188 -23
- package/assets/docs/workflows/skills/index.md +1 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/explainer-kit/SKILL.md +87 -25
- package/assets/skills/explainer-kit/briefs/deep-dive.md +35 -0
- package/assets/skills/explainer-kit/briefs/engineer-tour.md +45 -0
- package/assets/skills/explainer-kit/briefs/program-recap.md +41 -0
- package/assets/skills/explainer-kit/briefs/project-explainer.md +38 -0
- package/assets/skills/explainer-kit/briefs/project-page.md +38 -0
- package/assets/skills/explainer-kit/briefs/project-recap.md +47 -0
- package/assets/skills/explainer-kit/briefs/supporting-diagram.md +28 -0
- package/assets/skills/explainer-kit/briefs/walkthrough-deck.md +35 -0
- package/assets/skills/explainer-kit/examples/project-recap/content.md +57 -14
- package/assets/skills/explainer-kit/examples/project-recap/fact-base.json +104 -0
- package/assets/skills/explainer-kit/examples/project-recap/fact-base.md +26 -4
- package/assets/skills/explainer-kit/recipes/engineer-tour.json +27 -10
- package/assets/skills/explainer-kit/recipes/program-recap.json +35 -11
- package/assets/skills/explainer-kit/recipes/project-explainer.json +27 -10
- package/assets/skills/explainer-kit/recipes/project-recap.json +43 -11
- package/assets/skills/explainer-kit/references/contracts.md +45 -19
- package/assets/skills/explainer-kit/schemas/author-request.v2.schema.json +41 -0
- package/assets/skills/explainer-kit/schemas/author-result.v2.schema.json +52 -0
- package/assets/skills/explainer-kit/scripts/lib/browser-runtime.mjs +442 -0
- package/assets/skills/explainer-kit/scripts/lib/content-approval.mjs +223 -10
- package/assets/skills/explainer-kit/scripts/lib/contracts.mjs +28 -43
- package/assets/skills/explainer-kit/scripts/lib/diagram.mjs +237 -0
- package/assets/skills/explainer-kit/scripts/lib/html-safety.mjs +680 -0
- package/assets/skills/explainer-kit/scripts/lib/markdown.mjs +414 -0
- package/assets/skills/explainer-kit/scripts/lib/qa.mjs +309 -10
- package/assets/skills/explainer-kit/scripts/lib/recipes.mjs +313 -41
- package/assets/skills/explainer-kit/scripts/lib/records.mjs +61 -0
- package/assets/skills/explainer-kit/scripts/lib/render.mjs +166 -12
- package/assets/skills/explainer-kit/scripts/render-qa.mjs +147 -2
- package/assets/skills/explainer-kit/scripts/run.mjs +796 -272
- package/assets/skills/explainer-kit/templates/deck-shell.html +25 -5
- package/assets/skills/explainer-kit/templates/diagram-shell.html +29 -7
- package/assets/skills/explainer-kit/templates/engineer-tour.html +133 -9
- package/assets/skills/explainer-kit/templates/house-style.html +82 -0
- package/assets/skills/oat-explainer-kit/SKILL.md +16 -9
- package/assets/skills/oat-explainer-kit/references/author-callback.md +51 -0
- package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +10 -8
- package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +14 -0
- package/assets/skills/oat-explainer-kit/scripts/run.mjs +7 -11
- package/assets/skills/oat-project-complete/SKILL.md +18 -2
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +7 -1
- package/assets/skills/oat-wave-execute/SKILL.md +12 -19
- package/assets/skills/oat-wave-program/SKILL.md +12 -13
- package/assets/skills/subagent-orchestration/SKILL.md +1 -1
- package/assets/skills/subagent-orchestration/references/evidence-and-refresh.md +153 -15
- package/assets/skills/subagent-orchestration/references/model-selection-principles.md +75 -3
- package/assets/skills/subagent-orchestration/references/provider-claude.md +95 -35
- package/assets/skills/subagent-orchestration/references/provider-codex.md +36 -10
- package/assets/skills/subagent-orchestration/references/provider-cursor.md +91 -15
- package/dist/providers/cursor/codec/catalog.d.ts +19 -1
- package/dist/providers/cursor/codec/catalog.d.ts.map +1 -1
- package/dist/providers/cursor/codec/catalog.js +54 -0
- package/package.json +2 -2
- package/assets/skills/explainer-kit/schemas/author-request.schema.json +0 -85
- package/assets/skills/explainer-kit/schemas/author-result.schema.json +0 -65
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-implement
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.2.0
|
|
4
4
|
description: Use when plan.md is ready for execution. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases.
|
|
5
5
|
oat_gateable: true
|
|
6
6
|
argument-hint: '[--retry-limit <N>] [--dry-run]'
|
|
@@ -751,7 +751,13 @@ Before generating, inspect the active project's explainer runs. A fresh `project
|
|
|
751
751
|
Resolve recap intent through `oat-explainer-kit`. When `OAT_AUTONOMOUS=1` and no fresh recap exists, attempt `project-recap` exactly once; missing or stale persisted intent cannot suppress this autonomous attempt. Interactive mode honors the adapter's resolved persisted or workflow intent.
|
|
752
752
|
|
|
753
753
|
Invoke the `oat-explainer-kit` adapter first, then run its shared tracked-run finalizer in `dedicated` mode for a successful build. Use the adapter result and finalizer result as returned; do not improvise commits, durability evidence, or reruns. Outcomes `failed` and `built-not-durable` are recorded warnings, never blockers for final HiLL approval, completion reporting, or later PR steps.
|
|
754
|
-
|
|
754
|
+
For an adapter invocation, construct exactly one brief-aware,
|
|
755
|
+
provider-neutral author seam using
|
|
756
|
+
`oat-explainer-kit/references/author-callback.md`. In-process callers pass
|
|
757
|
+
`author`; JSON/CLI callers pass a validated `authorModulePath`. Supply it
|
|
758
|
+
alongside the existing `critic` callback (or validated
|
|
759
|
+
`criticModulePath`), and always invoke this implementation-tail recap with
|
|
760
|
+
`mode: unattended`.
|
|
755
761
|
|
|
756
762
|
Always include the selected or attempted recap's outcome and run path in the
|
|
757
763
|
implementation completion report. If `summary.md` exists, append or refresh its
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-wave-execute
|
|
3
|
-
version: 1.
|
|
3
|
+
version: 1.8.0
|
|
4
4
|
description: Use when executing a wave of external implementation plans as a wrapper OAT project — scaffolding, drift refresh, parallel worktree groups, briefs, gates, merge choreography, and closeout.
|
|
5
5
|
argument-hint: '<wave-id> [plan-names...] (e.g. wave-2 http-listener-before-indexing ...)'
|
|
6
6
|
disable-model-invocation: false
|
|
@@ -411,24 +411,17 @@ exactly:
|
|
|
411
411
|
`schemaVersion, generatedAt, mode, freshnessPolicy, sources, claims, unresolvedClaims, overrides`.
|
|
412
412
|
|
|
413
413
|
The caller also owns CONTENT AUTHORING, exactly as it owns critic execution and
|
|
414
|
-
fact-base synthesis: the kit
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
the author is absent, returns an invalid result, or copies excessive verbatim
|
|
426
|
-
source text. Recap callers MUST satisfy that seam by authoring content from
|
|
427
|
-
the synthesized fact base plus the recipe outline (LLM-authored from
|
|
428
|
-
summary/synthesis material, as the operator-approved W6 rebuild demonstrates)
|
|
429
|
-
or NOT run the unattended build, recording the skip disposition per the
|
|
430
|
-
optional-step rule. Callbacks and module paths never enter the persisted run
|
|
431
|
-
request.
|
|
414
|
+
fact-base synthesis: the kit validates structure and fact consistency, but
|
|
415
|
+
nothing in it owns prose quality. Every recap run requires exactly one
|
|
416
|
+
provider-neutral author seam — in-process callers supply an `author(request)`
|
|
417
|
+
callback; JSON/CLI callers supply `authorModulePath` naming a module with an
|
|
418
|
+
`author` function export. The core invokes it for every floor and accepted
|
|
419
|
+
expansion artifact with `author-request/v2`: the artifact brief is inlined,
|
|
420
|
+
the fact base is attached, and artistic requests include the resolved theme
|
|
421
|
+
and hash-pinned shell. Authors may propose only recipe-declared expansion
|
|
422
|
+
profiles and return `author-result/v2`; runs fail on absent or invalid author
|
|
423
|
+
results or excessive verbatim source copying. Callbacks and module paths never
|
|
424
|
+
enter persisted run requests.
|
|
432
425
|
|
|
433
426
|
The mechanical caller constructs an `explainer-kit.run-request/v1` document whose
|
|
434
427
|
required keys are exactly:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-wave-program
|
|
3
|
-
version: 1.
|
|
3
|
+
version: 1.4.0
|
|
4
4
|
description: Use when decomposing a corpus of external implementation plans into an ordered wave program — coverage inventory, dependency mapping, wave composition, and the durable execution-program artifact that oat-wave-execute consumes and updates.
|
|
5
5
|
argument-hint: '[new|refresh|wave-close <wave-id>] (default: refresh against the current artifact)'
|
|
6
6
|
disable-model-invocation: false
|
|
@@ -136,18 +136,17 @@ required keys are exactly:
|
|
|
136
136
|
`schemaVersion, generatedAt, mode, freshnessPolicy, sources, claims, unresolvedClaims, overrides`.
|
|
137
137
|
|
|
138
138
|
The caller also owns CONTENT AUTHORING, exactly as it owns critic execution and
|
|
139
|
-
fact-base synthesis: the kit
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
optional-step rule.
|
|
139
|
+
fact-base synthesis: the kit validates structure and fact consistency, but
|
|
140
|
+
nothing in it owns prose quality. Every recap run requires exactly one
|
|
141
|
+
provider-neutral author seam — in-process callers supply an `author(request)`
|
|
142
|
+
callback; JSON/CLI callers supply `authorModulePath` naming a module with an
|
|
143
|
+
`author` function export. The core invokes it for every floor and accepted
|
|
144
|
+
expansion artifact with `author-request/v2`: the artifact brief is inlined,
|
|
145
|
+
the fact base is attached, and artistic requests include the resolved theme
|
|
146
|
+
and hash-pinned shell. Authors may propose only recipe-declared expansion
|
|
147
|
+
profiles and return `author-result/v2`; runs fail on absent or invalid author
|
|
148
|
+
results or excessive verbatim source copying. Callbacks and module paths never
|
|
149
|
+
enter persisted run requests.
|
|
151
150
|
|
|
152
151
|
The mechanical caller constructs an `explainer-kit.run-request/v1` document whose
|
|
153
152
|
required keys are exactly:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: subagent-orchestration
|
|
3
|
-
version: 1.0.
|
|
3
|
+
version: 1.0.1
|
|
4
4
|
description: Use when delegating work to subagents or choosing a model for a task — routing by task class, selecting provider-specific models and effort, and verifying subagent claims. Covers OpenAI/Codex, Anthropic/Claude, and Cursor.
|
|
5
5
|
compatibility: Self-contained; no OAT installation required.
|
|
6
6
|
user-invocable: true
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Evidence and Refresh Policy
|
|
2
2
|
|
|
3
3
|
```yaml
|
|
4
|
-
guidance_version: 2026-07-
|
|
5
|
-
last_verified: 2026-07-
|
|
6
|
-
review_after: 2026-09-
|
|
7
|
-
stale_after: 2026-10-
|
|
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-
|
|
21
|
-
stale on 2026-10-
|
|
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
|
-
-
|
|
71
|
-
|
|
72
|
-
|
|
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
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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 2× 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
|
-
|
|
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.
|
|
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
|
|
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-
|
|
3
|
-
last_verified: 2026-07-
|
|
4
|
-
review_after: 2026-09-
|
|
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-
|
|
19
|
-
|
|
20
|
-
- `claude-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
| `
|
|
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
|
|
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
|
|
69
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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.
|