@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.
- package/README.md +1 -1
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/contributing/index.md +14 -1
- package/assets/docs/contributing/skills.md +64 -2
- package/assets/docs/contributing/smoke-testing.md +3 -3
- package/assets/docs/contributing/updating-model-guidance.md +2 -2
- package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +112 -15
- package/assets/docs/docs-tooling/agent-instructions.md +131 -0
- package/assets/docs/docs-tooling/commands.md +74 -30
- package/assets/docs/docs-tooling/index.md +7 -6
- package/assets/docs/docs-tooling/meta.json +1 -1
- package/assets/docs/docs-tooling/workflows.md +357 -11
- package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
- package/assets/docs/{guide → getting-started}/concepts.md +28 -10
- package/assets/docs/getting-started/index.md +68 -0
- package/assets/docs/getting-started/meta.json +4 -0
- package/assets/docs/getting-started/quickstart.md +174 -0
- package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +146 -15
- package/assets/docs/index.md +47 -48
- package/assets/docs/meta.json +6 -7
- package/assets/docs/provider-sync/commands.md +26 -3
- package/assets/docs/provider-sync/config.md +60 -1
- package/assets/docs/provider-sync/index.md +31 -15
- package/assets/docs/provider-sync/instruction-sync.md +43 -5
- package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
- package/assets/docs/provider-sync/meta.json +1 -0
- package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
- package/assets/docs/provider-sync/scope-and-surface.md +37 -3
- package/assets/docs/reference/cli-reference.md +34 -34
- package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
- package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
- package/assets/docs/reference/docs-index-contract.md +19 -4
- package/assets/docs/reference/file-locations.md +7 -2
- package/assets/docs/reference/index.md +13 -1
- package/assets/docs/reference/meta.json +7 -1
- package/assets/docs/reference/oat-directory-structure.md +24 -22
- package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
- package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
- package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
- package/assets/docs/reference/troubleshooting.md +125 -10
- package/assets/docs/reference/what-oat-writes.md +410 -0
- package/assets/docs/skills/brainstorm.md +77 -0
- package/assets/docs/skills/diagnostics.md +56 -0
- package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
- package/assets/docs/skills/index.md +416 -0
- package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
- package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
- package/assets/docs/skills/repo-improve.md +254 -0
- package/assets/docs/skills/research.md +237 -0
- package/assets/docs/skills/session-closeout.md +61 -0
- package/assets/docs/workflows/advanced/autonomy.md +344 -0
- package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
- package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
- package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
- package/assets/docs/workflows/advanced/index.md +19 -0
- package/assets/docs/workflows/advanced/meta.json +13 -0
- package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
- package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
- package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
- package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
- package/assets/docs/workflows/approvals-and-automation.md +261 -0
- package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
- package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
- package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
- package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
- package/assets/docs/workflows/choose-workflow.md +114 -0
- package/assets/docs/workflows/ideas/index.md +3 -3
- package/assets/docs/workflows/ideas/lifecycle.md +218 -1
- package/assets/docs/workflows/index.md +11 -62
- package/assets/docs/workflows/meta.json +10 -2
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
- package/assets/docs/workflows/projects/closeout/index.md +14 -0
- package/assets/docs/workflows/projects/closeout/meta.json +4 -0
- package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
- package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
- package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
- package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
- package/assets/docs/workflows/projects/execution/index.md +15 -0
- package/assets/docs/workflows/projects/execution/meta.json +9 -0
- package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
- package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
- package/assets/docs/workflows/projects/index.md +38 -49
- package/assets/docs/workflows/projects/lifecycle.md +47 -11
- package/assets/docs/workflows/projects/meta.json +2 -23
- package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
- package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
- package/assets/docs/workflows/projects/planning/index.md +16 -0
- package/assets/docs/workflows/projects/planning/meta.json +10 -0
- package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
- package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
- package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
- package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
- package/assets/docs/workflows/projects/reviews/meta.json +4 -0
- package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
- package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
- package/assets/docs/workflows/waves/index.md +12 -0
- package/assets/docs/workflows/waves/meta.json +4 -0
- package/assets/docs/workflows/waves/wave-workflows.md +206 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-docs/SKILL.md +19 -19
- package/assets/skills/oat-docs-analyze/SKILL.md +27 -7
- package/assets/skills/oat-docs-analyze/references/quality-checklist.md +16 -3
- package/assets/skills/oat-docs-apply/SKILL.md +20 -3
- package/assets/skills/oat-docs-authoring/SKILL.md +11 -7
- package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +12 -5
- package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +7 -7
- package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +13 -3
- package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +5 -4
- package/assets/skills/oat-docs-authoring/references/validation.md +11 -1
- package/assets/skills/oat-docs-bootstrap/SKILL.md +31 -8
- package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +2 -1
- package/assets/skills/oat-doctor/SKILL.md +25 -25
- package/assets/skills/oat-project-document/SKILL.md +21 -2
- package/assets/templates/docs-markdown/contributing.md +35 -0
- package/assets/templates/docs-markdown/index.md +18 -0
- package/dist/commands/docs/index-generate/index.d.ts.map +1 -1
- package/dist/commands/docs/index-generate/index.js +41 -8
- package/dist/commands/docs/init/index.d.ts +17 -2
- package/dist/commands/docs/init/index.d.ts.map +1 -1
- package/dist/commands/docs/init/index.js +194 -14
- package/dist/commands/docs/init/markdown.d.ts +39 -0
- package/dist/commands/docs/init/markdown.d.ts.map +1 -0
- package/dist/commands/docs/init/markdown.js +317 -0
- package/dist/commands/docs/init/resolve-options.d.ts +3 -1
- package/dist/commands/docs/init/resolve-options.d.ts.map +1 -1
- package/dist/commands/docs/init/resolve-options.js +36 -0
- package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
- package/dist/commands/docs/init/scaffold.js +11 -0
- package/dist/commands/shared/agents-md.d.ts +7 -0
- package/dist/commands/shared/agents-md.d.ts.map +1 -1
- package/dist/commands/shared/agents-md.js +131 -91
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +1 -0
- package/dist/config/oat-config.d.ts +2 -1
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +4 -2
- package/package.json +2 -2
- package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
- package/assets/docs/cli-utilities/index.md +0 -74
- package/assets/docs/cli-utilities/meta.json +0 -13
- package/assets/docs/cli-utilities/remote-project-management.md +0 -191
- package/assets/docs/guide/index.md +0 -31
- package/assets/docs/guide/meta.json +0 -4
- package/assets/docs/quickstart.md +0 -88
- package/assets/docs/workflows/projects/autonomy.md +0 -196
- package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
- package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
- package/assets/docs/workflows/projects/review-flavors.md +0 -138
- package/assets/docs/workflows/skills/index.md +0 -184
- package/assets/docs/workflows/skills/repo-improve.md +0 -89
- 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](
|
|
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:
|
|
2
|
+
title: Projects
|
|
3
3
|
description: 'Lifecycle, project artifacts, reviews, PR flow, and repository analysis for tracked OAT projects.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
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
|
-
- [
|
|
16
|
-
- [
|
|
17
|
-
- [
|
|
18
|
-
- [
|
|
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](
|
|
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`](../../
|
|
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
|
|
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
|
|
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
|
|
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](../../
|
|
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](../../
|
|
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.
|