@open-agent-toolkit/cli 0.1.62 → 0.1.64
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 +9 -1
- package/assets/agents/oat-reviewer.md +8 -1
- package/assets/docs/cli-utilities/configuration.md +29 -0
- package/assets/docs/cli-utilities/tool-packs.md +29 -1
- package/assets/docs/contributing/skills.md +22 -0
- package/assets/docs/workflows/projects/artifacts.md +30 -0
- package/assets/docs/workflows/projects/autonomy.md +154 -0
- package/assets/docs/workflows/projects/cursor-cloud.md +151 -0
- package/assets/docs/workflows/projects/dispatch-ceiling.md +13 -0
- package/assets/docs/workflows/projects/index.md +6 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-cursor-cloud-projects/SKILL.md +318 -0
- package/assets/skills/oat-cursor-cloud-projects/references/cursor-cloud-mechanics.md +173 -0
- package/assets/skills/oat-project-autonomous/SKILL.md +439 -0
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +294 -0
- package/assets/skills/oat-project-design/SKILL.md +79 -1
- package/assets/skills/oat-project-discover/SKILL.md +76 -1
- package/assets/skills/oat-project-document/SKILL.md +24 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +294 -0
- package/assets/skills/oat-project-implement/SKILL.md +18 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +72 -7
- package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +17 -9
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +294 -0
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +56 -0
- package/assets/skills/oat-project-plan-writing/SKILL.md +48 -12
- package/assets/skills/oat-project-pr-final/SKILL.md +31 -4
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +294 -0
- package/assets/skills/oat-project-quick-start/SKILL.md +50 -2
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +294 -0
- package/assets/skills/oat-project-review-provide/SKILL.md +9 -1
- package/assets/skills/oat-project-review-receive/SKILL.md +9 -1
- package/assets/skills/oat-project-summary/SKILL.md +76 -14
- package/assets/templates/summary.md +24 -0
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +4 -1
- package/dist/commands/init/tools/index.d.ts.map +1 -1
- package/dist/commands/init/tools/index.js +67 -45
- 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 +2 -0
- package/dist/commands/init/tools/workflows/index.d.ts +2 -1
- package/dist/commands/init/tools/workflows/index.d.ts.map +1 -1
- package/dist/commands/init/tools/workflows/index.js +13 -11
- package/dist/commands/init/tools/workflows/install-workflows.d.ts +2 -0
- package/dist/commands/init/tools/workflows/install-workflows.d.ts.map +1 -1
- package/dist/commands/init/tools/workflows/install-workflows.js +4 -0
- package/dist/commands/project/new/scaffold.d.ts +1 -0
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +23 -4
- package/dist/commands/tools/remove/index.js +2 -2
- package/dist/commands/tools/remove/remove-tools.d.ts.map +1 -1
- package/dist/commands/tools/remove/remove-tools.js +23 -0
- package/dist/commands/tools/update/index.d.ts.map +1 -1
- package/dist/commands/tools/update/index.js +7 -1
- package/dist/commands/tools/update/update-tools.d.ts +9 -0
- package/dist/commands/tools/update/update-tools.d.ts.map +1 -1
- package/dist/commands/tools/update/update-tools.js +25 -5
- package/dist/providers/identity/family.d.ts +1 -1
- package/dist/providers/identity/family.d.ts.map +1 -1
- package/dist/providers/identity/family.js +2 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-phase-implementer
|
|
3
|
-
version: 1.0.
|
|
3
|
+
version: 1.0.8
|
|
4
4
|
description: Implements one plan phase end-to-end, commits each task separately, self-checks between tasks, and handles bounded review fixes when resumed by oat-project-implement.
|
|
5
5
|
tools: Read, Write, Edit, Bash, Grep, Glob, Task
|
|
6
6
|
color: cyan
|
|
@@ -90,6 +90,14 @@ Read each required artifact once at phase start:
|
|
|
90
90
|
Extract all phase tasks, dependency order, file boundaries, verification
|
|
91
91
|
commands, commit messages, and phase-wide verification before editing.
|
|
92
92
|
|
|
93
|
+
## Artifact Hygiene
|
|
94
|
+
|
|
95
|
+
Artifact hygiene contract: Before finishing or committing, format every file you created or edited. Use the concrete write/fix formatting command supplied by the governing plan, task, or brief. If none is usable, discover the repository's documented write/fix command from applicable `AGENTS.md`/`CLAUDE.md` instructions and relevant package manifests; do not infer or hardcode a formatter. Prefer a file-scoped invocation when supported, and avoid rewriting unrelated files. If no command is discoverable, warn once with `no format command discovered in repo instructions; skipping`, then continue.
|
|
96
|
+
|
|
97
|
+
After formatting, run the repository's applicable gate set over the produced
|
|
98
|
+
diff, explicitly including artifact writes. This supplements rather than
|
|
99
|
+
replaces every task and phase verification command below.
|
|
100
|
+
|
|
93
101
|
## Mode: Implement
|
|
94
102
|
|
|
95
103
|
### 1. Verify Phase Base
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-reviewer
|
|
3
|
-
version: 1.1.
|
|
3
|
+
version: 1.1.7
|
|
4
4
|
description: Unified reviewer for OAT projects - mode-aware verification of requirements/design alignment and code quality. Writes a review artifact to disk by default, or returns structured findings in-memory when dispatched in structured-output mode.
|
|
5
5
|
tools: Read, Bash, Grep, Glob, Write
|
|
6
6
|
color: yellow
|
|
@@ -84,6 +84,13 @@ Use workflow mode to determine required evidence:
|
|
|
84
84
|
Do not mark missing optional artifacts as findings.
|
|
85
85
|
If required artifacts for the mode are unexpectedly missing, record a workflow contract gap.
|
|
86
86
|
|
|
87
|
+
## Artifact Hygiene
|
|
88
|
+
|
|
89
|
+
Artifact hygiene contract: Before finishing or committing, format every file you created or edited. Use the concrete write/fix formatting command supplied by the governing plan, task, or brief. If none is usable, discover the repository's documented write/fix command from applicable `AGENTS.md`/`CLAUDE.md` instructions and relevant package manifests; do not infer or hardcode a formatter. Prefer a file-scoped invocation when supported, and avoid rewriting unrelated files. If no command is discoverable, warn once with `no format command discovered in repo instructions; skipping`, then continue.
|
|
90
|
+
|
|
91
|
+
After formatting, run only repository checks relevant to the files changed;
|
|
92
|
+
writing a prose artifact does not imply unrelated full test suites.
|
|
93
|
+
|
|
87
94
|
## Process
|
|
88
95
|
|
|
89
96
|
### Step 1: Load Artifacts
|
|
@@ -468,6 +468,35 @@ Workflow preference keys live under the `workflow.*` namespace:
|
|
|
468
468
|
- `workflow.dispatchCeiling.recommendationVersion` — version of the adopted recommended matrix.
|
|
469
469
|
- `workflow.gates.skills` / `workflow.gates.execTargets` — structured per-skill final gate commands and exec-target registry. Use `oat gate set`, `oat gate target set`, `oat gate review`, and `oat gate cross-provider-exec`; do not use `oat config set` for these objects.
|
|
470
470
|
|
|
471
|
+
### HiLL plan-field semantics
|
|
472
|
+
|
|
473
|
+
`workflow.hillCheckpointDefault` controls the first implementation run's
|
|
474
|
+
checkpoint choice, but the confirmed selection is stored in `plan.md` as
|
|
475
|
+
`oat_plan_hill_phases`. The plan field has three distinct states:
|
|
476
|
+
|
|
477
|
+
| `oat_plan_hill_phases` state | Meaning |
|
|
478
|
+
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
479
|
+
| Field absent | Checkpoint selection is unconfirmed. This is valid before the first implementation run; a resumed run treats it as bookkeeping drift that must be resolved. |
|
|
480
|
+
| `[]` | Checkpoint after every phase boundary. |
|
|
481
|
+
| `["p02", "p04"]` | Checkpoint only after the listed phases complete. |
|
|
482
|
+
|
|
483
|
+
**Never write `[]` to mean no checkpoints.** It means every phase. To select
|
|
484
|
+
only the final checkpoint, store the final phase ID explicitly:
|
|
485
|
+
|
|
486
|
+
```yaml
|
|
487
|
+
oat_plan_hill_phases: ['p04']
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
With `workflow.hillCheckpointDefault: every`, the first implementation run
|
|
491
|
+
writes `[]`. With `workflow.hillCheckpointDefault: final`, it writes
|
|
492
|
+
`["<final-phase-id>"]`. An autonomous run with an absent field takes that same
|
|
493
|
+
explicit final-default path and enables checkpoint auto-review; it preserves an
|
|
494
|
+
existing valid empty or explicit list. Because autonomy itself is never
|
|
495
|
+
persisted, a later interactive run pauses at the stored checkpoints normally.
|
|
496
|
+
|
|
497
|
+
See [HiLL Checkpoints](../workflows/projects/hill-checkpoints.md) for timing and
|
|
498
|
+
approval behavior.
|
|
499
|
+
|
|
471
500
|
### Auto artifact-review preferences
|
|
472
501
|
|
|
473
502
|
`workflow.autoArtifactReview.*` controls the artifact-quality loops that run before downstream workflow steps consume generated artifacts. Both keys are default-on. Only an explicit `false` disables the matching loop:
|
|
@@ -150,7 +150,7 @@ Key behavior:
|
|
|
150
150
|
- Pack-oriented install subcommands: `core`, `docs`, `ideas`, `workflows`, `utility`, `project-management`, `research`, `brainstorm`
|
|
151
151
|
- Interactive installs show each pack's current install location in the picker so already-installed packs are visible before you submit
|
|
152
152
|
- Installing is **additive**: choosing a scope for a pack never removes it from another scope. A user-eligible pack installed at user scope plus a project install ends up at `project + user`, not moved
|
|
153
|
-
- For each user-eligible pack (`ideas`, `docs`, `utility`, `research`, `brainstorm`), the interactive flow offers a per-pack end-state selector (`project`, `user`, or `both`) defaulting to the pack's current placement; leaving the default makes no changes for that pack
|
|
153
|
+
- For each user-eligible pack (`ideas`, `docs`, `workflows`, `utility`, `research`, `brainstorm`), the interactive flow offers a per-pack end-state selector (`project`, `user`, or `both`) defaulting to the pack's current placement; leaving the default makes no changes for that pack
|
|
154
154
|
- `oat init --setup` uses this same additive scope resolver. In guided setup, choosing to customize scope reaches the per-pack selector; choosing the recommended defaults, or running non-interactively, applies additive per-pack defaults without removals
|
|
155
155
|
- The `brainstorm` pack defaults to user scope on fresh installs (driven by `PACK_METADATA[brainstorm].defaultScope = 'user'`); existing installs keep their current placement on re-install, so a re-install never moves a pack between scopes
|
|
156
156
|
- Removing a pack from a scope happens only when you explicitly choose a narrower end-state in the interactive flow (e.g. a pack at `both` set to `project` only). All staged removals are shown in a single change summary and applied only after one batch confirmation — declining makes no changes
|
|
@@ -173,6 +173,7 @@ Key behavior:
|
|
|
173
173
|
- Accepts a tool name, `--pack <pack>`, or `--all` (mutually exclusive)
|
|
174
174
|
- Compares installed versions against bundled versions and copies updated assets
|
|
175
175
|
- For `--pack <pack>` and `--all`, an already-installed pack is reconciled to include newly added bundled skills or agents in that same scope
|
|
176
|
+
- Pack-targeted updates intentionally rewrite bundled template and script companions in place, even when the pack's installed skills are already current
|
|
176
177
|
- For `--pack <pack>` and `--all`, shared repo config is also reconciled from an installed-pack scan so `tools.*` reflects what is actually available and stale `true` flags are cleared
|
|
177
178
|
- Dry-run mode with `--dry-run`; auto-sync after mutations by default
|
|
178
179
|
- Use `--no-sync` to skip auto-sync
|
|
@@ -202,6 +203,33 @@ Tool-pack lifecycle commands now persist pack availability in shared repo config
|
|
|
202
203
|
|
|
203
204
|
This matters because other workflows can now check `oat config get tools.<pack>` instead of inferring capabilities from directory existence alone. For example, `oat-project-document` checks `tools.project-management` before auto-running repo-reference refresh work.
|
|
204
205
|
|
|
206
|
+
## Workflows pack
|
|
207
|
+
|
|
208
|
+
The workflows pack is installable at project scope, user scope, or both. A
|
|
209
|
+
user-scope install carries the complete versioned asset set:
|
|
210
|
+
|
|
211
|
+
- skills and agents → `~/.agents/skills/` and `~/.agents/agents/`;
|
|
212
|
+
- templates → `~/.oat/templates/`;
|
|
213
|
+
- executable helper scripts → `~/.oat/scripts/`.
|
|
214
|
+
|
|
215
|
+
Use either the direct or aggregate form:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
oat tools install workflows --scope user
|
|
219
|
+
oat init tools workflows --scope user
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
User scope intentionally skips project-root scaffolding: it does not create a
|
|
223
|
+
home-level `.oat/projects-root`, `.oat/projects/` tree, or projects-root config.
|
|
224
|
+
Projects remain anchored in the target repository. Project-scope installation
|
|
225
|
+
retains its existing scaffolding and local-path setup.
|
|
226
|
+
|
|
227
|
+
`oat tools update --pack workflows --scope user` refreshes all four asset
|
|
228
|
+
classes in place, including newly bundled skills and agents. Pack removal and a
|
|
229
|
+
confirmed aggregate scope reduction remove those same user-level assets.
|
|
230
|
+
Companion template and script removal is user-scope-only; project-scope removal
|
|
231
|
+
leaves repo-local `.oat/templates/` and `.oat/scripts/` assets intact.
|
|
232
|
+
|
|
205
233
|
## Core pack
|
|
206
234
|
|
|
207
235
|
The `core` pack contains foundational diagnostic and documentation skills:
|
|
@@ -56,6 +56,28 @@ Skill behavior is defined by frontmatter plus the process contract in each `SKIL
|
|
|
56
56
|
- Keep `AGENTS.md` skills table synchronized with `.agents/skills`.
|
|
57
57
|
- Require explicit user approval for destructive or state-advancing transitions.
|
|
58
58
|
|
|
59
|
+
### Artifact-writing hygiene
|
|
60
|
+
|
|
61
|
+
Every role or skill that creates or edits tracked output must include the
|
|
62
|
+
artifact hygiene contract at its writing boundary. The writer uses a concrete
|
|
63
|
+
write/fix formatting command supplied by its plan, task, or brief. If none is
|
|
64
|
+
usable, it discovers the repository's documented command from applicable
|
|
65
|
+
`AGENTS.md` / `CLAUDE.md` instructions and relevant package manifests.
|
|
66
|
+
|
|
67
|
+
Contracts must distinguish write/fix commands from check-only commands, prefer
|
|
68
|
+
a file-scoped invocation when supported, avoid unrelated whole-tree rewrites,
|
|
69
|
+
and never infer or hardcode a formatter. If no command can be discovered, the
|
|
70
|
+
writer warns once with
|
|
71
|
+
`no format command discovered in repo instructions; skipping` and continues.
|
|
72
|
+
Run only verification relevant to the changed files unless the role's
|
|
73
|
+
definition of done requires broader gates.
|
|
74
|
+
|
|
75
|
+
For planned implementation, plan-producing skills resolve this command once and
|
|
76
|
+
place it in every artifact-writing task. Runtime discovery remains the fallback
|
|
77
|
+
for direct lifecycle writers and incomplete or stale plans. When the same
|
|
78
|
+
contract crosses dispatch boundaries, keep each copy self-contained and protect
|
|
79
|
+
equivalence with contract tests.
|
|
80
|
+
|
|
59
81
|
## Recommended Starting Points
|
|
60
82
|
|
|
61
83
|
- Use `create-oat-skill` when the new skill belongs to an OAT lifecycle or maintenance flow.
|
|
@@ -57,6 +57,36 @@ Manual and auto review artifacts do not require the gate-only fields.
|
|
|
57
57
|
|
|
58
58
|
Artifacts are the project system of record; automation and routing should derive from these files, not memory.
|
|
59
59
|
|
|
60
|
+
### Formatting and verification hygiene
|
|
61
|
+
|
|
62
|
+
Tracked artifacts are part of the repository diff, so artifact writers format
|
|
63
|
+
them before finishing or committing. During plan authoring, OAT resolves the
|
|
64
|
+
repository's documented write/fix command from applicable `AGENTS.md` /
|
|
65
|
+
`CLAUDE.md` instructions and relevant package manifests. Each task that writes
|
|
66
|
+
an artifact receives a concrete invocation, scoped to that task's files when
|
|
67
|
+
the command supports paths.
|
|
68
|
+
|
|
69
|
+
Downstream implementers execute that supplied command without repeating
|
|
70
|
+
discovery. Roles and lifecycle skills that write outside a planned task,
|
|
71
|
+
including reviewers and documentation, summary, PR, and quick-start flows, use
|
|
72
|
+
the same discovery procedure as a fallback. Gate-originated review prompts also
|
|
73
|
+
carry the contract so review artifacts follow the same rule across runtimes.
|
|
74
|
+
|
|
75
|
+
Writers must:
|
|
76
|
+
|
|
77
|
+
- prefer a documented write/fix command over a check-only command;
|
|
78
|
+
- avoid inferring or hardcoding a formatter;
|
|
79
|
+
- scope the write to created or edited files when supported;
|
|
80
|
+
- avoid whole-tree rewrites that could absorb unrelated changes; and
|
|
81
|
+
- warn once with
|
|
82
|
+
`no format command discovered in repo instructions; skipping` when no command
|
|
83
|
+
is discoverable, then continue.
|
|
84
|
+
|
|
85
|
+
Formatting supplements the applicable verification contract. Phase
|
|
86
|
+
implementation runs repository gates over its produced diff, including
|
|
87
|
+
artifact writes. Prose-only lifecycle work runs only checks relevant to the
|
|
88
|
+
files it changed.
|
|
89
|
+
|
|
60
90
|
## Coordination parents
|
|
61
91
|
|
|
62
92
|
Project splitting introduces a coordination-only parent artifact. It records shared context and child relationships, but it is not an executable lifecycle project.
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Autonomous Project Execution
|
|
3
|
+
description: 'Session-scoped autonomy signals, gate boundaries, review requirements, and execution-learnings behavior for OAT projects.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Autonomous Project Execution
|
|
7
|
+
|
|
8
|
+
OAT autonomy is an explicit session policy for driving a project through its
|
|
9
|
+
lifecycle without waiting at ordinary interactive gates. It does not bypass the
|
|
10
|
+
gate-owning skills: each skill still applies its own checks, records provenance,
|
|
11
|
+
and either resolves the gate or reports a boundary.
|
|
12
|
+
|
|
13
|
+
The provider-agnostic entry point is `oat-project-autonomous`. Invoke it
|
|
14
|
+
deliberately with a goal, project slug, ticket reference, or active project. A
|
|
15
|
+
restart does not silently resume autonomy; invoke the skill again and it resumes
|
|
16
|
+
from the persisted project state.
|
|
17
|
+
|
|
18
|
+
## Activation contract
|
|
19
|
+
|
|
20
|
+
An autonomous session uses both signals:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
export OAT_AUTONOMOUS=1
|
|
24
|
+
export OAT_NON_INTERACTIVE=1
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
`OAT_AUTONOMOUS=1` implies and sets `OAT_NON_INTERACTIVE=1` for the current
|
|
28
|
+
run. The distinction is intentional:
|
|
29
|
+
|
|
30
|
+
- `OAT_NON_INTERACTIVE=1` selects existing safe no-prompt paths for one
|
|
31
|
+
workflow.
|
|
32
|
+
- `OAT_AUTONOMOUS=1` additionally enables lifecycle chaining, defined gate
|
|
33
|
+
resolutions, boundary stops, and provenance requirements.
|
|
34
|
+
|
|
35
|
+
Both signals are session-scoped. Never write them to `state.md`, `plan.md`,
|
|
36
|
+
repository config, user config, or any other durable artifact. A later
|
|
37
|
+
interactive session therefore needs no autonomy cleanup and behaves
|
|
38
|
+
interactively around the state the autonomous run left behind.
|
|
39
|
+
|
|
40
|
+
## Gate outcomes
|
|
41
|
+
|
|
42
|
+
Every interactive lifecycle gate has one of two autonomous outcomes:
|
|
43
|
+
|
|
44
|
+
1. **Auto-resolve** using an existing safe path, then record the decision and
|
|
45
|
+
evidence.
|
|
46
|
+
2. **Boundary stop** with a structured blocker and a resumable next step.
|
|
47
|
+
|
|
48
|
+
The main boundary classes are:
|
|
49
|
+
|
|
50
|
+
- **Product judgment** — repository evidence cannot resolve material scope or
|
|
51
|
+
requirements ambiguity.
|
|
52
|
+
- **Destructive-change risk** — an action could discard work, delete data,
|
|
53
|
+
rewrite history, or broadly restructure an unapproved surface.
|
|
54
|
+
- **Unresolved Critical findings** — a blocking review has not passed.
|
|
55
|
+
- **Repository-policy approval** — protected operations require authority the
|
|
56
|
+
session does not have.
|
|
57
|
+
- **Missing credentials** — a required external action has no authenticated
|
|
58
|
+
route or offline equivalent.
|
|
59
|
+
|
|
60
|
+
A boundary is a successful fail-closed outcome, not permission to continue with
|
|
61
|
+
a guessed answer. The run reports what stopped, the evidence, and the operator
|
|
62
|
+
action needed to resume.
|
|
63
|
+
|
|
64
|
+
The canonical autonomy contract and exhaustive gate inventory
|
|
65
|
+
(`.agents/docs/autonomy-contract.md`, vendored into each consuming skill at
|
|
66
|
+
`references/docs/autonomy-contract.md`) map each prompt to its autonomous
|
|
67
|
+
resolution and provenance.
|
|
68
|
+
|
|
69
|
+
## Review contract
|
|
70
|
+
|
|
71
|
+
Autonomous execution preserves independent review:
|
|
72
|
+
|
|
73
|
+
- Discovery, design, and plan artifacts run their configured exit gates.
|
|
74
|
+
Quick-start reviews the discovery, optional lightweight design, and plan as
|
|
75
|
+
one bundle when those artifacts exist.
|
|
76
|
+
- Review routing is selected before launch through the dispatch substrate.
|
|
77
|
+
A configured gate target is preferred when available; otherwise policy may
|
|
78
|
+
choose a target-preserving subagent route. Any reduced independence is
|
|
79
|
+
explicit in the dispatch record.
|
|
80
|
+
- Once a launch is accepted, it is terminal for route selection. Failures use
|
|
81
|
+
bounded recovery with the same payload; they do not silently fall through to
|
|
82
|
+
a cheaper or less independent reviewer.
|
|
83
|
+
- Eligible review artifacts are received immediately. Fix tasks use the normal
|
|
84
|
+
bounded implement-and-re-review loop.
|
|
85
|
+
- Critical findings and failed blocking reviews stop progression. Important
|
|
86
|
+
findings follow the configured gate policy.
|
|
87
|
+
|
|
88
|
+
Project review artifacts and review rows reference launcher-owned dispatch
|
|
89
|
+
records. The configured invocation is authoritative evidence; child
|
|
90
|
+
self-reporting is optional corroboration. See [Evidence
|
|
91
|
+
Layers](evidence-layers.md) and [Reviews](reviews.md).
|
|
92
|
+
|
|
93
|
+
## HiLL and lifecycle closeout
|
|
94
|
+
|
|
95
|
+
If checkpoint selection is unconfirmed when autonomy starts implementation,
|
|
96
|
+
OAT takes the existing `workflow.hillCheckpointDefault: final` path explicitly:
|
|
97
|
+
|
|
98
|
+
```yaml
|
|
99
|
+
oat_plan_hill_phases: ['<final-phase-id>']
|
|
100
|
+
oat_auto_review_at_hill_checkpoints: true
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
An existing valid explicit list is preserved. An existing `[]` is also
|
|
104
|
+
preserved and means every phase, never no phases. At each configured checkpoint,
|
|
105
|
+
autonomy runs and receives the review without waiting.
|
|
106
|
+
|
|
107
|
+
At final closeout, pre-approval lifecycle steps run first. After a passing final
|
|
108
|
+
review, autonomy records final HiLL approval and then runs post-approval steps.
|
|
109
|
+
A failed blocking review stops before approval. The default autonomous tail is
|
|
110
|
+
summary, documentation, and final PR when no post-implementation sequence is
|
|
111
|
+
configured; stored legacy or structured sequences retain their documented
|
|
112
|
+
meaning.
|
|
113
|
+
|
|
114
|
+
## Execution-learnings loop
|
|
115
|
+
|
|
116
|
+
Autonomous runs keep an append-only project-local
|
|
117
|
+
`oat-execution-learnings.md`. Dated entries record an observation, impact, and
|
|
118
|
+
recommendation under the source taxonomy: `gotcha`, `efficiency`,
|
|
119
|
+
`documentation-gap`, `candidate-skill-content`, `decision`, or
|
|
120
|
+
`environment-limited`.
|
|
121
|
+
|
|
122
|
+
When the file exists, `oat-project-summary` synthesizes actionable
|
|
123
|
+
recommendations into `## Autonomous Execution Learnings`, grouped as:
|
|
124
|
+
|
|
125
|
+
- agent-instruction updates;
|
|
126
|
+
- cloud-environment improvements;
|
|
127
|
+
- code follow-ups;
|
|
128
|
+
- workflow issues.
|
|
129
|
+
|
|
130
|
+
Each recommendation links back to its source entry. Projects without the
|
|
131
|
+
learnings file render normal summaries with no autonomous-learnings section.
|
|
132
|
+
The summary export keeps the synthesized recommendations after project
|
|
133
|
+
archival.
|
|
134
|
+
|
|
135
|
+
## Taking over interactively
|
|
136
|
+
|
|
137
|
+
After an autonomous session ends:
|
|
138
|
+
|
|
139
|
+
1. Start a normal session without the autonomy environment signals.
|
|
140
|
+
2. Open the same project from its repository-local `.oat` directory.
|
|
141
|
+
3. Resume the owning lifecycle skill.
|
|
142
|
+
|
|
143
|
+
Persisted review rows, task state, explicit HiLL checkpoints, and dispatch
|
|
144
|
+
provenance remain valid. Interactive prompts and checkpoint pauses return
|
|
145
|
+
normally because autonomy itself was never persisted.
|
|
146
|
+
|
|
147
|
+
## Related
|
|
148
|
+
|
|
149
|
+
- [HiLL Checkpoints](hill-checkpoints.md) — checkpoint field semantics and
|
|
150
|
+
interactive behavior.
|
|
151
|
+
- [Implementation Execution](implementation-execution.md) — phase execution,
|
|
152
|
+
review, fixes, and closeout.
|
|
153
|
+
- [Cursor Cloud](cursor-cloud.md) — project-home and environment-readiness
|
|
154
|
+
guidance for cloud runs.
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: OAT in Cursor Cloud
|
|
3
|
+
description: 'How Cursor Cloud agents resolve the OAT project home, verify provisioned tooling, and use cloud-specific execution surfaces safely.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OAT in Cursor Cloud
|
|
7
|
+
|
|
8
|
+
Cursor Cloud is a harness environment for the same repository-rooted OAT
|
|
9
|
+
workflow used locally. Cloud context does not change project artifact formats,
|
|
10
|
+
gate ownership, or autonomy boundaries.
|
|
11
|
+
|
|
12
|
+
The `oat-cursor-cloud-projects` orientation skill owns cloud-specific setup and
|
|
13
|
+
routing guidance. It should surface when OAT is used in a Cursor Cloud
|
|
14
|
+
environment, and it can also be invoked explicitly. Use
|
|
15
|
+
`oat-project-autonomous` separately when the user explicitly requests an
|
|
16
|
+
end-to-end autonomous run; being in Cursor Cloud does not activate autonomy by
|
|
17
|
+
itself.
|
|
18
|
+
|
|
19
|
+
## Resolve the project home first
|
|
20
|
+
|
|
21
|
+
All tracked project artifacts belong to a repository, not to the workspace
|
|
22
|
+
container or user home.
|
|
23
|
+
|
|
24
|
+
### Multi-repository workspace
|
|
25
|
+
|
|
26
|
+
1. Identify the **primary repository** whose branch, commits, and final PR own
|
|
27
|
+
the requested work.
|
|
28
|
+
2. Run OAT from that repository root.
|
|
29
|
+
3. Keep the project under that repository's configured projects root, normally
|
|
30
|
+
`<primary-repo>/.oat/projects/shared/<project>/`.
|
|
31
|
+
4. Keep checkout-specific state such as `activeProject` in the primary
|
|
32
|
+
repository's `.oat/config.local.json`.
|
|
33
|
+
5. Treat sibling repositories as research or integration context unless the
|
|
34
|
+
approved plan explicitly assigns them work. Do not create a workspace-level
|
|
35
|
+
`.oat` directory to coordinate multiple repositories.
|
|
36
|
+
|
|
37
|
+
For cross-repository work, choose one primary repository as the artifact and
|
|
38
|
+
provenance anchor. Record external repository assumptions and evidence in its
|
|
39
|
+
project artifacts rather than splitting one OAT project across unrelated
|
|
40
|
+
workspace roots.
|
|
41
|
+
|
|
42
|
+
### Single-repository workspace
|
|
43
|
+
|
|
44
|
+
The checked-out repository is the project home. Run OAT at its root and use its
|
|
45
|
+
`.oat/` tree exactly as in a local checkout. Do not introduce multi-repository
|
|
46
|
+
path assumptions.
|
|
47
|
+
|
|
48
|
+
In both layouts, never store tracked projects under `~/.oat/projects`, a
|
|
49
|
+
workspace aggregator such as `/workspace/.oat`, or another repository merely
|
|
50
|
+
because it also contains OAT assets.
|
|
51
|
+
|
|
52
|
+
## Orientation and cloud detection
|
|
53
|
+
|
|
54
|
+
The orientation skill confirms cloud context from environment markers and,
|
|
55
|
+
when available, Cursor Cloud run metadata. Run metadata is also the preferred
|
|
56
|
+
source for the current model family; model self-report is not dispatch
|
|
57
|
+
evidence.
|
|
58
|
+
|
|
59
|
+
If cloud metadata is unavailable, the skill degrades to verified environment
|
|
60
|
+
signals and reports the missing evidence. It does not invent run identity or
|
|
61
|
+
block repository-local OAT work that otherwise has the required tooling.
|
|
62
|
+
|
|
63
|
+
## Provisioning expectations
|
|
64
|
+
|
|
65
|
+
A ready cloud environment provides:
|
|
66
|
+
|
|
67
|
+
- the latest published OAT CLI on `PATH`;
|
|
68
|
+
- OAT packs and skills installed at user scope;
|
|
69
|
+
- user-level `~/.oat/config.json` defaults for the dispatch candidate ladder
|
|
70
|
+
and gate execution targets, with availability probes;
|
|
71
|
+
- `cursor-agent` installed for configured headless routes;
|
|
72
|
+
- headless authentication supplied from a Cloud Agents secret;
|
|
73
|
+
- repository-local config overrides only where a specific repository needs
|
|
74
|
+
cloud behavior that differs from its shared config.
|
|
75
|
+
|
|
76
|
+
Provisioning must be idempotent and must not require an
|
|
77
|
+
`open-agent-toolkit` source checkout. A practical readiness pass verifies at
|
|
78
|
+
least:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
oat --version
|
|
82
|
+
oat config dump
|
|
83
|
+
cursor-agent --version
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
It also verifies that required user-scope packs are present, configured gate
|
|
87
|
+
targets resolve or degrade through their availability probes, and the harness
|
|
88
|
+
auth probe succeeds. A missing optional gate CLI may permit a documented
|
|
89
|
+
degraded route. A required route with no adequate fallback is a boundary.
|
|
90
|
+
|
|
91
|
+
Secrets stay in the environment or the platform's secret broker. Never write
|
|
92
|
+
`CURSOR_API_KEY` or another credential into OAT config, project artifacts,
|
|
93
|
+
dispatch records, prompts, logs, or the VM image.
|
|
94
|
+
|
|
95
|
+
## User-scope asset precedence
|
|
96
|
+
|
|
97
|
+
In provisioned cloud environments, the user-scope installation is the execution
|
|
98
|
+
source for every OAT asset class: skills, templates, and scripts. The user tier
|
|
99
|
+
is refreshed from the published package during environment setup; repository
|
|
100
|
+
copies are compatibility context, not an override.
|
|
101
|
+
|
|
102
|
+
For skills, compare frontmatter versions as a freshness check:
|
|
103
|
+
|
|
104
|
+
- user version at or above the repository version is the expected state;
|
|
105
|
+
- a higher repository version is an environment anomaly;
|
|
106
|
+
- even in that anomaly, keep the user copy as the execution source, log the
|
|
107
|
+
mismatch in `oat-execution-learnings.md`, and refresh the user tier before
|
|
108
|
+
safety-critical work.
|
|
109
|
+
|
|
110
|
+
Version comparison verifies provisioning. It never switches execution to the
|
|
111
|
+
repository copy.
|
|
112
|
+
|
|
113
|
+
## Cursor execution surfaces
|
|
114
|
+
|
|
115
|
+
Cursor Cloud native subagents, Cursor IDE subagents, the Cursor CLI subagent
|
|
116
|
+
enum, and the Cursor CLI full model catalog are separate dispatch surfaces.
|
|
117
|
+
Each can expose a differently named subset.
|
|
118
|
+
|
|
119
|
+
Snapshot the catalog for the surface being used before dispatch. Do not infer
|
|
120
|
+
that a model available to a native cloud task is available to `cursor-agent`,
|
|
121
|
+
or the reverse. The dispatch substrate owns route mechanics and records the
|
|
122
|
+
selected surface, exact configured model string, selection reason, and accepted
|
|
123
|
+
launch. See [Programmatic Execution](programmatic-execution.md) and
|
|
124
|
+
[Orchestration Model](orchestration-model.md).
|
|
125
|
+
|
|
126
|
+
## Autonomous runs
|
|
127
|
+
|
|
128
|
+
For an explicitly autonomous cloud run:
|
|
129
|
+
|
|
130
|
+
1. Resolve the primary repository and project home.
|
|
131
|
+
2. Verify the provisioned OAT and Cursor surfaces.
|
|
132
|
+
3. Invoke `oat-project-autonomous`; it activates the session-scoped autonomy
|
|
133
|
+
signals.
|
|
134
|
+
4. Use the same policy boundaries and review contract as local autonomy.
|
|
135
|
+
5. Append cloud setup gaps, degraded checks, and freshness anomalies to the
|
|
136
|
+
project-local execution-learnings log.
|
|
137
|
+
|
|
138
|
+
Missing credentials, repository-policy approval, destructive changes,
|
|
139
|
+
unresolved blocking reviews, and material product ambiguity remain boundaries.
|
|
140
|
+
See [Autonomous Project Execution](autonomy.md).
|
|
141
|
+
|
|
142
|
+
## Related
|
|
143
|
+
|
|
144
|
+
- [Autonomous Project Execution](autonomy.md) — activation, boundaries, review,
|
|
145
|
+
and learnings.
|
|
146
|
+
- [Programmatic Execution](programmatic-execution.md) — Cursor CLI and native
|
|
147
|
+
execution surfaces.
|
|
148
|
+
- [Dispatch Policy](dispatch-ceiling.md) — candidate ladders and exact route
|
|
149
|
+
selection.
|
|
150
|
+
- [Configuration](../../cli-utilities/configuration.md) — user, shared, and
|
|
151
|
+
repository-local config ownership.
|
|
@@ -64,6 +64,19 @@ existing cells. Planning shows the complete recommendation before asking which
|
|
|
64
64
|
scope should own it. If the resulting ladder is still missing or incomplete,
|
|
65
65
|
planning remains blocked rather than replacing the user's explicit values.
|
|
66
66
|
|
|
67
|
+
Before offering adoption, planning runs `oat config list --json` once and treats
|
|
68
|
+
its output as the effective boundary across shared, repo-local, user, and
|
|
69
|
+
bundled-default precedence. A complete effective ladder skips adoption even
|
|
70
|
+
when the current project has not selected a policy or named ceiling. Adoption
|
|
71
|
+
is offered only when the resolved provider/tier cells are actually missing,
|
|
72
|
+
empty, malformed, or incomplete.
|
|
73
|
+
|
|
74
|
+
Ladder completeness and project-ceiling selection are separate checks. In
|
|
75
|
+
particular, `oat project dispatch-ceiling resolve` returning `matrix: null` can
|
|
76
|
+
mean that the project policy or ceiling is unresolved; it does not prove that
|
|
77
|
+
the effective reusable ladders are absent. When ladders are complete, planning
|
|
78
|
+
proceeds directly to the project-specific policy choice.
|
|
79
|
+
|
|
67
80
|
The ownership boundary is deliberate:
|
|
68
81
|
|
|
69
82
|
| Source | Config location | Codex materialization output |
|
|
@@ -12,6 +12,8 @@ Projects are where the workflow layer becomes concrete: lifecycle phases, `state
|
|
|
12
12
|
## Contents
|
|
13
13
|
|
|
14
14
|
- [Lifecycle](lifecycle.md) - End-to-end flow from discovery through completion.
|
|
15
|
+
- [Autonomous Project Execution](autonomy.md) - Session-scoped autonomy signals, gate boundaries, review requirements, and execution learnings.
|
|
16
|
+
- [OAT in Cursor Cloud](cursor-cloud.md) - Project-home, provisioning, asset-precedence, and execution-surface guidance for cloud agents.
|
|
15
17
|
- [Design Modes](design-modes.md) - How full design balances collaborative, selective collaborative, and draft-and-review interaction.
|
|
16
18
|
- [HiLL Checkpoints](hill-checkpoints.md) - Human-in-the-Loop Lifecycle configuration and approval behavior.
|
|
17
19
|
- [Dispatch Policy](dispatch-ceiling.md) - Managed capped tiers, managed Uncapped, Inherit Host Defaults, and provider-specific enforcement.
|
|
@@ -34,6 +36,8 @@ This sub-section is the deep technical surface for how tracked OAT projects exec
|
|
|
34
36
|
## Start Here
|
|
35
37
|
|
|
36
38
|
- Start with [Lifecycle](lifecycle.md) for the end-to-end flow.
|
|
39
|
+
- Use [Autonomous Project Execution](autonomy.md) for unattended lifecycle runs and defined boundary behavior.
|
|
40
|
+
- Read [OAT in Cursor Cloud](cursor-cloud.md) before running OAT in a cloud workspace.
|
|
37
41
|
- Read [Artifacts](artifacts.md) once you need the file contract behind project execution.
|
|
38
42
|
- Use [Project Splitting](splitting.md) when one discovery or brainstorm should become coordinated child projects.
|
|
39
43
|
- Use [HiLL Checkpoints](hill-checkpoints.md) when you want to understand pause/approval behavior.
|
|
@@ -49,6 +53,8 @@ This sub-section is the deep technical surface for how tracked OAT projects exec
|
|
|
49
53
|
## Go Deeper
|
|
50
54
|
|
|
51
55
|
- [Lifecycle](lifecycle.md) - End-to-end flow from discovery through completion.
|
|
56
|
+
- [Autonomous Project Execution](autonomy.md) - Session activation, gate outcomes, independent review, HiLL closeout, and learnings synthesis.
|
|
57
|
+
- [OAT in Cursor Cloud](cursor-cloud.md) - Repository anchoring, environment readiness, user-scope assets, and Cursor execution surfaces.
|
|
52
58
|
- [Design Modes](design-modes.md) - How full design balances collaborative, selective collaborative, and draft-and-review interaction.
|
|
53
59
|
- [HiLL Checkpoints](hill-checkpoints.md) - Human-in-the-Loop Lifecycle configuration and approval behavior.
|
|
54
60
|
- [Dispatch Policy](dispatch-ceiling.md) - Managed capped tiers, managed Uncapped, Inherit Host Defaults, legacy dispatch-ceiling compatibility, and provider-specific enforcement.
|