@open-agent-toolkit/cli 0.1.73 → 0.1.76
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 +53 -72
- package/assets/docs/cli-utilities/workflow-gates.md +38 -2
- package/assets/docs/provider-sync/commands.md +26 -0
- package/assets/docs/provider-sync/config.md +17 -6
- package/assets/docs/provider-sync/index.md +17 -5
- package/assets/docs/provider-sync/manifest-and-drift.md +39 -1
- package/assets/docs/provider-sync/providers.md +23 -19
- package/assets/docs/provider-sync/scope-and-surface.md +5 -1
- package/assets/docs/reference/file-locations.md +9 -3
- package/assets/docs/reference/oat-directory-structure.md +11 -3
- package/assets/docs/reference/troubleshooting.md +11 -0
- 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/create-agnostic-skill/SKILL.md +1 -1
- package/assets/skills/create-agnostic-skill/references/docs/skills-guide.md +24 -15
- package/assets/skills/oat-agent-instructions-analyze/references/docs/provider-reference.md +9 -3
- package/assets/skills/oat-agent-instructions-apply/references/docs/provider-reference.md +9 -3
- 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/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +55 -0
- 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 +7 -3
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +129 -38
- 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/remove/skill/remove-skill.d.ts +2 -0
- package/dist/commands/remove/skill/remove-skill.d.ts.map +1 -1
- package/dist/commands/remove/skill/remove-skill.js +20 -2
- package/dist/commands/shared/adopt-stray.d.ts.map +1 -1
- package/dist/commands/shared/adopt-stray.js +3 -0
- 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/shared/cursor-skill-disposition.d.ts +17 -0
- package/dist/commands/shared/cursor-skill-disposition.d.ts.map +1 -0
- package/dist/commands/shared/cursor-skill-disposition.js +41 -0
- package/dist/commands/status/index.d.ts +17 -5
- package/dist/commands/status/index.d.ts.map +1 -1
- package/dist/commands/status/index.js +151 -47
- 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/config/oat-config.d.ts +0 -1
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +26 -23
- package/dist/config/sync-config.d.ts +6 -2
- package/dist/config/sync-config.d.ts.map +1 -1
- package/dist/config/sync-config.js +18 -6
- package/dist/config/user-sync-config.d.ts +11 -0
- package/dist/config/user-sync-config.d.ts.map +1 -0
- package/dist/config/user-sync-config.js +61 -0
- package/dist/drift/strays.d.ts +1 -1
- package/dist/drift/strays.d.ts.map +1 -1
- package/dist/drift/strays.js +2 -1
- package/dist/engine/compute-plan.d.ts.map +1 -1
- package/dist/engine/compute-plan.js +154 -4
- package/dist/engine/engine.types.d.ts +2 -2
- package/dist/engine/engine.types.d.ts.map +1 -1
- package/dist/engine/engine.types.js +1 -0
- package/dist/engine/execute-plan.d.ts.map +1 -1
- package/dist/engine/execute-plan.js +4 -0
- 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/manifest/manifest.types.d.ts +12 -12
- 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/cursor/paths.d.ts.map +1 -1
- package/dist/providers/cursor/paths.js +6 -4
- 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/adapter.types.d.ts +6 -0
- package/dist/providers/shared/adapter.types.d.ts.map +1 -1
- package/dist/providers/shared/adapter.utils.d.ts +2 -1
- package/dist/providers/shared/adapter.utils.d.ts.map +1 -1
- package/dist/providers/shared/adapter.utils.js +29 -6
- 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
|
@@ -226,7 +226,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
226
226
|
| `oat-project-plan/SKILL.md` | `5eb3949f32e1 -> NG`; `64a08153bb9e -> NG`; `655d61df0a8f -> NG`; `56b37486f09d -> PLAN-01`; `cf317c17c586 -> PLAN-02`; `781643b0f2c3 -> NG`; `01fd7cca8253 -> PLAN-04`; `7bc7fa3f2cbb -> NG`; `da28ce0a5f2e -> NG`; `e334f94c4d35 -> NG`; `1fa55762c038 -> NG`; `c0935b5484a2 -> NG`; `6008163054f8 -> PLAN-05`; `571271f4d71b -> PLAN-06`; `746b760289e4 -> PLAN-06`; `de195590ff83 -> NG`; `49640510829a -> PLAN-07`; `4bef7afa7a71 -> PLAN-08`; `e5886632533e -> PLAN-08`; `4cfe1df14372 -> NG`; `d116c97a500c -> PLAN-10`; `aa62facff547 -> PLAN-10`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> PLAN-11`; `1734b2c85c5d -> NG`; `b4af2220eb91 -> PLAN-11` |
|
|
227
227
|
| `oat-project-import-plan/SKILL.md` | `f7ca8635452f -> NG`; `c2e5fa410069 -> NG`; `655d61df0a8f -> NG`; `b137f73db20c -> 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` |
|
|
228
228
|
| `oat-project-implement/SKILL.md` | `853d44621b72 -> NG`; `ffb3af0ba8ef -> NG`; `e0355c7a05e9 -> IMPLEMENT-11+IMPLEMENT-13+IMPLEMENT-16`; `6296f41ae11c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> IMPLEMENT-01`; `8ce8a09feca4 -> NG` |
|
|
229
|
-
| `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `
|
|
229
|
+
| `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `6d33ea58da2c -> IMPLEMENT-11`; `378a75543a72 -> IMPLEMENT-11`; `c7b25627e674 -> IMPLEMENT-11`; `51ef9a453323 -> IMPLEMENT-11`; `c67145e3fb00 -> IMPLEMENT-11`; `64fbeac64811 -> IMPLEMENT-11`; `19b13c17bddb -> NG`; `f7dab9c1f96c -> IMPLEMENT-12`; `c69c17a069a8 -> IMPLEMENT-14`; `a97fa5634a68 -> IMPLEMENT-14`; `3af58881811c -> IMPLEMENT-14`; `4203e1f49d0f -> IMPLEMENT-14`; `c3bd2458a3d3 -> IMPLEMENT-13`; `95b5eafc070d -> IMPLEMENT-13`; `25ecbe9c998b -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f6f24fd71da4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f18283bc1cf9 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `2c1ffc4a82dd -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `3454a07aa843 -> IMPLEMENT-16`; `0d86e2098cfb -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d5fe597d266f -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `55a152e944c1 -> IMPLEMENT-16`; `effac7cbd573 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d2a34d8b148 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d27462aaed26 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d52ecb17268 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `5b91aabe3757 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `fd0ad919f702 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `63bf28df1474 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a4ed471dbc78 -> IMPLEMENT-16`; `6b7a64cec6e5 -> IMPLEMENT-16`; `0a4fdba0ebc0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a5033c2aada5 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `e77609eddba0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `351156e8dde4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `51d45bd2bbd1 -> IMPLEMENT-16`; `f7796ffcc804 -> IMPLEMENT-16`; `990d730cb494 -> IMPLEMENT-16`; `6ed28bb7d384 -> IMPLEMENT-16`; `8b7d4b5bcf1b -> IMPLEMENT-16`; `88aad500e6e9 -> IMPLEMENT-16`; `877e3e3f9eda -> IMPLEMENT-16`; `fc03c97f834e -> IMPLEMENT-16`; `12939a3da5e0 -> IMPLEMENT-16`; `bdb418335a88 -> IMPLEMENT-16`; `fba97e596ebd -> IMPLEMENT-16`; `3d0b5e2f14f0 -> IMPLEMENT-17`; `f56a9ce88461 -> IMPLEMENT-17`; `9ba67b50d0ba -> IMPLEMENT-17`; `39ff911760af -> IMPLEMENT-17`; `5b560b5bd6e3 -> IMPLEMENT-17`; `fa21df5e5e01 -> IMPLEMENT-17`; `0fed77bec55e -> IMPLEMENT-17`; `6d81cfb0483f -> IMPLEMENT-17`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> IMPLEMENT-18` |
|
|
230
230
|
| `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` |
|
|
231
231
|
| `oat-project-implement/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
232
232
|
| `oat-project-implement/references/phase-execution.md` | `27737e814790 -> NG`; `6dda2b8e62e2 -> IMPLEMENT-10`; `b3197086bb1e -> IMPLEMENT-10` |
|
|
@@ -205,20 +205,22 @@ launcher payload supplies configured invocation evidence, so missing telemetry,
|
|
|
205
205
|
missing self-report, or a later `BLOCKED` result cannot trigger fallback. Record
|
|
206
206
|
the final review `target`, `model_axis`, and `effort_axis` from resolver output
|
|
207
207
|
and the constructed launcher payload, never from reviewer self-report. A
|
|
208
|
-
concrete managed Claude
|
|
209
|
-
`providers.claude.dispatchArgs.model`
|
|
210
|
-
`
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
base
|
|
208
|
+
concrete managed Claude target must put
|
|
209
|
+
`providers.claude.dispatchArgs.model` into the actual provider invocation as
|
|
210
|
+
the exact `model` argument. A concrete managed Cursor target must launch
|
|
211
|
+
`providers.cursor.dispatchArgs.variant` as the exact resolver-selected native
|
|
212
|
+
reviewer variant first; Cursor model strings remain opaque inside the mapping
|
|
213
|
+
and resolver. Before acceptance, a transport retry preserves the exact
|
|
214
|
+
payload. After acceptance, poll, nudge, or continue only through the existing
|
|
215
|
+
reviewer handle. A terminal timeout stops or escalates without another launch;
|
|
216
|
+
a fresh pinned-child route is eligible only after explicit pre-start native
|
|
217
|
+
role-selection rejection. If the host cannot apply the required role, variant,
|
|
218
|
+
or model argument, fail closed or block unless verified equivalent
|
|
219
|
+
current-host controls permit inline execution. The preference below chooses
|
|
220
|
+
only among routes that preserve that target; it cannot authorize generic
|
|
221
|
+
inline or base execution. Inline remains available only with verified
|
|
222
|
+
equivalent current-host controls or an allowed explicit inherit/default or
|
|
223
|
+
managed-uncapped reviewer base-role exception.
|
|
222
224
|
|
|
223
225
|
```bash
|
|
224
226
|
REVIEW_MODEL=$(oat config get workflow.reviewExecutionModel 2>/dev/null || true)
|
|
@@ -504,4 +506,4 @@ Before reporting this skill as complete, run the configured gate as the final st
|
|
|
504
506
|
- `prompt`: surface the gate failure and ask the human how to proceed.
|
|
505
507
|
- `warn`: record the gate failure and continue.
|
|
506
508
|
|
|
507
|
-
6. Runtime selection note
|
|
509
|
+
6. Runtime selection note: the step runs the gate `command` as-is and reads no OAT runtime env var. By default, `oat gate review` avoids the resolved producer family. Exact review scopes use a claimable producer identity from the matching dispatch stamp. Final/range reviews aggregate in-scope implementer/fix stamps; when a stamp's producer is not claimable or has an unknown family, its launcher-owned configured target may contribute a lower-confidence family exclusion without becoming runtime identity. If no claimable family remains, selection degrades to same-runtime avoidance. Reusable lifecycle skill-gate commands must not include `--target <id>` so independent review stays provider-neutral. Use explicit targets only for manual/debug commands or deliberate local/user-specific overrides; do not hardcode provider/model targets in bundled skill guidance or shared lifecycle gate examples.
|
|
@@ -164,8 +164,8 @@ Resolution order:
|
|
|
164
164
|
|
|
165
165
|
Read `providers.<active-provider>` from the `--json` response for the concrete
|
|
166
166
|
dispatch controls. `dispatchArgs` carries the provider-specific argument to
|
|
167
|
-
pass through (Codex: `variant` name; Claude: `model` string; Cursor:
|
|
168
|
-
`
|
|
167
|
+
pass through (Codex: `variant` name; Claude: `model` string; Cursor:
|
|
168
|
+
materialized `variant` name). `selection` carries `role`, `selectedValue`, `capped`,
|
|
169
169
|
`selectionMode`, and policy fields; `selection.target` and an optional
|
|
170
170
|
`providers.<provider>.target` carry route data. For implementer/fix dispatch,
|
|
171
171
|
use exactly one of two mutually exclusive selection paths:
|
|
@@ -398,13 +398,19 @@ Claude rules:
|
|
|
398
398
|
Cursor rules:
|
|
399
399
|
|
|
400
400
|
- Treat every configured Cursor candidate string as opaque. Do not normalize it
|
|
401
|
-
or infer capability from its spelling.
|
|
401
|
+
or infer capability from its spelling. The materialized mapping and resolver
|
|
402
|
+
alone translate it to a native variant.
|
|
402
403
|
- For managed capped phase-implementer/fix dispatch, call
|
|
403
404
|
`oat project dispatch-ceiling resolve --provider cursor --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <opaque-model> --report-scope <phase-id> --report-action implementation --json`.
|
|
404
405
|
For bounded fixes, reuse the exact phase target with a bounded fix scope.
|
|
405
|
-
- Require `providers.cursor.dispatchArgs.
|
|
406
|
-
|
|
407
|
-
|
|
406
|
+
- Require `providers.cursor.dispatchArgs.variant` and launch that exact
|
|
407
|
+
resolver-selected native agent type first. Native acceptance plus the
|
|
408
|
+
complete launcher payload is configured invocation evidence; it does not
|
|
409
|
+
prove runtime model identity.
|
|
410
|
+
- Only a recorded pre-start native role-selection rejection of the exact
|
|
411
|
+
variant before any child starts permits another target-preserving route. If
|
|
412
|
+
the host cannot apply the variant, fail closed. After acceptance, timeout,
|
|
413
|
+
interruption, `BLOCKED`, or missing telemetry never authorizes replacement.
|
|
408
414
|
|
|
409
415
|
Payload-first invariant:
|
|
410
416
|
|
|
@@ -526,7 +532,7 @@ Dispatch policy: {policy}; selected={selected value | none}; cap={value | none}
|
|
|
526
532
|
Dispatch policy: balanced; selected=xhigh; cap=xhigh (codex, enforced — variant oat-phase-implementer-gpt-5-6-terra-xhigh)
|
|
527
533
|
Dispatch policy: inherit host defaults; selected=none; cap=none (codex, advisory — base role follows provider default)
|
|
528
534
|
Dispatch policy: balanced; selected=sonnet; cap=sonnet (claude, enforced — Task model arg)
|
|
529
|
-
Cursor
|
|
535
|
+
Cursor materialized-variant example: Dispatch policy: frontier; selected=gpt-5.6-sol-max; cap=gpt-5.6-sol-max (cursor, enforced — native variant oat-phase-implementer-gpt-5-6-sol-max)
|
|
530
536
|
Dispatch policy: unresolved; selected=none; cap=none (codex, advisory — policy set but no value resolved)
|
|
531
537
|
```
|
|
532
538
|
|
|
@@ -542,8 +548,8 @@ Dispatch policy: high; selected=opus; cap=opus (claude, advisory — provider di
|
|
|
542
548
|
```
|
|
543
549
|
|
|
544
550
|
**`enforced`** — the adapter compiled concrete dispatch args and the provider
|
|
545
|
-
accepted them. Log value + provider + mechanism detail (variant name or
|
|
546
|
-
model arg").
|
|
551
|
+
accepted them. Log value + provider + mechanism detail (native variant name or
|
|
552
|
+
"Task model arg").
|
|
547
553
|
|
|
548
554
|
**`advisory`** — the adapter supports the policy but no concrete value resolved,
|
|
549
555
|
the policy intentionally inherits provider defaults, or the provider is known
|
|
@@ -226,7 +226,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
226
226
|
| `oat-project-plan/SKILL.md` | `5eb3949f32e1 -> NG`; `64a08153bb9e -> NG`; `655d61df0a8f -> NG`; `56b37486f09d -> PLAN-01`; `cf317c17c586 -> PLAN-02`; `781643b0f2c3 -> NG`; `01fd7cca8253 -> PLAN-04`; `7bc7fa3f2cbb -> NG`; `da28ce0a5f2e -> NG`; `e334f94c4d35 -> NG`; `1fa55762c038 -> NG`; `c0935b5484a2 -> NG`; `6008163054f8 -> PLAN-05`; `571271f4d71b -> PLAN-06`; `746b760289e4 -> PLAN-06`; `de195590ff83 -> NG`; `49640510829a -> PLAN-07`; `4bef7afa7a71 -> PLAN-08`; `e5886632533e -> PLAN-08`; `4cfe1df14372 -> NG`; `d116c97a500c -> PLAN-10`; `aa62facff547 -> PLAN-10`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> PLAN-11`; `1734b2c85c5d -> NG`; `b4af2220eb91 -> PLAN-11` |
|
|
227
227
|
| `oat-project-import-plan/SKILL.md` | `f7ca8635452f -> NG`; `c2e5fa410069 -> NG`; `655d61df0a8f -> NG`; `b137f73db20c -> 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` |
|
|
228
228
|
| `oat-project-implement/SKILL.md` | `853d44621b72 -> NG`; `ffb3af0ba8ef -> NG`; `e0355c7a05e9 -> IMPLEMENT-11+IMPLEMENT-13+IMPLEMENT-16`; `6296f41ae11c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> IMPLEMENT-01`; `8ce8a09feca4 -> NG` |
|
|
229
|
-
| `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `
|
|
229
|
+
| `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `6d33ea58da2c -> IMPLEMENT-11`; `378a75543a72 -> IMPLEMENT-11`; `c7b25627e674 -> IMPLEMENT-11`; `51ef9a453323 -> IMPLEMENT-11`; `c67145e3fb00 -> IMPLEMENT-11`; `64fbeac64811 -> IMPLEMENT-11`; `19b13c17bddb -> NG`; `f7dab9c1f96c -> IMPLEMENT-12`; `c69c17a069a8 -> IMPLEMENT-14`; `a97fa5634a68 -> IMPLEMENT-14`; `3af58881811c -> IMPLEMENT-14`; `4203e1f49d0f -> IMPLEMENT-14`; `c3bd2458a3d3 -> IMPLEMENT-13`; `95b5eafc070d -> IMPLEMENT-13`; `25ecbe9c998b -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f6f24fd71da4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f18283bc1cf9 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `2c1ffc4a82dd -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `3454a07aa843 -> IMPLEMENT-16`; `0d86e2098cfb -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d5fe597d266f -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `55a152e944c1 -> IMPLEMENT-16`; `effac7cbd573 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d2a34d8b148 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d27462aaed26 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d52ecb17268 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `5b91aabe3757 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `fd0ad919f702 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `63bf28df1474 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a4ed471dbc78 -> IMPLEMENT-16`; `6b7a64cec6e5 -> IMPLEMENT-16`; `0a4fdba0ebc0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a5033c2aada5 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `e77609eddba0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `351156e8dde4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `51d45bd2bbd1 -> IMPLEMENT-16`; `f7796ffcc804 -> IMPLEMENT-16`; `990d730cb494 -> IMPLEMENT-16`; `6ed28bb7d384 -> IMPLEMENT-16`; `8b7d4b5bcf1b -> IMPLEMENT-16`; `88aad500e6e9 -> IMPLEMENT-16`; `877e3e3f9eda -> IMPLEMENT-16`; `fc03c97f834e -> IMPLEMENT-16`; `12939a3da5e0 -> IMPLEMENT-16`; `bdb418335a88 -> IMPLEMENT-16`; `fba97e596ebd -> IMPLEMENT-16`; `3d0b5e2f14f0 -> IMPLEMENT-17`; `f56a9ce88461 -> IMPLEMENT-17`; `9ba67b50d0ba -> IMPLEMENT-17`; `39ff911760af -> IMPLEMENT-17`; `5b560b5bd6e3 -> IMPLEMENT-17`; `fa21df5e5e01 -> IMPLEMENT-17`; `0fed77bec55e -> IMPLEMENT-17`; `6d81cfb0483f -> IMPLEMENT-17`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> IMPLEMENT-18` |
|
|
230
230
|
| `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` |
|
|
231
231
|
| `oat-project-implement/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
232
232
|
| `oat-project-implement/references/phase-execution.md` | `27737e814790 -> NG`; `6dda2b8e62e2 -> IMPLEMENT-10`; `b3197086bb1e -> IMPLEMENT-10` |
|
|
@@ -61,9 +61,12 @@ Before each phase:
|
|
|
61
61
|
|
|
62
62
|
Codex first uses the resolver-returned materialized implementer variant as
|
|
63
63
|
native `agent_type`; only explicit pre-start role rejection permits the exact
|
|
64
|
-
pinned fresh-child route. Claude
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
pinned fresh-child route. Claude passes the exact resolver model argument.
|
|
65
|
+
Cursor launches the exact `providers.cursor.dispatchArgs.variant` native agent
|
|
66
|
+
type first; only explicit pre-start native role-selection rejection permits
|
|
67
|
+
another target-preserving route. After acceptance, missing telemetry, timeout,
|
|
68
|
+
`BLOCKED`, or any other terminal outcome cannot trigger fallback or
|
|
69
|
+
replacement.
|
|
67
70
|
|
|
68
71
|
Tier 2 inline execution is allowed only under the existing verified-equivalent
|
|
69
72
|
controls or documented inherit/default exception. Inline mode executes the
|
|
@@ -118,8 +121,11 @@ artifact under the project's `reviews/` directory.
|
|
|
118
121
|
For a managed capped review, bind the exact provider argument to the actual
|
|
119
122
|
invocation: `providers.codex.dispatchArgs.variant`,
|
|
120
123
|
`providers.claude.dispatchArgs.model`, or
|
|
121
|
-
`providers.cursor.dispatchArgs.
|
|
122
|
-
|
|
124
|
+
`providers.cursor.dispatchArgs.variant`. Cursor must launch that exact
|
|
125
|
+
resolver-selected native reviewer variant first and must not normalize its
|
|
126
|
+
mapped model or attach a Task-level model argument. If the root cannot apply,
|
|
127
|
+
pass, or bind the required model, variant, or role control, fail closed before
|
|
128
|
+
launch.
|
|
123
129
|
|
|
124
130
|
After acceptance, poll, nudge, or continue only through the accepted reviewer
|
|
125
131
|
handle. Only explicit pre-start rejection allows another route. Timeout,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-import-plan
|
|
3
|
-
version: 1.4.
|
|
3
|
+
version: 1.4.7
|
|
4
4
|
description: Use when you have an external markdown plan to execute with OAT. Preserves the source plan and normalizes it into canonical plan.md format.
|
|
5
5
|
argument-hint: '<path-to-plan.md> [--provider codex|cursor|claude] [--project <name>]'
|
|
6
6
|
oat_gateable: true
|
|
@@ -332,9 +332,12 @@ Apply the shared loop exactly:
|
|
|
332
332
|
- For that exception only, apply the shared concrete target contract. A Codex
|
|
333
333
|
materialized variant must first be launched as the exact native `agent_type`;
|
|
334
334
|
only a recorded actual pre-start role-selection rejection permits a fresh
|
|
335
|
-
child pinned to the resolved model and effort. Claude
|
|
336
|
-
|
|
337
|
-
|
|
335
|
+
child pinned to the resolved model and effort. Claude uses the exact
|
|
336
|
+
resolver-returned `providers.claude.dispatchArgs.model` value. Cursor
|
|
337
|
+
launches the exact resolver-returned
|
|
338
|
+
`providers.cursor.dispatchArgs.variant` native reviewer variant first;
|
|
339
|
+
Cursor model strings remain opaque inside the mapping and resolver. Only a
|
|
340
|
+
pre-start native role-selection rejection permits another route.
|
|
338
341
|
- After acceptance, poll, nudge, or continue only through the existing reviewer
|
|
339
342
|
handle. A terminal timeout blocks or escalates without another launch.
|
|
340
343
|
Replacement eligibility is limited to explicit pre-start rejection.
|
|
@@ -446,21 +449,40 @@ Before reporting this skill as complete, run the configured gate as the final st
|
|
|
446
449
|
|
|
447
450
|
If the resolved command invokes `oat gate review`, the configured review command must already include `--project "$PROJECT_PATH"` and must not include `--target <id>`. A valid reusable shape is `oat gate review --project "$PROJECT_PATH" ...`. If the declaration is missing, stop and migrate the stored gate command; do not inject or append arguments at execution time.
|
|
448
451
|
|
|
449
|
-
3.
|
|
452
|
+
3. Resolve the current planning parent's model identity from session context.
|
|
453
|
+
When that identity is non-empty and the resolved configured command invokes
|
|
454
|
+
`oat gate review`, export
|
|
455
|
+
`OAT_GATE_PRODUCER_IDENTITY=<model>:declared` for that command invocation.
|
|
456
|
+
For a non-review configured command or unavailable current identity, ensure
|
|
457
|
+
`OAT_GATE_PRODUCER_IDENTITY` is unset. Do not persist the value or alter the
|
|
458
|
+
configured command.
|
|
450
459
|
|
|
451
|
-
4.
|
|
460
|
+
4. Execute the resolved command exactly as configured and unchanged. Capture
|
|
461
|
+
stdout, stderr, the exit code, and the structured JSON result. A zero exit
|
|
462
|
+
code means the review passed its threshold, but it does not by itself
|
|
463
|
+
authorize artifact receipt or complete the handoff.
|
|
464
|
+
|
|
465
|
+
5. Review-artifact handoff:
|
|
452
466
|
- Parse the structured gate result. An exit code or artifact path alone never authorizes `oat-project-review-receive`.
|
|
453
467
|
- Invoke receive only when all three conditions hold: `status` is `ok` or `blocked`, the envelope explicitly sets `receiveEligible: true`, and a non-null `handoff` confirms the artifact was corroborated.
|
|
454
468
|
- `receiveEligible: false` is a hard stop even when `artifactPath` is present. Never receive `targeting_correlation_failed`; correct the project/run routing and run a new gate.
|
|
455
469
|
- Keep `artifact_validation_failed` outside receive until the artifact is corrected and the gate successfully revalidates it. Treat `review_failed`, unknown statuses, null handoffs, and contradictory eligibility fields as operational failures.
|
|
456
470
|
- `blocked` exits nonzero but is receive-eligible; `ok` exits zero and still requires durable receive disposition. Route by structured status and eligibility, not by exit code.
|
|
457
471
|
|
|
458
|
-
|
|
472
|
+
6. If the command exits nonzero, use `description` to orient the next steps and handle `onFailure`:
|
|
459
473
|
- `block`: read gate feedback, remediate, and re-run the gate up to `maxAttempts` attempts (default `2`). If attempts are exhausted, escalate to the human with accumulated feedback and append that feedback to `implementation.md`. Treat a launch failure, missing CLI, or no eligible runtime as escalation-biased and do not spend it as a remediation attempt.
|
|
460
474
|
- `prompt`: surface the gate failure and ask the human how to proceed.
|
|
461
475
|
- `warn`: record the gate failure and continue.
|
|
462
476
|
|
|
463
|
-
|
|
477
|
+
7. Runtime selection note: the review-only declaration carries producer
|
|
478
|
+
identity, not reviewer runtime identity. By default, `oat gate review` and
|
|
479
|
+
`oat gate cross-provider-exec` resolve the current host from built-in
|
|
480
|
+
`hostDetectionCommand`s and avoid the same runtime when no exact target is
|
|
481
|
+
supplied. Reusable lifecycle skill-gate commands must not include
|
|
482
|
+
`--target <id>` so independent review stays provider-neutral. Use explicit
|
|
483
|
+
targets only for manual/debug commands or deliberate local/user-specific
|
|
484
|
+
overrides; do not hardcode provider/model targets in bundled skill guidance
|
|
485
|
+
or shared lifecycle gate examples.
|
|
464
486
|
|
|
465
487
|
### Step 7: Output Next Action
|
|
466
488
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-plan
|
|
3
|
-
version: 1.4.
|
|
3
|
+
version: 1.4.2
|
|
4
4
|
description: Use when design.md is complete and executable implementation tasks are needed. Breaks design into bite-sized TDD tasks in canonical plan.md format.
|
|
5
5
|
oat_gateable: true
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -492,9 +492,12 @@ Apply the shared loop exactly:
|
|
|
492
492
|
- For that exception only, apply the shared concrete target contract. A Codex
|
|
493
493
|
materialized variant must first be launched as the exact native `agent_type`;
|
|
494
494
|
only a recorded actual pre-start role-selection rejection permits a fresh
|
|
495
|
-
child pinned to the resolved model and effort. Claude
|
|
496
|
-
|
|
497
|
-
|
|
495
|
+
child pinned to the resolved model and effort. Claude uses the exact
|
|
496
|
+
resolver-returned `providers.claude.dispatchArgs.model` value. Cursor
|
|
497
|
+
launches the exact resolver-returned
|
|
498
|
+
`providers.cursor.dispatchArgs.variant` native reviewer variant first;
|
|
499
|
+
Cursor model strings remain opaque inside the mapping and resolver. Only a
|
|
500
|
+
pre-start native role-selection rejection permits another route.
|
|
498
501
|
- After acceptance, poll, nudge, or continue only through the existing reviewer
|
|
499
502
|
handle. A terminal timeout blocks or escalates without another launch.
|
|
500
503
|
Replacement eligibility is limited to explicit pre-start rejection.
|
|
@@ -526,21 +529,40 @@ the last check before the completion boundary:
|
|
|
526
529
|
|
|
527
530
|
If the resolved command invokes `oat gate review`, the configured review command must already include `--project "$PROJECT_PATH"` and must not include `--target <id>`. A valid reusable shape is `oat gate review --project "$PROJECT_PATH" ...`. If the declaration is missing, stop and migrate the stored gate command; do not inject or append arguments at execution time.
|
|
528
531
|
|
|
529
|
-
3.
|
|
532
|
+
3. Resolve the current planning parent's model identity from session context.
|
|
533
|
+
When that identity is non-empty and the resolved configured command invokes
|
|
534
|
+
`oat gate review`, export
|
|
535
|
+
`OAT_GATE_PRODUCER_IDENTITY=<model>:declared` for that command invocation.
|
|
536
|
+
For a non-review configured command or unavailable current identity, ensure
|
|
537
|
+
`OAT_GATE_PRODUCER_IDENTITY` is unset. Do not persist the value or alter the
|
|
538
|
+
configured command.
|
|
530
539
|
|
|
531
|
-
4.
|
|
540
|
+
4. Execute the resolved command exactly as configured and unchanged. Capture
|
|
541
|
+
stdout, stderr, the exit code, and the structured JSON result. A zero exit
|
|
542
|
+
code means the review passed its threshold, but it does not by itself
|
|
543
|
+
authorize artifact receipt or complete the handoff.
|
|
544
|
+
|
|
545
|
+
5. Review-artifact handoff:
|
|
532
546
|
- Parse the structured gate result. An exit code or artifact path alone never authorizes `oat-project-review-receive`.
|
|
533
547
|
- Invoke receive only when all three conditions hold: `status` is `ok` or `blocked`, the envelope explicitly sets `receiveEligible: true`, and a non-null `handoff` confirms the artifact was corroborated.
|
|
534
548
|
- `receiveEligible: false` is a hard stop even when `artifactPath` is present. Never receive `targeting_correlation_failed`; correct the project/run routing and run a new gate.
|
|
535
549
|
- Keep `artifact_validation_failed` outside receive until the artifact is corrected and the gate successfully revalidates it. Treat `review_failed`, unknown statuses, null handoffs, and contradictory eligibility fields as operational failures.
|
|
536
550
|
- `blocked` exits nonzero but is receive-eligible; `ok` exits zero and still requires durable receive disposition. Route by structured status and eligibility, not by exit code.
|
|
537
551
|
|
|
538
|
-
|
|
552
|
+
6. If the command exits nonzero, use `description` to orient the next steps and handle `onFailure`:
|
|
539
553
|
- `block`: read gate feedback, remediate, and re-run the gate up to `maxAttempts` attempts (default `2`). If attempts are exhausted, escalate to the human with accumulated feedback and append that feedback to `implementation.md`. Treat a launch failure, missing CLI, or no eligible runtime as escalation-biased and do not spend it as a remediation attempt.
|
|
540
554
|
- `prompt`: surface the gate failure and ask the human how to proceed.
|
|
541
555
|
- `warn`: record the gate failure and continue.
|
|
542
556
|
|
|
543
|
-
|
|
557
|
+
7. Runtime selection note: the review-only declaration carries producer
|
|
558
|
+
identity, not reviewer runtime identity. By default, `oat gate review` and
|
|
559
|
+
`oat gate cross-provider-exec` resolve the current host from built-in
|
|
560
|
+
`hostDetectionCommand`s and avoid the same runtime when no exact target is
|
|
561
|
+
supplied. Reusable lifecycle skill-gate commands must not include
|
|
562
|
+
`--target <id>` so independent review stays provider-neutral. Use explicit
|
|
563
|
+
targets only for manual/debug commands or deliberate local/user-specific
|
|
564
|
+
overrides; do not hardcode provider/model targets in bundled skill guidance
|
|
565
|
+
or shared lifecycle gate examples.
|
|
544
566
|
|
|
545
567
|
A gate that ends in `block` after attempts are exhausted, or at an unresolved
|
|
546
568
|
`prompt` boundary, means the completion steps below MUST NOT run; the phase
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-plan-writing
|
|
3
|
-
version: 1.2.
|
|
3
|
+
version: 1.2.16
|
|
4
4
|
description: Use when authoring or mutating plan.md in any OAT workflow. Defines canonical format invariants — stable task IDs, required sections, review table rules, and resume guardrails.
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
user-invocable: false
|
|
@@ -161,13 +161,16 @@ over generic tier availability.
|
|
|
161
161
|
verified-equivalent inline route or block the review.
|
|
162
162
|
- Claude: require a non-empty `providers.claude.dispatchArgs.model` and put
|
|
163
163
|
that exact value in the actual provider invocation as its `model` argument.
|
|
164
|
-
- Cursor:
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
- Cursor: require a non-empty `providers.cursor.dispatchArgs.variant` and
|
|
165
|
+
launch that exact resolver-returned native reviewer variant as the native
|
|
166
|
+
agent type first. Keep Cursor model strings opaque inside the resolver and
|
|
167
|
+
materialized mapping; skills never normalize them. Only a recorded pre-start
|
|
168
|
+
native role-selection rejection before any child starts permits another
|
|
169
|
+
target-preserving route.
|
|
167
170
|
|
|
168
|
-
If the host cannot apply, pass, or bind the required exception role
|
|
169
|
-
controls, fail closed or block unless verified equivalent inline
|
|
170
|
-
already established.
|
|
171
|
+
If the host cannot apply, pass, or bind the required exception role, variant,
|
|
172
|
+
or model controls, fail closed or block unless verified equivalent inline
|
|
173
|
+
controls are already established.
|
|
171
174
|
|
|
172
175
|
Build the actual host invocation payload before declaring the exception target
|
|
173
176
|
enforced. If the accepted reviewer does not conclude, continue, poll, or nudge
|
|
@@ -340,7 +343,7 @@ Use this loop after an artifact has been written and before the calling skill ha
|
|
|
340
343
|
|
|
341
344
|
3. **Dispatch `oat-reviewer` in structured mode**
|
|
342
345
|
- Default: after the parent-at-or-above-ceiling check succeeds, omit the child model deliberately and record `selection_reason: inherit`. Tier 1 uses the configured `oat-reviewer` subagent; Tier 2 runs the same structured prompt in the planning parent.
|
|
343
|
-
- Exception: when the planning parent is unknown or below the ceiling, use the resolver's concrete ceiling target. Codex uses its exact registered reviewer or a fresh child pinned to the same model, effort, and canonical instructions after pre-start role rejection. Claude
|
|
346
|
+
- Exception: when the planning parent is unknown or below the ceiling, use the resolver's concrete ceiling target. Codex uses its exact registered reviewer or a fresh child pinned to the same model, effort, and canonical instructions after pre-start role rejection. Claude requires the exact `providers.claude.dispatchArgs.model` value on the actual invocation. Cursor requires the exact `providers.cursor.dispatchArgs.variant` native reviewer variant first; skills keep its mapped model opaque, and only a pre-start native role-selection rejection permits another route. If the host cannot preserve that target, block unless inline execution has verified equivalent controls.
|
|
344
347
|
- If an accepted child does not conclude, continue only through its existing handle. A terminal timeout blocks or escalates and cannot launch a replacement child.
|
|
345
348
|
- Always set `oat_output_mode: structured`; the loop consumes `StructuredFindings` in-memory and the reviewer writes no artifact.
|
|
346
349
|
- Do not downgrade the selected inheritance/exception policy or checklist when changing execution mechanics.
|
|
@@ -352,7 +355,7 @@ Use this loop after an artifact has been written and before the calling skill ha
|
|
|
352
355
|
- If a finding cannot be fixed within the artifact boundary, preserve it as residual and surface it before handoff.
|
|
353
356
|
|
|
354
357
|
5. **Rewrite and re-dispatch within the bound**
|
|
355
|
-
- After applying fixes, rewrite the artifact and start a new review attempt with the same deliberate inheritance policy or complete exception payload, including
|
|
358
|
+
- After applying fixes, rewrite the artifact and start a new review attempt with the same deliberate inheritance policy or complete exception payload, including the exact Claude `dispatchArgs.model` argument or Cursor `dispatchArgs.variant`.
|
|
356
359
|
- Each rewrite/re-dispatch cycle consumes one retry.
|
|
357
360
|
- Stop when the reviewer returns no findings or when the retry bound is exhausted.
|
|
358
361
|
|
|
@@ -226,7 +226,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
226
226
|
| `oat-project-plan/SKILL.md` | `5eb3949f32e1 -> NG`; `64a08153bb9e -> NG`; `655d61df0a8f -> NG`; `56b37486f09d -> PLAN-01`; `cf317c17c586 -> PLAN-02`; `781643b0f2c3 -> NG`; `01fd7cca8253 -> PLAN-04`; `7bc7fa3f2cbb -> NG`; `da28ce0a5f2e -> NG`; `e334f94c4d35 -> NG`; `1fa55762c038 -> NG`; `c0935b5484a2 -> NG`; `6008163054f8 -> PLAN-05`; `571271f4d71b -> PLAN-06`; `746b760289e4 -> PLAN-06`; `de195590ff83 -> NG`; `49640510829a -> PLAN-07`; `4bef7afa7a71 -> PLAN-08`; `e5886632533e -> PLAN-08`; `4cfe1df14372 -> NG`; `d116c97a500c -> PLAN-10`; `aa62facff547 -> PLAN-10`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> PLAN-11`; `1734b2c85c5d -> NG`; `b4af2220eb91 -> PLAN-11` |
|
|
227
227
|
| `oat-project-import-plan/SKILL.md` | `f7ca8635452f -> NG`; `c2e5fa410069 -> NG`; `655d61df0a8f -> NG`; `b137f73db20c -> 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` |
|
|
228
228
|
| `oat-project-implement/SKILL.md` | `853d44621b72 -> NG`; `ffb3af0ba8ef -> NG`; `e0355c7a05e9 -> IMPLEMENT-11+IMPLEMENT-13+IMPLEMENT-16`; `6296f41ae11c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> IMPLEMENT-01`; `8ce8a09feca4 -> NG` |
|
|
229
|
-
| `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `
|
|
229
|
+
| `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `6d33ea58da2c -> IMPLEMENT-11`; `378a75543a72 -> IMPLEMENT-11`; `c7b25627e674 -> IMPLEMENT-11`; `51ef9a453323 -> IMPLEMENT-11`; `c67145e3fb00 -> IMPLEMENT-11`; `64fbeac64811 -> IMPLEMENT-11`; `19b13c17bddb -> NG`; `f7dab9c1f96c -> IMPLEMENT-12`; `c69c17a069a8 -> IMPLEMENT-14`; `a97fa5634a68 -> IMPLEMENT-14`; `3af58881811c -> IMPLEMENT-14`; `4203e1f49d0f -> IMPLEMENT-14`; `c3bd2458a3d3 -> IMPLEMENT-13`; `95b5eafc070d -> IMPLEMENT-13`; `25ecbe9c998b -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f6f24fd71da4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f18283bc1cf9 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `2c1ffc4a82dd -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `3454a07aa843 -> IMPLEMENT-16`; `0d86e2098cfb -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d5fe597d266f -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `55a152e944c1 -> IMPLEMENT-16`; `effac7cbd573 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d2a34d8b148 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d27462aaed26 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d52ecb17268 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `5b91aabe3757 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `fd0ad919f702 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `63bf28df1474 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a4ed471dbc78 -> IMPLEMENT-16`; `6b7a64cec6e5 -> IMPLEMENT-16`; `0a4fdba0ebc0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a5033c2aada5 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `e77609eddba0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `351156e8dde4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `51d45bd2bbd1 -> IMPLEMENT-16`; `f7796ffcc804 -> IMPLEMENT-16`; `990d730cb494 -> IMPLEMENT-16`; `6ed28bb7d384 -> IMPLEMENT-16`; `8b7d4b5bcf1b -> IMPLEMENT-16`; `88aad500e6e9 -> IMPLEMENT-16`; `877e3e3f9eda -> IMPLEMENT-16`; `fc03c97f834e -> IMPLEMENT-16`; `12939a3da5e0 -> IMPLEMENT-16`; `bdb418335a88 -> IMPLEMENT-16`; `fba97e596ebd -> IMPLEMENT-16`; `3d0b5e2f14f0 -> IMPLEMENT-17`; `f56a9ce88461 -> IMPLEMENT-17`; `9ba67b50d0ba -> IMPLEMENT-17`; `39ff911760af -> IMPLEMENT-17`; `5b560b5bd6e3 -> IMPLEMENT-17`; `fa21df5e5e01 -> IMPLEMENT-17`; `0fed77bec55e -> IMPLEMENT-17`; `6d81cfb0483f -> IMPLEMENT-17`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> IMPLEMENT-18` |
|
|
230
230
|
| `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` |
|
|
231
231
|
| `oat-project-implement/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
232
232
|
| `oat-project-implement/references/phase-execution.md` | `27737e814790 -> NG`; `6dda2b8e62e2 -> IMPLEMENT-10`; `b3197086bb1e -> IMPLEMENT-10` |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-quick-start
|
|
3
|
-
version: 2.3.
|
|
3
|
+
version: 2.3.3
|
|
4
4
|
description: Use when a task is small enough for quick mode or rapid iteration is preferred. Scaffolds a lightweight OAT project from discovery directly to a runnable plan, with optional brainstorming and lightweight design.
|
|
5
5
|
argument-hint: '<project-name> ["project description"]'
|
|
6
6
|
oat_gateable: true
|
|
@@ -649,9 +649,12 @@ Apply the shared loop exactly:
|
|
|
649
649
|
- For that exception only, apply the shared concrete target contract. A Codex
|
|
650
650
|
materialized variant must first be launched as the exact native `agent_type`;
|
|
651
651
|
only a recorded actual pre-start role-selection rejection permits a fresh
|
|
652
|
-
child pinned to the resolved model and effort. Claude
|
|
653
|
-
|
|
654
|
-
|
|
652
|
+
child pinned to the resolved model and effort. Claude uses the exact
|
|
653
|
+
resolver-returned `providers.claude.dispatchArgs.model` value. Cursor
|
|
654
|
+
launches the exact resolver-returned
|
|
655
|
+
`providers.cursor.dispatchArgs.variant` native reviewer variant first;
|
|
656
|
+
Cursor model strings remain opaque inside the mapping and resolver. Only a
|
|
657
|
+
pre-start native role-selection rejection permits another route.
|
|
655
658
|
- After acceptance, poll, nudge, or continue only through the existing reviewer
|
|
656
659
|
handle. A terminal timeout blocks or escalates without another launch.
|
|
657
660
|
Replacement eligibility is limited to explicit pre-start rejection.
|
|
@@ -701,21 +704,40 @@ as the last check before plan and project completion:
|
|
|
701
704
|
|
|
702
705
|
If the resolved command invokes `oat gate review`, the configured review command must already include `--project "$PROJECT_PATH"` and must not include `--target <id>`. A valid reusable shape is `oat gate review --project "$PROJECT_PATH" ...`. If the declaration is missing, stop and migrate the stored gate command; do not inject or append arguments at execution time.
|
|
703
706
|
|
|
704
|
-
3.
|
|
707
|
+
3. Resolve the current planning parent's model identity from session context.
|
|
708
|
+
When that identity is non-empty and the resolved configured command invokes
|
|
709
|
+
`oat gate review`, export
|
|
710
|
+
`OAT_GATE_PRODUCER_IDENTITY=<model>:declared` for that command invocation.
|
|
711
|
+
For a non-review configured command or unavailable current identity, ensure
|
|
712
|
+
`OAT_GATE_PRODUCER_IDENTITY` is unset. Do not persist the value or alter the
|
|
713
|
+
configured command.
|
|
705
714
|
|
|
706
|
-
4.
|
|
715
|
+
4. Execute the resolved command exactly as configured and unchanged. Capture
|
|
716
|
+
stdout, stderr, the exit code, and the structured JSON result. A zero exit
|
|
717
|
+
code means the review passed its threshold, but it does not by itself
|
|
718
|
+
authorize artifact receipt or complete the handoff.
|
|
719
|
+
|
|
720
|
+
5. Review-artifact handoff:
|
|
707
721
|
- Parse the structured gate result. An exit code or artifact path alone never authorizes `oat-project-review-receive`.
|
|
708
722
|
- Invoke receive only when all three conditions hold: `status` is `ok` or `blocked`, the envelope explicitly sets `receiveEligible: true`, and a non-null `handoff` confirms the artifact was corroborated.
|
|
709
723
|
- `receiveEligible: false` is a hard stop even when `artifactPath` is present. Never receive `targeting_correlation_failed`; correct the project/run routing and run a new gate.
|
|
710
724
|
- Keep `artifact_validation_failed` outside receive until the artifact is corrected and the gate successfully revalidates it. Treat `review_failed`, unknown statuses, null handoffs, and contradictory eligibility fields as operational failures.
|
|
711
725
|
- `blocked` exits nonzero but is receive-eligible; `ok` exits zero and still requires durable receive disposition. Route by structured status and eligibility, not by exit code.
|
|
712
726
|
|
|
713
|
-
|
|
727
|
+
6. If the command exits nonzero, use `description` to orient the next steps and handle `onFailure`:
|
|
714
728
|
- `block`: read gate feedback, remediate, and re-run the gate up to `maxAttempts` attempts (default `2`). If attempts are exhausted, escalate to the human with accumulated feedback and append that feedback to `implementation.md`. Treat a launch failure, missing CLI, or no eligible runtime as escalation-biased and do not spend it as a remediation attempt.
|
|
715
729
|
- `prompt`: surface the gate failure and ask the human how to proceed.
|
|
716
730
|
- `warn`: record the gate failure and continue.
|
|
717
731
|
|
|
718
|
-
|
|
732
|
+
7. Runtime selection note: the review-only declaration carries producer
|
|
733
|
+
identity, not reviewer runtime identity. By default, `oat gate review` and
|
|
734
|
+
`oat gate cross-provider-exec` resolve the current host from built-in
|
|
735
|
+
`hostDetectionCommand`s and avoid the same runtime when no exact target is
|
|
736
|
+
supplied. Reusable lifecycle skill-gate commands must not include
|
|
737
|
+
`--target <id>` so independent review stays provider-neutral. Use explicit
|
|
738
|
+
targets only for manual/debug commands or deliberate local/user-specific
|
|
739
|
+
overrides; do not hardcode provider/model targets in bundled skill guidance
|
|
740
|
+
or shared lifecycle gate examples.
|
|
719
741
|
|
|
720
742
|
A gate that ends in `block` after attempts are exhausted, or at an unresolved
|
|
721
743
|
`prompt` boundary, means the completion steps below MUST NOT run; the phase
|