@open-agent-toolkit/cli 0.1.73 → 0.1.74
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 +13 -17
- package/assets/docs/cli-utilities/configuration.md +35 -60
- package/assets/docs/cli-utilities/workflow-gates.md +38 -2
- package/assets/docs/provider-sync/providers.md +15 -17
- package/assets/docs/workflows/projects/artifacts.md +1 -1
- package/assets/docs/workflows/projects/dispatch-ceiling.md +29 -33
- package/assets/docs/workflows/projects/implementation-execution.md +7 -4
- package/assets/docs/workflows/projects/lifecycle.md +4 -3
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-dispatch-subagents/SKILL.md +1 -1
- package/assets/skills/oat-dispatch-subagents/references/provider-cursor.md +27 -15
- package/assets/skills/oat-project-autonomous/SKILL.md +1 -1
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +1 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +17 -15
- package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +15 -9
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-implement/references/phase-execution.md +11 -5
- package/assets/skills/oat-project-import-plan/SKILL.md +30 -8
- package/assets/skills/oat-project-plan/SKILL.md +30 -8
- package/assets/skills/oat-project-plan-writing/SKILL.md +12 -9
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-quick-start/SKILL.md +30 -8
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-review-provide/SKILL.md +19 -11
- package/assets/skills/oat-project-review-provide-remote/SKILL.md +27 -4
- package/dist/commands/doctor/index.d.ts +2 -1
- package/dist/commands/doctor/index.d.ts.map +1 -1
- package/dist/commands/doctor/index.js +37 -1
- package/dist/commands/gate/index.d.ts +1 -1
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +35 -3
- package/dist/commands/init/index.d.ts +1 -1
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +40 -8
- package/dist/commands/project/dispatch-ceiling/index.d.ts.map +1 -1
- package/dist/commands/project/dispatch-ceiling/index.js +17 -9
- package/dist/commands/shared/codex-strays.d.ts +9 -0
- package/dist/commands/shared/codex-strays.d.ts.map +1 -1
- package/dist/commands/shared/codex-strays.js +4 -0
- package/dist/commands/status/index.d.ts +7 -1
- package/dist/commands/status/index.d.ts.map +1 -1
- package/dist/commands/status/index.js +53 -17
- package/dist/commands/sync/apply.d.ts.map +1 -1
- package/dist/commands/sync/apply.js +50 -24
- package/dist/commands/sync/dry-run.d.ts.map +1 -1
- package/dist/commands/sync/dry-run.js +31 -18
- package/dist/commands/sync/index.d.ts.map +1 -1
- package/dist/commands/sync/index.js +34 -25
- package/dist/commands/sync/sync.types.d.ts +26 -11
- package/dist/commands/sync/sync.types.d.ts.map +1 -1
- package/dist/commands/sync/sync.utils.d.ts.map +1 -1
- package/dist/commands/sync/sync.utils.js +3 -2
- package/dist/engine/index.d.ts +1 -1
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +1 -1
- package/dist/engine/scanner.d.ts +3 -1
- package/dist/engine/scanner.d.ts.map +1 -1
- package/dist/engine/scanner.js +4 -2
- package/dist/providers/ceiling/registry.d.ts +2 -0
- package/dist/providers/ceiling/registry.d.ts.map +1 -1
- package/dist/providers/ceiling/registry.js +20 -4
- package/dist/providers/codex/codec/sync-extension.d.ts +11 -10
- package/dist/providers/codex/codec/sync-extension.d.ts.map +1 -1
- package/dist/providers/codex/codec/sync-extension.js +42 -14
- package/dist/providers/cursor/codec/catalog.d.ts +18 -0
- package/dist/providers/cursor/codec/catalog.d.ts.map +1 -0
- package/dist/providers/cursor/codec/catalog.js +39 -0
- package/dist/providers/cursor/codec/materialize.d.ts +24 -0
- package/dist/providers/cursor/codec/materialize.d.ts.map +1 -0
- package/dist/providers/cursor/codec/materialize.js +166 -0
- package/dist/providers/cursor/codec/shared.d.ts +14 -0
- package/dist/providers/cursor/codec/shared.d.ts.map +1 -0
- package/dist/providers/cursor/codec/shared.js +76 -0
- package/dist/providers/cursor/codec/sync-extension.d.ts +37 -0
- package/dist/providers/cursor/codec/sync-extension.d.ts.map +1 -0
- package/dist/providers/cursor/codec/sync-extension.js +393 -0
- package/dist/providers/cursor/index.d.ts +3 -0
- package/dist/providers/cursor/index.d.ts.map +1 -1
- package/dist/providers/cursor/index.js +3 -0
- package/dist/providers/identity/availability.d.ts +7 -0
- package/dist/providers/identity/availability.d.ts.map +1 -1
- package/dist/providers/identity/availability.js +23 -0
- package/dist/providers/shared/index.d.ts +2 -0
- package/dist/providers/shared/index.d.ts.map +1 -1
- package/dist/providers/shared/index.js +1 -0
- package/dist/providers/shared/materialization-extension.d.ts +44 -0
- package/dist/providers/shared/materialization-extension.d.ts.map +1 -0
- package/dist/providers/shared/materialization-extension.js +26 -0
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2026-07-
|
|
2
|
+
"version": "2026-07-11.1",
|
|
3
3
|
"providers": {
|
|
4
4
|
"codex": {
|
|
5
5
|
"economy": {
|
|
@@ -101,29 +101,25 @@
|
|
|
101
101
|
"cursor": {
|
|
102
102
|
"economy": {
|
|
103
103
|
"candidates": [
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"gpt-5.6-luna-high"
|
|
104
|
+
"composer-2.5",
|
|
105
|
+
"claude-sonnet-5-high",
|
|
106
|
+
"gpt-5.6-luna-high",
|
|
107
|
+
"gpt-5.6-luna-xhigh"
|
|
107
108
|
]
|
|
108
109
|
},
|
|
109
110
|
"balanced": {
|
|
110
|
-
"candidates": [
|
|
111
|
-
"gpt-5.6-luna-xhigh",
|
|
112
|
-
"gpt-5.6-terra-low",
|
|
113
|
-
"gpt-5.6-terra-medium",
|
|
114
|
-
"gpt-5.6-terra-high",
|
|
115
|
-
"gpt-5.6-terra-xhigh"
|
|
116
|
-
]
|
|
111
|
+
"candidates": ["cursor-grok-4.5-high", "gpt-5.6-terra-high"]
|
|
117
112
|
},
|
|
118
113
|
"high": {
|
|
119
|
-
"candidates": [
|
|
120
|
-
"gpt-5.6-sol-low",
|
|
121
|
-
"gpt-5.6-sol-medium",
|
|
122
|
-
"gpt-5.6-sol-high"
|
|
123
|
-
]
|
|
114
|
+
"candidates": ["gpt-5.6-sol-medium", "gpt-5.6-sol-high"]
|
|
124
115
|
},
|
|
125
116
|
"frontier": {
|
|
126
|
-
"candidates": [
|
|
117
|
+
"candidates": [
|
|
118
|
+
"claude-fable-5-thinking-high",
|
|
119
|
+
"claude-fable-5-thinking-xhigh",
|
|
120
|
+
"gpt-5.6-sol-xhigh",
|
|
121
|
+
"gpt-5.6-sol-max"
|
|
122
|
+
]
|
|
127
123
|
}
|
|
128
124
|
}
|
|
129
125
|
}
|
|
@@ -232,14 +232,15 @@ values. Planning shows the complete bundled recommendation before asking for
|
|
|
232
232
|
this scope, then rechecks the effective ladder. If explicit cells still leave
|
|
233
233
|
the ladder incomplete, readiness blocks; OAT does not overwrite them.
|
|
234
234
|
|
|
235
|
-
Scope determines ownership and Codex materialization:
|
|
235
|
+
Scope determines ownership and Codex/Cursor materialization:
|
|
236
236
|
|
|
237
237
|
- `--shared` and `--local` are project configuration sources. Their configured
|
|
238
|
-
Codex candidates materialize into the tracked project `.codex`
|
|
238
|
+
Codex and Cursor candidates materialize into the tracked project `.codex`
|
|
239
|
+
and `.cursor` views.
|
|
239
240
|
- `--user` writes reusable personal defaults to `~/.oat/config.json`; those
|
|
240
|
-
|
|
241
|
-
- Active-project sparse candidates also materialize into the tracked
|
|
242
|
-
view.
|
|
241
|
+
candidates materialize under `~/.codex` and `~/.cursor`.
|
|
242
|
+
- Active-project sparse candidates also materialize into the applicable tracked
|
|
243
|
+
project view.
|
|
243
244
|
|
|
244
245
|
Project-generated provider views remain visible to version control. OAT does
|
|
245
246
|
not auto-ignore them. A project-specific active policy or ceiling must not be
|
|
@@ -274,7 +275,7 @@ even when the reusable ladder is user-owned.
|
|
|
274
275
|
},
|
|
275
276
|
"cursor": {
|
|
276
277
|
"balanced": {
|
|
277
|
-
"candidates": ["
|
|
278
|
+
"candidates": ["cursor-grok-4.5-high", "gpt-5.6-terra-high"]
|
|
278
279
|
}
|
|
279
280
|
}
|
|
280
281
|
}
|
|
@@ -285,9 +286,11 @@ even when the reusable ladder is user-owned.
|
|
|
285
286
|
|
|
286
287
|
The bundled recommendation covers 13 Codex model/effort combinations: Luna and
|
|
287
288
|
Terra at `low`, `medium`, `high`, and `xhigh`, plus Sol at those efforts and
|
|
288
|
-
`max`. Claude covers `haiku`, `sonnet`, `opus`, and `fable`. Cursor covers
|
|
289
|
-
|
|
290
|
-
|
|
289
|
+
`max`. Claude covers `haiku`, `sonnet`, `opus`, and `fable`. Cursor covers 12
|
|
290
|
+
verified multi-family flat IDs across Composer, Claude, GPT, and Grok. An
|
|
291
|
+
explicit mapping connects each flat ladder ID to a separate bracket-form
|
|
292
|
+
frontmatter model; configuration and skills never derive or normalize either
|
|
293
|
+
form.
|
|
291
294
|
|
|
292
295
|
The corresponding pinned Codex variant catalogue includes
|
|
293
296
|
`gpt-5.6-luna-high`, `gpt-5.6-terra-xhigh`, `gpt-5.6-sol-high`, and
|
|
@@ -360,7 +363,7 @@ oat project dispatch-ceiling resolve \
|
|
|
360
363
|
--provider cursor \
|
|
361
364
|
--role implementer \
|
|
362
365
|
--ceiling-tier high \
|
|
363
|
-
--candidate-model
|
|
366
|
+
--candidate-model gpt-5.6-sol-high \
|
|
364
367
|
--json
|
|
365
368
|
```
|
|
366
369
|
|
|
@@ -381,11 +384,12 @@ remains compatibility behavior for legacy scalar ceilings and managed
|
|
|
381
384
|
| -------- | ---------------------------------------------------------------------------------------------------- |
|
|
382
385
|
| Codex | `providers.codex.dispatchArgs.variant` as `agent_type`, or a fresh child pinned to model plus effort |
|
|
383
386
|
| Claude | `providers.claude.dispatchArgs.model` as the actual Agent `model` |
|
|
384
|
-
| Cursor | `providers.cursor.dispatchArgs.
|
|
387
|
+
| Cursor | `providers.cursor.dispatchArgs.variant` as the exact native agent type first |
|
|
385
388
|
|
|
386
|
-
Project sync materializes the supported Codex
|
|
387
|
-
project-owned candidate for both `oat-phase-implementer` and
|
|
388
|
-
User sync materializes user-owned candidates under `~/.codex
|
|
389
|
+
Project sync materializes the supported Codex and Cursor catalogues and every
|
|
390
|
+
configured project-owned candidate for both `oat-phase-implementer` and
|
|
391
|
+
`oat-reviewer`. User sync materializes user-owned candidates under `~/.codex`
|
|
392
|
+
and `~/.cursor/agents`:
|
|
389
393
|
|
|
390
394
|
```bash
|
|
391
395
|
oat sync --scope project
|
|
@@ -394,60 +398,31 @@ oat sync --scope all
|
|
|
394
398
|
```
|
|
395
399
|
|
|
396
400
|
Generated roles carry `supported-catalogue`, `project-config`, or `user-config`
|
|
397
|
-
ownership. Cleanup reconciles only the current owner.
|
|
398
|
-
|
|
399
|
-
correctness does not require provider restart or hot reload.
|
|
401
|
+
ownership. Cleanup reconciles only the current owner. Cursor's mapping registry
|
|
402
|
+
rejects unknown flat IDs instead of writing unverified frontmatter.
|
|
400
403
|
|
|
401
404
|
Reviewer resolution uses the final candidate at the configured review ceiling.
|
|
402
|
-
Codex
|
|
403
|
-
exact model argument. Timeout retries preserve the same complete
|
|
404
|
-
lower reviewer candidate requires a separate reviewed contract.
|
|
405
|
+
Codex and Cursor select exact native reviewer variants; Claude passes the
|
|
406
|
+
resolver's exact model argument. Timeout retries preserve the same complete
|
|
407
|
+
payload. A lower reviewer candidate requires a separate reviewed contract.
|
|
405
408
|
|
|
406
409
|
Tier 2 remains target-preserving. Inline review is permitted only when the host
|
|
407
410
|
has verified equivalent current-host controls for explicit inherit,
|
|
408
411
|
managed-uncapped, or base-role behavior. Capped managed reviews still require
|
|
409
412
|
the exact registered role, pinned child, or resolver-returned model argument.
|
|
410
413
|
|
|
411
|
-
### Cursor
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
establish `unknown-value`. Neither result identifies the backend runtime model:
|
|
424
|
-
`runtimeIdentity` remains `not-reported` unless trusted Cursor telemetry or
|
|
425
|
-
Cursor support confirms it. Parent prose and broad catalog presence are
|
|
426
|
-
diagnostic-only, so OAT preserves `unvalidated` when launcher evidence is
|
|
427
|
-
absent instead of inferring capability from candidate spelling.
|
|
428
|
-
|
|
429
|
-
The [dated GPT-5.6 Cursor verification evidence](https://github.com/voxmedia/open-agent-toolkit/blob/main/.oat/repo/reference/project-summaries/20260711-cursor-gpt-5-6-subagent-verification.md)
|
|
430
|
-
preserves the original text-mode pass and a versioned stream-JSON second pass.
|
|
431
|
-
The second pass ran a dynamic positive control and deliberate invalid control
|
|
432
|
-
before candidates. Both parent runs completed without a Task event, making the
|
|
433
|
-
controls inconclusive; the stop rule therefore executed zero of the 13
|
|
434
|
-
recommended candidates and did not execute exploratory
|
|
435
|
-
`gpt-5.6-sol-high-fast`. The recommendation remains unchanged and candidate
|
|
436
|
-
eligibility remains unresolved.
|
|
437
|
-
|
|
438
|
-
The tracked artifact's structured second-pass block contains only allowlisted
|
|
439
|
-
event structure, derived outcomes, sanitized auth-presence context, and
|
|
440
|
-
non-reversible identifier hashes. Exact request/session/tool-call IDs and
|
|
441
|
-
credential-redacted unprojected streams from that pass stay under gitignored
|
|
442
|
-
`.oat/projects/local/` storage for possible Cursor support diagnosis.
|
|
443
|
-
|
|
444
|
-
The same public artifact intentionally retains the sanitized historical v1
|
|
445
|
-
text-mode record for provenance. That older section includes command arguments
|
|
446
|
-
and prompts, stdout and stderr, exit and duration data, and capture-environment
|
|
447
|
-
details such as user-specific binary paths; it is not limited to the structured
|
|
448
|
-
second-pass allowlist. Re-run after a Cursor client rollout exposes Task in
|
|
449
|
-
headless mode or Cursor support confirms the private requests; review the open
|
|
450
|
-
verification item by 2026-08-08.
|
|
414
|
+
### Cursor availability and evidence
|
|
415
|
+
|
|
416
|
+
`oat doctor` compares configured Cursor flat IDs with the current Cursor
|
|
417
|
+
catalogue and reports availability drift. This check is diagnostic: catalogue
|
|
418
|
+
presence does not prove that a bracket-form definition pin was honored.
|
|
419
|
+
|
|
420
|
+
Each shipped mapping has mapping-specific native-launch evidence, but Cursor
|
|
421
|
+
can silently fallback when account, plan, or administration constraints prevent
|
|
422
|
+
the requested pin. OAT therefore records the selected variant and mapped model
|
|
423
|
+
with launcher-owned `configured` provenance. Runtime identity remains
|
|
424
|
+
`not-reported` unless independently observed; self-report and catalogue
|
|
425
|
+
availability do not upgrade that evidence.
|
|
451
426
|
|
|
452
427
|
### Legacy compatibility
|
|
453
428
|
|
|
@@ -94,6 +94,37 @@ model that ran, and the reviewer must not replace them with self-identification.
|
|
|
94
94
|
The CLI compares the copied values with its gate-owned record before it applies
|
|
95
95
|
the severity threshold.
|
|
96
96
|
|
|
97
|
+
### Review producer identity
|
|
98
|
+
|
|
99
|
+
Dynamic planning workflows can declare their current parent model to a review
|
|
100
|
+
gate without writing a provider or model into shared/user config:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
OAT_GATE_PRODUCER_IDENTITY='<model>:declared' oat gate review ...
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
This is a review-command-only bridge. `oat gate review` accepts it only when
|
|
107
|
+
the value is non-empty and its provenance suffix is exactly `declared`. The
|
|
108
|
+
gate removes the variable from the child reviewer's environment, and non-review
|
|
109
|
+
commands such as `oat gate cross-provider-exec` ignore it.
|
|
110
|
+
|
|
111
|
+
Producer evidence precedence is explicit `--producer-identity`, then a
|
|
112
|
+
qualifying implementation dispatch stamp, then the review-only environment
|
|
113
|
+
declaration, and finally unknown producer behavior. The environment bridge does
|
|
114
|
+
not replace stronger explicit or stamped evidence and does not establish
|
|
115
|
+
observed runtime identity.
|
|
116
|
+
|
|
117
|
+
For final and contiguous-range reviews, each in-scope implementer/fix stamp
|
|
118
|
+
contributes its claimable producer family. If that producer is not claimable or
|
|
119
|
+
has an unknown family, the gate may infer only a family exclusion from the
|
|
120
|
+
stamp's launcher-owned configured target. The target does not become producer
|
|
121
|
+
runtime identity, and generic or unclassifiable targets contribute no family.
|
|
122
|
+
|
|
123
|
+
Keep reusable gate commands producer-neutral in shared and user config.
|
|
124
|
+
Planning skills attach the ephemeral declaration only while executing a
|
|
125
|
+
resolved configured command that invokes `oat gate review`; they leave it
|
|
126
|
+
absent for every other gate command.
|
|
127
|
+
|
|
97
128
|
### Headless completion safety
|
|
98
129
|
|
|
99
130
|
Every `oat gate review` child receives the same headless contract through two
|
|
@@ -492,7 +523,9 @@ By default the dispatcher:
|
|
|
492
523
|
4. Resolves producer identity from `--producer-identity` or dispatch stamps when
|
|
493
524
|
available. Exact phase/task scopes use the matching stamp. `final` and
|
|
494
525
|
contiguous ranges such as `p02-p03` aggregate every in-range implementer/fix
|
|
495
|
-
stamp.
|
|
526
|
+
stamp. A stamp whose producer is not claimable or has an unknown family may
|
|
527
|
+
contribute its classifiable configured target family to aggregate avoidance
|
|
528
|
+
at lower confidence.
|
|
496
529
|
5. Applies `--avoid same-family`.
|
|
497
530
|
6. Checks candidate availability in descending priority order, with target id as
|
|
498
531
|
the tie-breaker.
|
|
@@ -537,7 +570,10 @@ single stamp or when no stamp has a claimable family. Their producer record uses
|
|
|
537
570
|
an unknown representative instead of presenting the latest stamp as aggregate
|
|
538
571
|
truth:
|
|
539
572
|
|
|
540
|
-
- `avoidFamilies` is the stable deduplicated union of claimable known
|
|
573
|
+
- `avoidFamilies` is the stable deduplicated union of claimable known producer
|
|
574
|
+
families plus classifiable configured target families from stamps whose
|
|
575
|
+
producer is not claimable or has an unknown family. A known, claimable
|
|
576
|
+
producer remains authoritative over a conflicting target.
|
|
541
577
|
- `contributingScopes` is the stable document-order list of distinct scopes from
|
|
542
578
|
every relevant stamp.
|
|
543
579
|
- `contributingStampCount` counts every relevant stamp, including unknown or
|
|
@@ -18,14 +18,11 @@ description: 'Provider-specific path mappings for Claude, Cursor, Copilot, Gemin
|
|
|
18
18
|
|
|
19
19
|
- Project: `.agents/skills` -> `.cursor/skills`, `.agents/agents` -> `.cursor/agents`, `.agents/rules` -> `.cursor/rules`
|
|
20
20
|
- User: `~/.agents/skills` -> `~/.cursor/skills`, `~/.agents/agents` -> `~/.cursor/agents`
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
- Cursor
|
|
25
|
-
-
|
|
26
|
-
- The [dated GPT-5.6 verification artifact](https://github.com/voxmedia/open-agent-toolkit/blob/main/.oat/repo/reference/project-summaries/20260711-cursor-gpt-5-6-subagent-verification.md) preserves the original probe and a stream-JSON control pass. The controls observed no Task events, so the stop rule ran zero recommendation or exploratory candidates and retained the recommendation unchanged.
|
|
27
|
-
- The artifact's structured second-pass block contains only allowlisted event fields, derived outcomes, sanitized auth presence, and identifier hashes. Exact request/session/tool-call IDs and credential-redacted unprojected streams from that pass remain in gitignored local project storage for support escalation.
|
|
28
|
-
- The same public artifact retains the sanitized historical v1 text-mode record for provenance. That older section includes command arguments and prompts, stdout and stderr, exit and duration data, and capture-environment details such as user-specific binary paths; it is not limited to the structured second-pass allowlist.
|
|
21
|
+
- Sync materializes pinned Markdown definitions for both `oat-phase-implementer` and `oat-reviewer`. Each generated name keeps the configured flat ladder ID, while an explicit verified mapping writes the separate bracket-form frontmatter model. OAT never derives one form from the other.
|
|
22
|
+
- Generated definitions carry `supported-catalogue`, `project-config`, or `user-config` ownership. Project and supported output lives in the tracked `.cursor/agents` view; user-owned output lives under `~/.cursor/agents`. Cleanup reconciles only the applicable owner.
|
|
23
|
+
- Managed dispatch requires `providers.cursor.dispatchArgs.variant` and launches that exact resolver-selected native agent type first. Skills do not pass a Task-level model argument or normalize Cursor model strings.
|
|
24
|
+
- Cursor may silently fallback when a definition pin cannot be honored. Variant acceptance therefore establishes launcher-owned `configured` provenance only; runtime identity remains `not-reported` unless independently observed.
|
|
25
|
+
- `oat doctor` checks whether each flat ID is still present in the current Cursor catalogue and reports availability drift. Catalogue availability is diagnostic and does not prove that a definition-level bracket pin ran as configured.
|
|
29
26
|
- Rule files render as `.cursor/rules/*.mdc`
|
|
30
27
|
|
|
31
28
|
=== "Copilot"
|
|
@@ -81,9 +78,9 @@ oat config adopt dispatch-matrix --user
|
|
|
81
78
|
```
|
|
82
79
|
|
|
83
80
|
Project-config candidates materialize into the tracked, version-controlled
|
|
84
|
-
project `.codex`
|
|
85
|
-
OAT does not auto-ignore project output or create
|
|
86
|
-
that repository change.
|
|
81
|
+
project `.codex` and `.cursor` views. User-config candidates materialize under
|
|
82
|
+
`~/.codex` and `~/.cursor`. OAT does not auto-ignore project output or create
|
|
83
|
+
its Git commit; the team owns that repository change.
|
|
87
84
|
|
|
88
85
|
At implementation time, the root passes the recorded named maximum through
|
|
89
86
|
invocation-only `--ceiling-tier`, resolves one exact candidate per phase, and
|
|
@@ -91,19 +88,20 @@ dispatches one phase implementer. Codex first attempts the resolver-returned
|
|
|
91
88
|
materialized role as the native `agent_type`. The launcher records the target,
|
|
92
89
|
model axis, and effort axis from that resolved payload; child self-report is not
|
|
93
90
|
provenance and cannot replace those values.
|
|
94
|
-
Only an explicit pre-start native role-selection rejection permits
|
|
95
|
-
|
|
91
|
+
Only an explicit pre-start native role-selection rejection permits another
|
|
92
|
+
target-preserving route. An accepted child, including one that later returns
|
|
96
93
|
`BLOCKED` or lacks telemetry, is a task outcome rather than a fallback signal.
|
|
97
|
-
Claude
|
|
98
|
-
|
|
99
|
-
or a base role.
|
|
94
|
+
Claude binds the exact model argument described above. Cursor launches the
|
|
95
|
+
exact native variant. A missing or unselectable managed target blocks rather
|
|
96
|
+
than falling back to the root target or a base role.
|
|
100
97
|
|
|
101
98
|
## Scope rules
|
|
102
99
|
|
|
103
100
|
- Project scope: skills + agents + rules
|
|
104
|
-
- User scope: skills, plus the two bundled managed Codex role definitions used only for user-owned target expansion (provider mappings vary by adapter)
|
|
101
|
+
- User scope: skills, plus the two bundled managed Codex and Cursor role definitions used only for user-owned target expansion (provider mappings vary by adapter)
|
|
105
102
|
- Rules are project-scoped only in this release
|
|
106
103
|
- Codex user-scope sync materializes user-config custom roles under `~/.codex`; project-config and supported-catalogue output remains project-scoped and version controlled
|
|
104
|
+
- Cursor user-scope sync materializes user-config variants under `~/.cursor/agents`; project-config and supported-catalogue output remains project-scoped and version controlled
|
|
107
105
|
|
|
108
106
|
## Adoption model
|
|
109
107
|
|
|
@@ -127,7 +127,7 @@ Each inner array is a group of phases that execute concurrently in their own wor
|
|
|
127
127
|
- Each group must contain **2 or more** phases — singleton groups are rejected.
|
|
128
128
|
- Every phase ID must exist in the plan body.
|
|
129
129
|
- No phase may appear in more than one group.
|
|
130
|
-
- Parallelism is only honored at Tier 1 (native subagents). Tier 2 degrades parallel groups to sequential target-preserving execution, not unconditional inline review. Concrete managed Claude
|
|
130
|
+
- Parallelism is only honored at Tier 1 (native subagents). Tier 2 degrades parallel groups to sequential target-preserving execution, not unconditional inline review. Concrete managed Claude reviewers retain the exact resolver-returned `dispatchArgs.model`; Cursor reviewers retain the exact `providers.cursor.dispatchArgs.variant` native agent type; Codex retains its exact role or pinned child. Every retry preserves the complete target. Inline review requires verified equivalent host controls or an explicit inherit/default or managed-uncapped base-role exception, and otherwise blocks.
|
|
131
131
|
|
|
132
132
|
**Authoring responsibility:**
|
|
133
133
|
|
|
@@ -194,8 +194,10 @@ candidate in each tier:
|
|
|
194
194
|
`max`.
|
|
195
195
|
- **Claude:** `haiku`, `sonnet`, `opus`, and `fable` across the ordered named
|
|
196
196
|
tiers.
|
|
197
|
-
- **Cursor:**
|
|
198
|
-
|
|
197
|
+
- **Cursor:** 12 verified multi-family flat IDs across Composer, Claude, GPT,
|
|
198
|
+
and Grok. The explicit materialization catalogue maps each flat ladder ID to
|
|
199
|
+
a separate bracket-form frontmatter model; OAT does not derive or normalize
|
|
200
|
+
either value.
|
|
199
201
|
|
|
200
202
|
The final candidate in a named tier defines that tier's reviewer ceiling. Lower
|
|
201
203
|
reviewer selection requires a separate reviewed contract; a normal reviewer
|
|
@@ -240,7 +242,7 @@ oat project dispatch-ceiling resolve \
|
|
|
240
242
|
--provider cursor \
|
|
241
243
|
--role implementer \
|
|
242
244
|
--ceiling-tier high \
|
|
243
|
-
--candidate-model
|
|
245
|
+
--candidate-model gpt-5.6-sol-high \
|
|
244
246
|
--json
|
|
245
247
|
```
|
|
246
248
|
|
|
@@ -280,45 +282,39 @@ branch replaces, rather than supplements, preferred selection.
|
|
|
280
282
|
| -------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
|
|
281
283
|
| 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 |
|
|
282
284
|
| Claude | Pass `providers.claude.dispatchArgs.model` as the actual Task `model` | Block if the model cannot be applied |
|
|
283
|
-
| Cursor |
|
|
285
|
+
| Cursor | Launch `providers.cursor.dispatchArgs.variant` as the exact native agent type first | Block rather than normalize or substitute |
|
|
284
286
|
| Other | Use a registered provider adapter when it can compile exact controls | Unsupported providers remain advisory |
|
|
285
287
|
|
|
286
|
-
Materialized Codex roles exist before phase dispatch after
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
288
|
+
Materialized Codex and Cursor roles exist before phase dispatch after
|
|
289
|
+
project/user sync. Cursor definitions carry `supported-catalogue`,
|
|
290
|
+
`project-config`, or `user-config` ownership. Project and supported variants
|
|
291
|
+
are tracked under `.cursor/agents`; user variants live under
|
|
292
|
+
`~/.cursor/agents`. Cleanup stays within the current owner boundary.
|
|
290
293
|
|
|
291
294
|
Reviewers use the final candidate at the configured review ceiling. Managed
|
|
292
295
|
`Uncapped` and explicit inherit/default behavior retain their documented base
|
|
293
296
|
reviewer behavior. A timeout retry preserves the same exact role or complete
|
|
294
|
-
Claude
|
|
297
|
+
Claude model payload or Cursor native variant.
|
|
295
298
|
|
|
296
299
|
### Cursor evidence authority
|
|
297
300
|
|
|
298
|
-
Cursor
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
that pass stay in gitignored local project storage for support diagnosis.
|
|
316
|
-
|
|
317
|
-
The same public artifact intentionally preserves the sanitized historical v1
|
|
318
|
-
text-mode record for provenance. That older section includes command arguments
|
|
319
|
-
and prompts, stdout and stderr, exit and duration data, and capture-environment
|
|
320
|
-
details such as user-specific binary paths; it is not limited to the structured
|
|
321
|
-
second-pass projection.
|
|
301
|
+
Cursor selection, pin mapping, catalogue availability, and runtime identity are
|
|
302
|
+
separate evidence layers:
|
|
303
|
+
|
|
304
|
+
- The candidate ladder and resolver use an opaque flat ID.
|
|
305
|
+
- The materialized definition uses the mapping's explicit bracket-form
|
|
306
|
+
frontmatter model.
|
|
307
|
+
- Mapping-specific native-launch evidence authorizes the shipped mapping data.
|
|
308
|
+
- `oat doctor` checks current flat-ID catalogue availability, which can detect
|
|
309
|
+
drift but cannot prove a definition pin.
|
|
310
|
+
- The launcher records the selected variant and mapped model with `configured`
|
|
311
|
+
provenance. Runtime identity remains `not-reported` without an independent
|
|
312
|
+
observation.
|
|
313
|
+
|
|
314
|
+
Cursor can silently fallback when account, plan, or administration constraints
|
|
315
|
+
prevent a requested definition pin. Native variant acceptance is therefore not
|
|
316
|
+
runtime-model verification, and skills must not promote self-report or
|
|
317
|
+
catalogue presence into observed identity.
|
|
322
318
|
|
|
323
319
|
## Phase and Optional-Worker Layers
|
|
324
320
|
|
|
@@ -126,10 +126,13 @@ needed, OAT does not probe or require third-tier capacity.
|
|
|
126
126
|
|
|
127
127
|
Provider controls remain exact: Codex uses
|
|
128
128
|
`providers.codex.dispatchArgs.variant`, Claude uses
|
|
129
|
-
`providers.claude.dispatchArgs.model`, and Cursor
|
|
130
|
-
`providers.cursor.dispatchArgs.
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
`providers.claude.dispatchArgs.model`, and Cursor uses
|
|
130
|
+
`providers.cursor.dispatchArgs.variant`. Cursor launches that exact
|
|
131
|
+
resolver-selected native agent type first; the flat ID and bracket-form pin
|
|
132
|
+
remain inside the explicit mapping and are never normalized by workflow prose.
|
|
133
|
+
The launcher records this selection as `configured`, while runtime identity
|
|
134
|
+
remains `not-reported` without independent observation. Only a pre-start native
|
|
135
|
+
role-selection rejection permits another target-preserving route.
|
|
133
136
|
|
|
134
137
|
See [Dispatch Policy](dispatch-ceiling.md) for configuration and
|
|
135
138
|
[Orchestration Model](orchestration-model.md) for the complete role map.
|
|
@@ -115,9 +115,10 @@ through the import-plan lane.
|
|
|
115
115
|
|
|
116
116
|
A concrete managed reviewer remains bound across both tiers. Codex uses the
|
|
117
117
|
exact registered role or a child pinned to the resolved model and effort;
|
|
118
|
-
Claude
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
Claude passes the exact resolver-returned `dispatchArgs.model`; Cursor launches
|
|
119
|
+
the exact `providers.cursor.dispatchArgs.variant` native reviewer variant.
|
|
120
|
+
Retries preserve that complete target. Tier 2 does not authorize a target
|
|
121
|
+
downgrade. Inline review is allowed only with verified equivalent host
|
|
121
122
|
controls, or for explicit inherit/default behavior or the documented
|
|
122
123
|
managed-uncapped reviewer base-role exception; otherwise the review blocks.
|
|
123
124
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-dispatch-subagents
|
|
3
|
-
version: 1.1.
|
|
3
|
+
version: 1.1.4
|
|
4
4
|
description: Use when an OAT skill or workflow needs provider-neutral selection, launch, recovery, or evidence for bounded subagent work without project lifecycle policy.
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
user-invocable: false
|
|
@@ -6,24 +6,35 @@ volatile snapshot, never a durable inventory.
|
|
|
6
6
|
|
|
7
7
|
## Control Surfaces
|
|
8
8
|
|
|
9
|
-
| Source | Establishes
|
|
10
|
-
| ---------------------------- |
|
|
11
|
-
| Native Task/Subagent schema |
|
|
12
|
-
| `cursor-agent --list-models` | Opaque
|
|
13
|
-
| Cursor UI role configuration | User-selected defaults and role settings
|
|
9
|
+
| Source | Establishes | Does not establish |
|
|
10
|
+
| ---------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
11
|
+
| Native Task/Subagent schema | Agent types available for that dispatcher invocation | CLI account eligibility or another dispatcher's native catalog |
|
|
12
|
+
| `cursor-agent --list-models` | Opaque flat model IDs accepted by the account CLI and resolver | Native Task eligibility or definition-pin acceptance |
|
|
13
|
+
| Cursor UI role configuration | User-selected defaults and role settings | Live root or nested schema without a new observation |
|
|
14
14
|
|
|
15
15
|
Root and nested catalogs are independent, volatile observations. Equality in
|
|
16
16
|
one run does not establish equality in another run or nesting boundary.
|
|
17
17
|
|
|
18
18
|
## Native Selection
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
Managed Cursor dispatch resolves an opaque flat model ID through OAT's explicit
|
|
21
|
+
mapping and returns `providers.cursor.dispatchArgs.variant`. The mapping owns
|
|
22
|
+
the bracket-form model pin inside the materialized definition; skills must
|
|
23
|
+
never parse, normalize, or reconstruct either model string.
|
|
24
|
+
|
|
25
|
+
1. Require a non-empty `providers.cursor.dispatchArgs.variant`.
|
|
26
|
+
2. Launch that exact resolver-selected native agent type first.
|
|
27
|
+
3. Treat native launch acceptance plus the complete launcher payload as
|
|
28
|
+
configured-invocation evidence, not observed runtime model identity.
|
|
29
|
+
4. Permit a replacement route only after a recorded pre-start native
|
|
30
|
+
role-selection rejection of that exact variant, before any child starts.
|
|
31
|
+
5. After acceptance, continue only through the existing handle. Timeout,
|
|
32
|
+
interruption, `BLOCKED`, missing telemetry, or self-report never authorizes
|
|
33
|
+
fallback or replacement.
|
|
34
|
+
6. Treat an omitted variant as deliberate parent inheritance only when the
|
|
35
|
+
resolver selected no managed target.
|
|
36
|
+
7. Record selected variant, mapped target, acceptance, outcome, and runtime
|
|
37
|
+
identity separately.
|
|
27
38
|
|
|
28
39
|
Do not infer Cursor IDE behavior from a headless CLI surface. Keep bounded
|
|
29
40
|
recon on economical explicit targets and reserve stronger targets for
|
|
@@ -52,12 +63,13 @@ verdict.
|
|
|
52
63
|
|
|
53
64
|
## Pre-Start CLI Routes
|
|
54
65
|
|
|
55
|
-
When
|
|
56
|
-
use a deliberate pre-start CLI route only when:
|
|
66
|
+
When exact native role selection rejects the resolver-selected variant before
|
|
67
|
+
launch, a caller may use a deliberate pre-start CLI route only when:
|
|
57
68
|
|
|
58
69
|
- the caller's fallback policy allows it;
|
|
59
70
|
- the exact CLI selector exists in the account catalog;
|
|
60
|
-
- native mismatch, route, reason, and candidates are
|
|
71
|
+
- the native mismatch, rejected variant, route, reason, and candidates are
|
|
72
|
+
recorded before launch;
|
|
61
73
|
- the prompt is self-contained and authority-bounded.
|
|
62
74
|
|
|
63
75
|
Verify current CLI help before use. A typical shape is:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-autonomous
|
|
3
|
-
version: 1.0.
|
|
3
|
+
version: 1.0.4
|
|
4
4
|
description: Use when a user explicitly asks to run an OAT project autonomously end-to-end. Activates session-only autonomy, resumes the correct lifecycle phase, and drives the existing OAT skills through final PR or a reported boundary.
|
|
5
5
|
argument-hint: '<goal | project-slug | ticket-ref>'
|
|
6
6
|
disable-model-invocation: true
|