@open-agent-toolkit/cli 0.2.58 → 0.2.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/agents/oat-phase-implementer.md +27 -4
- package/assets/agents/oat-reviewer.md +25 -14
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/cli-utilities/configuration.md +16 -0
- package/assets/docs/cli-utilities/workflow-gates.md +91 -6
- package/assets/docs/contributing/skills.md +27 -5
- package/assets/docs/provider-sync/commands.md +23 -0
- package/assets/docs/reference/cli-reference.md +10 -3
- package/assets/docs/reference/oat-directory-structure.md +1 -0
- package/assets/docs/workflows/ideas/index.md +1 -1
- package/assets/docs/workflows/index.md +1 -0
- package/assets/docs/workflows/projects/artifacts.md +24 -3
- package/assets/docs/workflows/projects/autonomy.md +5 -2
- package/assets/docs/workflows/projects/dispatch-ceiling.md +43 -7
- package/assets/docs/workflows/projects/hill-checkpoints.md +21 -0
- package/assets/docs/workflows/projects/implementation-execution.md +10 -2
- package/assets/docs/workflows/projects/lifecycle.md +128 -10
- package/assets/docs/workflows/projects/pr-flow.md +2 -0
- package/assets/docs/workflows/projects/reviews.md +1 -1
- package/assets/docs/workflows/projects/state-machine.md +20 -0
- package/assets/docs/workflows/skills/index.md +2 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-brainstorm/SKILL.md +61 -12
- package/assets/skills/oat-docs/SKILL.md +13 -8
- package/assets/skills/oat-doctor/SKILL.md +3 -3
- package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
- package/assets/skills/oat-project-autonomous/SKILL.md +14 -9
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +59 -38
- package/assets/skills/oat-project-capture/SKILL.md +2 -2
- package/assets/skills/oat-project-design/SKILL.md +10 -5
- package/assets/skills/oat-project-discover/SKILL.md +15 -9
- package/assets/skills/oat-project-document/SKILL.md +11 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +59 -38
- package/assets/skills/oat-project-implement/SKILL.md +3 -3
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +149 -24
- package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +14 -8
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +59 -38
- package/assets/skills/oat-project-implement/references/phase-execution.md +16 -1
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +19 -1
- package/assets/skills/oat-project-import-plan/SKILL.md +75 -6
- package/assets/skills/oat-project-lite/SKILL.md +467 -0
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +331 -0
- package/assets/skills/oat-project-next/SKILL.md +54 -11
- package/assets/skills/oat-project-plan/SKILL.md +42 -5
- package/assets/skills/oat-project-plan-writing/SKILL.md +100 -3
- package/assets/skills/oat-project-pr-final/SKILL.md +33 -7
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +59 -38
- package/assets/skills/oat-project-pr-progress/SKILL.md +3 -3
- package/assets/skills/oat-project-progress/SKILL.md +27 -3
- package/assets/skills/oat-project-promote-spec-driven/SKILL.md +3 -1
- package/assets/skills/oat-project-quick-start/SKILL.md +29 -4
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +59 -38
- package/assets/skills/oat-project-review-provide/SKILL.md +37 -11
- package/assets/skills/oat-project-review-provide-remote/SKILL.md +12 -5
- package/assets/skills/oat-project-summary/SKILL.md +27 -3
- package/assets/templates/plan-lite.md +165 -0
- package/assets/templates/plan.md +1 -1
- package/assets/templates/state.md +5 -2
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +102 -8
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +16 -1
- package/dist/commands/project/dispatch-ceiling/index.d.ts.map +1 -1
- package/dist/commands/project/dispatch-ceiling/index.js +10 -1
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +2 -0
- package/dist/commands/project/new/index.d.ts +3 -2
- package/dist/commands/project/new/index.d.ts.map +1 -1
- package/dist/commands/project/new/index.js +2 -1
- package/dist/commands/project/new/scaffold.d.ts +5 -3
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +38 -10
- package/dist/commands/project/promote/index.d.ts +2 -0
- package/dist/commands/project/promote/index.d.ts.map +1 -0
- package/dist/commands/project/promote/index.js +1 -0
- package/dist/commands/project/promote/promote.d.ts +47 -0
- package/dist/commands/project/promote/promote.d.ts.map +1 -0
- package/dist/commands/project/promote/promote.js +322 -0
- package/dist/commands/project/split/run.d.ts.map +1 -1
- package/dist/commands/project/split/run.js +8 -1
- package/dist/commands/project/validate-plan/index.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/index.js +25 -1
- package/dist/commands/project/validate-plan/validate-plan.d.ts +8 -0
- package/dist/commands/project/validate-plan/validate-plan.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/validate-plan.js +49 -0
- package/dist/commands/remove/skill/remove-skill.d.ts.map +1 -1
- package/dist/commands/remove/skill/remove-skill.js +10 -1
- package/dist/commands/shared/frontmatter.d.ts +32 -1
- package/dist/commands/shared/frontmatter.d.ts.map +1 -1
- package/dist/commands/shared/frontmatter.js +93 -0
- package/dist/commands/state/generate.d.ts.map +1 -1
- package/dist/commands/state/generate.js +23 -0
- package/dist/commands/status/index.d.ts.map +1 -1
- package/dist/commands/status/index.js +8 -1
- package/dist/commands/sync/apply.d.ts.map +1 -1
- package/dist/commands/sync/apply.js +40 -6
- package/dist/commands/sync/index.d.ts.map +1 -1
- package/dist/commands/sync/index.js +11 -17
- package/dist/commands/sync/sync.types.d.ts +6 -6
- package/dist/commands/sync/sync.types.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +2 -0
- package/dist/config/resolve.d.ts +16 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +16 -8
- package/dist/engine/execute-plan.d.ts.map +1 -1
- package/dist/engine/execute-plan.js +6 -0
- package/dist/manifest/index.d.ts +2 -1
- package/dist/manifest/index.d.ts.map +1 -1
- package/dist/manifest/index.js +1 -1
- package/dist/manifest/manager.d.ts +40 -0
- package/dist/manifest/manager.d.ts.map +1 -1
- package/dist/manifest/manager.js +35 -0
- package/package.json +2 -2
|
@@ -38,6 +38,27 @@ Semantics:
|
|
|
38
38
|
- Empty list: checkpoint after every phase boundary, but only after implementation has confirmed the choice and written `oat_plan_hill_phases: []` into `plan.md`.
|
|
39
39
|
- Explicit list: checkpoint only after completing the named phases (`p01`, `p04`, etc).
|
|
40
40
|
|
|
41
|
+
### Lite checkpoint bypass
|
|
42
|
+
|
|
43
|
+
Lite projects have no HiLL checkpoints. `oat-project-implement` resolves
|
|
44
|
+
`oat_workflow_mode` from project state before any checkpoint field read, and
|
|
45
|
+
when the mode is `lite` it resolves checkpoint state as `none` without reading
|
|
46
|
+
or interpreting `oat_plan_hill_phases`. An empty list cannot represent lite's
|
|
47
|
+
policy, because for every other mode an empty list means "checkpoint after every
|
|
48
|
+
phase". `oat-project-implement`'s Lite checkpoint bypass writes:
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
oat_auto_review_at_hill_checkpoints: false # lite: no checkpoints
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The workflow preference prompt, the standard checkpoint prompt, and the
|
|
55
|
+
auto-review preference prompt are all skipped in both interactive and autonomous
|
|
56
|
+
runs. Only HiLL approval pauses are absent — the root-owned per-phase review and
|
|
57
|
+
the final review remain required.
|
|
58
|
+
|
|
59
|
+
The rest of this section applies to `spec-driven`, `quick`, and `import`
|
|
60
|
+
projects.
|
|
61
|
+
|
|
41
62
|
On the first implementation run, `oat-project-implement` must summarize every plan phase, state the total phase count and final phase ID, and then ask an explicit three-option checkpoint question:
|
|
42
63
|
|
|
43
64
|
- Stop after each phase
|
|
@@ -250,8 +250,11 @@ for another.
|
|
|
250
250
|
|
|
251
251
|
Resolution and policy outcomes are explicit:
|
|
252
252
|
|
|
253
|
-
- A
|
|
254
|
-
basis
|
|
253
|
+
- A `not_configured` resolution persists `allowed/no_gate` for the current
|
|
254
|
+
implementation basis; a null, missing, or unrecognized resolver result fails
|
|
255
|
+
closed as unresolved instead.
|
|
256
|
+
- A gate the project disabled persists `allowed/configured` with
|
|
257
|
+
`disposition: project_disabled` and never launches.
|
|
255
258
|
- A configured passing review persists `allowed/passed` after any eligible
|
|
256
259
|
review receive is durably completed.
|
|
257
260
|
- `warn` persists `allowed/warned`; `prompt` proceeds only after explicit
|
|
@@ -423,6 +426,11 @@ For a plan-declared parallel group, the root:
|
|
|
423
426
|
Containment, ownership, base, or fixture-readiness failure in smoke mode aborts
|
|
424
427
|
the run. It never authorizes replacement or sequential degradation.
|
|
425
428
|
|
|
429
|
+
Lite plans never take this path. A lite `plan.md` must contain exactly one phase
|
|
430
|
+
and declare no parallel groups, so lite implementation is always sequential;
|
|
431
|
+
`oat project validate-plan` enforces both rules. Work that needs more than one
|
|
432
|
+
phase should promote to quick rather than declare a parallel group.
|
|
433
|
+
|
|
426
434
|
## Synced projects in worktrees
|
|
427
435
|
|
|
428
436
|
A tracked `.oat/projects/synced/<project>.json` record lets every repository
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Lifecycle
|
|
3
|
-
description: 'End-to-end phase flow from discovery through completion: spec-driven, quick, and import paths.'
|
|
3
|
+
description: 'End-to-end phase flow from discovery through completion: spec-driven, quick, lite, and import paths.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Lifecycle
|
|
@@ -27,9 +27,9 @@ Full spec-driven design supports three interaction modes: collaborative, selecti
|
|
|
27
27
|
|
|
28
28
|
## Quick Look
|
|
29
29
|
|
|
30
|
-
- What it does: explains the end-to-end lifecycle for tracked OAT projects, including alternate quick and import lanes.
|
|
30
|
+
- What it does: explains the end-to-end lifecycle for tracked OAT projects, including alternate quick, lite, and import lanes.
|
|
31
31
|
- When to use it: when you need the actual project execution model, not just a high-level overview of workflow mode.
|
|
32
|
-
- Primary entry points: `oat-project-new`, `oat-project-quick-start`, `oat-project-import-plan`, `oat-project-implement`
|
|
32
|
+
- Primary entry points: `oat-project-new`, `oat-project-quick-start`, `oat-project-lite`, `oat-project-import-plan`, `oat-project-implement`
|
|
33
33
|
|
|
34
34
|
## Lifecycle Map
|
|
35
35
|
|
|
@@ -42,6 +42,10 @@ flowchart LR
|
|
|
42
42
|
DOC --> C["Complete"]
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
+
This map shows the spec-driven default. The quick, lite, import, and capture
|
|
46
|
+
lanes each skip part of it — see [Lane diagrams](#lane-diagrams) below. Lite in
|
|
47
|
+
particular has no discovery, spec, or design step at all.
|
|
48
|
+
|
|
45
49
|
## Post-implementation flow
|
|
46
50
|
|
|
47
51
|
Implementation closeout has one authoritative order:
|
|
@@ -56,9 +60,10 @@ Implementation closeout has one authoritative order:
|
|
|
56
60
|
|
|
57
61
|
The configured exit gate is independent from the mandatory lifecycle review,
|
|
58
62
|
root-owned phase reviews, and optional `oat_phase_review_gate`. It must reach an
|
|
59
|
-
allowed and fresh disposition before pre-approval work starts. A
|
|
60
|
-
|
|
61
|
-
from missing state
|
|
63
|
+
allowed and fresh disposition before pre-approval work starts. A
|
|
64
|
+
`not_configured` resolution is recorded explicitly as `allowed/no_gate`; it is
|
|
65
|
+
not inferred from missing state, and a null, missing, or unrecognized resolver
|
|
66
|
+
result fails closed as unresolved instead.
|
|
62
67
|
|
|
63
68
|
After implementation closeout finishes:
|
|
64
69
|
|
|
@@ -72,6 +77,37 @@ After implementation closeout finishes:
|
|
|
72
77
|
- After revision tasks complete, state returns to `pr_open`
|
|
73
78
|
5. **Complete** (`oat-project-complete`) — accepts any phase status (`pr_open`, `complete`, `in_progress`), auto-refreshes `summary.md` before closeout when needed, and archives when selected by the workflow preference or completion prompt
|
|
74
79
|
|
|
80
|
+
### Project-recap gate (non-lite)
|
|
81
|
+
|
|
82
|
+
The final-closeout orchestrator owns one project-recap gate. It runs after the
|
|
83
|
+
final code review has passed and after any configured pre-approval summary and
|
|
84
|
+
documentation steps, but before final HiLL approval. It neither replaces nor
|
|
85
|
+
repeats the final review, and the stored order of the other pre-approval steps
|
|
86
|
+
is preserved.
|
|
87
|
+
|
|
88
|
+
Recap intent resolves through `oat-explainer-kit`. A fresh `project-recap`
|
|
89
|
+
manifest for the current completed implementation is reused rather than
|
|
90
|
+
regenerated — fresh means it names recipe `project-recap`, belongs to this
|
|
91
|
+
project, has a terminal outcome, and its recorded source hashes match the
|
|
92
|
+
current approved inputs. A present-but-incomplete, wrong-recipe, or stale
|
|
93
|
+
manifest does not qualify.
|
|
94
|
+
|
|
95
|
+
Recap outcomes are reported, not blocking: `failed` and `built-not-durable` are
|
|
96
|
+
recorded as warnings and never block final approval, completion reporting, or
|
|
97
|
+
later PR steps. The selected or attempted outcome and run path are included in
|
|
98
|
+
the implementation completion report, and `summary.md` carries a single
|
|
99
|
+
`Explainer Outcome` section when it exists.
|
|
100
|
+
|
|
101
|
+
**Lite skips this gate entirely.** Lite sets `PROJECT_RECAP_REACHABLE=false` and
|
|
102
|
+
does not resolve recap intent, inspect recap runs, invoke `oat-explainer-kit`,
|
|
103
|
+
or run the terminal-outcome guard. It proceeds from the required reviews through
|
|
104
|
+
its stored optional steps to `pr` and sequence completion.
|
|
105
|
+
|
|
106
|
+
Lite mode collapses the default pre-approval sequence to PR creation only.
|
|
107
|
+
`oat-project-pr-final` builds the body directly from the lite plan and
|
|
108
|
+
`implementation.md`; summary and documentation remain explicit lite opt-ins,
|
|
109
|
+
and retro is not added to the lite closeout sequence.
|
|
110
|
+
|
|
75
111
|
### Completion archive behavior
|
|
76
112
|
|
|
77
113
|
On completion, OAT treats archive handling as an explicit closeout choice:
|
|
@@ -166,7 +202,9 @@ When `workflow.autoReviewAtHillCheckpoints` is enabled or `plan.md` frontmatter
|
|
|
166
202
|
### Phase-review setup during planning
|
|
167
203
|
|
|
168
204
|
Spec-driven, quick, and import planning run one shared setup after stable phase
|
|
169
|
-
IDs exist and before the plan artifact review.
|
|
205
|
+
IDs exist and before the plan artifact review. Lite omits this planning-time
|
|
206
|
+
setup and prompt, while its built-in implementation phase and final reviews
|
|
207
|
+
remain required. The target probe qualifies only
|
|
170
208
|
an explicitly configured, enabled, and available review target, then offers all
|
|
171
209
|
phases, selected phases, or disabled. Existing explicit
|
|
172
210
|
`oat_phase_review_gate` values are preserved unchanged without re-prompting.
|
|
@@ -213,6 +251,13 @@ See [Implementation Execution](implementation-execution.md) for the full executi
|
|
|
213
251
|
4. `oat-project-review-provide` / `oat-project-pr-final`
|
|
214
252
|
5. Optional `oat-project-promote-spec-driven` to backfill spec-driven lifecycle artifacts in-place
|
|
215
253
|
|
|
254
|
+
### Lite lane diagram
|
|
255
|
+
|
|
256
|
+
1. `oat-project-lite` runs one batched interview, authors a single-phase `plan.md` with validation criteria, and pauses once for approval
|
|
257
|
+
2. Implement: `oat-project-implement` runs the single phase without HiLL checkpoint prompts
|
|
258
|
+
3. Pass the mandatory final review, then route directly to `oat-project-pr-final`
|
|
259
|
+
4. Optional `oat project promote <project-path> --to quick` when the work no longer fits one sitting
|
|
260
|
+
|
|
216
261
|
### Import lane diagram
|
|
217
262
|
|
|
218
263
|
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)
|
|
@@ -268,6 +313,75 @@ still read as compatibility capped-policy input, but new quick-start selections
|
|
|
268
313
|
should use the dispatch-policy names, including explicit `Uncapped` and
|
|
269
314
|
`Inherit Host Defaults`.
|
|
270
315
|
|
|
316
|
+
### Lite lane
|
|
317
|
+
|
|
318
|
+
```mermaid
|
|
319
|
+
flowchart LR
|
|
320
|
+
L["Lite interview\n(one batched round)"] --> P["Single-phase plan\n(one approval)"]
|
|
321
|
+
P --> I["Implement (oat-project-implement)"]
|
|
322
|
+
I --> R["Final review"] --> PR["PR (default closeout)"]
|
|
323
|
+
P -->|Scope grows| Q["Promote to Quick"]
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
Lite keeps planning and validation in `plan.md`. The interview selects a
|
|
327
|
+
`minimal`, `product`, `technical`, or `both` content shape and records the
|
|
328
|
+
rationale. Product Behavior is required for user-visible changes; Technical
|
|
329
|
+
Design is required for cross-module, data/state-format, or consumed-contract
|
|
330
|
+
changes. It has no separate discovery, spec, or design artifact, skips
|
|
331
|
+
implementation HiLL prompts, and routes a passed final review directly to PR
|
|
332
|
+
creation. Summary and documentation run only when enabled through the
|
|
333
|
+
lite-specific post-implementation sequence.
|
|
334
|
+
|
|
335
|
+
Each task chooses evidence proportionate to its risk instead of requiring one
|
|
336
|
+
test-first recipe. Behavioral changes need a proof that fails without the
|
|
337
|
+
change; refactors default to characterization-first when existing coverage is
|
|
338
|
+
insufficient; documentation-only work may use formatting, link, spelling, or
|
|
339
|
+
build checks. UI changes require visual proof. In autonomous runs, available
|
|
340
|
+
computer-use capability performs that proof; otherwise execution stops at an
|
|
341
|
+
explicit proof boundary.
|
|
342
|
+
|
|
343
|
+
### Promoting a lite project to quick
|
|
344
|
+
|
|
345
|
+
When lite work outgrows one sitting, `oat project promote <project-path> --to quick`
|
|
346
|
+
converts it in place. Each artifact has a different fate: the authored lite plan
|
|
347
|
+
is **moved** to `references/lite-plan.md`, a new `discovery.md` is **derived**
|
|
348
|
+
from its five core sections plus any adaptive Product Behavior and Technical
|
|
349
|
+
Design, a **fresh** quick template takes over the `plan.md` path, and `state.md`
|
|
350
|
+
is **rewritten** to quick mode.
|
|
351
|
+
|
|
352
|
+
```mermaid
|
|
353
|
+
flowchart LR
|
|
354
|
+
subgraph Before
|
|
355
|
+
LPLAN["plan.md\nfive core sections plus adaptive\nProduct Behavior / Technical Design"]
|
|
356
|
+
LSTATE["state.md\noat_workflow_mode: lite"]
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
CMD["oat project promote\n--to quick"]
|
|
360
|
+
|
|
361
|
+
subgraph After
|
|
362
|
+
DISC["discovery.md\nderived from the lite plan\noat_ready_for: oat-project-quick-start"]
|
|
363
|
+
REF["references/lite-plan.md\noriginal lite plan, preserved"]
|
|
364
|
+
QPLAN["plan.md\nfresh quick-start template"]
|
|
365
|
+
QSTATE["state.md\noat_workflow_mode: quick\noat_phase: discovery (complete)\noat_ready_for: oat-project-quick-start"]
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
LPLAN --> CMD
|
|
369
|
+
LSTATE --> CMD
|
|
370
|
+
CMD -->|derive| DISC
|
|
371
|
+
CMD -->|move| REF
|
|
372
|
+
CMD -->|scaffold| QPLAN
|
|
373
|
+
CMD -->|rewrite| QSTATE
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
The project slug, directory, and branch are untouched, so history and any open
|
|
377
|
+
work continue uninterrupted. `oat_ready_for` is stamped on **both** `discovery.md`
|
|
378
|
+
and `state.md`; the quick-start recommender reads artifact readiness, so
|
|
379
|
+
consumers must preserve both. Promotion refuses rather than half-applying: a
|
|
380
|
+
non-lite project, an existing `references/lite-plan.md`, invalid authored
|
|
381
|
+
sections, an unresolved scope, or an unreadable template each return a stable
|
|
382
|
+
categorical `reason` and exit non-zero. See
|
|
383
|
+
[CLI Reference](../../reference/cli-reference.md) for the full refusal contract.
|
|
384
|
+
|
|
271
385
|
### Import lane
|
|
272
386
|
|
|
273
387
|
```mermaid
|
|
@@ -303,6 +417,10 @@ Quick lane progression:
|
|
|
303
417
|
|
|
304
418
|
`discovery.md` -> [`design.md` (optional lightweight)] -> `plan.md` -> `implementation.md`
|
|
305
419
|
|
|
420
|
+
Lite lane progression:
|
|
421
|
+
|
|
422
|
+
`plan.md` -> `implementation.md` -> `pr/*.md` (`summary.md` and documentation are opt-in)
|
|
423
|
+
|
|
306
424
|
Import lane progression:
|
|
307
425
|
|
|
308
426
|
`references/imported-plan.md` -> `plan.md` -> `implementation.md` (`spec.md`/`design.md` optional)
|
|
@@ -359,15 +477,15 @@ actionable `oat pjm init` stop instead of scaffolding implicitly. See
|
|
|
359
477
|
|
|
360
478
|
### Seeding a new project from a brainstorm
|
|
361
479
|
|
|
362
|
-
When the brainstorming destination is "promote to a new OAT project", the dispatcher confirms a project slug and
|
|
480
|
+
When the brainstorming destination is "promote to a new OAT project", the dispatcher confirms a project slug and one of three modes: `lite`, `quick`, or `spec-driven`. For Quick and Spec-Driven projects, it runs `oat project new <slug> --mode <mode>` and writes `discovery.md` directly from the brainstorming payload — Initial Request, Solution Space with approaches considered, Chosen Direction, Key Decisions, and Open Questions. It writes only `discovery.md` (never a partial `design.md`), then points to `oat-project-quick-start` or `oat-project-design` without auto-chaining. For Lite projects, it instead seeds the five sections in `plan.md`, leaves `discovery.md` and `design.md` absent, and points to `oat-project-lite`.
|
|
363
481
|
|
|
364
|
-
This is a parallel entry path into
|
|
482
|
+
This is a parallel entry path into all three lanes, not a new lane. Quick and Spec-Driven users arrive at `oat-project-quick-start` or `oat-project-design` with discovery already populated; Lite users arrive at `oat-project-lite` with the single-phase plan already seeded.
|
|
365
483
|
|
|
366
484
|
### Folding back into an active project
|
|
367
485
|
|
|
368
486
|
When `oat-brainstorm` fires while a project is active, it offers a 3-way picker before any pack-filtered destination shows up:
|
|
369
487
|
|
|
370
|
-
- **Related to the project** → fold the
|
|
488
|
+
- **Related to the project** → for Lite, fold the synthesis into `plan.md` immediately above `## Phase 1` and hand off to `oat-project-lite`; for Quick and Spec-Driven, use the most-specific upstream artifact (`design.md` if it exists, otherwise `discovery.md`) and hand off to `oat-project-quick-start` or `oat-project-plan`. Any mode with an open PR hands off to `oat-project-revise`. The fold-back commit is safety-gated: a preflight `git status --porcelain -- "$ARTIFACT_PATH"` checks for dirty state, staging is exactly `git add -- "$ARTIFACT_PATH"` (never `-A`, never globs), and the handoff prompt only prints after the scoped commit succeeds.
|
|
371
489
|
- **Independent of the project** → the active project is acknowledged but doesn't constrain the picker; brainstorm routes through its standard pack-filtered terminal-state options (new project, backlog item, idea, doc-to-path, inline).
|
|
372
490
|
- **Related but supplementary** → write a brainstorming reference file at `.oat/projects/<scope>/<project>/brainstorming/YYYY-MM-DD-<topic>.md`, alongside `pr/` and `reviews/`. No lifecycle artifact is touched.
|
|
373
491
|
|
|
@@ -17,10 +17,12 @@ Expected artifacts:
|
|
|
17
17
|
- Required (all modes): `plan.md`
|
|
18
18
|
- Required (spec-driven mode): `spec.md`, `design.md`
|
|
19
19
|
- Optional (quick/import): `spec.md`, `design.md`
|
|
20
|
+
- Not expected (lite): `discovery.md`, `spec.md`, or `design.md`
|
|
20
21
|
- Recommended (quick mode): `discovery.md`
|
|
21
22
|
- Recommended (import mode): `references/imported-plan.md`
|
|
22
23
|
- Recommended: `implementation.md` final summary
|
|
23
24
|
- Recommended: `summary.md` — pr-final treats it as the primary source for the PR Summary section and automatically refreshes it first when missing or stale
|
|
25
|
+
- Lite source row: `oat-project-pr-final` uses the plan's Summary, Decisions, and Validation Criteria plus the `implementation.md` Final Summary; it does not create `summary.md` unless lite closeout explicitly opts in
|
|
24
26
|
- Required gate for final PR: review table final row should be `passed`
|
|
25
27
|
|
|
26
28
|
## Output
|
|
@@ -173,7 +173,7 @@ This feature is opt-in and disabled by default (missing or `enabled: false`). Fo
|
|
|
173
173
|
|
|
174
174
|
Generated planning and analysis artifacts have a separate review loop from code/phase reviews.
|
|
175
175
|
|
|
176
|
-
For plans, `oat-project-plan`, `oat-project-quick-start`, and `oat-project-import-plan` run a bounded `plan.md` artifact review before marking the plan ready for implementation. The loop dispatches `oat-reviewer` in structured-output artifact mode with `scope: plan`, applies unambiguous Critical and Important artifact-local fixes, offers Medium and Minor fixes, and re-runs until clean or the retry bound is exhausted. A clean result records the `plan` row in the plan's `## Reviews` table as `passed`.
|
|
176
|
+
For plans, `oat-project-plan`, `oat-project-quick-start`, `oat-project-lite`, and `oat-project-import-plan` run a bounded `plan.md` artifact review before marking the plan ready for implementation. The loop dispatches `oat-reviewer` in structured-output artifact mode with `scope: plan`, applies unambiguous Critical and Important artifact-local fixes, offers Medium and Minor fixes, and re-runs until clean or the retry bound is exhausted. A clean result records the `plan` row in the plan's `## Reviews` table as `passed`.
|
|
177
177
|
|
|
178
178
|
For analysis artifacts, `oat-docs-analyze` and `oat-agent-instructions-analyze` run a bounded accuracy review after writing their severity-rated artifacts. The reviewer checks cited evidence, severity, and recommendations before the matching apply workflow consumes the artifact. The analysis loop updates tracking metadata to mark the artifact verified.
|
|
179
179
|
|
|
@@ -32,8 +32,14 @@ flowchart TD
|
|
|
32
32
|
FA --> FC["Fixes completed"]
|
|
33
33
|
FC --> PASSED["Review passed"]
|
|
34
34
|
PASSED --> I
|
|
35
|
+
|
|
36
|
+
LITE["Lite: batched interview\n(no discovery/spec/design)"] -. entry point .-> P
|
|
35
37
|
```
|
|
36
38
|
|
|
39
|
+
The solid chain is the spec-driven progression. Lite enters at **Plan in
|
|
40
|
+
progress** and never sets `oat_phase` to `discovery`, `spec`, or `design`;
|
|
41
|
+
quick and import projects also skip part of the leading chain.
|
|
42
|
+
|
|
37
43
|
## Phase status values
|
|
38
44
|
|
|
39
45
|
`oat_phase_status` in `state.md`:
|
|
@@ -65,6 +71,20 @@ Typical progression:
|
|
|
65
71
|
12. Revision loop (optional): `pr_open` → revise → `in_progress` → implement → `pr_open`
|
|
66
72
|
13. Complete
|
|
67
73
|
|
|
74
|
+
Lite progression:
|
|
75
|
+
|
|
76
|
+
1. Plan in progress (`oat_workflow_mode: lite`, `oat_phase: plan`)
|
|
77
|
+
2. Ready for implement (one approval; no discovery, spec, or design states)
|
|
78
|
+
3. Implement in progress (single phase, no HiLL checkpoint pauses)
|
|
79
|
+
4. Implement complete (final review passed)
|
|
80
|
+
5. PR open (`pr_open`) — lite closeout routes straight to `oat-project-pr-final`
|
|
81
|
+
6. Complete
|
|
82
|
+
|
|
83
|
+
A lite project that outgrows one sitting can move to the quick chain with `oat
|
|
84
|
+
project promote <project-path> --to quick`, which flips `oat_workflow_mode` to
|
|
85
|
+
`quick` and sets `oat_phase: discovery` with `oat_phase_status: complete`. See
|
|
86
|
+
[Lifecycle](lifecycle.md#promoting-a-lite-project-to-quick).
|
|
87
|
+
|
|
68
88
|
## Review progression
|
|
69
89
|
|
|
70
90
|
In `plan.md` Reviews table:
|
|
@@ -18,7 +18,7 @@ Use this section when you want to choose the right OAT skill for a task. If you
|
|
|
18
18
|
|
|
19
19
|
## Key Skills by Use Case
|
|
20
20
|
|
|
21
|
-
- Start a new tracked project: `oat-project-new
|
|
21
|
+
- Start a new tracked project: `oat-project-new`, `oat-project-quick-start`, or `oat-project-lite` for a single-sitting change with one batched interview and one approval (quick start accepts a project name plus optional description; if you omit the description it should ask before discovery begins)
|
|
22
22
|
- Resume an existing project: `oat-project-open` and `oat-project-progress`
|
|
23
23
|
- Execute a ready plan: `oat-project-implement`
|
|
24
24
|
- Import an existing plan: `oat-project-import-plan`
|
|
@@ -58,6 +58,7 @@ Use this section when you want to choose the right OAT skill for a task. If you
|
|
|
58
58
|
|
|
59
59
|
- `oat-project-new`
|
|
60
60
|
- `oat-project-quick-start`
|
|
61
|
+
- `oat-project-lite`
|
|
61
62
|
- `oat-project-import-plan`
|
|
62
63
|
- `oat-project-promote-spec-driven`
|
|
63
64
|
- `oat-project-open`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-brainstorm
|
|
3
|
-
version: 1.3.
|
|
3
|
+
version: 1.3.6
|
|
4
4
|
description: Use when the user explicitly invokes the `brainstorm` verb, including `/oat-brainstorm`, "let's brainstorm", "brainstorm this", "can we brainstorm X", or "help me brainstorm X". For ambiguous exploratory phrasing ("I've been thinking", "what if", "help me think through"), do NOT auto-enter; respond conversationally and offer mode only after ≥2 sustained exploratory turns. Do NOT use for review, debug, PR, status, implementation, or active-workflow questions.
|
|
5
5
|
disable-model-invocation: false
|
|
6
6
|
user-invocable: true
|
|
@@ -233,7 +233,7 @@ ACTIVE_PROJECT_PR_STATUS=""
|
|
|
233
233
|
if [ -n "$ACTIVE_PROJECT" ] && [ -f "$ACTIVE_PROJECT/state.md" ]; then
|
|
234
234
|
ACTIVE_PROJECT_VALID="true"
|
|
235
235
|
# Read state.md frontmatter — extract:
|
|
236
|
-
# oat_workflow_mode → ACTIVE_PROJECT_MODE (e.g., "spec-driven", "quick")
|
|
236
|
+
# oat_workflow_mode → ACTIVE_PROJECT_MODE (e.g., "spec-driven", "quick", "lite")
|
|
237
237
|
# oat_phase → ACTIVE_PROJECT_PHASE (e.g., "discovery", "design", "plan", "implement")
|
|
238
238
|
# oat_pr_status → ACTIVE_PROJECT_PR_STATUS (e.g., "none", "open", "closed")
|
|
239
239
|
fi
|
|
@@ -396,8 +396,8 @@ The payload is staged in memory only — it is not persisted between conversatio
|
|
|
396
396
|
- Capture as new idea → confirm slug.
|
|
397
397
|
- Extend existing idea → confirm which idea (slug or path).
|
|
398
398
|
- Doc-to-path → confirm path.
|
|
399
|
-
- Promote to new project → confirm slug + workflow mode (`quick
|
|
400
|
-
- Active-project fold-back → confirm which artifact (`design.md` if exists, else `discovery.md`; user signal can override toward `discovery.md` for foundational changes).
|
|
399
|
+
- Promote to new project → confirm slug + workflow mode (`lite`, `quick`, or `spec-driven`, with skill proposing a default based on the chosen direction and scope signals).
|
|
400
|
+
- Active-project fold-back → for lite confirm `plan.md`; otherwise confirm which artifact (`design.md` if exists, else `discovery.md`; user signal can override toward `discovery.md` for foundational changes).
|
|
401
401
|
- Active-project reference file → confirm filename (default `YYYY-MM-DD-<topic>.md`).
|
|
402
402
|
|
|
403
403
|
- **`none`** (currently `Inline only` and `Summarize idea directly`): no per-field confirmation at this layer. For `Inline only`, write the closing summary directly. For `Summarize idea directly`, hand off — the downstream `oat-idea-summarize` surfaces its own summary for accept/refine review.
|
|
@@ -505,13 +505,50 @@ End mode assertion when the backlog-add hands control back.
|
|
|
505
505
|
|
|
506
506
|
#### 9g — Promote to new OAT project
|
|
507
507
|
|
|
508
|
-
The slug and workflow mode (`quick
|
|
508
|
+
The slug and workflow mode (`lite`, `quick`, or `spec-driven`) were confirmed at
|
|
509
|
+
step 8. Run:
|
|
509
510
|
|
|
510
511
|
```bash
|
|
511
512
|
oat project new <slug> --mode <mode>
|
|
512
513
|
```
|
|
513
514
|
|
|
514
|
-
This scaffolds the project directory under `.oat/projects/<scope>/<slug>/` with
|
|
515
|
+
This scaffolds the project directory under `.oat/projects/<scope>/<slug>/` with
|
|
516
|
+
the files owned by the selected mode.
|
|
517
|
+
|
|
518
|
+
**Lite branch:** When mode is `lite`, use and preserve `<project>/plan.md` as
|
|
519
|
+
the canonical artifact. Fill its `Summary`, `Decisions`, `Assumptions`, `Out of
|
|
520
|
+
Scope`, and `Validation Criteria` sections from the synthesized payload without
|
|
521
|
+
replacing an already populated section or the scaffolded `## Phase 1`. Do not
|
|
522
|
+
create, write, or complete `discovery.md` or `design.md`. Set the project state
|
|
523
|
+
to plan/in-progress with `oat_ready_for: oat-project-lite`, print the
|
|
524
|
+
`oat-project-lite` handoff, and stop.
|
|
525
|
+
|
|
526
|
+
Use this branch contract to validate the lite scaffold before the handoff:
|
|
527
|
+
|
|
528
|
+
```bash
|
|
529
|
+
# BEGIN LITE PROJECT PROMOTION CONTRACT
|
|
530
|
+
if [ "$PROMOTION_MODE" = "lite" ]; then
|
|
531
|
+
LITE_PLAN_PATH="$PROMOTED_PROJECT/plan.md"
|
|
532
|
+
if [ ! -f "$LITE_PLAN_PATH" ]; then
|
|
533
|
+
mkdir -p "$PROMOTED_PROJECT"
|
|
534
|
+
printf '%s\n' '# Plan' '' '## Summary' '' '## Decisions' '' \
|
|
535
|
+
'## Assumptions' '' '## Out of Scope' '' '## Validation Criteria' '' \
|
|
536
|
+
'## Phase 1' > "$LITE_PLAN_PATH"
|
|
537
|
+
fi
|
|
538
|
+
if [ -e "$PROMOTED_PROJECT/discovery.md" ]; then
|
|
539
|
+
echo "oat: lite promotion must not create discovery.md" >&2
|
|
540
|
+
exit 64
|
|
541
|
+
fi
|
|
542
|
+
NEXT_SKILL="oat-project-lite"
|
|
543
|
+
else
|
|
544
|
+
LITE_PLAN_PATH=""
|
|
545
|
+
NEXT_SKILL="oat-project-quick-start-or-design"
|
|
546
|
+
fi
|
|
547
|
+
# END LITE PROJECT PROMOTION CONTRACT
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
**Quick/spec-driven branch:** Only for those two modes, continue with the
|
|
551
|
+
discovery flow below.
|
|
515
552
|
|
|
516
553
|
Then **write a field-filled `discovery.md`** at `<project>/discovery.md` using the synthesized payload:
|
|
517
554
|
|
|
@@ -536,7 +573,7 @@ Print a pointer to the next skill, e.g.:
|
|
|
536
573
|
|
|
537
574
|
**Stop here. Do NOT inline-execute the next phase.** The deliberate transition is the point — the user runs the next skill at their own pace.
|
|
538
575
|
|
|
539
|
-
End mode assertion.
|
|
576
|
+
End mode assertion after the selected branch stops.
|
|
540
577
|
|
|
541
578
|
#### 9h — Active-project router (3-way picker)
|
|
542
579
|
|
|
@@ -556,14 +593,25 @@ The 3-way router fires once per session. After convergence resumes (e.g., the us
|
|
|
556
593
|
|
|
557
594
|
#### 9i — Active project: fold-back to upstream artifact
|
|
558
595
|
|
|
559
|
-
Uniform across spec-driven and
|
|
596
|
+
Uniform across spec-driven, quick, and lite modes. Differs only in which plan-authoring skill the handoff prompt addresses (resolved by `ACTIVE_PROJECT_MODE` and `ACTIVE_PROJECT_PR_STATUS`).
|
|
560
597
|
|
|
561
598
|
**Step 1 — Pick upstream artifact.** Prefer the most-specific existing one:
|
|
562
599
|
|
|
600
|
+
- For lite, always select `<ACTIVE_PROJECT>/plan.md`. Append `## Brainstorming Update` immediately above `## Phase 1`; lite has no discovery or design artifact.
|
|
563
601
|
- `<ACTIVE_PROJECT>/design.md` if it exists (any mode — quick lightweight design counts).
|
|
564
602
|
- Otherwise `<ACTIVE_PROJECT>/discovery.md`.
|
|
565
603
|
- The user's signal during the conversation can override toward `discovery.md` even when `design.md` exists ("this is foundational" → discovery; "this is a design refinement" → design).
|
|
566
604
|
|
|
605
|
+
Use this executable artifact-selection contract before confirming the path:
|
|
606
|
+
|
|
607
|
+
```bash
|
|
608
|
+
# BEGIN LITE FOLD-BACK CONTRACT
|
|
609
|
+
if [ "$ACTIVE_PROJECT_MODE" = "lite" ]; then
|
|
610
|
+
ARTIFACT_PATH="$ACTIVE_PROJECT/plan.md"
|
|
611
|
+
fi
|
|
612
|
+
# END LITE FOLD-BACK CONTRACT
|
|
613
|
+
```
|
|
614
|
+
|
|
567
615
|
Confirm the chosen artifact with the user (minimal confirmation per `references/destinations.md`). Set `ARTIFACT_PATH` to the absolute path.
|
|
568
616
|
|
|
569
617
|
**Persistence invariant:** shared and local project artifacts remain ordinary
|
|
@@ -602,7 +650,7 @@ beside another dirty project file must take Step 4.
|
|
|
602
650
|
## Brainstorming Update: YYYY-MM-DD — <topic>
|
|
603
651
|
```
|
|
604
652
|
|
|
605
|
-
Section body contains: `chosenDirection` (with rationale), key decisions (extracted from the conversation), and a transcript appendix (`transcriptSessionNote`). Optionally include `openQuestions` and `nextSteps` if surfaced.
|
|
653
|
+
Section body contains: `chosenDirection` (with rationale), key decisions (extracted from the conversation), and a transcript appendix (`transcriptSessionNote`). Optionally include `openQuestions` and `nextSteps` if surfaced. In lite mode, insert this section above `## Phase 1` in `plan.md` rather than appending after the task plan.
|
|
606
654
|
|
|
607
655
|
2. Persist **only** the artifact under the scope guard:
|
|
608
656
|
|
|
@@ -621,7 +669,7 @@ beside another dirty project file must take Step 4.
|
|
|
621
669
|
|
|
622
670
|
For non-synced projects, use the explicit `--` filename form. **Never `git add -A`. Never directory globs.** Other working-tree paths are not touched by this commit. For synced projects, `FOLD_BACK_COMMIT_SHA` comes from the push JSON rather than the parent branch.
|
|
623
671
|
|
|
624
|
-
3. `<artifact-basename>` is `design.md` or `discovery.md` depending on which was chosen. `<project-name>` is the active project's slug.
|
|
672
|
+
3. `<artifact-basename>` is `plan.md` for lite, otherwise `design.md` or `discovery.md` depending on which was chosen. `<project-name>` is the active project's slug.
|
|
625
673
|
|
|
626
674
|
4. If the guarded persistence succeeded → proceed to step 5 (handoff prompt).
|
|
627
675
|
|
|
@@ -695,7 +743,8 @@ Resolve the handoff target by `ACTIVE_PROJECT_MODE` and `ACTIVE_PROJECT_PR_STATU
|
|
|
695
743
|
| ----------- | ---------------------------- | ------------------------- |
|
|
696
744
|
| spec-driven | none / closed | `oat-project-plan` |
|
|
697
745
|
| quick | none / closed | `oat-project-quick-start` |
|
|
698
|
-
|
|
|
746
|
+
| lite | none / closed | `oat-project-lite` |
|
|
747
|
+
| any mode | open (`oat_pr_status: open`) | `oat-project-revise` |
|
|
699
748
|
|
|
700
749
|
Print the handoff prompt template, substituting `<skill-name>`, `<artifact>`, `<hash>`, and `<subject>` from the actual branch commit or synced push receipt:
|
|
701
750
|
|
|
@@ -771,6 +820,6 @@ End mode assertion when the split handoff completes or reports its own blocker.
|
|
|
771
820
|
- ✅ Each handoff branch (9a-9k) reads the correct downstream `SKILL.md` path and enters at the documented step. Project promotion writes `discovery.md` only — never `design.md` — and does not auto-chain into the next phase.
|
|
772
821
|
- ✅ Doc-to-path validation handles all four cases: path-is-directory, parent-missing (with explicit out-of-repo confirmation), file-already-exists (overwrite or rename), unwritable (surface OS error).
|
|
773
822
|
- ✅ Fold-back persistence safety contract honored: preflight `git status --porcelain -- "$ARTIFACT_PATH"` runs before any artifact mutation; clean → append + exact-path branch commit for shared/local or validated `oat project push --json` for synced; dirty → three-option picker (persist-prior-first / mix / abort-to-reference-file); handoff prompt prints only after the scope-appropriate receipt succeeds.
|
|
774
|
-
- ✅ Handoff target for fold-back resolves correctly per `oat_workflow_mode` + `oat_pr_status`: `oat-project-plan` (spec-driven, no/closed PR) / `oat-project-quick-start` (quick, no/closed PR) / `oat-project-revise` (
|
|
823
|
+
- ✅ Handoff target for fold-back resolves correctly per `oat_workflow_mode` + `oat_pr_status`: `oat-project-plan` (spec-driven, no/closed PR) / `oat-project-quick-start` (quick, no/closed PR) / `oat-project-lite` (lite, no/closed PR) / `oat-project-revise` (any mode, open PR).
|
|
775
824
|
- ✅ Active-project 3-way router (related / independent / supplementary) fires before the standard pack-filtered picker when both `WORKFLOWS_INSTALLED == "true"` and `ACTIVE_PROJECT_VALID == "true"`.
|
|
776
825
|
- ✅ Skill validates cleanly under `pnpm oat:validate-skills` (frontmatter contract, allowed-tools, mode-assertion structure).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-docs
|
|
3
|
-
version: 1.0.
|
|
3
|
+
version: 1.0.2
|
|
4
4
|
description: Use when a user asks questions about OAT workflows, CLI commands, skill authoring, configuration, or project lifecycle. Answers questions by reading locally-bundled OAT documentation.
|
|
5
5
|
argument-hint: '[question]'
|
|
6
6
|
disable-model-invocation: false
|
|
@@ -145,7 +145,7 @@ Based on the docs, here's how OAT project workflows work: [answer]
|
|
|
145
145
|
You can read more in `guide/workflow/lifecycle.md`.
|
|
146
146
|
|
|
147
147
|
Would you like me to:
|
|
148
|
-
- Start a new project? (I'd invoke oat-project-quick-start)
|
|
148
|
+
- Start a new project? (I'd invoke oat-project-lite for single-sitting work, or oat-project-quick-start for a larger quick workflow)
|
|
149
149
|
- Check your current project status? (I'd read your active project's state.md)
|
|
150
150
|
```
|
|
151
151
|
|
|
@@ -158,22 +158,27 @@ Would you like me to:
|
|
|
158
158
|
**Response:**
|
|
159
159
|
|
|
160
160
|
```
|
|
161
|
-
To create a new OAT project, you have
|
|
161
|
+
To create a new OAT project, you have three main approaches:
|
|
162
162
|
|
|
163
|
-
1. **
|
|
163
|
+
1. **Lite mode** (recommended for single-sitting changes):
|
|
164
|
+
oat-project-lite <project-name> "project description"
|
|
165
|
+
|
|
166
|
+
2. **Quick mode** (recommended for larger bounded work):
|
|
164
167
|
oat-project-quick-start <project-name> "project description"
|
|
165
168
|
|
|
166
|
-
|
|
169
|
+
3. **Spec-driven mode** (for complex features):
|
|
167
170
|
oat-project-new <project-name>
|
|
168
171
|
|
|
169
|
-
|
|
170
|
-
|
|
172
|
+
Lite combines the interview and requirements contract in one plan for a
|
|
173
|
+
single sitting. Quick mode goes straight from discovery to plan. Spec-driven
|
|
174
|
+
mode adds formal spec and design phases. If you invoke quick mode with only a
|
|
171
175
|
project name, it should ask you for the missing project description
|
|
172
176
|
before discovery starts.
|
|
173
177
|
|
|
174
178
|
Both create a project directory under your projects root
|
|
175
179
|
(default: .oat/projects/shared/<project-name>/) with standard artifacts:
|
|
176
|
-
state.md,
|
|
180
|
+
state.md, plan.md, and implementation.md; quick and spec-driven modes also use
|
|
181
|
+
discovery.md.
|
|
177
182
|
|
|
178
183
|
See: guide/workflow/lifecycle.md, guide/getting-started.md
|
|
179
184
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-doctor
|
|
3
|
-
version: 1.2.
|
|
3
|
+
version: 1.2.1
|
|
4
4
|
description: Use when you need to diagnose your OAT setup, check for outdated skills, identify misconfigurations, or get a summary of installed tools and config. Runs health checks and recommends corrective actions.
|
|
5
5
|
argument-hint: '[--summary]'
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -174,7 +174,7 @@ it, and lists every skill that pack ships.
|
|
|
174
174
|
- oat-project-capture, oat-project-clear-active, oat-project-complete
|
|
175
175
|
- oat-project-design, oat-project-dispatch-subagents, oat-project-discover
|
|
176
176
|
- oat-project-document, oat-project-implement, oat-project-import-plan
|
|
177
|
-
- oat-project-new, oat-project-next, oat-project-open
|
|
177
|
+
- oat-project-lite, oat-project-new, oat-project-next, oat-project-open
|
|
178
178
|
- oat-project-plan, oat-project-plan-writing, oat-project-pr-final
|
|
179
179
|
- oat-project-pr-progress, oat-project-progress, oat-project-promote-spec-driven
|
|
180
180
|
- oat-project-quick-start, oat-project-reconcile, oat-project-retro
|
|
@@ -238,7 +238,7 @@ OAT ▸ DOCTOR SUMMARY
|
|
|
238
238
|
| --------- | ------- | ------ | -------- |
|
|
239
239
|
| core | user | 2/2 | current |
|
|
240
240
|
| docs | project | 7/7 | current |
|
|
241
|
-
| workflows | project |
|
|
241
|
+
| workflows | project | 40/40 | current |
|
|
242
242
|
| ideas | user | 4/4 | current |
|
|
243
243
|
| project-management | project | 4/4 | current |
|
|
244
244
|
| research | project | 6/6 | current |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-pjm-review-backlog
|
|
3
|
-
version: 1.6.
|
|
3
|
+
version: 1.6.1
|
|
4
4
|
description: Use when prioritizing the file-backed repo backlog or evaluating roadmap alignment. Produces value-effort ratings, dependency mapping, execution recommendations, and an optional external-plan handoff.
|
|
5
5
|
argument-hint: '[backlog-root] [--roadmap=<path>] [--output=<path>]'
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -255,7 +255,7 @@ This step mirrors the **Project Kickoff Handoffs** section of the pjm instructio
|
|
|
255
255
|
**For each item in the agreed kickoff stack**, write or refresh `.oat/repo/pjm/handoffs/<BL-id>.md` with:
|
|
256
256
|
|
|
257
257
|
- the backlog item reference — its ID **and** human-readable title **and** path (never a bare ID);
|
|
258
|
-
- the recommended project mode (`oat-project-quick-start`
|
|
258
|
+
- the recommended project mode (`oat-project-lite` for single-sitting work, `oat-project-quick-start` for quick work, or `oat-project-new` for spec-driven work), including which artifacts (spec/design/plan) to pre-populate from existing research when it exists;
|
|
259
259
|
- authoritative input pointers (research directories, decision records, code paths);
|
|
260
260
|
- repo conventions and verification gates the item file does not restate;
|
|
261
261
|
- a close-out section requiring (a) the **Backlog Lifecycle** — `oat backlog archive <id>` — executed in the same PR that ships the item, and (b) deletion of the handoff file (`git rm`) in that same PR.
|