@open-agent-toolkit/cli 0.3.12 → 0.3.14

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 (152) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/docs/contributing/index.md +14 -1
  4. package/assets/docs/contributing/skills.md +64 -2
  5. package/assets/docs/contributing/smoke-testing.md +3 -3
  6. package/assets/docs/contributing/updating-model-guidance.md +2 -2
  7. package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
  8. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +112 -15
  9. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  10. package/assets/docs/docs-tooling/commands.md +74 -30
  11. package/assets/docs/docs-tooling/index.md +7 -6
  12. package/assets/docs/docs-tooling/meta.json +1 -1
  13. package/assets/docs/docs-tooling/workflows.md +357 -11
  14. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  15. package/assets/docs/{guide → getting-started}/concepts.md +28 -10
  16. package/assets/docs/getting-started/index.md +68 -0
  17. package/assets/docs/getting-started/meta.json +4 -0
  18. package/assets/docs/getting-started/quickstart.md +174 -0
  19. package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +146 -15
  20. package/assets/docs/index.md +47 -48
  21. package/assets/docs/meta.json +6 -7
  22. package/assets/docs/provider-sync/commands.md +26 -3
  23. package/assets/docs/provider-sync/config.md +60 -1
  24. package/assets/docs/provider-sync/index.md +31 -15
  25. package/assets/docs/provider-sync/instruction-sync.md +43 -5
  26. package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
  27. package/assets/docs/provider-sync/meta.json +1 -0
  28. package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
  29. package/assets/docs/provider-sync/scope-and-surface.md +37 -3
  30. package/assets/docs/reference/cli-reference.md +34 -34
  31. package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
  32. package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
  33. package/assets/docs/reference/docs-index-contract.md +19 -4
  34. package/assets/docs/reference/file-locations.md +7 -2
  35. package/assets/docs/reference/index.md +13 -1
  36. package/assets/docs/reference/meta.json +7 -1
  37. package/assets/docs/reference/oat-directory-structure.md +24 -22
  38. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  39. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
  40. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  41. package/assets/docs/reference/troubleshooting.md +125 -10
  42. package/assets/docs/reference/what-oat-writes.md +410 -0
  43. package/assets/docs/skills/brainstorm.md +77 -0
  44. package/assets/docs/skills/diagnostics.md +56 -0
  45. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  46. package/assets/docs/skills/index.md +416 -0
  47. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  48. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  49. package/assets/docs/skills/repo-improve.md +254 -0
  50. package/assets/docs/skills/research.md +237 -0
  51. package/assets/docs/skills/session-closeout.md +61 -0
  52. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  53. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  54. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  55. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
  56. package/assets/docs/workflows/advanced/index.md +19 -0
  57. package/assets/docs/workflows/advanced/meta.json +13 -0
  58. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
  59. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  60. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  61. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  62. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  63. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  64. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  65. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  66. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  67. package/assets/docs/workflows/choose-workflow.md +114 -0
  68. package/assets/docs/workflows/ideas/index.md +3 -3
  69. package/assets/docs/workflows/ideas/lifecycle.md +218 -1
  70. package/assets/docs/workflows/index.md +11 -62
  71. package/assets/docs/workflows/meta.json +10 -2
  72. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  73. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  74. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  75. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  76. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  77. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  78. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
  79. package/assets/docs/workflows/projects/execution/index.md +15 -0
  80. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  81. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  82. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  83. package/assets/docs/workflows/projects/index.md +38 -49
  84. package/assets/docs/workflows/projects/lifecycle.md +47 -11
  85. package/assets/docs/workflows/projects/meta.json +2 -23
  86. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  87. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  88. package/assets/docs/workflows/projects/planning/index.md +16 -0
  89. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  90. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  91. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  92. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  93. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  94. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  95. package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
  96. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  97. package/assets/docs/workflows/waves/index.md +12 -0
  98. package/assets/docs/workflows/waves/meta.json +4 -0
  99. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  100. package/assets/public-package-versions.json +4 -4
  101. package/assets/skills/oat-docs/SKILL.md +19 -19
  102. package/assets/skills/oat-docs-analyze/SKILL.md +27 -7
  103. package/assets/skills/oat-docs-analyze/references/quality-checklist.md +16 -3
  104. package/assets/skills/oat-docs-apply/SKILL.md +20 -3
  105. package/assets/skills/oat-docs-authoring/SKILL.md +11 -7
  106. package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +12 -5
  107. package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +7 -7
  108. package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +13 -3
  109. package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +5 -4
  110. package/assets/skills/oat-docs-authoring/references/validation.md +11 -1
  111. package/assets/skills/oat-docs-bootstrap/SKILL.md +31 -8
  112. package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +2 -1
  113. package/assets/skills/oat-doctor/SKILL.md +25 -25
  114. package/assets/skills/oat-project-document/SKILL.md +21 -2
  115. package/assets/templates/docs-markdown/contributing.md +35 -0
  116. package/assets/templates/docs-markdown/index.md +18 -0
  117. package/dist/commands/docs/index-generate/index.d.ts.map +1 -1
  118. package/dist/commands/docs/index-generate/index.js +41 -8
  119. package/dist/commands/docs/init/index.d.ts +17 -2
  120. package/dist/commands/docs/init/index.d.ts.map +1 -1
  121. package/dist/commands/docs/init/index.js +194 -14
  122. package/dist/commands/docs/init/markdown.d.ts +39 -0
  123. package/dist/commands/docs/init/markdown.d.ts.map +1 -0
  124. package/dist/commands/docs/init/markdown.js +317 -0
  125. package/dist/commands/docs/init/resolve-options.d.ts +3 -1
  126. package/dist/commands/docs/init/resolve-options.d.ts.map +1 -1
  127. package/dist/commands/docs/init/resolve-options.js +36 -0
  128. package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
  129. package/dist/commands/docs/init/scaffold.js +11 -0
  130. package/dist/commands/shared/agents-md.d.ts +7 -0
  131. package/dist/commands/shared/agents-md.d.ts.map +1 -1
  132. package/dist/commands/shared/agents-md.js +131 -91
  133. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  134. package/dist/commands/tools/shared/pack-manifest.js +1 -0
  135. package/dist/config/oat-config.d.ts +2 -1
  136. package/dist/config/oat-config.d.ts.map +1 -1
  137. package/dist/config/oat-config.js +4 -2
  138. package/package.json +2 -2
  139. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  140. package/assets/docs/cli-utilities/index.md +0 -74
  141. package/assets/docs/cli-utilities/meta.json +0 -13
  142. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  143. package/assets/docs/guide/index.md +0 -31
  144. package/assets/docs/guide/meta.json +0 -4
  145. package/assets/docs/quickstart.md +0 -88
  146. package/assets/docs/workflows/projects/autonomy.md +0 -196
  147. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  148. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  149. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  150. package/assets/docs/workflows/skills/index.md +0 -184
  151. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  152. package/assets/docs/workflows/wave-workflows.md +0 -77
@@ -0,0 +1,344 @@
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
+ Terms used on this page:
19
+
20
+ - **Active project:** the project your checkout currently points to. The
21
+ pointer is the `activeProject` value in `.oat/config.local.json`.
22
+ - **Synced project:** a project whose artifacts live on a separate Git ref
23
+ (`refs/oat/projects/<project>`) instead of on your feature branch. Skills
24
+ publish its artifact changes with `oat project push`.
25
+ - **HiLL checkpoint:** a human-in-the-loop stop after a plan phase. In an
26
+ interactive run, the agent waits there for your approval.
27
+ - **Dispatch policy:** the project's rule for which models its worker and
28
+ reviewer subagents may use. See [Dispatch Policy](dispatch-ceiling.md).
29
+ - **Boundary:** a point where an autonomous run stops on purpose and reports
30
+ what a person must decide or provide before it can continue.
31
+
32
+ ## Activation contract
33
+
34
+ An autonomous session uses both signals:
35
+
36
+ ```bash
37
+ export OAT_AUTONOMOUS=1
38
+ export OAT_NON_INTERACTIVE=1
39
+ ```
40
+
41
+ `OAT_AUTONOMOUS=1` implies and sets `OAT_NON_INTERACTIVE=1` for the current
42
+ run. The distinction is intentional:
43
+
44
+ - `OAT_NON_INTERACTIVE=1` selects existing safe no-prompt paths for one
45
+ workflow.
46
+ - `OAT_AUTONOMOUS=1` additionally enables lifecycle chaining, defined gate
47
+ resolutions, boundary stops, and provenance requirements.
48
+
49
+ Both signals are session-scoped. Never write them to `state.md`, `plan.md`,
50
+ repository config, user config, or any other durable artifact. A later
51
+ interactive session therefore needs no autonomy cleanup and behaves
52
+ interactively around the state the autonomous run left behind.
53
+
54
+ ## Gate outcomes
55
+
56
+ Every interactive lifecycle gate has one of two autonomous outcomes:
57
+
58
+ 1. **Auto-resolve** using an existing safe path, then record the decision and
59
+ evidence.
60
+ 2. **Boundary stop** with a structured blocker and a resumable next step.
61
+
62
+ The main boundary classes are:
63
+
64
+ - **Product judgment** — repository evidence cannot resolve material scope or
65
+ requirements ambiguity.
66
+ - **Destructive-change risk** — an action could discard work, delete data,
67
+ rewrite history, or broadly restructure an unapproved surface.
68
+ - **Unresolved Critical findings** — a blocking review has not passed.
69
+ - **Repository-policy approval** — protected operations require authority the
70
+ session does not have.
71
+ - **Missing credentials** — a required external action has no authenticated
72
+ route or offline equivalent.
73
+
74
+ A boundary is a successful fail-closed outcome, not permission to continue with
75
+ a guessed answer. The run reports what stopped, the evidence, and the operator
76
+ action needed to resume.
77
+
78
+ The canonical autonomy contract and exhaustive gate inventory
79
+ (`.agents/docs/autonomy-contract.md`, vendored into each consuming skill at
80
+ `references/docs/autonomy-contract.md`) map each prompt to its autonomous
81
+ resolution and provenance.
82
+
83
+ ### Dispatch-ladder scope selection
84
+
85
+ An incomplete reusable dispatch ladder is auto-resolvable when an authorized
86
+ adoption-compatible config scope is available. Autonomous planning checks
87
+ config-file existence in this fixed order without prompting or reordering from
88
+ effective value or matrix-cell provenance:
89
+
90
+ 1. user config (`~/.oat/config.json`);
91
+ 2. repo-local config (`.oat/config.local.json`);
92
+ 3. shared config (`.oat/config.json`), only when repository policy already
93
+ authorizes that write.
94
+
95
+ Before writing, planning rejects a candidate that would preserve a
96
+ provider-level scalar in that scope or remain shadowed by one at higher
97
+ precedence. It always tries the next authorized compatible candidate and stops
98
+ without mutation only when none remains.
99
+
100
+ The planner runs exactly one matching `oat config adopt dispatch-matrix --keep-existing`
101
+ command, records file-existence and compatibility evidence plus the selected
102
+ scope, and re-runs dispatch preflight. Existing explicit cells remain unchanged;
103
+ their provenance does not select the persistence scope. No authorized
104
+ compatible scope, or a ladder that remains incomplete after adoption, is still
105
+ a repository-policy boundary. `OAT_NON_INTERACTIVE=1` without
106
+ `OAT_AUTONOMOUS=1` does not select a scope and continues to fail closed.
107
+
108
+ ## Review contract
109
+
110
+ Autonomous execution preserves independent review:
111
+
112
+ - Discovery, design, and plan artifacts run their configured exit gates.
113
+ Quick-start reviews the discovery, optional lightweight design, and plan as
114
+ one bundle when those artifacts exist.
115
+ - Review routing is selected before launch through the dispatch substrate.
116
+ A configured gate target is preferred when available; otherwise policy may
117
+ choose a target-preserving subagent route. Any reduced independence is
118
+ explicit in the dispatch record.
119
+ - Once a launch is accepted, it is terminal for route selection. Failures use
120
+ bounded recovery with the same payload; they do not silently fall through to
121
+ a cheaper or less independent reviewer.
122
+ - Eligible review artifacts are received immediately. Fix tasks use the normal
123
+ bounded implement-and-re-review loop.
124
+ - Critical findings and failed blocking reviews stop progression. High
125
+ findings follow the configured gate policy.
126
+ - A normal phase or final lifecycle review cannot satisfy a configured
127
+ implementation exit gate. Only gate invocation provenance with the matching
128
+ run ID can authorize that boundary.
129
+
130
+ Project review artifacts and review rows reference launcher-owned dispatch
131
+ records. The configured invocation is authoritative evidence; child
132
+ self-reporting is optional corroboration. See [Evidence
133
+ Layers](evidence-layers.md) and [Reviews](../projects/reviews/index.md).
134
+
135
+ ## HiLL and lifecycle closeout
136
+
137
+ Autonomous runs ignore the configured `workflow.hillCheckpointDefault` and
138
+ `workflow.autoReviewAtHillCheckpoints` settings. When an autonomous run starts
139
+ implementation, it chooses checkpoints this way:
140
+
141
+ - If the plan already stores a valid checkpoint list in
142
+ `oat_plan_hill_phases`, the run keeps it unchanged. A stored `[]` means every
143
+ phase, never no phases.
144
+ - If the plan stores no list yet on the first implementation run, the run sets
145
+ a checkpoint at the final phase only.
146
+ - In both cases, the run turns on review at checkpoints, even if an earlier
147
+ interactive setup turned it off.
148
+
149
+ For a plan with no stored list, the run writes:
150
+
151
+ ```yaml
152
+ oat_plan_hill_phases: ['<final-phase-id>']
153
+ oat_auto_review_at_hill_checkpoints: true
154
+ ```
155
+
156
+ At each checkpoint, the run reviews the phase and processes that review
157
+ instead of waiting for you. An invalid stored value is not replaced; the run
158
+ stops at a boundary instead.
159
+
160
+ At final closeout, autonomy follows the same authoritative order as an
161
+ interactive run: final verification, mandatory final lifecycle review,
162
+ configured implementation exit gate, pre-approval sequence, final HiLL
163
+ approval, post-approval sequence, then implementation completion and success
164
+ output. A `not_configured` resolution persists an explicit no-gate allowance
165
+ before the sequence starts; a null, missing, or unrecognized resolver result
166
+ fails closed as unresolved. A gate this project disabled persists an
167
+ `allowed/configured` result with `disposition: project_disabled` and never
168
+ launches the configured command.
169
+
170
+ Autonomy does not turn an ordinary independent review into configured-gate
171
+ provenance. A configured review must produce a gate-originated artifact with
172
+ the matching run ID, and eligible receive must be durably reconciled. Blocked,
173
+ ambiguous, malformed, or stale gate state is a boundary stop: the run remains
174
+ resumable through `oat-project-implement` and cannot continue to approval,
175
+ completion, or output.
176
+
177
+ The default autonomous tail is summary, documentation, and final PR when no
178
+ post-implementation sequence is configured; stored legacy or structured
179
+ sequences retain their documented meaning.
180
+
181
+ ## Execution-learnings loop
182
+
183
+ Autonomous runs keep an append-only project-local
184
+ `oat-execution-learnings.md`. Dated entries record an observation, impact, and
185
+ recommendation under the source taxonomy: `gotcha`, `efficiency`,
186
+ `documentation-gap`, `candidate-skill-content`, `decision`, or
187
+ `environment-limited`.
188
+
189
+ When the file exists, `oat-project-summary` synthesizes actionable
190
+ recommendations into `## Autonomous Execution Learnings`, grouped as:
191
+
192
+ - agent-instruction updates;
193
+ - cloud-environment improvements;
194
+ - code follow-ups;
195
+ - workflow issues.
196
+
197
+ Each recommendation links back to its source entry. Projects without the
198
+ learnings file render normal summaries with no autonomous-learnings section.
199
+ The summary export keeps the synthesized recommendations after project
200
+ archival.
201
+
202
+ ## Taking over interactively
203
+
204
+ After an autonomous session ends:
205
+
206
+ 1. Start a normal session without the autonomy environment signals.
207
+ 2. Open the same project from its repository-local `.oat` directory.
208
+ 3. Resume the owning lifecycle skill.
209
+
210
+ Persisted review rows, task state, explicit HiLL checkpoints, and dispatch
211
+ provenance remain valid. Interactive prompts and checkpoint pauses return
212
+ normally because autonomy itself was never persisted.
213
+
214
+ ## Related
215
+
216
+ - [HiLL Checkpoints](../projects/planning/hill-checkpoints.md) — checkpoint field semantics and
217
+ interactive behavior.
218
+ - [Implementation Execution](../projects/execution/implementation-execution.md) — phase execution,
219
+ review, fixes, and closeout.
220
+ - [Cursor Cloud](cursor-cloud.md) — project-home and environment-readiness
221
+ guidance for cloud runs.
222
+
223
+ ## oat-project-autonomous
224
+
225
+ Use this entry only after an explicit request for end-to-end autonomous project
226
+ execution. It chains the existing lifecycle owners rather than replacing their
227
+ gates or creating another implementation coordinator.
228
+
229
+ > [!WARNING]
230
+ > **What it does without asking:** after every lifecycle phase, an autonomous
231
+ > run commits its work and pushes the current branch to its remote (never with
232
+ > force). It also commits its own state and learnings-log updates, dispatches
233
+ > worker and reviewer subagents under one authorization for the whole run,
234
+ > generates a project recap, and opens the final pull request. None of these
235
+ > steps asks for confirmation. It never merges the pull request.
236
+ >
237
+ > - **Start it on a feature branch, never on `main`.** It pushes whichever
238
+ > branch you are on.
239
+ > - **Set a dispatch policy first.** The run never chooses a dispatch policy
240
+ > for you. If the project has none, the run stops at a repository-policy
241
+ > boundary.
242
+ > - **Clear the active project if you want a new one.** If a valid active
243
+ > project is set, the run resumes that project even when you pass a new goal.
244
+ > Run `oat-project-clear-active` before you pass a new goal.
245
+ >
246
+ > The run stops and reports instead of guessing when it reaches any of these
247
+ > boundaries: a product decision the repository evidence cannot settle
248
+ > (`product-judgment`); an action that could delete data, overwrite work, or
249
+ > rewrite history (`destructive-change-risk`); an unresolved Critical review
250
+ > finding or a blocking review that cannot pass
251
+ > (`unresolved-critical-findings`); a protected branch, required approval, or
252
+ > unresolved dispatch policy (`repository-policy-approval`); a missing
253
+ > credential (`missing-credentials`); or a prompt that has no autonomous rule
254
+ > in the gate inventory (`inventory-gap`). A configured gate that fails with
255
+ > `onFailure: prompt`, or that cannot run or return a valid result, also stops
256
+ > the run.
257
+
258
+ **Invocation:** Provide a substantive goal for new work, or an existing project
259
+ slug or path to resume. These are agent requests, not terminal commands.
260
+ Providers with `$` syntax use `$oat-project-autonomous`.
261
+
262
+ ```text
263
+ /oat-project-autonomous "Add resumable exports and open the final PR."
264
+ ```
265
+
266
+ ```text
267
+ /oat-project-autonomous export-filter
268
+ ```
269
+
270
+ **Prerequisites:** Needs an active OAT project: no. A new goal can create a
271
+ project through the entry skill the run selects. An explicit existing project
272
+ or a valid active project supports resume, and empty input requires a valid
273
+ active project. The skill resolves an explicit project first, then a valid
274
+ active project, then a new goal. Because of that order, a goal you pass while
275
+ a valid active project is set resumes the active project instead of creating a
276
+ new one. Use the first example only when no project is active, or clear the
277
+ active project with `oat-project-clear-active` first.
278
+
279
+ `oat` must be on `PATH`, and repository policy must permit the work on the
280
+ current branch. A dispatch policy must already be configured or recorded in
281
+ the project: autonomy never picks one, and an unresolved policy stops the run
282
+ at a repository-policy boundary. Required worker and reviewer capabilities
283
+ must resolve before the run makes any change.
284
+
285
+ **Example scenario:** You are on a new feature branch, no project is active,
286
+ and a dispatch policy is already configured. You authorize the bounded
287
+ resumable-export goal through a final PR without ordinary mid-run approval
288
+ pauses. Autonomous entry chooses
289
+ lite, quick, or spec-driven review density from the actual uncertainty and
290
+ invokes its owning creation skill. If an export-filter project is already
291
+ active, the second example explicitly resumes its earliest incomplete step
292
+ instead of replaying finished phases.
293
+
294
+ **Expected output:** Session-only autonomy signals, persisted lifecycle
295
+ progress, reviewed task commits, and project-local execution learnings. Existing
296
+ projects retain their mode. A successful run reports the actual final PR and
297
+ review evidence. A blocked run names the boundary, durable completed work,
298
+ operator action, and resumable project.
299
+
300
+ The default topology is one working branch and one final PR. The skill pushes
301
+ that branch after every phase, but it does not merge or force-push. Missing
302
+ credentials, protected operations, destructive work, unresolved blocking
303
+ review, and material product ambiguity are boundaries, as are an unresolved
304
+ dispatch policy and any prompt the gate inventory does not cover
305
+ (`inventory-gap`). Autonomy does not let an ordinary review impersonate a
306
+ configured exit gate.
307
+
308
+ **Next step:** Inspect the final report and PR, or resolve the named boundary.
309
+ After a restart, deliberately invoke the skill again. Persisted project state
310
+ supports resume, but does not silently reactivate autonomy.
311
+
312
+ ## Choosing how unattended to run
313
+
314
+ | Mode | Choose when | Tradeoff |
315
+ | --------------------- | ----------------------------------------------- | --------------------------------------------------------------- |
316
+ | Interactive (default) | You want to steer approvals | Requires a person at prompts |
317
+ | Non-interactive | A scripted step needs documented defaults | Unresolved choices stop; no continuous autonomous consent |
318
+ | Explicit autonomous | A clear goal can run within declared boundaries | Less live steering; review outputs and publication consequences |
319
+
320
+ A restarted session is interactive. If you want autonomy to continue after a
321
+ restart, invoke `oat-project-autonomous` again. Autonomy never chooses a
322
+ dispatch policy for you, and it never merges a pull request. An autonomous run
323
+ stops when it reaches a product decision, a destructive or protected action, a
324
+ missing credential, an unresolved blocking review, or a required check it
325
+ cannot perform.
326
+
327
+ - If this is your first trial of OAT, choose interactive, because you see
328
+ every approval and can steer the work as you learn the lifecycle.
329
+ - If you need one scripted or CI step, choose non-interactive
330
+ (`OAT_NON_INTERACTIVE=1`), because each skill takes its documented default
331
+ and stops on any choice without one. It does not chain skills or approve
332
+ anything on your behalf.
333
+ - If you have a well-specified change you trust to run unattended, choose
334
+ autonomous, because it carries the work through to a final pull request. Set
335
+ the dispatch policy, the candidate-ladder config, and each gate's
336
+ `onFailure` behavior first, start on a feature branch, and review the pull
337
+ request yourself.
338
+ - If the change is high-risk, choose interactive, because a person then
339
+ approves each checkpoint. If you still run it autonomously, set
340
+ `oat_plan_hill_phases: []` in the plan first, because that adds a checkpoint
341
+ review after every phase.
342
+
343
+ Running without prompts does not authorize any action outside these
344
+ boundaries.
@@ -16,6 +16,19 @@ environment, and it can also be invoked explicitly. Use
16
16
  end-to-end autonomous run; being in Cursor Cloud does not activate autonomy by
17
17
  itself.
18
18
 
19
+ Terms used on this page:
20
+
21
+ - **Active project:** the OAT project a checkout currently points to, stored
22
+ as `activeProject` in that repository's `.oat/config.local.json`.
23
+ - **Synced project:** a project whose artifacts live on a separate Git ref
24
+ instead of on the feature branch. `oat project pull` brings them into a
25
+ checkout, and `oat project push` publishes changes.
26
+ - **Dispatch:** launching a worker or reviewer subagent on a chosen model and
27
+ route. The **dispatch policy** is the project's rule for which models those
28
+ subagents may use; see [Dispatch Policy](dispatch-ceiling.md).
29
+ - **User scope:** OAT skills, scripts, and config installed in your home
30
+ directory (for example `~/.oat/config.json`) rather than in the repository.
31
+
19
32
  ## Resolve the project home first
20
33
 
21
34
  All tracked project artifacts belong to a repository, not to the workspace
@@ -152,5 +165,60 @@ See [Autonomous Project Execution](autonomy.md).
152
165
  execution surfaces.
153
166
  - [Dispatch Policy](dispatch-ceiling.md) — candidate ladders and exact route
154
167
  selection.
155
- - [Configuration](../../cli-utilities/configuration.md) — user, shared, and
168
+ - [Configuration](../../reference/configuration.md) — user, shared, and
156
169
  repository-local config ownership.
170
+
171
+ ## oat-cursor-cloud-projects
172
+
173
+ Use this skill for cloud orientation before choosing a lifecycle action. It
174
+ checks the environment, repository ownership, CLI, and assets. It does not run
175
+ the project or activate autonomy on its own.
176
+
177
+ **Invocation:** In Cursor Cloud, the agent loads this skill on its own when a
178
+ request involves OAT. You can also request orientation explicitly, or ask the
179
+ agent how this cloud workspace should resolve OAT context. The slash form is an agent request, not a
180
+ terminal command. Providers with `$` syntax use `$oat-cursor-cloud-projects`.
181
+
182
+ ```text
183
+ /oat-cursor-cloud-projects
184
+ Identify the repository that owns this change and verify the OAT assets before continuing.
185
+ ```
186
+
187
+ **Prerequisites:** Needs an active OAT project: no, but the skill uses one if
188
+ it is set. A shell and Node/npm must be available. No active project is needed
189
+ to detect cloud context or choose the target repository. When an active
190
+ project exists, orientation resolves its scope and pulls synced context before
191
+ reading artifacts. If the `oat` CLI cannot be installed, project artifact work
192
+ stops.
193
+
194
+ **What it does without asking:** if `oat` is not on `PATH`, the skill runs
195
+ `npm install -g @open-agent-toolkit/cli@latest` to install the latest CLI
196
+ globally, and stops only if that install fails. If the active project is a
197
+ synced project, it runs `oat project pull` to bring its artifacts into the
198
+ checkout. When a repository skill is newer than the user-scope copy, or an
199
+ expected skill, MCP server, CLI, or credential is missing, it appends an entry
200
+ to the active project's `oat-execution-learnings.md`. It activates autonomy
201
+ only by loading `oat-project-autonomous` when you explicitly asked for an
202
+ autonomous end-to-end run.
203
+
204
+ **Example scenario:** A cloud workspace contains both an application and a
205
+ shared-library checkout. You want to resume application work without putting
206
+ its project under the workspace parent. Orientation verifies cloud signals,
207
+ selects the repository that owns the branch and eventual PR, resolves user-first
208
+ skill assets, and then returns control to the correct lifecycle skill.
209
+
210
+ **Expected output:** An orientation summary reports detected context and its
211
+ signal, target repository, projects root, active project or none, CLI readiness,
212
+ asset tier, freshness, and any required dispatch context. Each skill and script
213
+ resolves user, repository, then bundled scope. Templates use their separate
214
+ repository-first CLI resolution. A higher repository skill version signals a
215
+ stale user tier, not permission to switch sources silently.
216
+
217
+ Missing run metadata is disclosed. It does not justify inventing model identity.
218
+ Without a cloud signal, the skill returns control without imposing cloud rules.
219
+ Unavailable required capabilities and ambiguous repository ownership remain
220
+ explicit boundaries.
221
+
222
+ **Next step:** Continue the owning project skill from the verified repository.
223
+ For deliberately autonomous execution, invoke `oat-project-autonomous`
224
+ separately. Orientation alone is not that authorization.