@open-agent-toolkit/cli 0.1.60 → 0.1.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +14 -0
  2. package/assets/docs/cli-utilities/config-and-local-state.md +20 -0
  3. package/assets/docs/cli-utilities/configuration.md +29 -0
  4. package/assets/docs/cli-utilities/tool-packs.md +48 -1
  5. package/assets/docs/workflows/projects/autonomy.md +154 -0
  6. package/assets/docs/workflows/projects/cursor-cloud.md +151 -0
  7. package/assets/docs/workflows/projects/index.md +6 -0
  8. package/assets/public-package-versions.json +4 -4
  9. package/assets/skills/oat-cursor-cloud-projects/SKILL.md +318 -0
  10. package/assets/skills/oat-cursor-cloud-projects/references/cursor-cloud-mechanics.md +173 -0
  11. package/assets/skills/oat-project-autonomous/SKILL.md +439 -0
  12. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +294 -0
  13. package/assets/skills/oat-project-design/SKILL.md +79 -1
  14. package/assets/skills/oat-project-discover/SKILL.md +76 -1
  15. package/assets/skills/oat-project-document/SKILL.md +17 -1
  16. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +294 -0
  17. package/assets/skills/oat-project-implement/SKILL.md +18 -1
  18. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +72 -7
  19. package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +17 -9
  20. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +294 -0
  21. package/assets/skills/oat-project-implement/references/plan-and-resume.md +56 -0
  22. package/assets/skills/oat-project-pr-final/SKILL.md +23 -4
  23. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +294 -0
  24. package/assets/skills/oat-project-quick-start/SKILL.md +43 -2
  25. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +294 -0
  26. package/assets/skills/oat-project-summary/SKILL.md +69 -14
  27. package/assets/templates/summary.md +24 -0
  28. package/dist/app/tool-bundle-update-guard.d.ts +31 -0
  29. package/dist/app/tool-bundle-update-guard.d.ts.map +1 -0
  30. package/dist/app/tool-bundle-update-guard.js +134 -0
  31. package/dist/app/update-notifier.d.ts +28 -0
  32. package/dist/app/update-notifier.d.ts.map +1 -0
  33. package/dist/app/update-notifier.js +250 -0
  34. package/dist/commands/config/index.d.ts.map +1 -1
  35. package/dist/commands/config/index.js +42 -5
  36. package/dist/commands/init/tools/index.d.ts.map +1 -1
  37. package/dist/commands/init/tools/index.js +67 -45
  38. package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
  39. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
  40. package/dist/commands/init/tools/shared/skill-manifest.js +2 -0
  41. package/dist/commands/init/tools/workflows/index.d.ts +2 -1
  42. package/dist/commands/init/tools/workflows/index.d.ts.map +1 -1
  43. package/dist/commands/init/tools/workflows/index.js +13 -11
  44. package/dist/commands/init/tools/workflows/install-workflows.d.ts +2 -0
  45. package/dist/commands/init/tools/workflows/install-workflows.d.ts.map +1 -1
  46. package/dist/commands/init/tools/workflows/install-workflows.js +4 -0
  47. package/dist/commands/project/new/scaffold.d.ts +1 -0
  48. package/dist/commands/project/new/scaffold.d.ts.map +1 -1
  49. package/dist/commands/project/new/scaffold.js +23 -4
  50. package/dist/commands/tools/remove/index.js +2 -2
  51. package/dist/commands/tools/remove/remove-tools.d.ts.map +1 -1
  52. package/dist/commands/tools/remove/remove-tools.js +23 -0
  53. package/dist/commands/tools/update/index.d.ts.map +1 -1
  54. package/dist/commands/tools/update/index.js +7 -1
  55. package/dist/commands/tools/update/update-tools.d.ts +9 -0
  56. package/dist/commands/tools/update/update-tools.d.ts.map +1 -1
  57. package/dist/commands/tools/update/update-tools.js +25 -5
  58. package/dist/config/oat-config.d.ts +1 -0
  59. package/dist/config/oat-config.d.ts.map +1 -1
  60. package/dist/config/oat-config.js +3 -0
  61. package/dist/config/resolve.d.ts.map +1 -1
  62. package/dist/config/resolve.js +1 -0
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +46 -2
  66. package/dist/providers/codex/codec/shared.d.ts +2 -2
  67. package/dist/providers/identity/family.d.ts +1 -1
  68. package/dist/providers/identity/family.d.ts.map +1 -1
  69. package/dist/providers/identity/family.js +2 -0
  70. package/package.json +2 -2
package/README.md CHANGED
@@ -40,6 +40,20 @@ Additional useful entry points:
40
40
  - `oat repo archive sync`
41
41
  - `oat doctor`
42
42
 
43
+ ## Update Notifications
44
+
45
+ On ordinary interactive command runs, OAT may print a passive notice when npm's stable `latest` CLI version is newer than the installed version. The cache normally limits checks to once every 24 hours and same-version notices to once every 72 hours; overlapping CLI processes can each perform a check or print a notice.
46
+
47
+ `oat init`, `oat tools install`, and `oat tools update` are different because they copy tools bundled with the running CLI. Before an eligible interactive mutation, a known newer CLI triggers a warning that the current CLI can only install its own bundled tool versions and that the available CLI may bundle newer versions. OAT then offers, defaulting to no, to run `npm install --global @open-agent-toolkit/cli@<validated-version>` for the exact validated stable version. Acceptance updates the CLI package, stops before changing tools, and asks you to rerun the original command. Declining or aborting continues with the current bundle after a warning. An installer failure stops the tool mutation and reports the command you can retry.
48
+
49
+ This warning does not mean tools installed from the current bundle are incompatible with the current CLI; it only identifies that a newer CLI release may include newer bundled tool versions. Dry-run, JSON, non-interactive, CI, test, source-development, and ephemeral package-runner invocations do not prompt or install. Ordinary eligible commands remain passive.
50
+
51
+ Set `NO_UPDATE_NOTIFIER` to a truthy value (for example, `1`, `true`, `yes`, or `on`) to suppress checks for one process; empty, `0`, and `false` do not suppress them. Or persist the user-level preference:
52
+
53
+ ```bash
54
+ oat config set updateNotifications false --user
55
+ ```
56
+
43
57
  ## Inspection Commands
44
58
 
45
59
  Use these commands when you want structured runtime/project state out of the CLI:
@@ -113,6 +113,26 @@ Use `oat config` for repo runtime config inspection and supported key mutation.
113
113
 
114
114
  Use `oat config dump --json` when you need the whole resolved config in one machine-readable response rather than a single key or a human-oriented list view.
115
115
 
116
+ ### Update notifications
117
+
118
+ OAT can passively report when npm's stable `latest` CLI version is newer during an ordinary interactive command run. The cache normally limits checks to once every 24 hours and same-version notices to once every 72 hours; overlapping CLI processes can each perform a check or print a notice. Ordinary eligible commands only show update guidance and do not prompt.
119
+
120
+ Before eligible interactive `oat init`, `oat tools install`, or `oat tools update` mutations, a known newer stable CLI receives special handling. These commands copy tool versions bundled with the running CLI, so OAT warns that the older CLI can only install its own bundle and that the available CLI may contain newer bundled tools. The default-no prompt offers to install the exact validated version with:
121
+
122
+ ```bash
123
+ npm install --global @open-agent-toolkit/cli@<validated-version>
124
+ ```
125
+
126
+ If accepted, OAT updates the CLI package, stops before changing tools, and asks you to rerun the original command under the new CLI. If declined or the prompt is aborted, OAT warns and continues with the current bundle. If npm fails, the requested tool mutation does not run and the error includes a command to retry. The warning describes possible bundle freshness; it does not claim that tools installed by the current CLI are incompatible with that CLI.
127
+
128
+ Checks, notices, and the update offer are skipped for JSON, non-interactive, CI, test, source-development, and ephemeral package-runner invocations. Guarded dry-run commands also skip the prompt and installer. Set `NO_UPDATE_NOTIFIER` to a truthy value (for example, `1`, `true`, `yes`, or `on`) to suppress checks for one process; empty, `0`, and `false` do not suppress them. Or disable checks persistently in user config:
129
+
130
+ ```bash
131
+ oat config set updateNotifications false --user
132
+ ```
133
+
134
+ The preference defaults to `true`; run the same command with `true` to re-enable it. Cached check and notice timestamps live in `~/.oat/update-check.json`, separate from the user-authored preference in `~/.oat/config.json`.
135
+
116
136
  Dispatch policy keys are part of this surface, but provider-specific generation
117
137
  still belongs to provider commands. Use `oat config describe
118
138
  workflow.dispatchPolicy.policy` to inspect capped managed, managed uncapped,
@@ -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:
@@ -49,6 +49,25 @@ skills can use the utility engine directly.
49
49
 
50
50
  The `oat tools` command group provides a unified interface for managing installed tools (skills and agents) across scopes.
51
51
 
52
+ ### CLI updates before bundled-tool mutations
53
+
54
+ Tool packs ship inside the OAT CLI package. An older CLI can therefore install or update only the tool versions in its own bundle, while a newer stable CLI release may contain newer bundled versions. This is a bundle-freshness warning, not a claim that tools installed by the current CLI are immediately incompatible with it.
55
+
56
+ Before an eligible interactive `oat init`, `oat tools install` (including pack subcommands), or `oat tools update` mutation, OAT checks the cached stable CLI availability. If a newer version is known, it explains the bundle difference and offers, with a default answer of no, to install that exact validated version:
57
+
58
+ ```bash
59
+ npm install --global @open-agent-toolkit/cli@<validated-version>
60
+ ```
61
+
62
+ - Accepting updates the CLI package only, stops before changing bundled tools, and asks you to rerun the original command under the new CLI.
63
+ - Declining or aborting warns that the current bundle may be older, then continues the requested command.
64
+ - If npm fails, OAT does not run the tool mutation and reports how to retry the CLI installation.
65
+ - Dry-run, JSON, non-interactive, opted-out, CI, test, source-development, and ephemeral package-runner invocations do not prompt or install.
66
+
67
+ Set `NO_UPDATE_NOTIFIER` to a truthy value (for example, `1`, `true`, `yes`, or `on`) to suppress checks for one process; empty, `0`, and `false` do not suppress them.
68
+
69
+ Other eligible commands keep the passive update notice and never launch the installer.
70
+
52
71
  ## Install vs. initialize
53
72
 
54
73
  The `project-management` pack has two lifecycle steps:
@@ -131,7 +150,7 @@ Key behavior:
131
150
  - Pack-oriented install subcommands: `core`, `docs`, `ideas`, `workflows`, `utility`, `project-management`, `research`, `brainstorm`
132
151
  - Interactive installs show each pack's current install location in the picker so already-installed packs are visible before you submit
133
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
134
- - 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
135
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
136
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
137
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
@@ -154,6 +173,7 @@ Key behavior:
154
173
  - Accepts a tool name, `--pack <pack>`, or `--all` (mutually exclusive)
155
174
  - Compares installed versions against bundled versions and copies updated assets
156
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
157
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
158
178
  - Dry-run mode with `--dry-run`; auto-sync after mutations by default
159
179
  - Use `--no-sync` to skip auto-sync
@@ -183,6 +203,33 @@ Tool-pack lifecycle commands now persist pack availability in shared repo config
183
203
 
184
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.
185
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
+
186
233
  ## Core pack
187
234
 
188
235
  The `core` pack contains foundational diagnostic and documentation skills:
@@ -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.
@@ -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.
@@ -1,6 +1,6 @@
1
1
  {
2
- "cli": "0.1.60",
3
- "docs-config": "0.1.60",
4
- "docs-theme": "0.1.60",
5
- "docs-transforms": "0.1.60"
2
+ "cli": "0.1.63",
3
+ "docs-config": "0.1.63",
4
+ "docs-theme": "0.1.63",
5
+ "docs-transforms": "0.1.63"
6
6
  }