@open-agent-toolkit/cli 0.3.19 → 0.3.20
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 +2 -1
- package/assets/agents/oat-phase-implementer.md +26 -3
- package/assets/agents/oat-reviewer.md +8 -3
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/reference/cli-reference.md +12 -7
- package/assets/docs/reference/oat-directory-structure.md +1 -0
- package/assets/docs/reference/project-artifacts.md +56 -1
- package/assets/docs/reference/project-state-machine.md +41 -7
- package/assets/docs/skills/brainstorm.md +3 -2
- package/assets/docs/skills/index.md +13 -10
- package/assets/docs/workflows/advanced/autonomy.md +3 -1
- package/assets/docs/workflows/advanced/dispatch-ceiling.md +2 -2
- package/assets/docs/workflows/advanced/workflow-gates.md +17 -4
- package/assets/docs/workflows/approvals-and-automation.md +21 -10
- package/assets/docs/workflows/choose-workflow.md +17 -9
- package/assets/docs/workflows/ideas/index.md +1 -1
- package/assets/docs/workflows/ideas/lifecycle.md +3 -2
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +80 -7
- package/assets/docs/workflows/projects/closeout/pr-flow.md +7 -1
- package/assets/docs/workflows/projects/execution/execution-skills.md +16 -3
- package/assets/docs/workflows/projects/execution/implementation-execution.md +1 -1
- package/assets/docs/workflows/projects/execution/picking-up-projects.md +11 -1
- package/assets/docs/workflows/projects/lifecycle.md +108 -9
- package/assets/docs/workflows/projects/planning/hill-checkpoints.md +6 -6
- package/assets/docs/workflows/projects/planning/planning-skills.md +9 -7
- package/assets/docs/workflows/projects/planning/starting-projects.md +57 -11
- package/assets/docs/workflows/projects/reviews/index.md +22 -1
- package/assets/docs/workflows/projects/reviews/review-flavors.md +5 -3
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-brainstorm/SKILL.md +34 -9
- package/assets/skills/oat-brainstorm/references/destinations.md +6 -3
- package/assets/skills/oat-docs/SKILL.md +7 -3
- package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
- package/assets/skills/oat-project-autonomous/SKILL.md +9 -3
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +151 -132
- package/assets/skills/oat-project-brief/SKILL.md +1 -1
- package/assets/skills/oat-project-brief/references/brief-contract.md +458 -9
- package/assets/skills/oat-project-brief/references/docs/autonomy-contract.md +151 -132
- package/assets/skills/oat-project-brief/references/docs/gate-approval-record.md +9 -0
- package/assets/skills/oat-project-capture/SKILL.md +2 -2
- package/assets/skills/oat-project-complete/SKILL.md +14 -5
- package/assets/skills/oat-project-discover/SKILL.md +3 -2
- package/assets/skills/oat-project-document/SKILL.md +12 -6
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +151 -132
- package/assets/skills/oat-project-goal/SKILL.md +697 -0
- package/assets/skills/oat-project-goal/references/docs/autonomy-contract.md +412 -0
- package/assets/skills/oat-project-goal/references/docs/gate-approval-record.md +93 -0
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +67 -0
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +151 -132
- package/assets/skills/oat-project-implement/references/docs/gate-approval-record.md +9 -0
- package/assets/skills/oat-project-implement/references/phase-execution.md +10 -3
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +28 -1
- package/assets/skills/oat-project-lite/SKILL.md +1 -1
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +151 -132
- package/assets/skills/oat-project-new/SKILL.md +3 -3
- package/assets/skills/oat-project-next/SKILL.md +45 -15
- package/assets/skills/oat-project-next/references/docs/gate-approval-record.md +9 -0
- package/assets/skills/oat-project-plan/SKILL.md +14 -3
- package/assets/skills/oat-project-plan-writing/SKILL.md +6 -4
- package/assets/skills/oat-project-pr-final/SKILL.md +51 -1
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +151 -132
- package/assets/skills/oat-project-pr-progress/SKILL.md +97 -3
- package/assets/skills/oat-project-progress/SKILL.md +38 -5
- package/assets/skills/oat-project-progress/references/docs/gate-approval-record.md +9 -0
- package/assets/skills/oat-project-quick-start/SKILL.md +14 -9
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +151 -132
- package/assets/skills/oat-project-quick-start/references/docs/gate-approval-record.md +9 -0
- package/assets/skills/oat-project-reconcile/SKILL.md +31 -2
- package/assets/skills/oat-project-review-provide/SKILL.md +79 -13
- package/assets/skills/oat-project-review-receive/SKILL.md +70 -1
- package/assets/skills/oat-project-revise/SKILL.md +25 -1
- package/assets/skills/oat-project-summary/SKILL.md +60 -5
- package/assets/skills/oat-wave-execute/SKILL.md +2 -2
- package/assets/templates/state.md +1 -1
- package/dist/commands/project/closeout-check/closeout-invariant.d.ts +119 -3
- package/dist/commands/project/closeout-check/closeout-invariant.d.ts.map +1 -1
- package/dist/commands/project/closeout-check/closeout-invariant.js +454 -2
- package/dist/commands/project/closeout-check/index.d.ts +21 -3
- package/dist/commands/project/closeout-check/index.d.ts.map +1 -1
- package/dist/commands/project/closeout-check/index.js +190 -4
- package/dist/commands/project/complete-state/index.d.ts +2 -1
- package/dist/commands/project/complete-state/index.d.ts.map +1 -1
- package/dist/commands/project/complete-state/index.js +7 -1
- package/dist/commands/project/delivery/check.d.ts +66 -0
- package/dist/commands/project/delivery/check.d.ts.map +1 -0
- package/dist/commands/project/delivery/check.js +232 -0
- package/dist/commands/project/delivery/evidence.d.ts +171 -0
- package/dist/commands/project/delivery/evidence.d.ts.map +1 -0
- package/dist/commands/project/delivery/evidence.js +902 -0
- package/dist/commands/project/delivery/index.d.ts +7 -0
- package/dist/commands/project/delivery/index.d.ts.map +1 -0
- package/dist/commands/project/delivery/index.js +13 -0
- package/dist/commands/project/delivery/refresh.d.ts +110 -0
- package/dist/commands/project/delivery/refresh.d.ts.map +1 -0
- package/dist/commands/project/delivery/refresh.js +441 -0
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +2 -0
- package/dist/commands/project/log/append.d.ts +6 -0
- package/dist/commands/project/log/append.d.ts.map +1 -1
- package/dist/commands/project/log/append.js +6 -1
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +47 -1
- package/dist/commands/project/promote/promote.d.ts +15 -1
- package/dist/commands/project/promote/promote.d.ts.map +1 -1
- package/dist/commands/project/promote/promote.js +99 -15
- package/dist/commands/project/validate-plan/index.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/index.js +10 -0
- package/dist/commands/project/validate-plan/profiles.d.ts +19 -4
- package/dist/commands/project/validate-plan/profiles.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/profiles.js +153 -2
- package/dist/commands/shared/frontmatter.d.ts +1 -1
- package/dist/commands/shared/frontmatter.d.ts.map +1 -1
- package/dist/commands/shared/frontmatter.js +1 -0
- package/dist/commands/state/generate.d.ts.map +1 -1
- package/dist/commands/state/generate.js +35 -4
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +1 -0
- package/package.json +2 -2
|
@@ -13,7 +13,7 @@ For a spec-driven project (one using the full workflow: discovery, design, plan,
|
|
|
13
13
|
then implementation), the usual path is discovery, then design, then plan.
|
|
14
14
|
Design confirms requirements and produces `spec.md` as well as `design.md`.
|
|
15
15
|
Standalone spec is optional when you want to review requirements before
|
|
16
|
-
designing. Quick, lite, brief, and import workflows author their own plans through
|
|
16
|
+
designing. Quick, lite, brief, goal, and import workflows author their own plans through
|
|
17
17
|
their entry skills. Do not send those projects through spec-driven planning
|
|
18
18
|
just because they contain a file named `plan.md`.
|
|
19
19
|
|
|
@@ -55,7 +55,7 @@ A _HiLL (human-in-the-loop lifecycle) checkpoint_ is a point where a skill stops
|
|
|
55
55
|
and waits for your explicit approval before marking a phase complete. Projects
|
|
56
56
|
created with `oat-project-new` have HiLL approvals on discovery and design **by
|
|
57
57
|
default**: each skill stops after writing its artifact and waits for your
|
|
58
|
-
explicit approval before marking it complete. Quick, lite, brief, and import
|
|
58
|
+
explicit approval before marking it complete. Quick, lite, brief, goal, and import
|
|
59
59
|
projects have no workflow-phase HiLL checkpoints. Configured exit gates (optional reviews
|
|
60
60
|
or commands your repository runs before a skill marks its work complete) can
|
|
61
61
|
also keep an artifact in progress. See [HiLL checkpoints](hill-checkpoints.md).
|
|
@@ -83,7 +83,7 @@ spec-driven project. The repository knowledge index must exist at
|
|
|
83
83
|
`oat-repo-knowledge-index` first. The skill checks knowledge staleness and asks
|
|
84
84
|
whether to refresh or continue when the index is stale.
|
|
85
85
|
|
|
86
|
-
Quick, import, lite, and
|
|
86
|
+
Quick, import, lite, brief, and goal projects use their own next step instead. Mentioning a
|
|
87
87
|
new idea does not authorize automatic discovery invocation.
|
|
88
88
|
|
|
89
89
|
**Example scenario:** The webhook-delivery project is active, but the team has
|
|
@@ -270,12 +270,14 @@ skill asks for a project name and sets it as the active project. The project
|
|
|
270
270
|
must use spec-driven mode, with `design.md` recording `oat_status: complete` and
|
|
271
271
|
`oat_ready_for: oat-project-plan`.
|
|
272
272
|
|
|
273
|
-
Quick, import, lite, and
|
|
273
|
+
Quick, import, lite, brief, and goal projects never use this skill to author a plan. On a
|
|
274
274
|
quick project, it resumes quick-start if the plan is not ready, and **starts
|
|
275
275
|
`oat-project-implement` immediately** if the plan is ready. On an import project
|
|
276
276
|
with a plan, it points you to `oat-project-implement`. On a lite project, it
|
|
277
277
|
points you to `oat-project-lite`. On a brief project, it stops and points you
|
|
278
|
-
to `oat-project-brief`, which owns the Project Brief.
|
|
278
|
+
to `oat-project-brief`, which owns the Project Brief. On a goal project, it
|
|
279
|
+
stops and points you to `oat-project-goal`, which owns the brief, its
|
|
280
|
+
milestones, and its amendments. Do not invoke it on those projects unless you
|
|
279
281
|
intend that handoff.
|
|
280
282
|
|
|
281
283
|
**Example scenario:** The webhook design now defines persistence, retries, and
|
|
@@ -339,11 +341,11 @@ Promote the active cache-refresh project, keeping its imported plan and complete
|
|
|
339
341
|
skill asks for a project name and sets it as the active project. The active
|
|
340
342
|
project's `state.md` must record quick or import workflow mode. A spec-driven
|
|
341
343
|
project is already promoted, so the skill reports a no-op unless you request
|
|
342
|
-
artifact refresh. Lite and
|
|
344
|
+
artifact refresh. Lite, brief, and goal projects must promote to quick first through
|
|
343
345
|
the actual terminal command:
|
|
344
346
|
|
|
345
347
|
```bash
|
|
346
|
-
oat project promote <lite-or-
|
|
348
|
+
oat project promote <lite-brief-or-goal-project-path> --to quick
|
|
347
349
|
```
|
|
348
350
|
|
|
349
351
|
Use the reported project path, for example
|
|
@@ -7,8 +7,8 @@ description: 'Choose a project entry skill, import an existing plan, capture com
|
|
|
7
7
|
|
|
8
8
|
Choose an entry path based on what you already know and what already exists.
|
|
9
9
|
These skills do not require an existing active project. They create or import
|
|
10
|
-
tracked work, although quick-start, lite, and
|
|
11
|
-
their own mode, and import writes into whichever project is active.
|
|
10
|
+
tracked work, although quick-start, lite, brief, and goal resume an active
|
|
11
|
+
project of their own mode, and import writes into whichever project is active.
|
|
12
12
|
|
|
13
13
|
| Your situation | Entry skill | Result |
|
|
14
14
|
| -------------------------------------------------------------------- | ------------------------- | --------------------------------------------------------------------------------- |
|
|
@@ -16,6 +16,7 @@ their own mode, and import writes into whichever project is active.
|
|
|
16
16
|
| The outcome is bounded, with optional design decisions to resolve. | `oat-project-quick-start` | Discovery and an executable plan, with lightweight design when needed. |
|
|
17
17
|
| The change fits one implementation sitting. | `oat-project-lite` | One approved plan with requirements and validation criteria. |
|
|
18
18
|
| One delivery whose outcome and design you can agree in conversation. | `oat-project-brief` | One reviewed, approved Project Brief whose phases carry intent and exit evidence. |
|
|
19
|
+
| An outcome that needs several deliveries over time. | `oat-project-goal` | One approved Project Brief with milestones, delivered and re-aligned in turn. |
|
|
19
20
|
| You already have a Markdown plan. | `oat-project-import-plan` | The original source preserved beside a normalized OAT plan. |
|
|
20
21
|
| Implementation happened without project tracking. | `oat-project-capture` | Retroactive discovery and implementation records from the session and commits. |
|
|
21
22
|
| A confirmed scope contains several coordinated projects. | `oat-project-split` | A coordination parent and children that resume at discovery. |
|
|
@@ -69,15 +70,15 @@ in a fresh repository.
|
|
|
69
70
|
overrides the setting for one shell.
|
|
70
71
|
|
|
71
72
|
3. **Only `oat-project-new` takes a scope.** It accepts `--scope shared|local|synced`.
|
|
72
|
-
Quick-start, lite, brief, import, capture, and split have no scope argument.
|
|
73
|
-
Quick-start, lite, brief, import, and capture always create projects in the
|
|
73
|
+
Quick-start, lite, brief, goal, import, capture, and split have no scope argument.
|
|
74
|
+
Quick-start, lite, brief, goal, import, and capture always create projects in the
|
|
74
75
|
default scope. Split uses the active project's scope, or `shared` when no
|
|
75
76
|
project is active. Set the default first if you do not want `synced`.
|
|
76
77
|
|
|
77
78
|
4. **Build the knowledge index before spec-driven discovery.** `oat-project-discover`
|
|
78
79
|
refuses to start until `.oat/repo/knowledge/project-index.md` exists. Run
|
|
79
80
|
`/oat-repo-knowledge-index` once before your first spec-driven project.
|
|
80
|
-
Quick-start, lite, brief, import, and capture do not check for it.
|
|
81
|
+
Quick-start, lite, brief, goal, import, and capture do not check for it.
|
|
81
82
|
|
|
82
83
|
5. **Know what happens when a project is already active.** Check with
|
|
83
84
|
`oat config get activeProject` before you start:
|
|
@@ -110,14 +111,14 @@ Project creation normally activates the new project in `.oat/config.local.json`.
|
|
|
110
111
|
Check the reported project path before continuing, especially when another
|
|
111
112
|
project is already active.
|
|
112
113
|
|
|
113
|
-
The new, quick-start, lite, brief, and import skills check inherited Git changes before
|
|
114
|
+
The new, quick-start, lite, brief, goal, and import skills check inherited Git changes before
|
|
114
115
|
scaffolding. Unrelated changes require an explicit disposition in interactive
|
|
115
116
|
runs. One exception: if the only change is `.oat/sync/manifest.json`, it is
|
|
116
117
|
committed automatically as `chore: run sync`. Capture does not run this check.
|
|
117
118
|
Do not assume starting a project also authorizes implementation or a PR.
|
|
118
119
|
|
|
119
120
|
**Dispatch policy.** Before a plan is marked ready, quick-start, lite, brief,
|
|
120
|
-
and import ask you to choose a _dispatch policy_: the highest tier of models and
|
|
121
|
+
goal, and import ask you to choose a _dispatch policy_: the highest tier of models and
|
|
121
122
|
effort OAT may use when it dispatches implementation and review agents. The
|
|
122
123
|
choices come from `oat project dispatch-ceiling choices`. If your configuration
|
|
123
124
|
has no complete dispatch ladder (the list of models for each tier), the skill
|
|
@@ -129,10 +130,11 @@ deliberately. The plan stays not ready until this resolves. See
|
|
|
129
130
|
**Approval checkpoints.** A _HiLL (human-in-the-loop lifecycle) checkpoint_ is
|
|
130
131
|
a point where a skill stops and waits for your explicit approval before it marks
|
|
131
132
|
a phase complete. Projects created by `oat-project-new` have checkpoints on
|
|
132
|
-
discovery and design by default. Quick, lite, brief, import, and
|
|
133
|
-
projects have no workflow-phase checkpoints before implementation.
|
|
134
|
-
asks you to approve its plan once,
|
|
135
|
-
brief once
|
|
133
|
+
discovery and design by default. Quick, lite, brief, goal, import, and
|
|
134
|
+
captured projects have no workflow-phase checkpoints before implementation.
|
|
135
|
+
Lite still asks you to approve its plan once, brief asks you to approve its
|
|
136
|
+
reviewed brief once, and goal asks for that approval and then one per later
|
|
137
|
+
milestone. See [HiLL checkpoints](hill-checkpoints.md).
|
|
136
138
|
|
|
137
139
|
Several skills also run a configured _exit gate_, an optional review or command
|
|
138
140
|
your repository configures to run before a skill marks its work complete. When
|
|
@@ -371,6 +373,50 @@ the scaffold and start `oat-project-quick-start` instead. See
|
|
|
371
373
|
|
|
372
374
|
**Next step:** Run `oat-project-implement` after the brief is approved.
|
|
373
375
|
|
|
376
|
+
## oat-project-goal
|
|
377
|
+
|
|
378
|
+
Use goal when an outcome needs several deliveries over time. Goal writes one
|
|
379
|
+
reviewed Project Brief like brief does, and adds a `## Milestones` table that
|
|
380
|
+
groups its phases into milestones. Each milestone is implemented, reviewed,
|
|
381
|
+
delivered as its own pull request, and followed by a short re-alignment before
|
|
382
|
+
the next one starts.
|
|
383
|
+
|
|
384
|
+
**Invocation:** Provide the slug and the intended outcome.
|
|
385
|
+
|
|
386
|
+
```text
|
|
387
|
+
/oat-project-goal audit-exports "Give administrators audit exports in CSV first, then scheduled delivery."
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
**Prerequisites:** No active project is needed. If the active project is a
|
|
391
|
+
goal project, goal resumes it at the step its state calls for: authoring,
|
|
392
|
+
milestone activation, re-alignment, or the terminal declaration.
|
|
393
|
+
|
|
394
|
+
**Example scenario:** Administrators need audit exports now and scheduled
|
|
395
|
+
delivery later. Goal interviews you once for the whole outcome, splits it into
|
|
396
|
+
milestone m01 (CSV export) and m02 (scheduled delivery), and activates m01.
|
|
397
|
+
When m01's pull request is delivered, goal asks what changed, amends the brief
|
|
398
|
+
with m02's phases, takes the amendment through review and approval, and
|
|
399
|
+
activates m02 once m01 reaches the endpoint you agreed, such as merged.
|
|
400
|
+
|
|
401
|
+
**Expected output:** One Project Brief in `plan.md` with
|
|
402
|
+
`oat_plan_source: goal`, a canonical `| Milestone | Phases |` table in which
|
|
403
|
+
every phase belongs to exactly one milestone, and the first milestone approved
|
|
404
|
+
and activated. Each milestone's approval is recorded as its `plan` gate carrier
|
|
405
|
+
in `state.md`; deliveries are recorded in the `oat_deliveries` registry by the
|
|
406
|
+
delivery skills.
|
|
407
|
+
|
|
408
|
+
**What it does without asking:** It creates the project through
|
|
409
|
+
`oat project new --mode goal`, commits the brief before review, runs the
|
|
410
|
+
artifact review and any configured `oat-project-goal` gate, refreshes delivery
|
|
411
|
+
observations with `oat project delivery refresh`, and appends one project-log
|
|
412
|
+
entry at each activation and re-alignment. It asks before: proceeding with a
|
|
413
|
+
dirty working tree, the interview decisions and milestone split, each approval,
|
|
414
|
+
the re-alignment questions, and declaring the goal met.
|
|
415
|
+
|
|
416
|
+
**Next step:** Run `oat-project-implement` after the first milestone is
|
|
417
|
+
activated. Between milestones, `oat-project-goal` re-aligns and activates the
|
|
418
|
+
next milestone once the previous delivery reaches its agreed endpoint.
|
|
419
|
+
|
|
374
420
|
## oat-project-import-plan
|
|
375
421
|
|
|
376
422
|
Use import when the plan already exists, including one produced in a provider's
|
|
@@ -176,7 +176,7 @@ This feature is opt-in and disabled by default (missing or `enabled: false`). Fo
|
|
|
176
176
|
|
|
177
177
|
Generated planning and analysis artifacts have a separate review loop from code/phase reviews.
|
|
178
178
|
|
|
179
|
-
For plans, `oat-project-plan`, `oat-project-quick-start`, `oat-project-lite`, `oat-project-brief`, 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 High artifact-local fixes, offers Medium and Low 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`.
|
|
179
|
+
For plans, `oat-project-plan`, `oat-project-quick-start`, `oat-project-lite`, `oat-project-brief`, `oat-project-goal` (for the brief and each milestone amendment), 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 High artifact-local fixes, offers Medium and Low 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`.
|
|
180
180
|
|
|
181
181
|
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.
|
|
182
182
|
|
|
@@ -232,12 +232,33 @@ or contradictory anchors stop the review and route to `oat-project-reconcile`.
|
|
|
232
232
|
A brief `final` review also audits every numbered Outcome against the
|
|
233
233
|
journal's evidence.
|
|
234
234
|
|
|
235
|
+
In a goal project, per-phase reviews (`pNN`, `p-revN`) use the brief anchors.
|
|
236
|
+
A milestone's integrated review names the milestone or delivery and its exact
|
|
237
|
+
ordered phase set, for example `code m01: p01, p02, p-rev1` or
|
|
238
|
+
`code m01/d01: p01, p02, p-rev1`; a `pNN-pMM` or `final` token is refused for
|
|
239
|
+
it, and membership is never expanded from first to last phase. The set must
|
|
240
|
+
match the milestone's `## Milestones` row, a pending `oat_goal_recovery`
|
|
241
|
+
record, or a registered delivery's frozen scope. Before dispatch, the
|
|
242
|
+
milestone's exit carrier must be allowed and fresh; otherwise the review stops
|
|
243
|
+
and routes to implement's milestone closeout. The range runs from the first
|
|
244
|
+
member's base to the last member's head, and phases of other milestones inside
|
|
245
|
+
it are listed under `Intervening changes:` and judged only as context. The
|
|
246
|
+
artifact records `oat_review_requested_scope: mNN` (or `mNN/dNN`) and
|
|
247
|
+
`oat_review_phase_ids` with the exact set, and a narrowed re-review keeps the
|
|
248
|
+
full set. The `## Reviews` Scope cell is the milestone ID (`m01`) or, for a
|
|
249
|
+
registered delivery, the delivery ID (`d01`). The review is recorded as
|
|
250
|
+
`received`; `oat-project-review-receive` moves the milestone to `delivering`
|
|
251
|
+
on a clean receive.
|
|
252
|
+
|
|
235
253
|
Final review `passed` gate requires:
|
|
236
254
|
|
|
237
255
|
- No unresolved Critical/High/Medium findings.
|
|
238
256
|
- Deferred Medium findings resurfaced and explicitly dispositioned.
|
|
239
257
|
- Low findings explicitly dispositioned (after plain-language explanation).
|
|
240
258
|
|
|
259
|
+
A goal milestone delivery is gated by its passed, fresh integrated review and
|
|
260
|
+
exit carrier rather than by a `final` row.
|
|
261
|
+
|
|
241
262
|
## Complexity review at budget exhaustion
|
|
242
263
|
|
|
243
264
|
When a review or gate budget runs out, another round of the same review is
|
|
@@ -120,7 +120,7 @@ different things can happen, and only two of them stop the workflow:
|
|
|
120
120
|
out without writing a review, or wrote a review OAT could not validate or
|
|
121
121
|
match to this run. Nothing was reviewed. `oat-project-implement` and
|
|
122
122
|
`oat-project-lite` keep these failures blocked whatever `onFailure` says,
|
|
123
|
-
and so
|
|
123
|
+
and so do `oat-project-brief` and `oat-project-goal`.
|
|
124
124
|
The planning skills handle them differently; see
|
|
125
125
|
[When the gate finds blocking problems](../../advanced/workflow-gates.md#when-the-gate-finds-blocking-problems).
|
|
126
126
|
- **Reviewer selection falls back.** By default (`--avoid same-family`) the gate
|
|
@@ -458,9 +458,11 @@ request.
|
|
|
458
458
|
**Prerequisites:** An initialized project must resolve from the active pointer
|
|
459
459
|
or an explicitly supplied project/review target. Its core artifacts must be
|
|
460
460
|
committed before review. Code review needs completed implementation work and
|
|
461
|
-
the mode-appropriate requirements sources; lite and
|
|
461
|
+
the mode-appropriate requirements sources; lite, brief, and goal reviews do not
|
|
462
462
|
require absent discovery, spec or design artifacts. A brief code review takes
|
|
463
|
-
its range from the journal's phase anchors.
|
|
463
|
+
its range from the journal's phase anchors. A goal integrated review names its
|
|
464
|
+
milestone or delivery and its exact ordered phase set; see
|
|
465
|
+
[Phase and final review](index.md#phase-and-final-review). Code reviews and plan artifact reviews
|
|
464
466
|
also need a resolved dispatch policy (`oat_dispatch_policy` in `state.md` or
|
|
465
467
|
`workflow.dispatchPolicy.*` in config); without one the review stops before
|
|
466
468
|
launching a reviewer. Discovery, spec and design artifact reviews run without
|
|
@@ -5,7 +5,7 @@ disable-model-invocation: false
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
7
7
|
metadata:
|
|
8
|
-
version: 1.3.
|
|
8
|
+
version: 1.3.10
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Brainstorm
|
|
@@ -238,7 +238,7 @@ ACTIVE_PROJECT_PR_STATUS=""
|
|
|
238
238
|
if [ -n "$ACTIVE_PROJECT" ] && [ -f "$ACTIVE_PROJECT/state.md" ]; then
|
|
239
239
|
ACTIVE_PROJECT_VALID="true"
|
|
240
240
|
# Read state.md frontmatter — extract:
|
|
241
|
-
# oat_workflow_mode → ACTIVE_PROJECT_MODE (e.g., "spec-driven", "quick", "import", "lite", "brief")
|
|
241
|
+
# oat_workflow_mode → ACTIVE_PROJECT_MODE (e.g., "spec-driven", "quick", "import", "lite", "brief", "goal")
|
|
242
242
|
# oat_phase → ACTIVE_PROJECT_PHASE (e.g., "discovery", "design", "plan", "implement")
|
|
243
243
|
# oat_pr_status → ACTIVE_PROJECT_PR_STATUS (e.g., "none", "open", "closed")
|
|
244
244
|
fi
|
|
@@ -401,8 +401,8 @@ The payload is staged in memory only — it is not persisted between conversatio
|
|
|
401
401
|
- Capture as new idea → confirm slug.
|
|
402
402
|
- Extend existing idea → confirm which idea (slug or path).
|
|
403
403
|
- Doc-to-path → confirm path.
|
|
404
|
-
- Promote to new project → confirm slug + workflow mode (`lite`, `brief`, `quick`, or `spec-driven`, with skill proposing a default based on the chosen direction and scope signals).
|
|
405
|
-
- Active-project fold-back → for lite and
|
|
404
|
+
- Promote to new project → confirm slug + workflow mode (`lite`, `brief`, `goal`, `quick`, or `spec-driven`, with skill proposing a default based on the chosen direction and scope signals; propose `goal` when the direction needs several deliveries over time).
|
|
405
|
+
- Active-project fold-back → for lite, brief, and goal confirm `plan.md`; for import confirm `design.md` or `discovery.md` when present, else `plan.md`; otherwise confirm which artifact (`design.md` if exists, else `discovery.md`; user signal can override toward `discovery.md` for foundational changes).
|
|
406
406
|
- Active-project reference file → confirm filename (default `YYYY-MM-DD-<topic>.md`).
|
|
407
407
|
|
|
408
408
|
- **`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.
|
|
@@ -510,7 +510,7 @@ End mode assertion when the backlog-add hands control back.
|
|
|
510
510
|
|
|
511
511
|
#### 9g — Promote to new OAT project
|
|
512
512
|
|
|
513
|
-
The slug and workflow mode (`lite`, `brief`, `quick`, or `spec-driven`) were confirmed at
|
|
513
|
+
The slug and workflow mode (`lite`, `brief`, `goal`, `quick`, or `spec-driven`) were confirmed at
|
|
514
514
|
step 8. Run:
|
|
515
515
|
|
|
516
516
|
```bash
|
|
@@ -562,6 +562,15 @@ reading that research first. Do not create `discovery.md` or `design.md`.
|
|
|
562
562
|
Leave the project state at plan/in-progress, print the `oat-project-brief`
|
|
563
563
|
handoff, and stop.
|
|
564
564
|
|
|
565
|
+
**Goal branch:** When mode is `goal`, arrive exactly as the brief branch does:
|
|
566
|
+
the goal scaffold holds the same files (its `plan.md` carries
|
|
567
|
+
`oat_plan_source: goal` and the canonical Milestones table header). Write the
|
|
568
|
+
synthesized payload to `<project>/references/research/brainstorm-YYYY-MM-DD.md`,
|
|
569
|
+
leave `plan.md` as scaffolded for `oat-project-goal` to author through its
|
|
570
|
+
interview (including the milestone split), do not create `discovery.md` or
|
|
571
|
+
`design.md`, leave the project state at plan/in-progress, print the
|
|
572
|
+
`oat-project-goal` handoff, and stop.
|
|
573
|
+
|
|
565
574
|
**Quick/spec-driven branch:** Only for those two modes, continue with the
|
|
566
575
|
discovery flow below.
|
|
567
576
|
|
|
@@ -608,12 +617,13 @@ The 3-way router fires once per session. After convergence resumes (e.g., the us
|
|
|
608
617
|
|
|
609
618
|
#### 9i — Active project: fold-back to upstream artifact
|
|
610
619
|
|
|
611
|
-
Uniform across spec-driven, quick, import, lite, and
|
|
620
|
+
Uniform across spec-driven, quick, import, lite, brief, and goal modes. Differs only in which plan-authoring skill the handoff prompt addresses (resolved by `ACTIVE_PROJECT_MODE` and `ACTIVE_PROJECT_PR_STATUS`).
|
|
612
621
|
|
|
613
622
|
**Step 1 — Pick upstream artifact.** Prefer the most-specific existing one:
|
|
614
623
|
|
|
615
624
|
- For lite, always select `<ACTIVE_PROJECT>/plan.md`. Append `## Brainstorming Update` immediately above `## Phase 1`; lite has no discovery or design artifact.
|
|
616
625
|
- For brief, always select `<ACTIVE_PROJECT>/plan.md` (the Project Brief). Append `## Brainstorming Update` immediately above the first `## Phase` heading; brief has no discovery or design artifact, and the receiving skill folds the update into the brief's sections.
|
|
626
|
+
- For goal, select `<ACTIVE_PROJECT>/plan.md` exactly as for brief; the update never edits the `## Milestones` table, which the receiving skill amends.
|
|
617
627
|
- For import, use `design.md` or `discovery.md` when present (the rules below); otherwise `<ACTIVE_PROJECT>/plan.md`, because the import scaffold has neither.
|
|
618
628
|
- `<ACTIVE_PROJECT>/design.md` if it exists (any mode — quick lightweight design counts).
|
|
619
629
|
- Otherwise `<ACTIVE_PROJECT>/discovery.md`.
|
|
@@ -686,7 +696,7 @@ beside another dirty project file must take Step 4.
|
|
|
686
696
|
|
|
687
697
|
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.
|
|
688
698
|
|
|
689
|
-
3. `<artifact-basename>` is `plan.md` for lite and
|
|
699
|
+
3. `<artifact-basename>` is `plan.md` for lite, brief, and goal (and for import when it has no `design.md` or `discovery.md`), otherwise `design.md` or `discovery.md` depending on which was chosen. `<project-name>` is the active project's slug.
|
|
690
700
|
|
|
691
701
|
4. If the guarded persistence succeeded → proceed to step 5 (handoff prompt).
|
|
692
702
|
|
|
@@ -763,6 +773,7 @@ Resolve the handoff target by `ACTIVE_PROJECT_MODE` and `ACTIVE_PROJECT_PR_STATU
|
|
|
763
773
|
| lite | none / closed | `oat-project-lite` |
|
|
764
774
|
| import | none / closed | `oat-project-import-plan` |
|
|
765
775
|
| brief | none / closed | `oat-project-brief` |
|
|
776
|
+
| goal | none / closed | `oat-project-goal` |
|
|
766
777
|
| any mode | open (`oat_pr_status: open`) | `oat-project-revise` |
|
|
767
778
|
|
|
768
779
|
For brief, `oat-project-brief` is the target while the brief is still in
|
|
@@ -775,6 +786,20 @@ prompt's last two sentences read "Integrate the new content into the brief as
|
|
|
775
786
|
new or amended phases. Don't refresh the brief — preserve the review table and
|
|
776
787
|
the journal." instead.
|
|
777
788
|
|
|
789
|
+
For goal, `oat-project-goal` is the target: it folds the update into the
|
|
790
|
+
brief as an amendment through its review ladder, during authoring or at the
|
|
791
|
+
next re-alignment (`delivered`). While a milestone is active, an update that
|
|
792
|
+
stays inside that milestone's approved Outcomes and Approach goes to
|
|
793
|
+
`oat-project-implement` instead, which adds the new phases to the active
|
|
794
|
+
milestone's `## Milestones` row; anything else waits for re-alignment. The
|
|
795
|
+
prompt's last two sentences read as for brief.
|
|
796
|
+
|
|
797
|
+
With an open PR in goal mode the open PR is a registered delivery, and
|
|
798
|
+
`oat-project-revise` requires an explicit target. Name it in the prompt: add
|
|
799
|
+
"Target: <mNN>/<dNN> (the open delivery)." after its first sentence, with the
|
|
800
|
+
milestone and delivery IDs read from the `oat_deliveries` entry whose member
|
|
801
|
+
URL is `oat_pr_url`.
|
|
802
|
+
|
|
778
803
|
Print the handoff prompt template, substituting `<skill-name>`, `<artifact>`, `<hash>`, and `<subject>` from the actual branch commit or synced push receipt:
|
|
779
804
|
|
|
780
805
|
```
|
|
@@ -846,9 +871,9 @@ End mode assertion when the split handoff completes or reports its own blocker.
|
|
|
846
871
|
- ✅ The terminal-state picker conditionally includes `Promote to N projects` only when `oat project split evaluate-signals` reports `triggered: true`; small-scope convergence keeps the option hidden.
|
|
847
872
|
- ✅ Synthesis payload is built per the design Data Models `SynthesizedPayload` schema: `title`, `summary`, `motivation`, `vision`, `approachesConsidered[]`, `chosenDirection`, `openQuestions[]`, `nextSteps[]`, `transcriptSessionNote`.
|
|
848
873
|
- ✅ Confirmation pattern matches `references/destinations.md`: `full` for scoped backlog item (field-by-field with example wording), `minimal` for slug/path/artifact destinations, `none` for inline-only and summarize-idea-directly.
|
|
849
|
-
- ✅ Each handoff branch (9a-9k) reads the correct downstream `SKILL.md` path and enters at the documented step. Project promotion writes `discovery.md` for quick/spec-driven, `plan.md` for lite, and a `references/research/` note for brief — never `design.md` — and does not auto-chain into the next phase.
|
|
874
|
+
- ✅ Each handoff branch (9a-9k) reads the correct downstream `SKILL.md` path and enters at the documented step. Project promotion writes `discovery.md` for quick/spec-driven, `plan.md` for lite, and a `references/research/` note for brief and goal — never `design.md` — and does not auto-chain into the next phase.
|
|
850
875
|
- ✅ 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).
|
|
851
876
|
- ✅ 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.
|
|
852
|
-
- ✅ 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-import-plan` (import, no/closed PR) / `oat-project-brief` or `oat-project-implement` (brief, no/closed PR, by phase) / `oat-project-revise` (any mode, open PR).
|
|
877
|
+
- ✅ 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-import-plan` (import, no/closed PR) / `oat-project-brief` or `oat-project-implement` (brief, no/closed PR, by phase) / `oat-project-goal` or `oat-project-implement` (goal, no/closed PR, by milestone state) / `oat-project-revise` (any mode, open PR; goal names the target delivery).
|
|
853
878
|
- ✅ 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"`.
|
|
854
879
|
- ✅ Skill validates cleanly under `pnpm oat:validate-skills` (frontmatter contract, allowed-tools, mode-assertion structure).
|
|
@@ -122,8 +122,8 @@ Confirm to write this to a new backlog item file, or tell me what to change.
|
|
|
122
122
|
**Required template fields:** `title`, `summary` (Initial Request), `approachesConsidered` (Solution Space), `chosenDirection` (Chosen Direction), key decisions, `openQuestions`. Template: `.oat/templates/discovery.md` (consumed via `oat project new`).
|
|
123
123
|
**Optional template fields:** `motivation`, `vision`, `nextSteps`.
|
|
124
124
|
**Confirmation pattern:** `minimal` (slug + workflow mode)
|
|
125
|
-
Skill proposes `lite`, `brief`, `quick`, or `spec-driven` mode based on `chosenDirection` and scope signals from the conversation. User picks; skill confirms slug.
|
|
126
|
-
**Handoff target:** Run `oat project new <slug> --mode <mode>` to scaffold. Write field-filled `discovery.md` only (Initial Request, Solution Space with approaches, Chosen Direction, Key Decisions, Open Questions). Mark `oat_status: complete`, `oat_ready_for: oat-project-quick-start` (for quick mode) or `oat-project-design` (for spec-driven). Update project `state.md` (phase=discovery, status=complete). Print pointer to next skill. **Stop — do NOT inline-execute the next phase.** Project promotion writes `discovery.md` only, never `design.md`. For `brief` mode there is no `discovery.md`: write the synthesized payload to `references/research/brainstorm-YYYY-MM-DD.md`, leave the scaffolded `plan.md` (the Project Brief) for `oat-project-brief` to author through its interview, keep state at plan/in-progress, and point to `oat-project-brief`. For `lite` mode, fill `plan.md` as `oat-brainstorm` step 9g describes and point to `oat-project-lite`.
|
|
125
|
+
Skill proposes `lite`, `brief`, `goal`, `quick`, or `spec-driven` mode based on `chosenDirection` and scope signals from the conversation (`goal` when the direction needs several deliveries over time). User picks; skill confirms slug.
|
|
126
|
+
**Handoff target:** Run `oat project new <slug> --mode <mode>` to scaffold. Write field-filled `discovery.md` only (Initial Request, Solution Space with approaches, Chosen Direction, Key Decisions, Open Questions). Mark `oat_status: complete`, `oat_ready_for: oat-project-quick-start` (for quick mode) or `oat-project-design` (for spec-driven). Update project `state.md` (phase=discovery, status=complete). Print pointer to next skill. **Stop — do NOT inline-execute the next phase.** Project promotion writes `discovery.md` only, never `design.md`. For `brief` mode there is no `discovery.md`: write the synthesized payload to `references/research/brainstorm-YYYY-MM-DD.md`, leave the scaffolded `plan.md` (the Project Brief) for `oat-project-brief` to author through its interview, keep state at plan/in-progress, and point to `oat-project-brief`. `goal` mode arrives the same way and points to `oat-project-goal`, which authors the brief and its milestone split. For `lite` mode, fill `plan.md` as `oat-brainstorm` step 9g describes and point to `oat-project-lite`.
|
|
127
127
|
**If user wants to keep brainstorming after this is offered:** return to flow with destination = promote-to-new-project. Skill probes for missing chosen direction, key decisions, and explicit open questions — these become artifact fields that read poorly when shallow.
|
|
128
128
|
|
|
129
129
|
---
|
|
@@ -132,7 +132,7 @@ Skill proposes `lite`, `brief`, `quick`, or `spec-driven` mode based on `chosenD
|
|
|
132
132
|
|
|
133
133
|
**Pack required:** `workflows` AND an active project pointer is set (`oat config get activeProject`) AND its `state.md` is readable.
|
|
134
134
|
**Trigger phrases:** "fold this into the active project", "this is feedback for the active project", "integrate this into design", "add this to discovery", explicit "for the active project" mention. Also offered as the first option when the active-project 3-way router fires after convergence (related → fold-back).
|
|
135
|
-
**Required template fields:** which artifact (`plan.md` for lite and
|
|
135
|
+
**Required template fields:** which artifact (`plan.md` for lite, brief, and goal; for import `design.md` or `discovery.md` when present, else `plan.md`; otherwise `design.md` if exists, else `discovery.md`; user signal can override), the synthesized payload's `chosenDirection`, key decisions, `transcriptSessionNote` (transcript appendix). Template: appended in-place using `## Brainstorming Update: YYYY-MM-DD — <topic>` heading.
|
|
136
136
|
**Optional template fields:** `openQuestions`, `nextSteps` — appended if surfaced during convergence.
|
|
137
137
|
**Confirmation pattern:** `minimal` (which artifact + dirty-tree handling)
|
|
138
138
|
|
|
@@ -167,10 +167,13 @@ Skill name resolved per workflow mode + PR status (read from `state.md` frontmat
|
|
|
167
167
|
| lite | none / closed | `oat-project-lite` |
|
|
168
168
|
| import | none / closed | `oat-project-import-plan` |
|
|
169
169
|
| brief | none / closed | `oat-project-brief` |
|
|
170
|
+
| goal | none / closed | `oat-project-goal` |
|
|
170
171
|
| any mode | open (`oat_pr_status: open`) | `oat-project-revise` |
|
|
171
172
|
|
|
172
173
|
For brief, `oat-project-brief` is the target while the brief is still in planning (`oat_phase: plan`) and `oat-project-implement` once implementation has started; the handoff prompt asks for new or amended phases instead of tasks.
|
|
173
174
|
|
|
175
|
+
For goal, `oat-project-goal` is the target (an amendment during authoring or at re-alignment), or `oat-project-implement` for an update inside the active milestone's approved Outcomes and Approach. With an open PR, the goal handoff to `oat-project-revise` names the target milestone and delivery (`<mNN>/<dNN>`, from the `oat_deliveries` entry whose member URL is `oat_pr_url`), because revise requires an explicit target in goal mode.
|
|
176
|
+
|
|
174
177
|
After printing the prompt, the skill stops. The user runs the plan-authoring skill at their own pace. The brainstorming skill never auto-chains into plan authoring — the deliberate transition is the point.
|
|
175
178
|
|
|
176
179
|
**If user wants to keep brainstorming after this is offered:** return to flow with destination = fold-back. Skill probes for richer chosen direction or key decisions, since these become the appended section and read poorly when shallow. Re-run preflight `git status` when convergence resumes — the working tree may have changed mid-conversation.
|
|
@@ -6,7 +6,7 @@ disable-model-invocation: false
|
|
|
6
6
|
user-invocable: true
|
|
7
7
|
allowed-tools: Read, Glob, Grep, AskUserQuestion
|
|
8
8
|
metadata:
|
|
9
|
-
version: 1.0.
|
|
9
|
+
version: 1.0.6
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# OAT Docs
|
|
@@ -146,7 +146,7 @@ Based on the docs, here's how OAT project workflows work: [answer]
|
|
|
146
146
|
You can read more in `workflows/projects/lifecycle.md`.
|
|
147
147
|
|
|
148
148
|
Would you like me to:
|
|
149
|
-
- Start a new project? (I'd invoke oat-project-lite for single-sitting work, oat-project-brief for one delivery planned as a Project Brief, or oat-project-quick-start for a larger quick workflow)
|
|
149
|
+
- Start a new project? (I'd invoke oat-project-lite for single-sitting work, oat-project-brief for one delivery planned as a Project Brief, oat-project-goal for an outcome delivered over several milestones, or oat-project-quick-start for a larger quick workflow)
|
|
150
150
|
- Check your current project status? (I'd read your active project's state.md)
|
|
151
151
|
```
|
|
152
152
|
|
|
@@ -174,9 +174,13 @@ Brief mode is a fourth option for one delivery whose design you can agree in
|
|
|
174
174
|
conversation:
|
|
175
175
|
oat-project-brief <project-name> "project description"
|
|
176
176
|
|
|
177
|
+
Goal mode is a fifth option for an outcome delivered over several milestones:
|
|
178
|
+
oat-project-goal <project-name> "project description"
|
|
179
|
+
|
|
177
180
|
Lite combines the interview and requirements contract in one plan for a
|
|
178
181
|
single sitting. Brief writes one reviewed Project Brief whose phases carry
|
|
179
|
-
intent and exit evidence instead of tasks
|
|
182
|
+
intent and exit evidence instead of tasks; goal groups those phases into
|
|
183
|
+
milestones that are delivered and re-aligned in turn. Quick mode goes straight from
|
|
180
184
|
discovery to plan. Spec-driven mode adds formal spec and design phases. If you invoke quick mode with only a
|
|
181
185
|
project name, it should ask you for the missing project description
|
|
182
186
|
before discovery starts.
|
|
@@ -6,7 +6,7 @@ disable-model-invocation: true
|
|
|
6
6
|
allowed-tools: Read, Write, Glob, Grep, Bash(git:*), AskUserQuestion, Task
|
|
7
7
|
user-invocable: true
|
|
8
8
|
metadata:
|
|
9
|
-
version: 1.6.
|
|
9
|
+
version: 1.6.5
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Review Backlog
|
|
@@ -256,7 +256,7 @@ This step mirrors the **Project Kickoff Handoffs** section of the pjm instructio
|
|
|
256
256
|
**For each item in the agreed kickoff stack**, write or refresh `.oat/repo/pjm/handoffs/<BL-id>.md` with:
|
|
257
257
|
|
|
258
258
|
- the backlog item reference — its ID **and** human-readable title **and** path (never a bare ID);
|
|
259
|
-
- the recommended project mode (`oat-project-lite` for single-sitting work, `oat-project-brief` for one delivery planned as a Project Brief, `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
|
+
- the recommended project mode (`oat-project-lite` for single-sitting work, `oat-project-brief` for one delivery planned as a Project Brief, `oat-project-goal` for an outcome delivered over several milestones, `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;
|
|
260
260
|
- authoritative input pointers (research directories, decision records, code paths);
|
|
261
261
|
- repo conventions and verification gates the item file does not restate;
|
|
262
262
|
- a close-out section requiring (a) the **Backlog Lifecycle** — `oat backlog archive <id> --summary "outcome" --json` — in the same PR that ships the item, and (b) filesystem deletion of its owned handoff. Consume the complete returned `affectedPaths`, append the tracked handoff deletion, format existing text with the repository command, and commit the exact list via `oat internal commit-paths` with a unique retained identity and enabled hooks; stop if unavailable or blocked/failed. Include both old/new item names, ledger, index and rewritten references; preserve unrelated staged/unstaged work.
|
|
@@ -6,7 +6,7 @@ disable-model-invocation: true
|
|
|
6
6
|
user-invocable: true
|
|
7
7
|
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Task
|
|
8
8
|
metadata:
|
|
9
|
-
version: 1.0.
|
|
9
|
+
version: 1.0.21
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Autonomous OAT Project
|
|
@@ -227,6 +227,7 @@ Select the earliest incomplete lifecycle owner:
|
|
|
227
227
|
| No project yet | Continue to Step 2, then invoke the selected creation skill |
|
|
228
228
|
| Lite plan incomplete | `oat-project-lite` |
|
|
229
229
|
| Brief not yet reviewed and approved | `oat-project-brief` |
|
|
230
|
+
| Existing goal project (`oat_workflow_mode: goal`) | Stop at a product-judgment boundary: goal is not autonomous |
|
|
230
231
|
| Quick-mode discovery, optional design, or plan incomplete | `oat-project-quick-start` |
|
|
231
232
|
| Spec-driven discovery incomplete | `oat-project-discover` |
|
|
232
233
|
| Spec-driven design/spec incomplete | `oat-project-design` |
|
|
@@ -303,8 +304,13 @@ For a new goal, choose mode as a rigor selector:
|
|
|
303
304
|
sequential implementation phase.
|
|
304
305
|
- **Brief:** use when the goal is one delivery whose outcome and design can be
|
|
305
306
|
settled from evidence and recorded in one reviewed Project Brief, with
|
|
306
|
-
phases of intent and exit evidence instead of a pre-approved task plan.
|
|
307
|
-
|
|
307
|
+
phases of intent and exit evidence instead of a pre-approved task plan.
|
|
308
|
+
- **Goal is excluded.** Never select `goal` for a new project, even when the
|
|
309
|
+
outcome needs several deliveries: each milestone's approval, re-alignment
|
|
310
|
+
and the terminal declaration need the user (`GOAL-11` through `GOAL-13` in
|
|
311
|
+
the autonomy contract), so an autonomous run cannot carry a goal end to end.
|
|
312
|
+
Choose brief for the first delivery, or stop at a product-judgment boundary
|
|
313
|
+
when one delivery cannot honestly represent the outcome.
|
|
308
314
|
|
|
309
315
|
Base the choice on uncertainty, integration risk, architecture decisions,
|
|
310
316
|
reversibility, and review needs—not task count. Record the chosen mode and
|