@open-agent-toolkit/cli 0.2.13 → 0.2.15
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/agents/oat-phase-implementer.md +5 -2
- package/assets/agents/oat-reviewer.md +2 -2
- package/assets/docs/cli-utilities/config-and-local-state.md +14 -1
- package/assets/docs/cli-utilities/configuration.md +23 -2
- package/assets/docs/cli-utilities/tool-packs.md +68 -24
- package/assets/docs/contributing/skills.md +17 -10
- package/assets/docs/provider-sync/providers.md +26 -0
- package/assets/docs/reference/cli-reference.md +1 -1
- package/assets/docs/reference/troubleshooting.md +42 -0
- package/assets/docs/workflows/projects/lifecycle.md +2 -2
- package/assets/docs/workflows/projects/orchestration-model.md +14 -7
- package/assets/docs/workflows/projects/programmatic-execution.md +1 -1
- package/assets/docs/workflows/projects/reviews.md +18 -11
- package/assets/docs/workflows/skills/index.md +2 -0
- package/assets/docs/workflows/skills/repo-improve.md +13 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-agent-instructions-analyze/SKILL.md +2 -2
- package/assets/skills/oat-brainstorm/SKILL.md +8 -8
- package/assets/skills/oat-brainstorm/references/destinations.md +3 -3
- package/assets/skills/oat-cursor-cloud-projects/SKILL.md +12 -5
- package/assets/skills/oat-dispatch-subagents/SKILL.md +81 -24
- package/assets/skills/oat-dispatch-subagents/references/provider-claude.md +10 -7
- package/assets/skills/oat-dispatch-subagents/references/provider-codex.md +18 -13
- package/assets/skills/oat-dispatch-subagents/references/provider-cursor.md +30 -23
- package/assets/skills/oat-dispatch-subagents/references/record-schema.md +86 -2
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +4 -4
- package/assets/skills/oat-project-dispatch-subagents/SKILL.md +8 -3
- package/assets/skills/oat-project-document/SKILL.md +4 -4
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-implement/SKILL.md +9 -5
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-plan-writing/SKILL.md +9 -5
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-summary/SKILL.md +9 -9
- package/assets/skills/oat-repo-improve/SKILL.md +9 -2
- package/assets/skills/subagent-orchestration/SKILL.md +109 -0
- package/assets/skills/subagent-orchestration/references/evidence-and-refresh.md +103 -0
- package/assets/skills/subagent-orchestration/references/model-selection-principles.md +105 -0
- package/assets/skills/subagent-orchestration/references/provider-claude.md +81 -0
- package/assets/skills/subagent-orchestration/references/provider-codex.md +63 -0
- package/assets/skills/subagent-orchestration/references/provider-cursor.md +78 -0
- package/dist/commands/init/tools/brainstorm/index.d.ts +0 -3
- package/dist/commands/init/tools/brainstorm/index.d.ts.map +1 -1
- package/dist/commands/init/tools/brainstorm/index.js +0 -12
- package/dist/commands/init/tools/index.d.ts.map +1 -1
- package/dist/commands/init/tools/index.js +46 -25
- package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.js +1 -0
- package/dist/commands/init/tools/utility/index.d.ts.map +1 -1
- package/dist/commands/init/tools/utility/index.js +16 -2
- package/dist/commands/tools/has/has-pack.d.ts +18 -0
- package/dist/commands/tools/has/has-pack.d.ts.map +1 -0
- package/dist/commands/tools/has/has-pack.js +33 -0
- package/dist/commands/tools/has/index.d.ts +4 -0
- package/dist/commands/tools/has/index.d.ts.map +1 -0
- package/dist/commands/tools/has/index.js +57 -0
- package/dist/commands/tools/index.d.ts.map +1 -1
- package/dist/commands/tools/index.js +2 -0
- package/dist/commands/tools/remove/index.d.ts.map +1 -1
- package/dist/commands/tools/remove/index.js +10 -20
- package/dist/commands/tools/shared/project-tools-config.d.ts +16 -0
- package/dist/commands/tools/shared/project-tools-config.d.ts.map +1 -0
- package/dist/commands/tools/shared/project-tools-config.js +59 -0
- package/dist/commands/tools/update/index.d.ts.map +1 -1
- package/dist/commands/tools/update/index.js +11 -22
- package/dist/engine/compute-plan.d.ts.map +1 -1
- package/dist/engine/compute-plan.js +8 -2
- package/dist/engine/execute-plan.d.ts +5 -1
- package/dist/engine/execute-plan.d.ts.map +1 -1
- package/dist/engine/execute-plan.js +23 -1
- package/dist/engine/index.d.ts +1 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +1 -0
- package/dist/engine/provider-path-safety.d.ts +2 -0
- package/dist/engine/provider-path-safety.d.ts.map +1 -0
- package/dist/engine/provider-path-safety.js +54 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-brainstorm
|
|
3
|
-
version: 1.1.
|
|
3
|
+
version: 1.1.1
|
|
4
4
|
description: Use when the user explicitly invokes the `brainstorm` verb, including `/oat-brainstorm`, "let's brainstorm", "brainstorm this", "can we brainstorm X", or "help me brainstorm X". For ambiguous exploratory phrasing ("I've been thinking", "what if", "help me think through"), do NOT auto-enter; respond conversationally and offer mode only after ≥2 sustained exploratory turns. Do NOT use for review, debug, PR, status, implementation, or active-workflow questions.
|
|
5
5
|
disable-model-invocation: false
|
|
6
6
|
user-invocable: true
|
|
@@ -97,7 +97,7 @@ These messages get a direct response, not a workflow takeover. If the model has
|
|
|
97
97
|
|
|
98
98
|
- Free-form exploratory conversation, one question at a time, multiple-choice when possible, 2-3 distinct approaches with a recommendation.
|
|
99
99
|
- Per-question visual-companion routing (browser for visual content, terminal for text).
|
|
100
|
-
- Pack and active-project detection at convergence time (`oat
|
|
100
|
+
- Pack and active-project detection at convergence time (`oat tools has <pack>` / `oat config get activeProject`).
|
|
101
101
|
- Reading downstream skill files (`oat-idea-*`, `oat-pjm-add-backlog-item`, `oat-project-*`) and following their process inline using the synthesized payload as pre-filled answers.
|
|
102
102
|
- Rendering the doc-to-path artifact from `templates/brainstorm-doc.md`.
|
|
103
103
|
- Active-project fold-back: appending synthesis to the chosen upstream artifact and committing — only after the safety contract (preflight, scoped staging, conditional handoff print) is satisfied.
|
|
@@ -135,7 +135,7 @@ These indicators apply only on Hard Activation (see `## Activation Contract`). O
|
|
|
135
135
|
- `Activating brainstorm mode…`
|
|
136
136
|
- `Asserting mode (blocked / allowed)…`
|
|
137
137
|
- `Assessing visual need…`
|
|
138
|
-
- `Detecting
|
|
138
|
+
- `Detecting available packs and active project…`
|
|
139
139
|
- `Free brainstorming (Superpowers cadence)…`
|
|
140
140
|
- `Watching for destination signals…`
|
|
141
141
|
- `Satisfaction check…`
|
|
@@ -156,7 +156,7 @@ Apply the **Activation Contract**. The full Process flow (Steps 2-9) only runs o
|
|
|
156
156
|
|
|
157
157
|
When Hard Activation triggers, the user has not already named a destination skill or artifact type. Do not route those blank-slate brainstorms to `oat-idea-ideate` merely because they may later become an idea, backlog item, project, or document.
|
|
158
158
|
|
|
159
|
-
There are no preconditions to check at activation — pack detection and active-project detection happen at step 4, after visual-need assessment, so this skill works in any repo regardless of which OAT packs are
|
|
159
|
+
There are no preconditions to check at activation — pack detection and active-project detection happen at step 4, after visual-need assessment, so this skill works in any repo regardless of which OAT packs are available.
|
|
160
160
|
|
|
161
161
|
**Soft Exploratory Path** (per Activation Contract): respond conversationally with brainstorm-quality structure (options, tradeoffs, open questions, no premature implementation, no destination guess). Do not print the banner, assert mode, run pack detection, or offer the visual companion. Track an exploratory-turn counter for the thread; on the 2nd+ consecutive exploratory turn with no concrete action requested, append the soft offer once: "If you want, I can switch into structured brainstorm mode for this." If the user accepts, transition to Hard Activation and re-enter Step 2.
|
|
162
162
|
|
|
@@ -216,9 +216,9 @@ The `active`, `declined`, and `unavailable` decisions apply for the rest of the
|
|
|
216
216
|
Run pack-detection and active-project resolution **once** per session, before the conversation starts. Mirrors the convention used by `oat-project-document`.
|
|
217
217
|
|
|
218
218
|
```bash
|
|
219
|
-
IDEAS_INSTALLED=$(oat
|
|
220
|
-
PJM_INSTALLED=$(oat
|
|
221
|
-
WORKFLOWS_INSTALLED=$(oat
|
|
219
|
+
IDEAS_INSTALLED=$(oat tools has ideas 2>/dev/null || echo "false")
|
|
220
|
+
PJM_INSTALLED=$(oat tools has project-management 2>/dev/null || echo "false")
|
|
221
|
+
WORKFLOWS_INSTALLED=$(oat tools has workflows 2>/dev/null || echo "false")
|
|
222
222
|
ACTIVE_PROJECT=$(oat config get activeProject 2>/dev/null || echo "")
|
|
223
223
|
|
|
224
224
|
ACTIVE_PROJECT_VALID="false"
|
|
@@ -626,7 +626,7 @@ End mode assertion when the split handoff completes or reports its own blocker.
|
|
|
626
626
|
- ✅ Phase banner `OAT ▸ BRAINSTORM` is printed exactly once at activation; mode assertion follows immediately.
|
|
627
627
|
- ✅ Visual-companion offer is conditional on visual need, not Node availability alone. Text-likely brainstorms set `VISUAL_COMPANION = "deferred"` and continue without mentioning the companion.
|
|
628
628
|
- ✅ When a visual-companion offer is made, it is its own message with no other content. The offer is suppressed entirely (no message printed) when `node` is not on PATH.
|
|
629
|
-
- ✅ Pack and active-project detection (`oat
|
|
629
|
+
- ✅ Pack and active-project detection (`oat tools has <pack>` and `oat config get activeProject`) runs once per session at step 4, before the conversation starts.
|
|
630
630
|
- ✅ Conversation cadence holds the Superpowers contract: one question at a time, multiple-choice preferred, 2-3 distinct approaches with a recommendation, per-question visual-companion routing.
|
|
631
631
|
- ✅ Destination is identified via either trigger-phrase opportunistic surfacing (loose substring + paraphrase tolerance, not regex; ambiguity → ask) or convergence cue (pack-filtered terminal-state picker).
|
|
632
632
|
- ✅ The terminal-state picker conditionally includes `Promote to N projects` only when `oat project split evaluate-signals` reports `triggered: true`; small-scope convergence keeps the option hidden.
|
|
@@ -47,7 +47,7 @@ Always honor an explicit user-supplied path over the suggestion. Brainstorm docs
|
|
|
47
47
|
|
|
48
48
|
### Destination: Capture as new idea
|
|
49
49
|
|
|
50
|
-
**Pack required:** `ideas` (i.e., `oat
|
|
50
|
+
**Pack required:** `ideas` (i.e., `oat tools has ideas` returns `true`)
|
|
51
51
|
**Trigger phrases:** "capture as an idea", "this is an idea worth keeping", "let's track this as an idea", "save this as an idea", "make a new idea for this".
|
|
52
52
|
**Required template fields:** `title` (slug-friendly), `summary`, `motivation` (Why Is It Interesting?), `vision` (What Would It Look Like?), `transcriptSessionNote`. Template: `.oat/templates/ideas/idea-discovery.md` (consumed via `oat-idea-new`).
|
|
53
53
|
**Optional template fields:** `approachesConsidered`, `chosenDirection`, `openQuestions`, `nextSteps`.
|
|
@@ -83,7 +83,7 @@ Always honor an explicit user-supplied path over the suggestion. Brainstorm docs
|
|
|
83
83
|
|
|
84
84
|
### Destination: Scoped backlog item
|
|
85
85
|
|
|
86
|
-
**Pack required:** `project-management` (i.e., `oat
|
|
86
|
+
**Pack required:** `project-management` (i.e., `oat tools has project-management` returns `true`)
|
|
87
87
|
**Trigger phrases:** "track this as a backlog item", "make a ticket", "log this", "open a backlog entry", "add this to the backlog", "create a backlog item for this".
|
|
88
88
|
**Required template fields:** `title` (1-line summary), `description` (problem + proposed approach), `acceptance criteria` (bullet list), `scope` (xs / s / m / l / xl), `priority` (p0 / p1 / p2 / p3). Template: `.oat/templates/backlog-item.md` (consumed via `oat-pjm-add-backlog-item`).
|
|
89
89
|
**Optional template fields:** related items, target release, owner.
|
|
@@ -112,7 +112,7 @@ Confirm to write this to a new backlog item file, or tell me what to change.
|
|
|
112
112
|
|
|
113
113
|
### Destination: Promote to new OAT project
|
|
114
114
|
|
|
115
|
-
**Pack required:** `workflows` (i.e., `oat
|
|
115
|
+
**Pack required:** `workflows` (i.e., `oat tools has workflows` returns `true`)
|
|
116
116
|
**Trigger phrases:** "let's make this a project", "promote this to a project", "scaffold a project for this", "this is project-sized — let's start one".
|
|
117
117
|
**Required template fields:** `title`, `summary` (Initial Request), `approachesConsidered` (Solution Space), `chosenDirection` (Chosen Direction), key decisions, `openQuestions`. Template: `.oat/templates/discovery.md` (consumed via `oat project new`).
|
|
118
118
|
**Optional template fields:** `motivation`, `vision`, `nextSteps`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-cursor-cloud-projects
|
|
3
|
-
version: 1.0.
|
|
3
|
+
version: 1.0.2
|
|
4
4
|
description: Use when OAT work is mentioned in a Cursor Cloud environment. Orients agents to cloud detection, repo-rooted project homes, user-first assets, CLI availability, and Cursor dispatch context without owning lifecycle execution.
|
|
5
5
|
disable-model-invocation: false
|
|
6
6
|
user-invocable: true
|
|
@@ -236,10 +236,17 @@ For Cursor review/worker dispatch:
|
|
|
236
236
|
|
|
237
237
|
1. Read `references/cursor-cloud-mechanics.md`.
|
|
238
238
|
2. Resolve and read the selected user-scope
|
|
239
|
-
`oat-dispatch-subagents/
|
|
240
|
-
|
|
241
|
-
3.
|
|
242
|
-
|
|
239
|
+
`oat-dispatch-subagents/SKILL.md` by absolute path, falling back to
|
|
240
|
+
repo/bundled tiers only when the user skill is absent.
|
|
241
|
+
3. Resolve and read the selected user-scope
|
|
242
|
+
`subagent-orchestration/references/model-selection-principles.md` and
|
|
243
|
+
`subagent-orchestration/references/provider-cursor.md` by absolute path,
|
|
244
|
+
with the same fallback rule.
|
|
245
|
+
4. Resolve and read the selected user-scope
|
|
246
|
+
`oat-dispatch-subagents/references/provider-cursor.md` mechanics reference
|
|
247
|
+
by absolute path, with the same fallback rule.
|
|
248
|
+
5. Let `oat-project-dispatch-subagents` adapt lifecycle scope and policy.
|
|
249
|
+
6. Let `oat-dispatch-subagents` own capability, catalog, route, launch,
|
|
243
250
|
recovery, and generic evidence.
|
|
244
251
|
|
|
245
252
|
This skill supplies identity and catalog context only. Do not restate or alter
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-dispatch-subagents
|
|
3
|
-
version: 1.1
|
|
3
|
+
version: 1.2.1
|
|
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
|
|
@@ -39,7 +39,7 @@ This skill owns:
|
|
|
39
39
|
|
|
40
40
|
- capability and authorization probing;
|
|
41
41
|
- live catalog evidence and candidate intersection;
|
|
42
|
-
- model, effort, role, route, authority, and deadline selection;
|
|
42
|
+
- model, effort, reasoning mode, service tier, role, route, authority, and deadline selection;
|
|
43
43
|
- launch acceptance, continuation, recovery, and dispatch records.
|
|
44
44
|
|
|
45
45
|
Do not read OAT project state, interpret `pNN-tNN` identifiers, or add phase,
|
|
@@ -49,16 +49,35 @@ contract.
|
|
|
49
49
|
|
|
50
50
|
## Required Loading
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
Model-selection policy lives in the `subagent-orchestration` skill (same
|
|
53
|
+
pack); this skill owns launch mechanics. Read this file before every
|
|
54
|
+
OAT-managed subagent dispatch, then read
|
|
55
|
+
`.agents/skills/subagent-orchestration/references/model-selection-principles.md`.
|
|
56
|
+
Resolve the active provider and read exactly one selection reference from
|
|
57
|
+
that skill plus the matching mechanics reference from this one:
|
|
58
|
+
|
|
59
|
+
- Claude: `subagent-orchestration/references/provider-claude.md`, then
|
|
60
|
+
`references/provider-claude.md`
|
|
61
|
+
- Codex or direct OpenAI: `subagent-orchestration/references/provider-codex.md`,
|
|
62
|
+
then `references/provider-codex.md`
|
|
63
|
+
- Cursor: `subagent-orchestration/references/provider-cursor.md`, then
|
|
64
|
+
`references/provider-cursor.md`
|
|
65
|
+
|
|
66
|
+
Do not merge provider references into one policy. The principles file contains
|
|
67
|
+
the durable task-class contract; the selection reference contains dated model
|
|
68
|
+
mappings; the mechanics reference contains surface-specific launch controls.
|
|
69
|
+
For an unsupported provider, apply the provider-neutral contract and fail
|
|
70
|
+
closed when exact launch controls cannot be established.
|
|
71
|
+
|
|
72
|
+
If the `subagent-orchestration` skill is not installed, treat model guidance
|
|
73
|
+
as unresolved: fail closed for class-constrained dispatch, and for
|
|
74
|
+
unconstrained dispatch select only through active user and repository
|
|
75
|
+
instructions intersected with the live catalog.
|
|
76
|
+
|
|
77
|
+
Read `subagent-orchestration/references/evidence-and-refresh.md` when
|
|
78
|
+
selection guidance is review-required or stale, when a newer model or unknown
|
|
79
|
+
control is observed, or when a consequential dispatch depends on evidence that
|
|
80
|
+
is not current.
|
|
62
81
|
|
|
63
82
|
Read `references/record-schema.md` only when constructing or validating a
|
|
64
83
|
dispatch request, dispatch record, or homogeneous recon-wave record.
|
|
@@ -150,10 +169,17 @@ Keep these controls independent in selection and evidence:
|
|
|
150
169
|
workflow, gate, or blocked;
|
|
151
170
|
- role or agent definition;
|
|
152
171
|
- model selector and selector granularity;
|
|
153
|
-
- effort or reasoning selector, when exposed;
|
|
172
|
+
- provider-native effort or reasoning selector, when exposed;
|
|
173
|
+
- reasoning mode when exposed independently of effort;
|
|
174
|
+
- service tier, including fast or priority variants;
|
|
154
175
|
- inheritance source and context-fork controls;
|
|
155
176
|
- authority, writable roots, deadline, and retry limit;
|
|
156
|
-
- route and fallback policy
|
|
177
|
+
- route and fallback policy;
|
|
178
|
+
- provider-guidance version, verification date, and freshness state.
|
|
179
|
+
|
|
180
|
+
Do not normalize effort labels across providers. A fast or priority tier is a
|
|
181
|
+
latency control unless current provider documentation explicitly establishes a
|
|
182
|
+
capability difference; it never satisfies a higher task-class floor.
|
|
157
183
|
|
|
158
184
|
A materialized role may package defaults, but its record must preserve each
|
|
159
185
|
configured axis separately.
|
|
@@ -226,10 +252,35 @@ the lane through `caller-inline`. An economical target is not a universal
|
|
|
226
252
|
baseline for the `recon` role.
|
|
227
253
|
|
|
228
254
|
Resolve current class examples through active user and repository instructions
|
|
229
|
-
first, then the active-provider reference and live catalog, all
|
|
230
|
-
the supplied policy and ceiling.
|
|
231
|
-
examples, not canonical requirements. Select an exact eligible
|
|
232
|
-
above the requested floor; never silently downgrade.
|
|
255
|
+
first, then the active-provider selection reference and live catalog, all
|
|
256
|
+
constrained by the supplied policy and ceiling. Named models in the guidance
|
|
257
|
+
layer are dated examples, not canonical requirements. Select an exact eligible
|
|
258
|
+
target at or above the requested floor; never silently downgrade.
|
|
259
|
+
|
|
260
|
+
## Dated Guidance and Candidate Qualification
|
|
261
|
+
|
|
262
|
+
Task-class contracts are durable. Named models in the selection references are
|
|
263
|
+
dated examples. A newer model is a candidate, not an automatic upgrade.
|
|
264
|
+
|
|
265
|
+
Before using a provider mapping, determine its guidance state from the
|
|
266
|
+
selection-reference frontmatter and
|
|
267
|
+
`subagent-orchestration/references/evidence-and-refresh.md`:
|
|
268
|
+
|
|
269
|
+
- `fresh`: use the mapping after live catalog intersection;
|
|
270
|
+
- `review-required`: inspect current official controls and relevant evidence
|
|
271
|
+
before changing the incumbent;
|
|
272
|
+
- `stale`: do not rely on the named mapping without requalification. Retain a
|
|
273
|
+
known-good incumbent only when still available and floor-satisfying, or route
|
|
274
|
+
one class up.
|
|
275
|
+
|
|
276
|
+
A replacement must satisfy the class floor, be exactly selectable in the
|
|
277
|
+
launching harness, have understood effort and service-tier semantics, avoid a
|
|
278
|
+
material regression on relevant evidence, and fit the route's cost, latency,
|
|
279
|
+
tool, context, and safeguard requirements. When evidence is incomplete, keep
|
|
280
|
+
the incumbent or route one class up. Never silently select below the floor.
|
|
281
|
+
|
|
282
|
+
Record the guidance version, verification date, freshness state, and the reason
|
|
283
|
+
for any incumbent change.
|
|
233
284
|
|
|
234
285
|
## Catalog Evidence
|
|
235
286
|
|
|
@@ -265,7 +316,8 @@ For every dispatch:
|
|
|
265
316
|
or blocked route before launch.
|
|
266
317
|
6. Build the complete redacted payload.
|
|
267
318
|
7. Record route, selection source, selection reason, candidates, catalog
|
|
268
|
-
source,
|
|
319
|
+
source, model, effort, reasoning mode, service tier, guidance version,
|
|
320
|
+
authority, and deadline.
|
|
269
321
|
8. Launch once.
|
|
270
322
|
9. Record launch acceptance separately from child outcome and runtime identity.
|
|
271
323
|
|
|
@@ -294,11 +346,16 @@ A homogeneous wave may share one record only when `task_class` and
|
|
|
294
346
|
`model_class_floor` match in addition to every existing dispatch axis.
|
|
295
347
|
Multiple read-only recon lanes may share one selection record only when all of
|
|
296
348
|
these axes are identical: provider, dispatch context, catalog snapshot,
|
|
297
|
-
selected route, role class, role selector, model, effort,
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
`
|
|
349
|
+
selected route, role class, role selector, model, effort, reasoning mode
|
|
350
|
+
(`reasoning_mode_selector`), service tier (`service_tier_selector`), guidance
|
|
351
|
+
reference (`guidance_reference`), guidance version (`guidance_version`),
|
|
352
|
+
guidance verification date (`guidance_verified_at`), guidance status
|
|
353
|
+
(`guidance_status`), authority, deadline, retry limit, fallback, `task_class`,
|
|
354
|
+
and `model_class_floor`. Optional model-guidance fields must be identically
|
|
355
|
+
present or absent across all lanes and, when present, have identical values.
|
|
356
|
+
Include a lane manifest with lane-specific scope, acceptance, and outcome. A
|
|
357
|
+
recon-wave record repeats the shared `task_class` and `model_class_floor`
|
|
358
|
+
beside `shared_dispatch_record`; lane entries do not redefine them.
|
|
302
359
|
|
|
303
360
|
If any axis differs or either class field does not match, create separate
|
|
304
361
|
records and waves. The record-level scope is the aggregate wave boundary; each
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
# Claude
|
|
1
|
+
# Claude Dispatch Mechanics
|
|
2
2
|
|
|
3
|
-
Load this reference only when the active provider is Claude.
|
|
4
|
-
|
|
3
|
+
Load this reference only when the active provider is Claude. Model-selection
|
|
4
|
+
policy for this provider lives in
|
|
5
|
+
`subagent-orchestration/references/provider-claude.md`; read it first.
|
|
5
6
|
|
|
6
7
|
## Control Surfaces
|
|
7
8
|
|
|
@@ -33,10 +34,10 @@ satisfy a universal catalog rule.
|
|
|
33
34
|
|
|
34
35
|
## Task-Class Resolution
|
|
35
36
|
|
|
36
|
-
Apply active user and repository instructions first
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
Apply active user and repository instructions first, then the dated class
|
|
38
|
+
guidance from the active provider selection reference. Intersect the resulting
|
|
39
|
+
guidance with the live native model enum and the supplied policy and ceiling.
|
|
40
|
+
Select one exact accepted alias at or above the requested floor:
|
|
40
41
|
|
|
41
42
|
- `mechanical-recon`: the fastest economical class suitable for deterministic
|
|
42
43
|
inventories, parity, and command execution;
|
|
@@ -59,7 +60,9 @@ prohibited. Record the exact selector and `floor_satisfaction`.
|
|
|
59
60
|
required and native controls cannot express it.
|
|
60
61
|
- Record selector granularity such as `tier-alias` or `exact-model-id`.
|
|
61
62
|
- Record native effort as `not-exposed`, not globally `not-applicable`.
|
|
63
|
+
- Record service tier separately; fast Claude routes are latency purchases.
|
|
62
64
|
- Keep acceptance, outcome, runtime identity, and continuation separate.
|
|
65
|
+
- Record the provider-guidance version and freshness state.
|
|
63
66
|
|
|
64
67
|
Verify current `claude --help` before using a CLI route. Preserve the caller's
|
|
65
68
|
authority and construct a self-contained bounded prompt.
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
# Codex
|
|
1
|
+
# Codex Dispatch Mechanics
|
|
2
2
|
|
|
3
|
-
Load this reference only when the active provider is Codex
|
|
4
|
-
|
|
3
|
+
Load this reference only when the active provider is Codex or a direct OpenAI
|
|
4
|
+
API route. Model-selection policy for this provider lives in
|
|
5
|
+
`subagent-orchestration/references/provider-codex.md`; read it first.
|
|
5
6
|
|
|
6
7
|
## Independent Controls
|
|
7
8
|
|
|
8
9
|
Codex may expose independent native controls for:
|
|
9
10
|
|
|
10
11
|
- registered agent type;
|
|
11
|
-
- model and reasoning
|
|
12
|
+
- exact model and `reasoning.effort`;
|
|
13
|
+
- `reasoning.mode`, including `pro` where supported;
|
|
12
14
|
- service tier and forked context;
|
|
13
15
|
- maximum nesting depth;
|
|
14
16
|
- sandbox and scoped writable roots.
|
|
15
17
|
|
|
16
18
|
A materialized role may package defaults, but preserve role, model, effort,
|
|
17
|
-
service tier, fork behavior, and authority as separate
|
|
19
|
+
reasoning mode, service tier, fork behavior, and authority as separate
|
|
20
|
+
configured axes.
|
|
18
21
|
|
|
19
22
|
## Native Topology
|
|
20
23
|
|
|
@@ -28,13 +31,14 @@ grant filesystem authority.
|
|
|
28
31
|
|
|
29
32
|
## Exact Native Selection
|
|
30
33
|
|
|
31
|
-
1. Read live registered roles and model
|
|
34
|
+
1. Read live registered roles and model, effort, service-tier, and reasoning-mode selectors.
|
|
32
35
|
2. Read effective depth and sandbox configuration.
|
|
33
36
|
3. Resolve one configured candidate allowed by policy and ceiling.
|
|
34
37
|
4. Use the exact registered role as `agent_type` only when guaranteed by the
|
|
35
38
|
live host.
|
|
36
39
|
5. Use the fork mode allowed by the live schema for explicit overrides.
|
|
37
40
|
6. Record materialized configuration and live schema as distinct sources.
|
|
41
|
+
7. Record the provider-guidance version and freshness state.
|
|
38
42
|
|
|
39
43
|
Prefer economical high-effort workers for narrow, independently verifiable
|
|
40
44
|
recon. Move to a context-heavier worker when success depends on reconciling
|
|
@@ -44,10 +48,10 @@ many files must be searched.
|
|
|
44
48
|
|
|
45
49
|
## Task-Class Resolution
|
|
46
50
|
|
|
47
|
-
Apply active user and repository instructions first
|
|
48
|
-
|
|
49
|
-
the live model/effort selectors, registered roles, supplied policy and
|
|
50
|
-
and requested class floor:
|
|
51
|
+
Apply active user and repository instructions first, then the dated class
|
|
52
|
+
guidance from the active provider selection reference. Intersect that guidance
|
|
53
|
+
with the live model/effort selectors, registered roles, supplied policy and
|
|
54
|
+
ceiling, and requested class floor:
|
|
51
55
|
|
|
52
56
|
- `mechanical-recon`: an economical class and effort suitable for
|
|
53
57
|
deterministic inventories, parity, and command execution;
|
|
@@ -102,6 +106,7 @@ codex exec \
|
|
|
102
106
|
'<self-contained bounded prompt>'
|
|
103
107
|
```
|
|
104
108
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
109
|
+
Add a service tier or reasoning mode only through controls shown by the current
|
|
110
|
+
CLI/schema. Honor the caller's authorization boundary. Record every selector
|
|
111
|
+
as configured invocation evidence; do not infer runtime identity from process
|
|
112
|
+
success alone.
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
# Cursor
|
|
1
|
+
# Cursor Dispatch Mechanics
|
|
2
2
|
|
|
3
|
-
Load this reference only when the active provider is Cursor. Cursor IDE
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Load this reference only when the active provider is Cursor. Cursor IDE, CLI,
|
|
4
|
+
and SDK are related but distinct dispatch contexts. Model-selection policy for
|
|
5
|
+
this provider lives in `subagent-orchestration/references/provider-cursor.md`;
|
|
6
|
+
read it first. Treat every observed catalog as a volatile snapshot, never a
|
|
7
|
+
durable inventory.
|
|
6
8
|
|
|
7
9
|
## Control Surfaces
|
|
8
10
|
|
|
@@ -10,17 +12,21 @@ volatile snapshot, never a durable inventory.
|
|
|
10
12
|
| ---------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
11
13
|
| Native Task/Subagent schema | Agent types available for that dispatcher invocation | CLI account eligibility or another dispatcher's native catalog |
|
|
12
14
|
| `cursor-agent --list-models` | Opaque flat model IDs accepted by the account CLI and resolver | Native Task eligibility or definition-pin acceptance |
|
|
15
|
+
| Cursor SDK catalog/schema | Models accepted by that SDK context | IDE or nested-native eligibility |
|
|
13
16
|
| Cursor UI role configuration | User-selected defaults and role settings | Live root or nested schema without a new observation |
|
|
14
17
|
|
|
15
18
|
Root and nested catalogs are independent, volatile observations. Equality in
|
|
16
19
|
one run does not establish equality in another run or nesting boundary.
|
|
17
20
|
|
|
21
|
+
Record the model selector and the service tier separately even when Cursor
|
|
22
|
+
encodes both in one opaque alias.
|
|
23
|
+
|
|
18
24
|
## Task-Class Resolution
|
|
19
25
|
|
|
20
|
-
Apply active user and repository instructions first
|
|
21
|
-
|
|
22
|
-
the exact model choices advertised by the dispatcher, the supplied policy
|
|
23
|
-
ceiling, and the requested class floor:
|
|
26
|
+
Apply active user and repository instructions first, then the dated class
|
|
27
|
+
guidance from the active provider selection reference. Intersect that guidance
|
|
28
|
+
with the exact model choices advertised by the dispatcher, the supplied policy
|
|
29
|
+
and ceiling, and the requested class floor:
|
|
24
30
|
|
|
25
31
|
- `mechanical-recon`: the fastest economical class suitable for deterministic
|
|
26
32
|
inventories, parity, and command execution;
|
|
@@ -55,8 +61,8 @@ reconstruct either model string.
|
|
|
55
61
|
fallback or replacement.
|
|
56
62
|
6. Treat an omitted variant as deliberate parent inheritance only when the
|
|
57
63
|
resolver selected no managed target.
|
|
58
|
-
7. Record selected variant, mapped target, acceptance, outcome,
|
|
59
|
-
identity separately.
|
|
64
|
+
7. Record selected variant, mapped target, service tier, acceptance, outcome,
|
|
65
|
+
runtime identity, and guidance version separately.
|
|
60
66
|
|
|
61
67
|
## Reviewer-Local Nested Selection
|
|
62
68
|
|
|
@@ -68,7 +74,7 @@ exists.
|
|
|
68
74
|
|
|
69
75
|
1. Read the model choices advertised by the nested Task/Subagent dispatcher.
|
|
70
76
|
2. Intersect those advertised model choices with active user and repository
|
|
71
|
-
model-class instructions,
|
|
77
|
+
model-class instructions, the selection reference, the supplied
|
|
72
78
|
policy/ceiling, and the requested `model_class_floor`.
|
|
73
79
|
3. Use the native `generalPurpose` agent type and pass the exact model choice
|
|
74
80
|
advertised by the current nested dispatcher byte-for-byte.
|
|
@@ -83,8 +89,8 @@ model pins, or reconstruct a lifecycle variant. If no exact nested selector
|
|
|
83
89
|
satisfies the floor, record `floor_satisfaction: unsatisfied` and return the
|
|
84
90
|
lane for caller-inline coverage without launching a weaker worker.
|
|
85
91
|
|
|
86
|
-
Do not infer Cursor IDE behavior from a headless CLI surface. Keep
|
|
87
|
-
mechanical recon on economical explicit targets. Stronger lanes use a
|
|
92
|
+
Do not infer Cursor IDE behavior from a headless CLI or SDK surface. Keep
|
|
93
|
+
bounded mechanical recon on economical explicit targets. Stronger lanes use a
|
|
88
94
|
floor-satisfying target when advertised or stay with the primary reviewer.
|
|
89
95
|
|
|
90
96
|
## Dispatch Mode and Liveness
|
|
@@ -108,14 +114,15 @@ liveness, stat that specific file's mtime and size rather than inferring from a
|
|
|
108
114
|
directory. Metadata change is observable activity evidence, not a health
|
|
109
115
|
verdict.
|
|
110
116
|
|
|
111
|
-
## Pre-Start CLI Routes
|
|
117
|
+
## Pre-Start CLI or SDK Routes
|
|
112
118
|
|
|
113
119
|
Any native mismatch is recorded before launch with the route, reason, and
|
|
114
120
|
candidate set.
|
|
115
121
|
|
|
116
122
|
When exact outer lifecycle role selection rejects the resolver-selected
|
|
117
123
|
variant before launch, or a generic caller's current native intersection is
|
|
118
|
-
unsatisfactory, a caller may use a deliberate pre-start CLI route only
|
|
124
|
+
unsatisfactory, a caller may use a deliberate pre-start CLI or SDK route only
|
|
125
|
+
when:
|
|
119
126
|
|
|
120
127
|
- the caller's fallback policy allows it;
|
|
121
128
|
- the exact CLI selector exists in the account catalog;
|
|
@@ -123,7 +130,7 @@ unsatisfactory, a caller may use a deliberate pre-start CLI route only when:
|
|
|
123
130
|
candidates are recorded before launch;
|
|
124
131
|
- the prompt is self-contained and authority-bounded.
|
|
125
132
|
|
|
126
|
-
Verify current CLI help before use. A typical shape is:
|
|
133
|
+
Verify current CLI or SDK help/schema before use. A typical CLI shape is:
|
|
127
134
|
|
|
128
135
|
```sh
|
|
129
136
|
cursor-agent \
|
|
@@ -133,13 +140,13 @@ cursor-agent \
|
|
|
133
140
|
'<self-contained bounded prompt>'
|
|
134
141
|
```
|
|
135
142
|
|
|
136
|
-
CLI completion proves configured invocation completion. It does not
|
|
137
|
-
inner native selection or runtime model identity.
|
|
143
|
+
CLI or SDK completion proves configured invocation completion. It does not
|
|
144
|
+
prove an inner native selection or runtime model identity.
|
|
138
145
|
|
|
139
146
|
## Catalog-Mismatch Advisory
|
|
140
147
|
|
|
141
|
-
Report configured candidates missing from the current
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
148
|
+
Report configured candidates missing from the current catalog, nearby native
|
|
149
|
+
candidates, the selected route, and the exact observation boundary. Do not
|
|
150
|
+
remove CLI- or SDK-capable candidates solely because another native surface
|
|
151
|
+
cannot pin them. Do not persist an observed catalog without explicit user
|
|
152
|
+
choice.
|
|
@@ -19,6 +19,8 @@ provider: codex
|
|
|
19
19
|
dispatch_context: root-native
|
|
20
20
|
dispatch_policy: economy
|
|
21
21
|
dispatch_ceiling: high
|
|
22
|
+
service_tier: standard
|
|
23
|
+
reasoning_mode: null
|
|
22
24
|
authority: read-only
|
|
23
25
|
expected_output: structured-findings
|
|
24
26
|
verification_evidence: file-line-references
|
|
@@ -34,6 +36,14 @@ escalate_when:
|
|
|
34
36
|
- security impact is consequential
|
|
35
37
|
```
|
|
36
38
|
|
|
39
|
+
`reasoning_mode` and `service_tier` are normalized caller-intent fields. During
|
|
40
|
+
selection, map `reasoning_mode` to the resolved
|
|
41
|
+
`reasoning_mode_selector` record field and `service_tier` to the resolved
|
|
42
|
+
`service_tier_selector` record field. The selector fields are launch evidence,
|
|
43
|
+
not blind copies of request values: they must contain the exact
|
|
44
|
+
provider-native controls actually selected, or `null` when no independent
|
|
45
|
+
control was selected or exposed.
|
|
46
|
+
|
|
37
47
|
`dispatch_policy` and `dispatch_ceiling` are optional resolved inputs. The
|
|
38
48
|
general engine does not resolve their source.
|
|
39
49
|
|
|
@@ -59,6 +69,47 @@ retain the original role-based selection and fallback behavior. The legacy
|
|
|
59
69
|
`explicit-downgrade` example above is valid only for an unconstrained request
|
|
60
70
|
without task-class metadata or a declared class floor.
|
|
61
71
|
|
|
72
|
+
## Legacy Record
|
|
73
|
+
|
|
74
|
+
This baseline Record remains valid without optional model-guidance evidence:
|
|
75
|
+
|
|
76
|
+
```yaml
|
|
77
|
+
request_id: dispatch-legacy-id
|
|
78
|
+
caller: oat-repo-improve
|
|
79
|
+
scope: repo:packages/cli
|
|
80
|
+
objective: Audit CLI correctness hotspots
|
|
81
|
+
action: analysis
|
|
82
|
+
role_name: repo-audit-scout
|
|
83
|
+
role_class: recon
|
|
84
|
+
provider: codex
|
|
85
|
+
dispatch_context: root-native
|
|
86
|
+
dispatch_policy: economy
|
|
87
|
+
dispatch_ceiling: high
|
|
88
|
+
catalog_snapshot:
|
|
89
|
+
id: root-native-legacy-1
|
|
90
|
+
source: tool-schema
|
|
91
|
+
observed_at: 2026-07-12T00:00:00Z
|
|
92
|
+
authority: read-only
|
|
93
|
+
role_selector: oat-recon-worker
|
|
94
|
+
model_selector: opaque-provider-selector
|
|
95
|
+
model_selector_granularity: opaque
|
|
96
|
+
effort_selector: economical
|
|
97
|
+
selection_source: native-default
|
|
98
|
+
candidates_considered:
|
|
99
|
+
- opaque-provider-selector
|
|
100
|
+
selection_reason: native-catalog
|
|
101
|
+
selected_route: native
|
|
102
|
+
deadline_seconds: 300
|
|
103
|
+
retry_limit: 1
|
|
104
|
+
payload: {}
|
|
105
|
+
launch_status: accepted
|
|
106
|
+
child_outcome: completed
|
|
107
|
+
configured_invocation_evidence: []
|
|
108
|
+
runtime_confirmation: not-reported
|
|
109
|
+
diagnostics: []
|
|
110
|
+
continuation_events: []
|
|
111
|
+
```
|
|
112
|
+
|
|
62
113
|
## Record
|
|
63
114
|
|
|
64
115
|
```yaml
|
|
@@ -82,6 +133,12 @@ role_selector: oat-recon-worker
|
|
|
82
133
|
model_selector: opaque-provider-selector
|
|
83
134
|
model_selector_granularity: opaque
|
|
84
135
|
effort_selector: economical
|
|
136
|
+
reasoning_mode_selector: null
|
|
137
|
+
service_tier_selector: standard
|
|
138
|
+
guidance_reference: subagent-orchestration/references/provider-codex.md
|
|
139
|
+
guidance_version: 2026-07-21
|
|
140
|
+
guidance_verified_at: 2026-07-21
|
|
141
|
+
guidance_status: fresh
|
|
85
142
|
selection_source: native-default
|
|
86
143
|
candidates_considered:
|
|
87
144
|
- opaque-provider-selector
|
|
@@ -171,5 +228,32 @@ lanes:
|
|
|
171
228
|
The wave scope is the aggregate boundary. Lane scope may narrow it. Use one
|
|
172
229
|
shared record only when every dispatch axis listed in the main skill,
|
|
173
230
|
`task_class`, and `model_class_floor` are identical. Lane entries do not
|
|
174
|
-
redefine the shared class fields.
|
|
175
|
-
|
|
231
|
+
redefine the shared class fields. In particular, `reasoning_mode_selector`,
|
|
232
|
+
`service_tier_selector`, `guidance_reference`, `guidance_version`,
|
|
233
|
+
`guidance_verified_at`, and `guidance_status` must be identically present or
|
|
234
|
+
absent across lanes and, when present, have identical values. Mixed classes or
|
|
235
|
+
different model-guidance controls require separate records and waves.
|
|
236
|
+
|
|
237
|
+
## Optional Model-Guidance Evidence
|
|
238
|
+
|
|
239
|
+
The following fields are optional for legacy callers and required when the
|
|
240
|
+
launch surface exposes the corresponding control or when dated provider
|
|
241
|
+
mapping influenced selection:
|
|
242
|
+
|
|
243
|
+
```yaml
|
|
244
|
+
reasoning_mode_selector: null # e.g. pro, when independent of effort
|
|
245
|
+
service_tier_selector: standard # e.g. standard, fast, priority
|
|
246
|
+
guidance_reference: subagent-orchestration/references/provider-codex.md
|
|
247
|
+
guidance_version: 2026-07-21
|
|
248
|
+
guidance_verified_at: 2026-07-21
|
|
249
|
+
guidance_status: fresh # fresh | review-required | stale
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Keep `model_selector`, `effort_selector`, `reasoning_mode_selector`, and
|
|
253
|
+
`service_tier_selector` separate even when a provider encodes several axes in
|
|
254
|
+
one opaque alias. Preserve that exact alias in `model_selector` and also record
|
|
255
|
+
the interpreted service tier when known.
|
|
256
|
+
|
|
257
|
+
A service tier never changes `model_class_floor` or `floor_satisfaction`.
|
|
258
|
+
Unknown tier semantics must be recorded as a diagnostic and may block a
|
|
259
|
+
consequential route.
|