@open-agent-toolkit/cli 0.3.0 → 0.3.2

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 (76) hide show
  1. package/assets/agents/oat-reviewer.md +10 -3
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/config/dispatch-matrix-recommendation.json +63 -43
  4. package/assets/docs/cli-utilities/configuration.md +20 -8
  5. package/assets/docs/cli-utilities/workflow-gates.md +1 -1
  6. package/assets/docs/contributing/index.md +1 -0
  7. package/assets/docs/contributing/updating-model-guidance.md +106 -0
  8. package/assets/docs/contributing/verifying-cursor-pins.md +30 -18
  9. package/assets/docs/provider-sync/providers.md +5 -2
  10. package/assets/docs/reference/cli-reference.md +1 -1
  11. package/assets/docs/reference/oat-directory-structure.md +1 -1
  12. package/assets/docs/workflows/projects/artifacts.md +1 -1
  13. package/assets/docs/workflows/projects/dispatch-ceiling.md +67 -50
  14. package/assets/docs/workflows/projects/evidence-layers.md +6 -2
  15. package/assets/docs/workflows/projects/implementation-execution.md +9 -4
  16. package/assets/docs/workflows/projects/lifecycle.md +8 -6
  17. package/assets/docs/workflows/projects/programmatic-execution.md +4 -3
  18. package/assets/public-package-versions.json +4 -4
  19. package/assets/skills/oat-dispatch-subagents/SKILL.md +1 -1
  20. package/assets/skills/oat-dispatch-subagents/references/provider-claude.md +20 -7
  21. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +4 -4
  22. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +4 -4
  23. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  24. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +2 -0
  25. package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +82 -25
  26. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +4 -4
  27. package/assets/skills/oat-project-implement/references/phase-execution.md +16 -8
  28. package/assets/skills/oat-project-import-plan/SKILL.md +7 -4
  29. package/assets/skills/oat-project-lite/SKILL.md +5 -3
  30. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +4 -4
  31. package/assets/skills/oat-project-plan/SKILL.md +7 -4
  32. package/assets/skills/oat-project-plan-writing/SKILL.md +28 -16
  33. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +4 -4
  34. package/assets/skills/oat-project-quick-start/SKILL.md +7 -4
  35. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +4 -4
  36. package/assets/skills/oat-project-review-provide/SKILL.md +7 -4
  37. package/assets/skills/subagent-orchestration/SKILL.md +1 -1
  38. package/assets/skills/subagent-orchestration/references/evidence-and-refresh.md +30 -29
  39. package/assets/skills/subagent-orchestration/references/provider-claude.md +41 -36
  40. package/assets/skills/subagent-orchestration/references/provider-codex.md +30 -35
  41. package/assets/skills/subagent-orchestration/references/provider-cursor.md +46 -38
  42. package/assets/templates/plan.md +5 -5
  43. package/dist/commands/gate/review-verdict.d.ts.map +1 -1
  44. package/dist/commands/gate/review-verdict.js +23 -1
  45. package/dist/commands/project/dispatch/record.d.ts.map +1 -1
  46. package/dist/commands/project/dispatch/record.js +27 -5
  47. package/dist/commands/project/dispatch-ceiling/index.d.ts.map +1 -1
  48. package/dist/commands/project/dispatch-ceiling/index.js +112 -35
  49. package/dist/config/dispatch-matrix.d.ts.map +1 -1
  50. package/dist/config/dispatch-matrix.js +13 -0
  51. package/dist/providers/ceiling/registry.d.ts +7 -2
  52. package/dist/providers/ceiling/registry.d.ts.map +1 -1
  53. package/dist/providers/ceiling/registry.js +35 -11
  54. package/dist/providers/claude/codec/materialize.d.ts +33 -0
  55. package/dist/providers/claude/codec/materialize.d.ts.map +1 -0
  56. package/dist/providers/claude/codec/materialize.js +149 -0
  57. package/dist/providers/claude/codec/sync-extension.d.ts +24 -0
  58. package/dist/providers/claude/codec/sync-extension.d.ts.map +1 -0
  59. package/dist/providers/claude/codec/sync-extension.js +312 -0
  60. package/dist/providers/claude/dispatch-envelope.d.ts +34 -0
  61. package/dist/providers/claude/dispatch-envelope.d.ts.map +1 -0
  62. package/dist/providers/claude/dispatch-envelope.js +233 -0
  63. package/dist/providers/claude/targets.d.ts +48 -0
  64. package/dist/providers/claude/targets.d.ts.map +1 -0
  65. package/dist/providers/claude/targets.js +228 -0
  66. package/dist/providers/codex/codec/shared.d.ts +6 -0
  67. package/dist/providers/codex/codec/shared.d.ts.map +1 -1
  68. package/dist/providers/codex/codec/shared.js +8 -0
  69. package/dist/providers/cursor/codec/catalog.d.ts.map +1 -1
  70. package/dist/providers/cursor/codec/catalog.js +47 -45
  71. package/dist/providers/identity/claude-runtime-observation.fixtures.d.ts +35 -0
  72. package/dist/providers/identity/claude-runtime-observation.fixtures.d.ts.map +1 -1
  73. package/dist/providers/identity/claude-runtime-observation.fixtures.js +225 -12
  74. package/dist/providers/shared/registry.d.ts.map +1 -1
  75. package/dist/providers/shared/registry.js +5 -2
  76. package/package.json +2 -2
@@ -80,20 +80,16 @@ To pick up a new version, compare your
80
80
  `workflow.dispatchCeiling.recommendationVersion` against the bundled version,
81
81
  then either edit the affected cells by hand or clear them and re-adopt.
82
82
 
83
- Version `2026-07-27.1` is a live example. It interleaves the Cursor `high` and
84
- `frontier` tiers so each alternates a GPT rung with a Claude rung, ending `high`
85
- at `gpt-5.6-sol-high` and `frontier` at `claude-fable-5-thinking-high`. It also
86
- drops `claude-opus-5-thinking-max` and `claude-fable-5-thinking-xhigh` from
87
- `frontier`. Dropping the Opus max rung follows the non-monotonic top-end Opus
88
- evidence recorded in `subagent-orchestration/references/evidence-and-refresh.md`,
89
- which treats max as a route requiring justification rather than a strictly
90
- better rung. Dropping the Fable xhigh rung is a recommendation judgment rather
91
- than a measured finding: `subagent-orchestration/references/provider-claude.md`
92
- permits either Fable rung for a qualified specialist case, and this ladder takes
93
- the cheaper one absent a comparison favoring xhigh. The evidence record above
94
- does not compare the two rungs. Both models remain in the pin catalog and stay
95
- available to a hand-edited ladder. An adopter still on the prior version keeps their existing
96
- Cursor tiers untouched until they take one of the actions above.
83
+ Version `2026-09-23.2` is the current bundled recommendation. It prefers
84
+ GPT-6 Luna and Sol in Codex and Opus 5.5 low/medium/high in Claude High.
85
+ The Claude low option suits bounded intelligent recon in Balanced or High;
86
+ medium remains the implementation starting point under High. GPT-5.6 targets remain
87
+ supported for explicit Codex and Cursor configurations. Cursor's preferred
88
+ ladder uses existing verified GPT-5.6, Grok, Composer, and Fable mappings;
89
+ Cursor Opus 5.5 now has five approved desktop mappings, but the bundled
90
+ Cursor preference order remains unchanged. Rerunning adoption preserves any
91
+ explicit older cell unchanged. For the complete maintenance
92
+ procedure, see [Updating Model Guidance](../../contributing/updating-model-guidance.md).
97
93
 
98
94
  The terminal Fable target may require model access from the executing provider.
99
95
  The adopting organization is responsible for confirming its applicable
@@ -171,17 +167,17 @@ An ordered candidate cell uses `candidates`:
171
167
  "candidates": [
172
168
  {
173
169
  "harness": "codex",
174
- "model": "gpt-5.6-terra",
170
+ "model": "gpt-6-luna",
175
171
  "effort": "low"
176
172
  },
177
173
  {
178
174
  "harness": "codex",
179
- "model": "gpt-5.6-terra",
175
+ "model": "gpt-6-luna",
180
176
  "effort": "medium"
181
177
  },
182
178
  {
183
179
  "harness": "codex",
184
- "model": "gpt-5.6-terra",
180
+ "model": "gpt-6-luna",
185
181
  "effort": "high"
186
182
  }
187
183
  ]
@@ -192,11 +188,7 @@ An ordered candidate cell uses `candidates`:
192
188
  },
193
189
  "cursor": {
194
190
  "balanced": {
195
- "candidates": [
196
- "gpt-5.6-terra-low",
197
- "gpt-5.6-terra-medium",
198
- "gpt-5.6-terra-high"
199
- ]
191
+ "candidates": ["gpt-5.6-terra-high"]
200
192
  }
201
193
  }
202
194
  }
@@ -239,22 +231,18 @@ oat_dispatch_policy:
239
231
 
240
232
  ## Complete Bundled Recommendation
241
233
 
242
- The bundled ladder contains every supported candidate, not only the final
243
- candidate in each tier:
244
-
245
- - **Codex:** Luna at `low`, `medium`, `high`, and `xhigh`; Terra at `low`,
246
- `medium`, `high`, and `xhigh`; Sol at `low`, `medium`, `high`, `xhigh`, and
247
- `max`.
248
- - **Claude:** `haiku`, `sonnet`, `opus`, and `fable` across the ordered named
249
- tiers.
250
- - **Cursor:** verified multi-family flat IDs across Composer, Claude (Sonnet,
251
- Opus, and Fable), GPT, and Grok. Two counts apply and they differ: the
252
- bundled recommendation carries 14 Cursor candidates across the four tiers,
253
- while the materialization catalogue carries 18 flat IDs. The four extra
254
- entries are approved mappings deliberately kept out of the recommendation but
255
- still materializable. The catalogue maps each flat ladder ID to a separate
256
- bracket-form frontmatter model; OAT does not derive or normalize either
257
- value.
234
+ The bundled ladder is a curated subset of the supported targets:
235
+
236
+ - **Codex:** GPT-6 Luna at `low` through `max` across Economy and Balanced;
237
+ GPT-6 Sol at `low` through `max` across High and Frontier. GPT-5.6
238
+ variants remain available outside this preferred ladder.
239
+ - **Claude:** `haiku` and Sonnet 5 at Economy/Balanced, Opus 5.5 at High and
240
+ Frontier, and Fable 5.1 at Frontier.
241
+ - **Cursor:** the preferred ladder uses approved Composer 2.5, GPT-5.6, Grok
242
+ 4.5, and Fable 5 targets. The catalogue maps each flat ladder ID to its
243
+ separately verified bracket-form frontmatter model. Opus 5.5 has five
244
+ approved effort mappings from a [native desktop probe](../../contributing/verifying-cursor-pins.md);
245
+ they are available for explicit selection outside the bundled preference.
258
246
 
259
247
  The final candidate in a named tier defines that tier's reviewer ceiling. Lower
260
248
  reviewer selection requires a separate reviewed contract; a normal reviewer
@@ -290,12 +278,13 @@ oat project dispatch-ceiling resolve \
290
278
  --report-action implementation \
291
279
  --json
292
280
 
293
- # Claude: exact model argument
281
+ # Claude: exact model and effort candidate
294
282
  oat project dispatch-ceiling resolve \
295
283
  --provider claude \
296
284
  --role implementer \
297
285
  --ceiling-tier high \
298
- --candidate-model sonnet \
286
+ --candidate-model claude-opus-5-5 \
287
+ --candidate-effort medium \
299
288
  --task-class default-implementation \
300
289
  --report-scope p02 \
301
290
  --report-action implementation \
@@ -342,23 +331,51 @@ candidate before launch even though the command retains exit code `0`.
342
331
  Implementer and fix resolution has two mutually exclusive selection branches:
343
332
 
344
333
  - **Preferred selection:** pass `--preferred` for legacy scalar ceilings or
345
- managed `Uncapped` compatibility. Do not include `--candidate-model` or
346
- `--candidate-effort`.
334
+ managed `Uncapped` model-only compatibility. Do not include
335
+ `--candidate-model` or `--candidate-effort`.
347
336
  - **Exact-candidate selection:** pass `--candidate-model` and, where applicable,
348
- `--candidate-effort` for a managed capped phase or fix. Do not include
349
- `--preferred`.
337
+ `--candidate-effort` for a managed capped phase or fix, or for managed
338
+ `Uncapped` with an explicit model/effort choice. Do not include `--preferred`.
350
339
 
351
340
  Never combine the branches in one resolver invocation. The exact-candidate
352
341
  branch replaces, rather than supplements, preferred selection.
353
342
 
343
+ ### Claude effort capability evidence
344
+
345
+ An effort-pinned Claude candidate must establish the exact generation and that
346
+ generation's supported effort. Current directly recognized generations include
347
+ `claude-fable-5-1`, `claude-fable-5`, `claude-opus-5-5`, `claude-sonnet-5`,
348
+ `claude-opus-4-7`, `claude-opus-4-6`, and `claude-sonnet-4-6`.
349
+ Opus 5.5 supports `low`, `medium`, `high`, `xhigh`, and `max`; consult the
350
+ [updating guide](../../contributing/updating-model-guidance.md) before adding
351
+ further generations or rungs. Retired Opus 5.0 and 4.8 are no longer directly
352
+ recognized for effort-pinned dispatch.
353
+
354
+ A family alias can also establish capability through its matching
355
+ `ANTHROPIC_DEFAULT_<FAMILY>_MODEL` pin. A recognized versioned model ID in that
356
+ pin supplies generation evidence. A custom provider model ID additionally
357
+ requires the matching `<PIN>_SUPPORTED_CAPABILITIES` declaration: `effort`
358
+ enables `low`, `medium`, and `high`, while `xhigh_effort` and `max_effort` add
359
+ those respective rungs. When a declaration is present, it is authoritative and
360
+ must include `effort`; it cannot claim a different family.
361
+
362
+ `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` takes precedence over family pins, so an
363
+ effort-pinned bare alias fails closed under host-managed routing. A bare alias
364
+ without a usable pin also fails closed because provider routing,
365
+ `availableModels`, or organization policy can substitute another generation.
366
+ Use a recognized versioned model ID when the host owns routing. Model-only
367
+ aliases remain compatible through the Agent API's per-call model argument. They
368
+ report the per-call effort axis as `not-applicable` because that API has no
369
+ per-call effort argument; this does not claim that Claude itself lacks effort.
370
+
354
371
  ## Provider Enforcement
355
372
 
356
- | Provider | Exact phase-agent or optional-child invocation | Failure behavior |
357
- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
358
- | Codex | Use `providers.codex.dispatchArgs.variant` as `agent_type`; otherwise launch a fresh child pinned to the returned model and effort | Block if neither exact route is usable |
359
- | Claude | Pass `providers.claude.dispatchArgs.model` as the actual Task `model` | Block if the model cannot be applied |
360
- | Cursor | Launch `providers.cursor.dispatchArgs.variant` as the exact native agent type first | Block rather than normalize or substitute |
361
- | Other | Use a registered provider adapter when it can compile exact controls | Unsupported providers remain advisory |
373
+ | Provider | Exact phase-agent or optional-child invocation | Failure behavior |
374
+ | -------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
375
+ | Codex | Use `providers.codex.dispatchArgs.variant` as `agent_type`; otherwise launch a fresh child pinned to the returned model and effort | Block if neither exact route is usable |
376
+ | Claude | Launch `providers.claude.dispatchArgs.variant` for effort-pinned targets; pass the exact model for legacy targets | Block if the exact target cannot be applied |
377
+ | Cursor | Launch `providers.cursor.dispatchArgs.variant` as the exact native agent type first | Block rather than normalize or substitute |
378
+ | Other | Use a registered provider adapter when it can compile exact controls | Unsupported providers remain advisory |
362
379
 
363
380
  Materialized Codex and Cursor roles exist before phase dispatch after
364
381
  project/user sync. Cursor definitions carry `supported-catalogue`,
@@ -79,8 +79,12 @@ For project-aware work, the calling workflow records each launch in its run
79
79
  record in `implementation.md` (request ID, `Dispatch:` stamp, launch status,
80
80
  terminal outcome). Persisting one generic record per request under the
81
81
  project's `dispatch/` directory with `oat project dispatch record` is optional
82
- and off by default; no lifecycle skill or command consumes those files. When a
83
- host opts in, the generic snake-case fields remain authoritative. A namespaced `oat` block adds
82
+ and off by default; no lifecycle skill or command consumes those files. Managed
83
+ effort-pinned Claude launches still pass the real resolver result, generated
84
+ definition, and proposed payload through the command without `--project`
85
+ before launch. That validation-only call derives the configured invocation and
86
+ does not persist a journal file. When a host opts in, the generic snake-case
87
+ fields remain authoritative. A namespaced `oat` block adds
84
88
  only canonical-role identity, proven pre-start rejection, fallback linkage,
85
89
  and optional runtime observation. `DispatchReportV1` and the parseable
86
90
  `Dispatch:` compatibility stamp keep their existing byte shape.
@@ -76,7 +76,11 @@ Before a native launch, the root constructs and redacts the complete generic
76
76
  dispatch record and OAT role event. When the host returns, it writes the
77
77
  request ID, the `Dispatch:` stamp, and the accepted or `blocked-before-start`
78
78
  result into the run record in `implementation.md`; persisting a per-dispatch
79
- file with `oat project dispatch record` is optional and off by default. An accepted launch closes
79
+ file with `oat project dispatch record` is optional and off by default. Before
80
+ an effort-pinned managed Claude launch, the root must still run that command
81
+ without `--project` as a validation-only boundary. It supplies the real
82
+ resolver result, generated definition, and proposed launch payload, and launches
83
+ only the payload returned by the accepted envelope. An accepted launch closes
80
84
  replacement. Only an explicit rejection proving no child started permits one
81
85
  fresh request that preserves the exact target and controls and is labeled as
82
86
  an approximation. Timeout, `BLOCKED`, refusal after acceptance, runtime
@@ -367,9 +371,10 @@ Optional nested work also resolves an exact bounded target. If no nested work is
367
371
  needed, OAT does not probe or require third-tier capacity.
368
372
 
369
373
  Provider controls remain exact: Codex uses
370
- `providers.codex.dispatchArgs.variant`, Claude uses
371
- `providers.claude.dispatchArgs.model`, and Cursor uses
372
- `providers.cursor.dispatchArgs.variant`. Cursor launches that exact
374
+ `providers.codex.dispatchArgs.variant`; Claude uses the generated
375
+ `providers.claude.dispatchArgs.variant` for an effort-pinned target and
376
+ `providers.claude.dispatchArgs.model` only for a legacy model-only target; and
377
+ Cursor uses `providers.cursor.dispatchArgs.variant`. Cursor launches that exact
373
378
  resolver-selected native agent type first; the flat ID and bracket-form pin
374
379
  remain inside the explicit mapping and are never normalized by workflow prose.
375
380
  The launcher records this selection as `configured`, while runtime identity
@@ -284,12 +284,14 @@ through the import-plan lane.
284
284
 
285
285
  A concrete managed reviewer remains bound across both tiers. Codex uses the
286
286
  exact registered role or a child pinned to the resolved model and effort;
287
- Claude passes the exact resolver-returned `dispatchArgs.model`; Cursor launches
288
- the exact `providers.cursor.dispatchArgs.variant` native reviewer variant.
289
- Retries preserve that complete target. Tier 2 does not authorize a target
290
- downgrade. Inline review is allowed only with verified equivalent host
291
- controls, or for explicit inherit/default behavior or the documented
292
- managed-uncapped reviewer base-role exception; otherwise the review blocks.
287
+ Claude launches the exact generated `providers.claude.dispatchArgs.variant`
288
+ for an effort-pinned target and passes `providers.claude.dispatchArgs.model`
289
+ only for a legacy model-only target; Cursor launches the exact
290
+ `providers.cursor.dispatchArgs.variant` native reviewer variant. Retries
291
+ preserve that complete target. Tier 2 does not authorize a target downgrade.
292
+ Inline review is allowed only with verified equivalent host controls, or for
293
+ explicit inherit/default behavior or the documented managed-uncapped reviewer
294
+ base-role exception; otherwise the review blocks.
293
295
 
294
296
  Within either tier, parallelism is expressed as plan metadata:
295
297
 
@@ -37,7 +37,7 @@ volatile, so never hard-code a model name as a durable fact.
37
37
  | Harness | Verified headless shape | Controllable axes | Caveats |
38
38
  | ---------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
39
39
  | Codex | `codex exec --ephemeral --sandbox read-only --model '<model>' -c 'model_reasoning_effort="<effort>"' '<prompt>'` | agent type, model + reasoning effort, service tier, forked context, max nesting depth, sandbox + scoped writable roots | Model and effort are separate configured axes; native nesting grants no filesystem authority |
40
- | Claude | `claude -p --model '<model-alias-or-id>' '<prompt>'` | agent type, model (alias or full ID), CLI effort when exposed | No effort axis on the native Agent surface — record it as `not-exposed`, not `not-applicable` |
40
+ | Claude | `claude -p --model '<model-alias-or-id>' '<prompt>'` | generated agent variant with model + effort frontmatter; legacy model argument; CLI effort when exposed | Agent has no per-call effort field; managed effort is definition-bound |
41
41
  | Cursor CLI | `cursor-agent --trust --print --model '<exact-opaque-model>' '<prompt>'` | opaque model selector from the account catalog | Opaque strings pass byte-for-byte; distinct flavor from Cursor IDE — do not infer one from the other |
42
42
  | Cursor IDE | (native session; no headless CLI shape) | native Task/Subagent schema, UI role configuration | Any CLI task dispatch from an IDE root is a recorded pre-start selection |
43
43
 
@@ -50,8 +50,9 @@ Notes per harness:
50
50
  effort, sandbox, and route as configured-invocation evidence; a successful
51
51
  process alone does not prove runtime identity.
52
52
  - **Claude** has three native control surfaces — the native Agent tool (agent
53
- type plus optional model), agent-definition frontmatter (default model), and
54
- `claude -p` (alias or full model ID plus CLI effort). Model resolution follows
53
+ type plus optional matching model), agent-definition frontmatter (model and
54
+ effort), and `claude -p` (alias or full model ID plus CLI effort). Managed
55
+ OAT effort targets launch the exact generated definition. Model resolution follows
55
56
  explicit-call model > agent-definition model > parent/session inheritance.
56
57
  Never omit a worker model unless inheritance is the recorded policy.
57
58
  - **Cursor** keeps three control surfaces that must not be conflated: the native
@@ -1,6 +1,6 @@
1
1
  {
2
- "cli": "0.3.0",
3
- "docs-config": "0.3.0",
4
- "docs-theme": "0.3.0",
5
- "docs-transforms": "0.3.0"
2
+ "cli": "0.3.2",
3
+ "docs-config": "0.3.2",
4
+ "docs-theme": "0.3.2",
5
+ "docs-transforms": "0.3.2"
6
6
  }
@@ -5,7 +5,7 @@ disable-model-invocation: true
5
5
  user-invocable: false
6
6
  allowed-tools: Read
7
7
  metadata:
8
- version: 1.2.8
8
+ version: 1.2.9
9
9
  ---
10
10
 
11
11
  # Dispatching OAT Subagents
@@ -8,16 +8,18 @@ policy for this provider lives in
8
8
 
9
9
  | Surface | Controls | Qualification |
10
10
  | ----------------- | ------------------------------------------ | ------------------------------------------------------ |
11
- | Native agent tool | Agent type plus optional model | Effort may not be exposed on this surface. |
12
- | Agent definition | Default model in frontmatter | Between explicit call selection and inheritance. |
11
+ | Native agent tool | Agent type plus optional matching model | Effort has no per-call Agent field. |
12
+ | Agent definition | Default model and effort in frontmatter | Managed effort targets use generated named variants. |
13
13
  | Workflow agent | Agent type, model, and effort when exposed | Use only controls present in the live schema. |
14
14
  | `claude -p` | Alias or full model ID plus CLI effort | Verify current CLI help before constructing a route. |
15
15
  | Continuation | Existing child handle through message send | Preserves context; a new launch creates another child. |
16
16
 
17
17
  Native model resolution commonly follows explicit call model, agent-definition
18
18
  model, then parent/session inheritance. Treat omission as a deliberate
19
- inheritance selection. Never omit a worker model when inheritance is not the
20
- recorded policy.
19
+ inheritance selection. For a managed model-plus-effort target, launch the exact
20
+ resolver-returned generated variant. Any per-call model must match that
21
+ variant's definition; there is no per-call Agent effort argument. Never omit a
22
+ worker target when inheritance is not the recorded policy.
21
23
 
22
24
  ## Native Topology
23
25
 
@@ -56,10 +58,21 @@ prohibited. Record the exact selector and `floor_satisfaction`.
56
58
  ## Surface-Aware Selection
57
59
 
58
60
  - Select an exact accepted alias from the native enum for native dispatch.
59
- - Select a CLI route before launch when a full model ID or explicit effort is
60
- required and native controls cannot express it.
61
+ - Select the exact generated agent variant before launch when managed effort is
62
+ required. Effort-pinned targets must use a recognized versioned model ID or a
63
+ family alias whose matching `ANTHROPIC_DEFAULT_<FAMILY>_MODEL` pin establishes
64
+ capability. A custom pin requires matching `<PIN>_SUPPORTED_CAPABILITIES`;
65
+ `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` takes precedence, so bare aliases fail
66
+ closed when their generation cannot be proven. A CLI route remains available
67
+ only when the selected target cannot be expressed by native dispatch and the
68
+ caller's fallback contract permits it.
61
69
  - Record selector granularity such as `tier-alias` or `exact-model-id`.
62
- - Record native effort as `not-exposed`, not globally `not-applicable`.
70
+ - Record generated-definition effort as `selected:<effort>`. Use `not-exposed`
71
+ only for an unpinned native surface whose active schema cannot report effort;
72
+ do not turn that observation into a global `not-applicable` claim.
73
+ - Legacy model-only aliases remain compatible through the per-call model
74
+ argument. Their per-call effort axis is `not-applicable` because Agent exposes
75
+ no per-call effort argument; this does not claim that Claude lacks effort.
63
76
  - Record service tier separately; fast Claude routes are latency purchases.
64
77
  - Keep acceptance, outcome, runtime identity, and continuation separate.
65
78
  - Record the provider-guidance version and freshness state.
@@ -253,7 +253,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
253
253
  | `oat-project-import-plan/SKILL.md` | `f7ca8635452f -> NG`; `c2e5fa410069 -> NG`; `655d61df0a8f -> NG`; `dceff5cc04b5 -> NG`; `1af4957a1af2 -> IMPORT-01`; `45b699c1c0b5 -> IMPORT-01`; `ba6d120791c1 -> IMPORT-01`; `070ebc5259af -> IMPORT-03`; `c11552696e2e -> IMPORT-03`; `cfe661966baf -> IMPORT-04`; `baa91c0a0bf8 -> NG`; `e364e84b2702 -> NG`; `39031985a945 -> IMPORT-06`; `f106aa29a217 -> IMPORT-07`; `65038450aee3 -> IMPORT-07`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> IMPORT-09`; `30aa74677c8d -> IMPORT-03`; `430c2bc030a6 -> IMPORT-03`; `93522f67da52 -> NG` |
254
254
  | `oat-project-implement/SKILL.md` | `18980f6bc1a6 -> NG`; `e0355c7a05e9 -> IMPLEMENT-11+IMPLEMENT-13+IMPLEMENT-16`; `6296f41ae11c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> IMPLEMENT-01`; `8ce8a09feca4 -> NG`; `bd0cb4988188 -> NG`; `28af4ee0055d -> NG` |
255
255
  | `oat-project-implement/references/completion-and-closeout.md` | `87f1424a8692 -> NG`; `6b1ec05182f0 -> IMPLEMENT-11`; `e6d696a27c91 -> NG`; `c77f8ccb52ad -> NG`; `48de2614c0ba -> IMPLEMENT-11`; `32d53f5212e5 -> IMPLEMENT-11`; `7cdb4a9c57b7 -> IMPLEMENT-11`; `16ffc0aa099b -> IMPLEMENT-11`; `d6868ea10b3f -> IMPLEMENT-11`; `4f05ff5567be -> IMPLEMENT-11`; `c70b47ae7a6d -> IMPLEMENT-11`; `5fafd093b58e -> NG`; `21ceaf7e658a -> NG`; `249427a9f475 -> NG`; `8a7ec13a9b7c -> NG`; `9aeb7fce2012 -> IMPLEMENT-18`; `f11a7cdda220 -> IMPLEMENT-18`; `4523ac029152 -> NG`; `6e87b08c4046 -> NG`; `baa6052c7f0a -> IMPLEMENT-18`; `27d3fad116b1 -> IMPLEMENT-18`; `2cfbeb4388a5 -> IMPLEMENT-18`; `c56ea56a56db -> NG`; `43e2e3c1380d -> IMPLEMENT-17`; `b49690277fb5 -> NG`; `df12304d6a36 -> NG`; `52eacac11fef -> IMPLEMENT-17`; `60092df6b17b -> IMPLEMENT-17`; `361872c6b00e -> IMPLEMENT-17`; `d2bc711a75fb -> IMPLEMENT-17`; `9889538f6212 -> NG`; `58add7778cef -> NG`; `3984cd158ca8 -> NG`; `64a638393159 -> NG`; `ecdaaf6c76fa -> NG`; `96e01b7c0713 -> NG`; `79806948373a -> NG`; `82701dfaf962 -> NG`; `b1c7b8299bf7 -> IMPLEMENT-13+IMPLEMENT-15`; `352caf79e5cb -> IMPLEMENT-13+IMPLEMENT-15`; `6792dd0068a7 -> IMPLEMENT-13+IMPLEMENT-15`; `91f4ebf1704c -> IMPLEMENT-13+IMPLEMENT-15`; `1119540c90cd -> IMPLEMENT-13+IMPLEMENT-15`; `13e6d608682c -> IMPLEMENT-15`; `9fc3aa86e096 -> IMPLEMENT-13+IMPLEMENT-15`; `b44bd8f4fe7e -> NG`; `d62f3ae68677 -> NG`; `4133bca9bd9f -> IMPLEMENT-12`; `f6f87d97896b -> IMPLEMENT-14`; `9d066a59d00a -> IMPLEMENT-14`; `abd7a8d8fc89 -> IMPLEMENT-14`; `a2199f9dafee -> IMPLEMENT-14`; `fcef83b91326 -> NG`; `e2df750966f5 -> IMPLEMENT-13+IMPLEMENT-15`; `2b714060ccae -> IMPLEMENT-13+IMPLEMENT-15`; `708e8e6d33ac -> IMPLEMENT-15`; `f81e67549c28 -> IMPLEMENT-13+IMPLEMENT-15`; `8980233e250d -> NG`; `713729395d08 -> IMPLEMENT-13`; `671f3622cd05 -> IMPLEMENT-13`; `19c38f351f3e -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `b552eeb1fa37 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `24de52a2e140 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `18071a1287a9 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `318989f76cd7 -> IMPLEMENT-16`; `50c9170a3fc8 -> NG`; `8af4d1f8c32c -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f47aefb3a3cc -> IMPLEMENT-16`; `7c7bcd0381cb -> NG`; `4808cd2e14d6 -> NG`; `906d7d8628af -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `c7221ba40303 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `05eaa2d6f58f -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `acf05140d8f3 -> IMPLEMENT-19`; `6d68053180a0 -> NG`; `1128ae7838f5 -> IMPLEMENT-19`; `2b3e427b5fc0 -> IMPLEMENT-19`; `9fdeb38897a2 -> IMPLEMENT-13+IMPLEMENT-15`; `4f1c82e4bef8 -> IMPLEMENT-13+IMPLEMENT-15`; `d74b5b3c4ad3 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `85b8fae4aa24 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `912923a29ecf -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `c9707e20ad4a -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `8108196d68a5 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `ad9d8e0114a6 -> IMPLEMENT-16`; `e6ef8cdc8986 -> IMPLEMENT-16`; `d3891824ecfa -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `045d486db046 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `7f3891ba6f9d -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `2db46931ac00 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `aaaf9a6d018a -> IMPLEMENT-16`; `5198341f296c -> IMPLEMENT-16`; `4443b0d16d43 -> IMPLEMENT-16`; `76511502e95b -> IMPLEMENT-16`; `585a1f4575a1 -> IMPLEMENT-16`; `7dc4e4afca1e -> IMPLEMENT-16`; `0d3f1d6038fd -> IMPLEMENT-16`; `e3dfc24fbed6 -> IMPLEMENT-16`; `f19c8013230c -> IMPLEMENT-16`; `ba83e7ce6aed -> IMPLEMENT-16`; `4e4c5485b755 -> IMPLEMENT-16`; `cc8e7e01f30c -> IMPLEMENT-17`; `a13b8adde5da -> IMPLEMENT-17` |
256
- | `oat-project-implement/references/dispatch-and-dry-run.md` | `21b85f5e4daa -> IMPLEMENT-08`; `74c92b32bb2a -> IMPLEMENT-08`; `8efd2d0517ab -> IMPLEMENT-09`; `461ed9b3e495 -> IMPLEMENT-09`; `b5ad64fd744d -> NG`; `14ce436cfffa -> NG`; `043ca36da3e2 -> NG`; `a23e45c1dc8d -> NG`; `498143bb41a7 -> NG`; `4fe3eb179023 -> NG`; `7f75485e5a33 -> NG`; `8ec3a96df029 -> NG`; `16c3f96e758d -> NG`; `5915c41fe058 -> NG`; `f51e43eeac56 -> NG`; `fd41c25623cb -> NG`; `58a932ed6453 -> NG`; `4718bd3ce12d -> NG`; `58c444a2126b -> NG`; `2df3adae4120 -> NG`; `e75df892b55c -> NG`; `8ba5dbd2a0d8 -> NG`; `4d6c519131e5 -> NG` |
256
+ | `oat-project-implement/references/dispatch-and-dry-run.md` | `21b85f5e4daa -> IMPLEMENT-08`; `74c92b32bb2a -> IMPLEMENT-08`; `8efd2d0517ab -> IMPLEMENT-09`; `461ed9b3e495 -> IMPLEMENT-09`; `b5ad64fd744d -> NG`; `14ce436cfffa -> NG`; `043ca36da3e2 -> NG`; `a23e45c1dc8d -> NG`; `498143bb41a7 -> NG`; `4fe3eb179023 -> NG`; `7f75485e5a33 -> NG`; `8ec3a96df029 -> NG`; `16c3f96e758d -> NG`; `5915c41fe058 -> NG`; `f51e43eeac56 -> NG`; `fd41c25623cb -> NG`; `58a932ed6453 -> NG`; `4718bd3ce12d -> NG`; `58c444a2126b -> NG`; `e75df892b55c -> NG`; `8ba5dbd2a0d8 -> NG`; `4d6c519131e5 -> NG` |
257
257
  | `oat-project-implement/references/docs/autonomy-contract.md` | `* -> NG` |
258
258
  | `oat-project-implement/references/phase-execution.md` | `27737e814790 -> NG`; `6dda2b8e62e2 -> IMPLEMENT-10`; `b3197086bb1e -> IMPLEMENT-10`; `25f2a6e104ee -> NG`; `4aa21120295f -> NG` |
259
259
  | `oat-project-implement/references/plan-and-resume.md` | `413829d31e32 -> IMPLEMENT-02`; `c7706cd8ad09 -> IMPLEMENT-03`; `b7ea139780ec -> IMPLEMENT-03+IMPLEMENT-04`; `8d438f2180ba -> IMPLEMENT-03`; `9e72e0518cda -> IMPLEMENT-03`; `3e177a1021e6 -> IMPLEMENT-03+IMPLEMENT-04`; `b59fc9eb9ce3 -> IMPLEMENT-03`; `a2b1d6855283 -> IMPLEMENT-03`; `44351a32e52a -> IMPLEMENT-03`; `b98b022f5523 -> IMPLEMENT-03`; `e9f5b949e214 -> IMPLEMENT-03`; `316fb6d9e980 -> IMPLEMENT-03`; `8b25a2c5c548 -> IMPLEMENT-03`; `1a59b1c0e705 -> IMPLEMENT-03`; `466cd562fc52 -> IMPLEMENT-03`; `083d896978d5 -> IMPLEMENT-03`; `f4ab11c13ae9 -> IMPLEMENT-03`; `7dc17ffcc1c4 -> IMPLEMENT-03`; `f731a90adabd -> IMPLEMENT-04`; `886ac01e7aa9 -> IMPLEMENT-04`; `b715db67df0c -> IMPLEMENT-04`; `2d9f26a539f3 -> IMPLEMENT-10`; `28384dee114f -> IMPLEMENT-05`; `f2591a4978b4 -> NG`; `8290823080b5 -> IMPLEMENT-06`; `f75789bf6c8e -> IMPLEMENT-07`; `b5bd4852c58d -> NG`; `6e7fac10d436 -> NG`; `16f6203aadac -> NG`; `4b876e81abad -> NG` |
@@ -280,9 +280,9 @@ remains immutable baseline evidence for the original p01-t01 verification.
280
280
  | `oat-project-complete/SKILL.md` | `0177956707aa -> NG`; `8305b5bb65ef -> NG`; `3c0b26f0ff1c -> NG`; `8cc1fa5aab1e -> COMPLETE-01`; `4c209fbb4716 -> COMPLETE-01`; `02e4175e1171 -> COMPLETE-01`; `d698d4f98e76 -> COMPLETE-01`; `9f86a7218d93 -> COMPLETE-01`; `024713698d9a -> COMPLETE-01`; `c327995053fa -> COMPLETE-01`; `61f81d4ec7c1 -> COMPLETE-01`; `14fb2e56809f -> COMPLETE-01`; `7d4ff668744d -> COMPLETE-01`; `502a6c141784 -> COMPLETE-01`; `fb7e2db356af -> COMPLETE-01`; `f73f8476360a -> NG`; `1e15f420039f -> NG`; `cc234032ddd7 -> NG`; `1dd54687229b -> NG`; `fc05c8303cd2 -> NG`; `24be721d635e -> NG` |
281
281
  | `oat-project-lite/references/docs/autonomy-contract.md` | `* -> NG` |
282
282
  | `oat-project-implement/references/completion-and-closeout.md` | `87f1424a8692 -> NG`; `6b1ec05182f0 -> IMPLEMENT-11`; `e6d696a27c91 -> NG`; `c77f8ccb52ad -> NG`; `48de2614c0ba -> IMPLEMENT-11`; `32d53f5212e5 -> IMPLEMENT-11`; `7cdb4a9c57b7 -> IMPLEMENT-11`; `16ffc0aa099b -> IMPLEMENT-11`; `d6868ea10b3f -> IMPLEMENT-11`; `4f05ff5567be -> IMPLEMENT-11`; `c70b47ae7a6d -> IMPLEMENT-11`; `5fafd093b58e -> NG`; `21ceaf7e658a -> NG`; `249427a9f475 -> NG`; `8a7ec13a9b7c -> NG`; `9aeb7fce2012 -> IMPLEMENT-18`; `f11a7cdda220 -> IMPLEMENT-18`; `4523ac029152 -> NG`; `6e87b08c4046 -> NG`; `baa6052c7f0a -> IMPLEMENT-18`; `27d3fad116b1 -> IMPLEMENT-18`; `2cfbeb4388a5 -> IMPLEMENT-18`; `c56ea56a56db -> NG`; `43e2e3c1380d -> IMPLEMENT-17`; `b49690277fb5 -> NG`; `df12304d6a36 -> NG`; `52eacac11fef -> IMPLEMENT-17`; `60092df6b17b -> IMPLEMENT-17`; `361872c6b00e -> IMPLEMENT-17`; `d2bc711a75fb -> IMPLEMENT-17` |
283
- | `oat-project-quick-start/SKILL.md` | `4f393afc3b4d -> QS-13`; `40ddcac880ef -> NG` |
284
- | `oat-project-plan/SKILL.md` | `2b32bc5e9fea -> NG`; `2f6c4fa8b6f9 -> PLAN-13`; `9fba3b40b522 -> NG` |
285
- | `oat-project-import-plan/SKILL.md` | `4bda28585b46 -> IMPORT-10`; `8ea53b60c725 -> NG` |
283
+ | `oat-project-quick-start/SKILL.md` | `aa560418765a -> QS-13`; `40ddcac880ef -> NG` |
284
+ | `oat-project-plan/SKILL.md` | `2b32bc5e9fea -> NG`; `58cc6b0adf97 -> PLAN-13`; `9fba3b40b522 -> NG` |
285
+ | `oat-project-import-plan/SKILL.md` | `349790ade2e1 -> IMPORT-10`; `8ea53b60c725 -> NG` |
286
286
  | `oat-project-implement/references/completion-and-closeout.md` | `5636ed3a0418 -> NG` |
287
287
 
288
288
  ## Prompt-scan comparison