@open-agent-toolkit/cli 0.3.13 → 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 (119) 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 +32 -0
  9. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  10. package/assets/docs/docs-tooling/index.md +1 -0
  11. package/assets/docs/docs-tooling/meta.json +1 -1
  12. package/assets/docs/docs-tooling/workflows.md +331 -2
  13. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  14. package/assets/docs/{guide → getting-started}/concepts.md +28 -10
  15. package/assets/docs/getting-started/index.md +68 -0
  16. package/assets/docs/getting-started/meta.json +4 -0
  17. package/assets/docs/getting-started/quickstart.md +174 -0
  18. package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +142 -14
  19. package/assets/docs/index.md +47 -48
  20. package/assets/docs/meta.json +6 -7
  21. package/assets/docs/provider-sync/commands.md +25 -2
  22. package/assets/docs/provider-sync/config.md +60 -1
  23. package/assets/docs/provider-sync/index.md +31 -15
  24. package/assets/docs/provider-sync/instruction-sync.md +32 -1
  25. package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
  26. package/assets/docs/provider-sync/meta.json +1 -0
  27. package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
  28. package/assets/docs/provider-sync/scope-and-surface.md +37 -3
  29. package/assets/docs/reference/cli-reference.md +33 -33
  30. package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
  31. package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
  32. package/assets/docs/reference/file-locations.md +4 -1
  33. package/assets/docs/reference/index.md +13 -1
  34. package/assets/docs/reference/meta.json +7 -1
  35. package/assets/docs/reference/oat-directory-structure.md +1 -1
  36. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  37. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
  38. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  39. package/assets/docs/reference/troubleshooting.md +125 -10
  40. package/assets/docs/reference/what-oat-writes.md +410 -0
  41. package/assets/docs/skills/brainstorm.md +77 -0
  42. package/assets/docs/skills/diagnostics.md +56 -0
  43. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  44. package/assets/docs/skills/index.md +416 -0
  45. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  46. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  47. package/assets/docs/skills/repo-improve.md +254 -0
  48. package/assets/docs/skills/research.md +237 -0
  49. package/assets/docs/skills/session-closeout.md +61 -0
  50. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  51. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  52. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  53. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
  54. package/assets/docs/workflows/advanced/index.md +19 -0
  55. package/assets/docs/workflows/advanced/meta.json +13 -0
  56. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
  57. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  58. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  59. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  60. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  61. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  62. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  63. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  64. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  65. package/assets/docs/workflows/choose-workflow.md +114 -0
  66. package/assets/docs/workflows/ideas/index.md +3 -3
  67. package/assets/docs/workflows/ideas/lifecycle.md +218 -1
  68. package/assets/docs/workflows/index.md +11 -62
  69. package/assets/docs/workflows/meta.json +10 -2
  70. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  71. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  72. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  73. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  74. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  75. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  76. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
  77. package/assets/docs/workflows/projects/execution/index.md +15 -0
  78. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  79. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  80. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  81. package/assets/docs/workflows/projects/index.md +38 -49
  82. package/assets/docs/workflows/projects/lifecycle.md +47 -11
  83. package/assets/docs/workflows/projects/meta.json +2 -23
  84. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  85. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  86. package/assets/docs/workflows/projects/planning/index.md +16 -0
  87. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  88. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  89. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  90. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  91. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  92. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  93. package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
  94. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  95. package/assets/docs/workflows/waves/index.md +12 -0
  96. package/assets/docs/workflows/waves/meta.json +4 -0
  97. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  98. package/assets/public-package-versions.json +4 -4
  99. package/assets/skills/oat-docs/SKILL.md +19 -19
  100. package/assets/skills/oat-docs-analyze/SKILL.md +1 -1
  101. package/assets/skills/oat-docs-apply/SKILL.md +1 -1
  102. package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
  103. package/assets/skills/oat-docs-bootstrap/SKILL.md +1 -1
  104. package/assets/skills/oat-doctor/SKILL.md +25 -25
  105. package/package.json +2 -2
  106. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  107. package/assets/docs/cli-utilities/index.md +0 -74
  108. package/assets/docs/cli-utilities/meta.json +0 -13
  109. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  110. package/assets/docs/guide/index.md +0 -31
  111. package/assets/docs/guide/meta.json +0 -4
  112. package/assets/docs/quickstart.md +0 -88
  113. package/assets/docs/workflows/projects/autonomy.md +0 -196
  114. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  115. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  116. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  117. package/assets/docs/workflows/skills/index.md +0 -184
  118. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  119. package/assets/docs/workflows/wave-workflows.md +0 -77
@@ -0,0 +1,376 @@
1
+ ---
2
+ title: Picking Up Projects
3
+ description: Continue a synced OAT project on another machine or from another user through its dedicated Git ref.
4
+ ---
5
+
6
+ # Picking Up a Project on Another Machine or From Another User
7
+
8
+ Synced projects travel through ordinary Git refs on `origin`. Their artifact
9
+ history is independent from the implementation branch, so a teammate or a
10
+ second machine can continue the project even before the branch carrying its
11
+ record file merges.
12
+
13
+ ## Resume work on this machine
14
+
15
+ If the project already exists in this checkout, you do not need the
16
+ cross-machine steps on the rest of this page. Run these three agent skills in
17
+ order (type them in your coding agent's chat, not a terminal; Codex uses `$`
18
+ instead of `/`):
19
+
20
+ 1. **Open the project.** `/oat-project-open <project>` makes it the active
21
+ project in this checkout (the one OAT works on when you do not name one)
22
+ and resumes it if it was paused. See
23
+ [oat-project-open](#oat-project-open).
24
+ 2. **See where it stands.** `/oat-project-progress` is a read-only status
25
+ check: it reports the phase, blockers and recommended next skill, and does
26
+ not commit, push or start that skill. It only refreshes the generated
27
+ `.oat/state.md` dashboard and, for a synced project (one whose artifacts
28
+ travel on a Git ref, as described above), pulls the latest artifacts. See [oat-project-progress](#oat-project-progress).
29
+ Progress first checks for the repository knowledge index, the codebase
30
+ summary that `/oat-repo-knowledge-index` writes under
31
+ `.oat/repo/knowledge/`. If that folder has no Markdown file, progress tells
32
+ you to run `/oat-repo-knowledge-index` and stops without a project report,
33
+ whatever the project's mode; quick, lite and imported projects never
34
+ needed the index before, so this can be the first time you see it. Run
35
+ `/oat-repo-knowledge-index` once and then run progress again, or skip to
36
+ step 3: `/oat-project-next` itself does not check for the index (spec-driven
37
+ discovery, which it may start, does). If the index
38
+ exists but is more than 7 days old or more than 20 files have changed
39
+ since it was built, progress only warns and continues.
40
+ 3. **Continue.** `/oat-project-next` starts the next lifecycle skill without
41
+ asking you first, and that skill can commit, push your branch or open a
42
+ pull request. See [oat-project-next](#oat-project-next).
43
+
44
+ ## Discover and adopt
45
+
46
+ From any checkout with access to `origin`:
47
+
48
+ ```bash
49
+ oat project list --remote
50
+ oat project pull <project>
51
+ ```
52
+
53
+ `list --remote` discovers `refs/oat/projects/*` directly. `pull` can adopt a
54
+ remote project that has no local record yet: it writes the record and creates
55
+ the nested checkout. When the selected project is a coordination parent, pull
56
+ also discovers and pulls its child projects by default. Pass `--no-children`
57
+ only when you intentionally want the selected project alone.
58
+
59
+ Completed projects are not adoption candidates. Their authoritative ref is
60
+ `refs/oat/completed/<project>`; both `pull` and `open` return a terminal
61
+ diagnosis instead of recreating an archived checkout or record. A same-SHA
62
+ active ref may remain as an inert alias and is ignored. Differing active and
63
+ completed SHAs require repair before lifecycle work continues. The same guard
64
+ applies to coordination children: a terminal child discovered while pulling
65
+ its parent is reported and skipped rather than adopted.
66
+
67
+ After adoption, set or open the project through the normal lifecycle command
68
+ you are using. Arrival-aware project skills pull before reading its artifacts.
69
+
70
+ An adopted quick-workflow project whose `plan.md` is not implementation-ready
71
+ resumes through `oat-project-quick-start`, which continues it in place without
72
+ re-scaffolding, rather than through `oat-project-implement`. `oat-project-plan`,
73
+ `oat-project-progress`, and `oat-project-next` all route by the single **quick
74
+ plan readiness** predicate that `oat-project-quick-start` defines; readiness is
75
+ never inferred from the presence of tasks alone.
76
+
77
+ `oat project status` and `oat project list` apply the same predicate. For a
78
+ quick project at the `plan` phase they recommend `oat-project-quick-start`, with
79
+ the unmet clause in the reason, until the plan carries ready frontmatter, a
80
+ durable `## Reviews` disposition, and a substantive task; only then do they
81
+ recommend `oat-project-implement`. Recommendations for lite, spec-driven, and
82
+ import projects are unchanged, because the predicate is quick-workflow policy.
83
+
84
+ ## What travels
85
+
86
+ - The project ref carries the complete active artifact tree and its history.
87
+ - The tracked JSON record travels once the branch containing it is shared or
88
+ merged.
89
+ - Coordination relationships travel in the artifacts and records pulled with
90
+ the project.
91
+
92
+ ## What does not travel automatically
93
+
94
+ - `local` projects never leave their original machine.
95
+ - GitHub forks copy branches and tags, but not the `refs/oat/*` namespace. A
96
+ fork collaborator needs access to the upstream remote or an explicit ref
97
+ transfer.
98
+ - A normal `git clone` fetches branches and tags, not custom OAT refs. OAT
99
+ handles remote discovery with `ls-remote` and explicitly fetches the selected
100
+ project ref during sync operations such as `pull`; do not expect a generic
101
+ clone or `git fetch` to materialize the checkout.
102
+
103
+ ## Why completed refs remain durable
104
+
105
+ `refs/oat/completed/<project>` is a real Git ref locally and on `origin`. The
106
+ objects reachable from it remain garbage-collection roots even when no nested
107
+ checkout exists. Branch pruning, remote-tracking-ref pruning, and
108
+ `git worktree prune` do not delete the completed ref. Completion deliberately
109
+ retains this terminal reachability root so pinned PR links remain valid.
110
+
111
+ Only the explicit destructive operation `oat project prune` removes the
112
+ completed ref and any matching active alias. Treat that as permanent Git
113
+ project-history reachability deletion and review its warnings before using
114
+ `--force`. Prune does not remove durable local or S3 archive snapshots, and it
115
+ refuses to delete either ref when their SHAs differ.
116
+
117
+ ## Archive contents
118
+
119
+ When archive is selected, completion copies a synced project into
120
+ `.oat/projects/archived/<project>/` without the nested checkout's `.git`
121
+ pointer or `reviews/`. S3 snapshots also omit `pr/`, following the existing
122
+ archive policy. When archive is disabled or declined, the active synced
123
+ checkout remains in place. Successful archived closeout instead uploads the S3
124
+ snapshot first when configured, makes the completed ref authoritative, removes
125
+ the checkout, and deletes the tracked JSON record. The local archive metadata
126
+ retains the source-ref identity needed for recordless retries and later S3
127
+ restore without recreating active state.
128
+
129
+ If closeout is interrupted after terminal archive identity exists, rerun
130
+ completion so it can resume from the completed ref and archive metadata. Do not
131
+ use `pull` or `open` to recreate an active record or checkout.
132
+
133
+ For a `shared` project, archive moves the project into
134
+ `.oat/projects/archived/<project>/` and removes the source directory, while
135
+ completion keeps the `activeProject` pointer until the receipt validates.
136
+ Rerunning completion after an interruption between the archive and that clear
137
+ recognizes exactly this state — the pointer names a source directory that no
138
+ longer exists and the archive carries `oat_lifecycle: complete` plus the
139
+ `Lifecycle complete; archived locally` phase marker — so it validates the
140
+ discovered archive and clears the pointer without archiving a second time or
141
+ sealing the project log again. An interruption before the archive leaves the
142
+ source directory in place, so completion simply reruns from the start and skips
143
+ the work it already finished.
144
+
145
+ If the archive cannot be discovered — the source directory is gone and either
146
+ no archived project or several match the name — completion stops and leaves the
147
+ pointer untouched. Recover manually: locate the archive directory under
148
+ `.oat/projects/archived/`, confirm `oat_lifecycle: complete` in its `state.md`,
149
+ then clear the pointer with `oat config set activeProject ""`.
150
+
151
+ ## Related
152
+
153
+ - [Reviewing OAT PRs](../reviews/reviewing-oat-prs.md)
154
+ - [Project Artifacts](../../../reference/project-artifacts.md)
155
+ - [Implementation Execution](implementation-execution.md#synced-projects-in-worktrees)
156
+
157
+ ## Choosing a Resume Skill
158
+
159
+ Project selection, status inspection and lifecycle execution are different
160
+ actions. Use open to choose the project, progress to inspect it, and next when
161
+ you want the agent to invoke the next lifecycle skill. Clearing the active
162
+ project pauses the current context; it does not delete or complete the project.
163
+
164
+ The examples below are agent skill invocations, not terminal `oat`
165
+ subcommands. Use your host's supported skill-invocation syntax.
166
+
167
+ **Terms used in this section:**
168
+
169
+ - **Active project:** the project OAT works on in this checkout when you do
170
+ not name one. Its path is stored as `activeProject` in
171
+ `.oat/config.local.json`, a local file that is not committed.
172
+ - **Synced project:** a project whose artifacts travel on their own Git ref on
173
+ `origin`, as described at the top of this page. OAT saves its tracking
174
+ changes by pushing that ref.
175
+ - **HiLL checkpoint** (human-in-the-loop): a lifecycle point or plan phase
176
+ where the workflow stops and waits for your approval. See
177
+ [HiLL Checkpoints](../planning/hill-checkpoints.md).
178
+ - **Review artifact:** the Markdown file a project review writes into the
179
+ project's `reviews/` directory. It counts as unprocessed until project
180
+ review-receive has recorded what to do about its findings.
181
+ - **Gate:** a configured check, usually an independent review, that must pass
182
+ before the workflow continues. The _implementation exit gate_ runs after the
183
+ final code review. See [Workflow gates](../../advanced/workflow-gates.md).
184
+
185
+ ## oat-project-open
186
+
187
+ Choose an existing project before continuing its lifecycle. This is useful
188
+ both when returning to a paused project and when switching from one project to
189
+ another. It activates the selected project; it does not start implementation.
190
+
191
+ **Needs an active OAT project:** no. Open is how you set one.
192
+
193
+ **Invocation:**
194
+
195
+ ```text
196
+ /oat-project-open checkout-hardening
197
+ ```
198
+
199
+ With no project name, the skill asks which project to open. It runs
200
+ `oat project open` rather than editing the active pointer by hand.
201
+
202
+ **Prerequisites:** No previously active project is required. The CLI checks
203
+ that the selected project resolves and that its `state.md` exists; it checks
204
+ the state content only when it resumes a paused project. For a synced project,
205
+ remote access may be needed. A completed synced project is refused with a
206
+ terminal diagnosis, and an archived project is not found. For shared and local
207
+ projects, open does not check lifecycle state, so do not open a project that
208
+ is already complete.
209
+
210
+ **What it does without asking:** It sets `activeProject` in
211
+ `.oat/config.local.json` and refreshes the generated `.oat/state.md`
212
+ dashboard. If the project is paused, it rewrites the project's `state.md` to
213
+ active and removes the pause fields; for a shared or local project that edit
214
+ is left uncommitted. For a synced project, open may fetch the project ref,
215
+ commit an adoption record (`chore(oat): adopt synced project <name>`) on your
216
+ current branch when this checkout has no record yet, and push a resume commit
217
+ to `origin` if the project was paused. If that push fails, the active pointer
218
+ is left unchanged.
219
+
220
+ **Example scenario:** You paused checkout-hardening yesterday to investigate
221
+ an unrelated issue. Today, open checkout-hardening by name. The CLI checks
222
+ that the project and its `state.md` exist, resumes it because it was paused and
223
+ makes it active in this checkout without re-scaffolding the plan or marking any
224
+ task finished.
225
+
226
+ **Expected output:** Confirmation of the active project and a refreshed state
227
+ dashboard. A paused project's pause metadata is cleared when it is resumed.
228
+ If the CLI reports an error, address the diagnosis instead of manually pointing
229
+ at an invalid or completed project.
230
+
231
+ **Next step:** Use progress if you want to inspect the current state before
232
+ acting, or next if you want to continue. Opening does not prove that a plan is
233
+ implementation-ready or that earlier review feedback has been processed.
234
+
235
+ ## oat-project-next
236
+
237
+ Invoke the next appropriate lifecycle skill using current project state. This
238
+ is the action-oriented counterpart to progress, not merely another status
239
+ report.
240
+
241
+ **Needs an active OAT project:** yes, in practice. With no valid active
242
+ pointer, the router lists projects across supported scopes, hands off to open
243
+ so you can select one, then stops; invoke next again after selection. With no
244
+ projects at all, it reports that condition and suggests a project-creation
245
+ workflow instead of inventing a resume target.
246
+
247
+ **Invocation:**
248
+
249
+ ```text
250
+ /oat-project-next
251
+ ```
252
+
253
+ **Prerequisites:** An existing project must be available.
254
+
255
+ **What it does without asking:** Next invokes the skill it selects
256
+ immediately, without asking you to confirm, and reported blockers do not stop
257
+ it. Depending on state, it can start `oat-project-implement` (which dispatches
258
+ subagents and commits), run `oat-project-pr-final` (which pushes your branch
259
+ and opens a GitHub pull request with `gh pr create`; a lite project goes there
260
+ directly after a passed final review), or run `oat-project-complete`. For a
261
+ synced project, it first runs `oat project pull`, which updates the project's
262
+ checkout. The router itself does not edit project artifacts. Use progress when
263
+ you want to approve the route first.
264
+
265
+ **Example scenario:** Checkout-hardening is mid-implementation: phase p02 just
266
+ finished, and the review artifact from a p02 project review is still waiting
267
+ in the project's `reviews/` directory. You invoke next expecting it to continue
268
+ with p03. The router sees the unprocessed review and invokes project
269
+ review-receive first rather than advancing past the feedback. When that
270
+ workflow finishes, invoke next again to continue from the updated state.
271
+
272
+ **Expected output:** The selected project, current phase, target skill and
273
+ routing reason, followed by invocation of that skill. Pending HiLL
274
+ checkpoints, quick-plan readiness and unprocessed reviews affect the route.
275
+ Once implementation is marked complete, the router checks in this order: an
276
+ unresolved or stale implementation exit gate, an unfinished closeout sequence,
277
+ or pending revision tasks all route back to `oat-project-implement`; only then
278
+ does it look for unprocessed reviews, a final code review that has not passed,
279
+ a missing summary, a missing PR and finally project completion.
280
+
281
+ **Next step:** Follow the invoked workflow. If you only wanted a
282
+ recommendation, use progress instead. Blockers shown in the routing
283
+ announcement are warnings only; the router invokes the selected skill anyway.
284
+
285
+ ## oat-project-progress
286
+
287
+ Inspect repository knowledge and project status before deciding what to do.
288
+ Unlike next, progress offers the recommended route rather than automatically
289
+ starting it.
290
+
291
+ **Needs an active OAT project:** no. Progress can report that none is active
292
+ and list the available projects.
293
+
294
+ **Invocation:**
295
+
296
+ ```text
297
+ /oat-project-progress
298
+ ```
299
+
300
+ You can also explicitly ask the agent to “check project progress.” Finishing
301
+ another workflow step does not automatically authorize this check.
302
+
303
+ **Prerequisites:** An active project is optional. The skill can report that
304
+ none is active and inspect available projects. It checks the repository
305
+ knowledge base first; if `.oat/repo/knowledge/` holds no Markdown file, it asks
306
+ you to run `/oat-repo-knowledge-index` and stops before the later project
307
+ report, in every project mode. A stale knowledge base only produces a warning. Synced-project arrival may
308
+ pull current artifacts, and the skill refreshes the generated dashboard; a
309
+ diagnostic invocation is not a guarantee of zero filesystem or network activity.
310
+
311
+ **What it does without asking:** For a synced active project it runs
312
+ `oat project pull`, and it regenerates the `.oat/state.md` dashboard. It does
313
+ not commit, push or invoke another skill; it offers the recommended skill and
314
+ waits for you.
315
+
316
+ **Example scenario:** You return after several days away and do not remember
317
+ whether checkout-hardening needs more implementation or a review. Progress
318
+ checks knowledge freshness and, when that prerequisite is available, reports
319
+ the project mode, phase, blockers, checkpoints and next recommended skill. If
320
+ manual commits appear ahead of the task ledger, it can suggest reconciliation
321
+ instead of presenting the ledger as unquestionable evidence.
322
+
323
+ **Expected output:** A knowledge-base status report and, when the check can
324
+ continue, project summaries with the active project highlighted. Configured
325
+ project gate overrides are reported explicitly. Recommendations do not pass
326
+ the gates or approve the next action for you.
327
+
328
+ **Next step:** Choose whether to run the recommendation. For manually committed
329
+ work missing from tracking, use
330
+ [reconciliation](execution-skills.md#oat-project-reconcile). When you are ready
331
+ for automatic lifecycle routing, invoke next. Progress and next can differ
332
+ because next also inspects execution boundaries and outstanding review events.
333
+
334
+ ## oat-project-clear-active
335
+
336
+ Pause the current project and leave the checkout without an active OAT project.
337
+ This is a context switch, not an archive, deletion or completion action.
338
+
339
+ **Needs an active OAT project:** no. With nothing active, the skill says so
340
+ and exits successfully.
341
+
342
+ **Invocation:**
343
+
344
+ ```text
345
+ /oat-project-clear-active
346
+ ```
347
+
348
+ **Prerequisites:** An active project is optional. With an active pointer, the
349
+ skill delegates to `oat project pause`, which must be able to read the project
350
+ state. A pointer to a project directory that no longer exists fails with
351
+ “Project not found”, and the pointer is kept. With no pointer, the skill
352
+ reports that no project is active and exits successfully without trying to
353
+ pause a nonexistent target.
354
+
355
+ **What it does without asking:** `oat project pause` writes
356
+ `oat_lifecycle: paused` and a pause timestamp into the project's `state.md`,
357
+ then clears the active pointer. In a shared or local project that `state.md`
358
+ change is left uncommitted: commit it yourself, or it shows up as uncommitted
359
+ project bookkeeping. A synced project commits the pause and pushes it to
360
+ `origin`.
361
+
362
+ **Example scenario:** Checkout-hardening is still unfinished, but you want to
363
+ work on an untracked investigation without accidentally routing its changes
364
+ into that project. Clear the active project: OAT pauses checkout-hardening and
365
+ clears the pointer. Running the skill again with nothing active is a safe no-op,
366
+ not an error or a request to create a replacement project.
367
+
368
+ **Expected output:** Confirmation that the active project was cleared through
369
+ pause, or the no-active-project message. The project's artifacts and
370
+ implementation history remain available for later resumption. For synced
371
+ projects, pause publication can fail; a reported publication failure is not a
372
+ successful context switch, and the active pointer is retained for recovery.
373
+
374
+ **Next step:** Open a named project when you want to resume tracked work. Do
375
+ not use clear-active to stop a running agent or revoke work already in flight;
376
+ pausing project state is different from interrupting an execution process.
@@ -86,7 +86,7 @@ Two optional flags let an interrupted append be replayed safely:
86
86
 
87
87
  Together they are the recovery entry point for a gate whose project-log
88
88
  finalization could not commit. See
89
- [Workflow Gates](./workflow-gates.md#project-log-finalization) for the receipt
89
+ [Workflow Gates](../../advanced/workflow-gates.md#project-log-finalization) for the receipt
90
90
  and the exact recovery command.
91
91
 
92
92
  The helper produces these heading grammars in UTC:
@@ -1,36 +1,25 @@
1
1
  ---
2
- title: Workflow & Projects
2
+ title: Projects
3
3
  description: 'Lifecycle, project artifacts, reviews, PR flow, and repository analysis for tracked OAT projects.'
4
4
  ---
5
5
 
6
- # Workflow & Projects
6
+ # Projects
7
7
 
8
8
  Use this section when you want the detailed lifecycle and artifact model behind tracked OAT projects.
9
9
 
10
10
  Projects are where the workflow layer becomes concrete: lifecycle phases, `state.md`, `plan.md`, review gates, PR flow, and repository-analysis helpers all live here.
11
11
 
12
+ ## Reference Contracts
13
+
14
+ Read [Project Artifacts](../../reference/project-artifacts.md) for project file contracts and [State Machine](../../reference/project-state-machine.md) for lifecycle and review-state transitions.
15
+
12
16
  ## Contents
13
17
 
14
18
  - [Lifecycle](lifecycle.md) - End-to-end flow from discovery through completion.
15
- - [Project Retrospectives](retro.md) - Generate evidence-grounded retros, apply repo improvements, and file tracker feedback.
16
- - [Autonomous Project Execution](autonomy.md) - Session-scoped autonomy signals, gate boundaries, review requirements, and execution learnings.
17
- - [OAT in Cursor Cloud](cursor-cloud.md) - Project-home, provisioning, asset-precedence, and execution-surface guidance for cloud agents.
18
- - [Design Modes](design-modes.md) - How full design balances collaborative, selective collaborative, and draft-and-review interaction.
19
- - [HiLL Checkpoints](hill-checkpoints.md) - Human-in-the-Loop Lifecycle configuration and approval behavior.
20
- - [Dispatch Policy](dispatch-ceiling.md) - Managed capped tiers, managed Uncapped, Inherit Host Defaults, and provider-specific enforcement.
21
- - [Orchestration Model](orchestration-model.md) - The layered dispatch model: roles, selection flow, and per-harness topology.
22
- - [Review Flavors](review-flavors.md) - The four review flavors and who resolves each one's target.
23
- - [Evidence Layers](evidence-layers.md) - The three-layer dispatch evidence model behind records and smoke verification.
24
- - [Programmatic Execution](programmatic-execution.md) - Per-harness headless/CLI execution surfaces and where OAT uses them.
25
- - [Project Artifacts](artifacts.md) - What lives in `state.md`, `discovery.md`, `plan.md`, `implementation.md`, and related files.
26
- - [Implementation Execution](implementation-execution.md) - Phase dispatch, runtime selection, review/fix loop, and dry-run behavior.
27
- - [Reviewing OAT PRs](reviewing-oat-prs.md) - Read synced-project records and SHA-pinned reviewer links in a PR.
28
- - [Picking Up Projects](picking-up-projects.md) - Continue a synced project on another machine or from another user.
29
- - [Project Splitting](splitting.md) - How broad discoveries or brainstorms become coordination parents and child projects.
30
- - [State Machine](state-machine.md) - Lifecycle and review status transitions across a project.
31
- - [Reviews](reviews.md) - How review request/receive loops work inside OAT projects.
32
- - [PR Flow](pr-flow.md) - Progress and final PR generation expectations.
33
- - [Repository PR Comment Analysis](repo-analysis.md) - Repo-wide PR comment collection and triage workflows.
19
+ - [Reviews](reviews/index.md) - How review request/receive loops work inside OAT projects.
20
+ - [Planning](planning/index.md) - Design modes, HiLL checkpoints and project splitting.
21
+ - [Execution](execution/index.md) - Implementation execution, project logs and picking up shared projects.
22
+ - [Closeout](closeout/index.md) - Retrospectives and PR flow.
34
23
 
35
24
  ## What This Section Is
36
25
 
@@ -39,39 +28,39 @@ This sub-section is the deep technical surface for how tracked OAT projects exec
39
28
  ## Start Here
40
29
 
41
30
  - Start with [Lifecycle](lifecycle.md) for the end-to-end flow.
42
- - Use [Autonomous Project Execution](autonomy.md) for unattended lifecycle runs and defined boundary behavior.
43
- - Read [OAT in Cursor Cloud](cursor-cloud.md) before running OAT in a cloud workspace.
44
- - Read [Artifacts](artifacts.md) once you need the file contract behind project execution.
45
- - Use [Project Splitting](splitting.md) when one discovery or brainstorm should become coordinated child projects.
46
- - Use [HiLL Checkpoints](hill-checkpoints.md) when you want to understand pause/approval behavior.
31
+ - Use [Autonomous Project Execution](../advanced/autonomy.md) for unattended lifecycle runs and defined boundary behavior.
32
+ - Read [OAT in Cursor Cloud](../advanced/cursor-cloud.md) before running OAT in a cloud workspace.
33
+ - Read [Artifacts](../../reference/project-artifacts.md) once you need the file contract behind project execution.
34
+ - Use [Project Splitting](planning/splitting.md) when one discovery or brainstorm should become coordinated child projects.
35
+ - Use [HiLL Checkpoints](planning/hill-checkpoints.md) when you want to understand pause/approval behavior.
47
36
 
48
37
  ## Common Tasks
49
38
 
50
39
  - Understand lifecycle order and alternate lanes in [Lifecycle](lifecycle.md).
51
- - Learn the artifact system of record in [Artifacts](artifacts.md).
52
- - Split broad scopes into coordination parents and focused children in [Project Splitting](splitting.md).
53
- - Understand lifecycle and review transitions in [State Machine](state-machine.md).
54
- - Learn review and PR expectations in [Reviews](reviews.md) and [PR Flow](pr-flow.md).
55
- - Review a synced project's durable context in [Reviewing OAT PRs](reviewing-oat-prs.md).
56
- - Continue remote project work with [Picking Up Projects](picking-up-projects.md).
40
+ - Learn the artifact system of record in [Artifacts](../../reference/project-artifacts.md).
41
+ - Split broad scopes into coordination parents and focused children in [Project Splitting](planning/splitting.md).
42
+ - Understand lifecycle and review transitions in [State Machine](../../reference/project-state-machine.md).
43
+ - Learn review and PR expectations in [Reviews](reviews/index.md) and [PR Flow](closeout/pr-flow.md).
44
+ - Review a synced project's durable context in [Reviewing OAT PRs](reviews/reviewing-oat-prs.md).
45
+ - Continue remote project work with [Picking Up Projects](execution/picking-up-projects.md).
57
46
 
58
47
  ## Go Deeper
59
48
 
60
49
  - [Lifecycle](lifecycle.md) - End-to-end flow from discovery through completion.
61
- - [Autonomous Project Execution](autonomy.md) - Session activation, gate outcomes, independent review, HiLL closeout, and learnings synthesis.
62
- - [OAT in Cursor Cloud](cursor-cloud.md) - Repository anchoring, environment readiness, user-scope assets, and Cursor execution surfaces.
63
- - [Design Modes](design-modes.md) - How full design balances collaborative, selective collaborative, and draft-and-review interaction.
64
- - [HiLL Checkpoints](hill-checkpoints.md) - Human-in-the-Loop Lifecycle configuration and approval behavior.
65
- - [Dispatch Policy](dispatch-ceiling.md) - Managed capped tiers, managed Uncapped, Inherit Host Defaults, legacy dispatch-ceiling compatibility, and provider-specific enforcement.
66
- - [Orchestration Model](orchestration-model.md) - The layered dispatch model: roles, selection flow, and per-harness topology.
67
- - [Review Flavors](review-flavors.md) - The four review flavors and who resolves each one's target.
68
- - [Evidence Layers](evidence-layers.md) - The three-layer dispatch evidence model behind records and smoke verification.
69
- - [Programmatic Execution](programmatic-execution.md) - Per-harness headless/CLI execution surfaces and where OAT uses them.
70
- - [Artifacts](artifacts.md) - What lives in `state.md`, `discovery.md`, `plan.md`, `implementation.md`, and related files.
71
- - [Project Splitting](splitting.md) - How broad discoveries or brainstorms become coordination parents and child projects.
72
- - [State Machine](state-machine.md) - Lifecycle and review status transitions across a project.
73
- - [Reviews](reviews.md) - How review request/receive loops work inside OAT projects.
74
- - [PR Flow](pr-flow.md) - Progress and final PR generation expectations.
75
- - [Reviewing OAT PRs](reviewing-oat-prs.md) - Record metadata, pinned links, and editor discovery for synced projects.
76
- - [Picking Up Projects](picking-up-projects.md) - Remote discovery, adopting pull, coordination children, and retention boundaries.
77
- - [Repository PR Comment Analysis](repo-analysis.md) - Repo-wide PR comment collection and triage workflows.
50
+ - [Autonomous Project Execution](../advanced/autonomy.md) - Session activation, gate outcomes, independent review, HiLL closeout, and learnings synthesis.
51
+ - [OAT in Cursor Cloud](../advanced/cursor-cloud.md) - Repository anchoring, environment readiness, user-scope assets, and Cursor execution surfaces.
52
+ - [Design Modes](planning/design-modes.md) - How full design balances collaborative, selective collaborative, and draft-and-review interaction.
53
+ - [HiLL Checkpoints](planning/hill-checkpoints.md) - Human-in-the-Loop Lifecycle configuration and approval behavior.
54
+ - [Dispatch Policy](../advanced/dispatch-ceiling.md) - Managed capped tiers, managed Uncapped, Inherit Host Defaults, legacy dispatch-ceiling compatibility, and provider-specific enforcement.
55
+ - [Orchestration Model](../advanced/orchestration-model.md) - The layered dispatch model: roles, selection flow, and per-harness topology.
56
+ - [Review Flavors](reviews/review-flavors.md) - The four review flavors and who resolves each one's target.
57
+ - [Evidence Layers](../advanced/evidence-layers.md) - The three-layer dispatch evidence model behind records and smoke verification.
58
+ - [Programmatic Execution](../advanced/programmatic-execution.md) - Per-harness headless/CLI execution surfaces and where OAT uses them.
59
+ - [Artifacts](../../reference/project-artifacts.md) - What lives in `state.md`, `discovery.md`, `plan.md`, `implementation.md`, and related files.
60
+ - [Project Splitting](planning/splitting.md) - How broad discoveries or brainstorms become coordination parents and child projects.
61
+ - [State Machine](../../reference/project-state-machine.md) - Lifecycle and review status transitions across a project.
62
+ - [Reviews](reviews/index.md) - How review request/receive loops work inside OAT projects.
63
+ - [PR Flow](closeout/pr-flow.md) - Progress and final PR generation expectations.
64
+ - [Reviewing OAT PRs](reviews/reviewing-oat-prs.md) - Record metadata, pinned links, and editor discovery for synced projects.
65
+ - [Picking Up Projects](execution/picking-up-projects.md) - Remote discovery, adopting pull, coordination children, and retention boundaries.
66
+ - [Repository PR Comment Analysis](../../reference/repository-pr-comments.md) - Repo-wide PR comment collection and triage workflows.
@@ -23,7 +23,9 @@ OAT lifecycle order:
23
23
 
24
24
  **Shortcut:** `oat-project-next` reads project state and invokes the correct next skill automatically — use it instead of remembering which skill comes next. Complements `oat-project-progress` (which is read-only diagnostic).
25
25
 
26
- Full spec-driven design supports three interaction modes: collaborative, selective collaborative, and draft-and-review. Selective collaborative drafts routine sections silently and presents high-risk or uncertain sections for live review. Quick-start lightweight design stays simpler and offers only collaborative or draft-and-review. See [Design Modes](design-modes.md) for details.
26
+ Full spec-driven design supports three interaction modes: collaborative, selective collaborative, and draft-and-review. Selective collaborative drafts routine sections silently and presents high-risk or uncertain sections for live review. Quick-start lightweight design stays simpler and offers only collaborative or draft-and-review. See [Design Modes](planning/design-modes.md) for details.
27
+
28
+ For a one-page view of where people approve and what runs automatically in each mode, see [Approvals and Automation](../approvals-and-automation.md).
27
29
 
28
30
  ## Quick Look
29
31
 
@@ -126,7 +128,7 @@ On completion, OAT treats archive handling as an explicit closeout choice:
126
128
  pointer immediately, as does any completion that declines archive. An archive
127
129
  failure therefore leaves the pointer intact and the completion directly
128
130
  resumable. See
129
- [Picking Up a Project](picking-up-projects.md#archive-contents) for the
131
+ [Picking Up a Project](execution/picking-up-projects.md#archive-contents) for the
130
132
  post-archive resume and its manual recovery path.
131
133
  - When archiving is disabled or declined, durable projects remain at their
132
134
  active path. Synced completion still finalizes and pushes the project ref,
@@ -144,7 +146,7 @@ On completion, OAT treats archive handling as an explicit closeout choice:
144
146
  valid terminal shapes. The active alias is inert: list omits it and pull/open
145
147
  reject it. Differing SHAs are a hard mismatch with recovery guidance.
146
148
  - If `.oat/config.json` enables `archive.s3SyncOnComplete` and sets `archive.s3Uri`, completion requires the S3 upload of a dated snapshot such as `<archive.s3Uri>/<repo-slug>/projects/20260401-<project>/` to succeed before terminal record/ref cleanup. A failed configured upload leaves retry identity intact and does not claim closeout.
147
- - If `.oat/config.json` sets `archive.awsProfile` and/or `archive.awsRegion`, those values are forwarded to every `aws` invocation triggered by completion (preflight checks + `aws s3 sync`) and override any ambient shell `AWS_PROFILE` / `AWS_DEFAULT_PROFILE` / `AWS_REGION` / `AWS_DEFAULT_REGION` values. The repo's archive-scoped credentials are treated as deliberate intent so users don't have to unset shell env vars before running completion. See [`config-and-local-state.md`](../../cli-utilities/config-and-local-state.md) for the full precedence chain.
149
+ - If `.oat/config.json` sets `archive.awsProfile` and/or `archive.awsRegion`, those values are forwarded to every `aws` invocation triggered by completion (preflight checks + `aws s3 sync`) and override any ambient shell `AWS_PROFILE` / `AWS_DEFAULT_PROFILE` / `AWS_REGION` / `AWS_DEFAULT_REGION` values. The repo's archive-scoped credentials are treated as deliberate intent so users don't have to unset shell env vars before running completion. See [`config-and-local-state.md`](../../reference/config-and-local-state.md) for the full precedence chain.
148
150
  - If `.oat/config.json` sets `archive.summaryExportPath`, completion copies `summary.md` to `<archive.summaryExportPath>/20260401-<project>.md`.
149
151
  - Missing or unusable AWS CLI configuration blocks synced terminal cleanup when S3 durability is configured; when S3 sync is not configured, it is not part of the durability requirement.
150
152
  - `oat repo archive sync` can later sync all archived projects, or one named archived project, back down from S3; it selects the latest dated remote snapshot and materializes it into the local bare archive tree.
@@ -225,6 +227,8 @@ This distinction matters during completion: `oat-project-complete` can skip the
225
227
 
226
228
  ### Auto-review at HiLL checkpoints
227
229
 
230
+ When `workflow.autoReviewAtHillCheckpoints` is enabled or `plan.md` frontmatter sets `oat_auto_review_at_hill_checkpoints`, completing a HiLL checkpoint automatically runs the extra lifecycle review scoped to every implementation phase not already covered by a passed whole-phase code review, through the just-completed checkpoint. Mid-implementation multi-phase reviews use inclusive phase-range scopes such as `p02-p03`; the final implementation checkpoint uses `code final`. The review uses auto-disposition mode (low findings auto-converted to fix tasks, no user prompts). The preference is unset by default; interactive implementation asks with "no" suggested, while autonomous non-lite implementation forces it on. Legacy `autoReviewAtCheckpoints` and `oat_auto_review_at_checkpoints` are still read as fallbacks. This does not control Tier 1 per-phase `oat-reviewer` gates.
231
+
228
232
  ### Approval-aware post-implementation sequencing
229
233
 
230
234
  `workflow.postImplementSequence` can use the legacy string values or a structured
@@ -264,8 +268,6 @@ registers. Non-interactive completion skips this offer, so autonomous
264
268
  generation occurs only through an explicitly configured post-approval `retro`
265
269
  step.
266
270
 
267
- When `workflow.autoReviewAtHillCheckpoints` is enabled or `plan.md` frontmatter sets `oat_auto_review_at_hill_checkpoints`, completing a HiLL checkpoint automatically runs the extra lifecycle review scoped to every implementation phase not already covered by a passed whole-phase code review, through the just-completed checkpoint. Mid-implementation multi-phase reviews use inclusive phase-range scopes such as `p02-p03`; the final implementation checkpoint uses `code final`. The review uses auto-disposition mode (low findings auto-converted to fix tasks, no user prompts). Disabled by default. Legacy `autoReviewAtCheckpoints` and `oat_auto_review_at_checkpoints` are still read as fallbacks. This does not control Tier 1 per-phase `oat-reviewer` gates.
268
-
269
271
  ### Phase-review setup during planning
270
272
 
271
273
  Spec-driven, quick, and import planning run one shared setup after stable phase
@@ -302,7 +304,7 @@ Within either tier, parallelism is expressed as plan metadata:
302
304
  - **Sequential (default):** plans with no `oat_plan_parallel_groups` field, or with an empty array. Phases run in plan order on the orchestration branch.
303
305
  - **Parallel groups:** phases listed together in `oat_plan_parallel_groups` run concurrently in worktrees (Tier 1 only) and merge back to the orchestration branch in plan order. Groups themselves execute sequentially.
304
306
 
305
- See [Implementation Execution](implementation-execution.md) for the full execution model — tier detection, bounded fix loop, fan-in, merge-conflict handling, dry-run, and resumption.
307
+ See [Implementation Execution](execution/implementation-execution.md) for the full execution model — tier detection, bounded fix loop, fan-in, merge-conflict handling, dry-run, and resumption.
306
308
 
307
309
  ## Review receive behavior
308
310
 
@@ -312,7 +314,7 @@ See [Implementation Execution](implementation-execution.md) for the full executi
312
314
 
313
315
  ## Alternate lifecycle lanes
314
316
 
315
- ### Quick lane diagram
317
+ ### Quick lane steps
316
318
 
317
319
  1. `oat-project-quick-start` (adaptive discovery — provide a project name and optional description; if only the name is provided, quick-start asks for the missing description before discovery. Well-understood requests synthesize quickly, exploratory requests invest in solution space exploration. Before scaffolding, the skill checks inherited git state and asks whether to commit, proceed, or abort when the worktree is already dirty.)
318
320
  2. Decision point: straight to plan, optional lightweight `design.md`, or promote to spec-driven
@@ -320,14 +322,14 @@ See [Implementation Execution](implementation-execution.md) for the full executi
320
322
  4. `oat-project-review-provide` / `oat-project-pr-final`
321
323
  5. Optional `oat-project-promote-spec-driven` to backfill spec-driven lifecycle artifacts in-place
322
324
 
323
- ### Lite lane diagram
325
+ ### Lite lane steps
324
326
 
325
327
  1. `oat-project-lite` runs one batched interview, authors a single-phase `plan.md` with validation criteria, and pauses once for approval
326
328
  2. Implement: `oat-project-implement` runs the single phase without HiLL checkpoint prompts
327
329
  3. Pass the mandatory final review, then route directly to `oat-project-pr-final`
328
330
  4. Optional `oat project promote <project-path> --to quick` when the work no longer fits one sitting
329
331
 
330
- ### Import lane diagram
332
+ ### Import lane steps
331
333
 
332
334
  1. `oat-project-import-plan` (checks inherited git state before import scaffolding so sync-generated or unrelated dirty files do not silently roll into project bookkeeping)
333
335
  2. Implement: `oat-project-implement` (sequential by default; parallel when `oat_plan_parallel_groups` is declared)
@@ -513,7 +515,7 @@ Capture lane progression:
513
515
 
514
516
  The lifecycle has several interactive prompts that power users often answer the same way every time — HiLL checkpoint behavior, archive on complete, auto-create PR, post-implementation chaining, final review execution model, and re-review scope narrowing. These can be configured once via `workflow.*` preference keys and respected automatically by skills.
515
517
 
516
- See the [Workflow preferences section in the Configuration guide](../../cli-utilities/configuration.md#workflow-preferences-workflow) for the full list of keys and how to set them. Preferences resolve through a three-layer chain (`env > repo-local > repo-shared > user > default`), so you can set personal defaults at user scope once and override per-repo only when needed.
518
+ See the [Workflow preferences section in the Configuration guide](../../reference/configuration.md#workflow-preferences-workflow) for the full list of keys and how to set them. Workflow preferences resolve through `repo-local > repo-shared > user > default`; there is no generic workflow environment layer. Individual skills may separately read environment controls such as `OAT_DESIGN_MODE`. Set personal defaults at user scope and override per-repo when needed.
517
519
 
518
520
  ## Active project resolution
519
521
 
@@ -538,7 +540,7 @@ separate checks, and both must hold before any PJM write:
538
540
  Pack presence is never treated as evidence of repository adoption. A skill that
539
541
  finds the capability available but the repository unadopted reports the
540
542
  actionable `oat pjm init` stop instead of scaffolding implicitly. See
541
- [Install vs. initialize](../../cli-utilities/tool-packs.md#install-vs-initialize).
543
+ [Install vs. initialize](../../getting-started/tool-packs.md#install-vs-initialize).
542
544
 
543
545
  ## Brainstorming integration with the project lifecycle
544
546
 
@@ -566,3 +568,37 @@ The fold-back path is what makes "we got to plan and realized the design missed
566
568
  - `.oat/projects/<scope>/<project>/design.md`
567
569
  - `.oat/projects/<scope>/<project>/plan.md`
568
570
  - `.oat/projects/<scope>/<project>/implementation.md`
571
+
572
+ ## Choosing lifecycle controls
573
+
574
+ OAT has four separate controls that are easy to confuse. Each one adds a
575
+ different kind of check:
576
+
577
+ - **Planning checkpoints** hold a spec-driven project after discovery and after
578
+ design until a person approves.
579
+ - **Implementation checkpoints** (HiLL checkpoints) pause implementation after
580
+ chosen phases until a person approves.
581
+ - **Artifact review loops** have the same agent session check a generated plan
582
+ or analysis and fix clear problems before handing it on.
583
+ - **Gates** send the work to a second agent CLI, preferably running a different
584
+ family of models, and turn its findings into a pass or a fail.
585
+
586
+ None of these replaces the code reviews that run after every implementation
587
+ phase and before closeout; those run whatever you choose here.
588
+
589
+ Decide in this order: first the
590
+ [workflow mode](../choose-workflow.md#which-mode-should-i-choose), then the
591
+ [design interaction mode](planning/design-modes.md#choosing-an-interaction-mode),
592
+ then the [checkpoint frequency](planning/hill-checkpoints.md#choosing-checkpoint-frequency).
593
+
594
+ - If your team needs to approve the architecture before any code is written,
595
+ choose a spec-driven project for its planning checkpoints, or add a gate to a
596
+ planning skill.
597
+ - If you want to steer implementation after risky phases, choose
598
+ implementation checkpoints for those phases.
599
+ - If a plan or analysis will be handed to another workflow, keep its artifact
600
+ review loop on.
601
+ - If a high-risk change needs a reviewer from a different model family, add a
602
+ [gate](../advanced/workflow-gates.md#choosing-gate-posture) and check which
603
+ reviewer it actually used. Adding more reviews makes a run slower; it does not
604
+ by itself make them independent.