@open-agent-toolkit/cli 0.3.18 → 0.3.19
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 +81 -3
- package/assets/agents/oat-reviewer.md +15 -5
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/reference/cli-reference.md +8 -5
- package/assets/docs/reference/oat-directory-structure.md +1 -0
- package/assets/docs/reference/project-artifacts.md +17 -1
- package/assets/docs/reference/project-state-machine.md +19 -4
- package/assets/docs/skills/brainstorm.md +2 -1
- package/assets/docs/skills/index.md +1 -0
- package/assets/docs/workflows/advanced/autonomy.md +9 -1
- package/assets/docs/workflows/advanced/workflow-gates.md +11 -6
- package/assets/docs/workflows/approvals-and-automation.md +13 -8
- package/assets/docs/workflows/choose-workflow.md +16 -8
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +8 -3
- package/assets/docs/workflows/projects/closeout/pr-flow.md +2 -0
- package/assets/docs/workflows/projects/execution/execution-skills.md +14 -2
- package/assets/docs/workflows/projects/execution/implementation-execution.md +15 -0
- package/assets/docs/workflows/projects/execution/picking-up-projects.md +10 -1
- package/assets/docs/workflows/projects/lifecycle.md +73 -9
- package/assets/docs/workflows/projects/planning/hill-checkpoints.md +18 -1
- package/assets/docs/workflows/projects/planning/planning-skills.md +11 -10
- package/assets/docs/workflows/projects/planning/starting-projects.md +92 -20
- package/assets/docs/workflows/projects/reviews/index.md +15 -2
- 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 +33 -9
- package/assets/skills/oat-brainstorm/references/destinations.md +9 -4
- package/assets/skills/oat-docs/SKILL.md +9 -4
- package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
- package/assets/skills/oat-project-autonomous/SKILL.md +14 -8
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +17 -2
- package/assets/skills/oat-project-brief/SKILL.md +592 -0
- package/assets/skills/oat-project-brief/references/brief-contract.md +294 -0
- package/assets/skills/oat-project-brief/references/docs/autonomy-contract.md +393 -0
- package/assets/skills/oat-project-brief/references/docs/gate-approval-record.md +84 -0
- package/assets/skills/oat-project-capture/SKILL.md +2 -2
- package/assets/skills/oat-project-complete/SKILL.md +7 -2
- package/assets/skills/oat-project-discover/SKILL.md +3 -2
- package/assets/skills/oat-project-dispatch-subagents/SKILL.md +9 -1
- package/assets/skills/oat-project-document/SKILL.md +11 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +17 -2
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +40 -0
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +17 -2
- package/assets/skills/oat-project-implement/references/docs/gate-approval-record.md +4 -0
- package/assets/skills/oat-project-implement/references/phase-execution.md +166 -1
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +97 -3
- package/assets/skills/oat-project-import-plan/SKILL.md +5 -1
- package/assets/skills/oat-project-lite/SKILL.md +4 -1
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +17 -2
- package/assets/skills/oat-project-new/SKILL.md +5 -1
- package/assets/skills/oat-project-next/SKILL.md +31 -4
- package/assets/skills/oat-project-next/references/docs/gate-approval-record.md +4 -0
- package/assets/skills/oat-project-plan/SKILL.md +12 -2
- package/assets/skills/oat-project-plan-writing/SKILL.md +6 -4
- package/assets/skills/oat-project-pr-final/SKILL.md +15 -3
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +17 -2
- package/assets/skills/oat-project-pr-progress/SKILL.md +31 -4
- package/assets/skills/oat-project-progress/SKILL.md +30 -8
- package/assets/skills/oat-project-progress/references/docs/gate-approval-record.md +4 -0
- package/assets/skills/oat-project-promote-spec-driven/SKILL.md +2 -2
- package/assets/skills/oat-project-quick-start/SKILL.md +60 -1
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +17 -2
- package/assets/skills/oat-project-quick-start/references/docs/gate-approval-record.md +4 -0
- package/assets/skills/oat-project-reconcile/SKILL.md +65 -3
- package/assets/skills/oat-project-review-provide/SKILL.md +331 -12
- package/assets/skills/oat-project-review-receive/SKILL.md +86 -1
- package/assets/skills/oat-project-revise/SKILL.md +27 -4
- package/assets/skills/oat-project-summary/SKILL.md +95 -2
- package/assets/skills/oat-wave-execute/SKILL.md +3 -2
- package/assets/templates/implementation-brief.md +165 -0
- package/assets/templates/plan-brief.md +140 -0
- package/assets/templates/plan.md +1 -1
- package/assets/templates/state.md +8 -2
- package/dist/commands/project/new/scaffold.d.ts +1 -1
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +35 -7
- package/dist/commands/project/promote/promote.d.ts +32 -1
- package/dist/commands/project/promote/promote.d.ts.map +1 -1
- package/dist/commands/project/promote/promote.js +562 -5
- package/dist/commands/project/validate-plan/frontmatter.d.ts +12 -0
- package/dist/commands/project/validate-plan/frontmatter.d.ts.map +1 -0
- package/dist/commands/project/validate-plan/frontmatter.js +27 -0
- package/dist/commands/project/validate-plan/index.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/index.js +52 -18
- package/dist/commands/project/validate-plan/profiles.d.ts +54 -0
- package/dist/commands/project/validate-plan/profiles.d.ts.map +1 -0
- package/dist/commands/project/validate-plan/profiles.js +269 -0
- package/dist/commands/project/validate-plan/validate-plan.d.ts +3 -19
- package/dist/commands/project/validate-plan/validate-plan.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/validate-plan.js +5 -82
- 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 +51 -2
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +3 -0
- package/package.json +2 -2
|
@@ -7,7 +7,7 @@ disable-model-invocation: true
|
|
|
7
7
|
user-invocable: true
|
|
8
8
|
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
9
9
|
metadata:
|
|
10
|
-
version: 1.4.
|
|
10
|
+
version: 1.4.21
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Import External Plan
|
|
@@ -274,6 +274,10 @@ commands or manual checks. Preserve the external source at
|
|
|
274
274
|
all `oat_import_*` fields; accepting lite changes execution mode, not import
|
|
275
275
|
provenance.
|
|
276
276
|
|
|
277
|
+
Import never converts a plan to brief mode: an imported plan already carries
|
|
278
|
+
tasks, while a brief carries phases without tasks. To author a brief, start
|
|
279
|
+
`oat-project-brief` instead.
|
|
280
|
+
|
|
277
281
|
### Step 4: Update Plan Metadata
|
|
278
282
|
|
|
279
283
|
Set frontmatter in `"$PROJECT_PATH/plan.md"`:
|
|
@@ -7,7 +7,7 @@ disable-model-invocation: true
|
|
|
7
7
|
user-invocable: true
|
|
8
8
|
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
9
9
|
metadata:
|
|
10
|
-
version: 1.1.
|
|
10
|
+
version: 1.1.9
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Lite Project
|
|
@@ -67,6 +67,9 @@ the row. Never persist either autonomy environment signal.
|
|
|
67
67
|
|
|
68
68
|
- If the work cannot fit one sitting, promote the authored plan to quick mode.
|
|
69
69
|
- If a design decision is not safely resolvable, promote rather than invent it.
|
|
70
|
+
- Lite never converts to brief. Work that needs several phases with a design
|
|
71
|
+
agreed in conversation belongs in `oat-project-brief`; lite promotion still
|
|
72
|
+
targets quick.
|
|
70
73
|
- If implementation code is about to change, stop and hand off to
|
|
71
74
|
`oat-project-implement`.
|
|
72
75
|
|
|
@@ -165,6 +165,17 @@ remains.
|
|
|
165
165
|
| LITE-08 | `oat-project-lite` | Plan artifact-review findings | Accept offered Medium/Low fixes | Apply only unambiguous canonicalization fixes; never rewrite source intent; unresolved Critical or ambiguity stops | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row and lite disposition |
|
|
166
166
|
| LITE-09 | `oat-project-lite` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply the configured failure semantics; `prompt` becomes a reported boundary | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition |
|
|
167
167
|
| LITE-10 | `oat-project-lite` | Configured lifecycle gate posture | Keep or disable each configured lifecycle gate | Preserve an existing override map; otherwise preserve configured gates and write no override in non-interactive planning | `auto-resolve` / `boundary:repository-policy-approval` | `state.md` override map or recorded non-interactive preservation |
|
|
168
|
+
| BRIEF-01 | `oat-project-brief` | Inherited dirty tree | Commit, proceed, or abort | Proceed without staging unrelated files; a required destructive cleanup stops | `auto-resolve` / `boundary:destructive-change-risk` | Brief preflight note |
|
|
169
|
+
| BRIEF-02 | `oat-project-brief` | Missing name or description | Ask for required startup input | Derive a slug from the explicit goal and use the goal as the description; stop if the goal is not substantive | `auto-resolve` / `boundary:product-judgment` | Brief Goal and project path |
|
|
170
|
+
| BRIEF-03 | `oat-project-brief` | Alignment interview | Ask readiness rounds until the user accepts the design | Settle facts from repository evidence, adopt the supported recommendation for each decision, and record it; material product or design ambiguity stops | `auto-resolve` / `boundary:product-judgment` | `plan.md` Approach, Decisions, and Known Unknowns |
|
|
171
|
+
| BRIEF-04 | `oat-project-brief` | Workflow fit | Continue brief, promote to quick, or split the work | Apply the documented content heuristic; when an implementation-affecting design question cannot be settled from evidence, promote through `oat project promote --to quick` only after the Step 3 brief is validated and committed, and before that abandon the scaffold and start `oat-project-quick-start`; several independent deliveries stop; otherwise record why brief fits | `auto-resolve` / `boundary:product-judgment` | `plan.md` Decisions and promotion result |
|
|
172
|
+
| BRIEF-05 | `oat-project-brief` | Dispatch-ladder scope | Choose shared, local, user, or no adoption | Check existing user, local, then authorized shared config in that fixed order without prompting or provenance-based reordering; skip scalar-blocked candidates, stop before writing only if none is compatible, then adopt once and re-run preflight | `auto-resolve` / `boundary:repository-policy-approval` | File existence, compatibility evidence, selected scope, and recheck |
|
|
173
|
+
| BRIEF-06 | `oat-project-brief` | Project dispatch policy | Choose a named ceiling, uncapped, inherit, or unresolved | Preserve an explicit/configured value; unresolved non-interactive state blocks | `boundary:repository-policy-approval` | `state.md` policy or resolver diagnostic |
|
|
174
|
+
| BRIEF-07 | `oat-project-brief` | Optional phase-gate setup | Choose all, selected, or disabled | Use the shared non-interactive contract: leave absent and disabled unless an explicit value already exists | `auto-resolve` | Phase-gate setup status |
|
|
175
|
+
| BRIEF-08 | `oat-project-brief` | Configured lifecycle gate posture | Keep or disable each configured lifecycle gate | Preserve an existing override map; otherwise preserve configured gates and write no override in non-interactive planning | `auto-resolve` / `boundary:repository-policy-approval` | `state.md` override map or recorded non-interactive preservation |
|
|
176
|
+
| BRIEF-09 | `oat-project-brief` | Brief artifact-review findings | Fold minor fixes; take material findings to the user | Apply only unambiguous artifact-local fixes and re-review; never rewrite agreed intent; unresolved Critical findings or material ambiguity stop | `auto-resolve` / `boundary:unresolved-critical-findings` | Brief review row and residual-finding disposition |
|
|
177
|
+
| BRIEF-10 | `oat-project-brief` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply the configured failure semantics; `prompt` becomes a reported boundary; persist the outcome as `oat_brief_gate` | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition, and `oat_brief_gate` |
|
|
178
|
+
| BRIEF-11 | `oat-project-brief` | Brief approval | Approve, revise, or promote | Approve the reviewed brief and record the approval line; contradictory or materially incomplete outcomes stop | `auto-resolve` / `boundary:product-judgment` | Approval line in `plan.md` |
|
|
168
179
|
| DISC-01 | `oat-project-discover` | Active-project confirmation or switch | Confirm the active project or choose another | Use only an explicitly supplied or valid active project; otherwise stop without guessing | `boundary:product-judgment` | Resolved project path |
|
|
169
180
|
| DISC-02 | `oat-project-discover` | Stale knowledge | Continue or refresh | Refresh through the canonical knowledge workflow when available; otherwise record staleness and continue only when it does not create material ambiguity | `auto-resolve` / `boundary:product-judgment` | Discovery evidence note |
|
|
170
181
|
| DISC-03 | `oat-project-discover` | Gray areas and clarifying questions | Select areas and answer questions | Select risk-relevant areas from evidence and record supported answers/assumptions; material ambiguity stops | `auto-resolve` / `boundary:product-judgment` | `discovery.md` Q&A and assumptions |
|
|
@@ -269,7 +280,7 @@ assertions, vendored copies, and other unreachable occurrences to `NG`. Add a
|
|
|
269
280
|
new inventory row when no existing gate ID describes the behavior.
|
|
270
281
|
|
|
271
282
|
`packages/cli/src/validation/autonomy-gate-inventory.test.ts` is the CI
|
|
272
|
-
backstop. It derives the
|
|
283
|
+
backstop. It derives the seventeen scan roots from the inventory, scans Markdown
|
|
273
284
|
recursively, and matches each site by file plus a stable semantic key derived
|
|
274
285
|
from its normalized heading and text, never by line number. Its failure output
|
|
275
286
|
provides the key to add or replace. The committed line-number comparison below
|
|
@@ -301,7 +312,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
301
312
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `c264a64398f0 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
302
313
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
303
314
|
| `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `fffe5eea5ebd -> NG`; `e7dc6fdc4eb3 -> COMPLETE-01`; `e5460e437299 -> NG`; `882b61c9096c -> NG`; `9ffa1c752505 -> NG`; `8c5e599f6bac -> NG` |
|
|
304
|
-
| `oat-project-review-provide/SKILL.md` | `1f4b981cac8b -> NG`; `adaeca152bb2 -> NG`; `2f7c201c3c06 -> NG`; `88f79700afdc -> NG`; `655d61df0a8f -> NG`; `efafde9ef5a0 -> NG`; `d2a3861d6323 -> REVIEWPROVIDE-02`; `65f5b9cf49cd -> REVIEWPROVIDE-04`; `962cb38d246a -> REVIEWPROVIDE-04`; `1a568483ba0b -> REVIEWPROVIDE-04`; `610e27edfe85 -> REVIEWPROVIDE-04`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `79c8103e8656 -> NG`; `4fbd78337e33 -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG`
|
|
315
|
+
| `oat-project-review-provide/SKILL.md` | `1f4b981cac8b -> NG`; `adaeca152bb2 -> NG`; `2f7c201c3c06 -> NG`; `88f79700afdc -> NG`; `655d61df0a8f -> NG`; `efafde9ef5a0 -> NG`; `d2a3861d6323 -> REVIEWPROVIDE-02`; `65f5b9cf49cd -> REVIEWPROVIDE-04`; `962cb38d246a -> REVIEWPROVIDE-04`; `1a568483ba0b -> REVIEWPROVIDE-04`; `610e27edfe85 -> REVIEWPROVIDE-04`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `e3c08ecdab17 -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `79c8103e8656 -> NG`; `4fbd78337e33 -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
|
|
305
316
|
| `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `49ed2780983b -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `1d710fb4cc66 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `92578f7df686 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `594bbf70346c -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `e4c0625439f8 -> REVIEWRECEIVE-04`; `505ad8389c0a -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `e30e06f39281 -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
|
|
306
317
|
| `oat-project-review-provide/SKILL.md` | `2e794bf4fc4a -> REVIEWPROVIDE-08`; `5441ab977b46 -> REVIEWPROVIDE-08` |
|
|
307
318
|
| `oat-project-review-provide/SKILL.md` | `f4238ebb1887 -> NG`; `0360fa2db9a5 -> NG` |
|
|
@@ -317,6 +328,10 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
317
328
|
| `oat-project-plan/SKILL.md` | `f99e44b39932 -> PLAN-12`; `7e6a9854504b -> NG` |
|
|
318
329
|
| `oat-project-complete/SKILL.md` | `0177956707aa -> NG`; `1234c29d1999 -> NG`; `3c0b26f0ff1c -> NG`; `8cc1fa5aab1e -> COMPLETE-01`; `4c209fbb4716 -> COMPLETE-01`; `02e4175e1171 -> COMPLETE-01`; `d698d4f98e76 -> COMPLETE-01`; `9f86a7218d93 -> COMPLETE-01`; `024713698d9a -> COMPLETE-01`; `c327995053fa -> COMPLETE-01`; `61f81d4ec7c1 -> COMPLETE-01`; `14fb2e56809f -> COMPLETE-01`; `7d4ff668744d -> COMPLETE-01`; `502a6c141784 -> COMPLETE-01`; `fb7e2db356af -> COMPLETE-01`; `f73f8476360a -> NG`; `1e15f420039f -> NG`; `cc234032ddd7 -> NG`; `1dd54687229b -> NG`; `fc05c8303cd2 -> NG`; `24be721d635e -> NG` |
|
|
319
330
|
| `oat-project-lite/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
331
|
+
| `oat-project-brief/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
332
|
+
| `oat-project-brief/references/docs/gate-approval-record.md` | `* -> NG` |
|
|
333
|
+
| `oat-project-brief/SKILL.md` | `3d101cb200b3 -> NG`; `494f08a25a22 -> NG`; `ae6d9bdd3cc0 -> NG`; `beeb946393dc -> NG`; `83b5e9396197 -> NG`; `709dd744d813 -> NG`; `4e1222d879f2 -> BRIEF-03`; `a9dd42731b88 -> BRIEF-04`; `7bff55da6726 -> NG`; `c5fb9ce4b27d -> NG`; `e2e809154403 -> BRIEF-10`; `93d6f62c5dac -> BRIEF-10`; `92da21e87ab4 -> NG`; `304c39a13de5 -> BRIEF-10`; `06490315c2f9 -> BRIEF-10`; `0b85a5738ca5 -> BRIEF-11`; `f34dfb297a83 -> NG`; `06179c668e16 -> BRIEF-11`; `5ef3a708eed9 -> BRIEF-11`; `1c798da87f49 -> BRIEF-11`; `f73421b4937f -> NG`; `6e3e97f9cbcf -> NG`; `9b3abe616c5d -> BRIEF-08` |
|
|
334
|
+
| `oat-project-brief/references/brief-contract.md` | `5359cae29ca8 -> NG`; `b417d06e35b4 -> BRIEF-03`; `964e9fc49596 -> NG`; `02270b5b835d -> BRIEF-11`; `e1cb9cbbd308 -> NG` |
|
|
320
335
|
| `oat-project-implement/references/completion-and-closeout.md` | `87f1424a8692 -> NG`; `6b1ec05182f0 -> IMPLEMENT-11`; `e6d696a27c91 -> NG`; `c77f8ccb52ad -> NG`; `48de2614c0ba -> IMPLEMENT-11`; `32d53f5212e5 -> IMPLEMENT-11`; `7cdb4a9c57b7 -> IMPLEMENT-11`; `16ffc0aa099b -> IMPLEMENT-11`; `d6868ea10b3f -> IMPLEMENT-11`; `4f05ff5567be -> IMPLEMENT-11`; `c70b47ae7a6d -> IMPLEMENT-11`; `5fafd093b58e -> NG`; `21ceaf7e658a -> NG`; `249427a9f475 -> NG`; `8a7ec13a9b7c -> NG`; `9aeb7fce2012 -> IMPLEMENT-18`; `f11a7cdda220 -> IMPLEMENT-18`; `4523ac029152 -> NG`; `6e87b08c4046 -> NG`; `baa6052c7f0a -> IMPLEMENT-18`; `27d3fad116b1 -> IMPLEMENT-18`; `2cfbeb4388a5 -> IMPLEMENT-18`; `c56ea56a56db -> NG`; `43e2e3c1380d -> IMPLEMENT-17`; `b49690277fb5 -> NG`; `df12304d6a36 -> NG`; `52eacac11fef -> IMPLEMENT-17`; `60092df6b17b -> IMPLEMENT-17`; `361872c6b00e -> IMPLEMENT-17`; `d2bc711a75fb -> IMPLEMENT-17` |
|
|
321
336
|
| `oat-project-quick-start/SKILL.md` | `aa560418765a -> QS-13`; `40ddcac880ef -> NG` |
|
|
322
337
|
| `oat-project-plan/SKILL.md` | `2b32bc5e9fea -> NG`; `58cc6b0adf97 -> PLAN-13`; `9fba3b40b522 -> NG` |
|
|
@@ -6,7 +6,7 @@ disable-model-invocation: true
|
|
|
6
6
|
user-invocable: true
|
|
7
7
|
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
8
8
|
metadata:
|
|
9
|
-
version: 1.4.
|
|
9
|
+
version: 1.4.4
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# New OAT Project
|
|
@@ -73,6 +73,10 @@ Use the CLI scaffolder:
|
|
|
73
73
|
oat project new "{project-name}" --mode spec-driven [--scope shared|local|synced]
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
+
This skill scaffolds spec-driven projects only. Quick, lite, and brief projects
|
|
77
|
+
start from their entry skills (`oat-project-quick-start`, `oat-project-lite`,
|
|
78
|
+
`oat-project-brief`), which run `oat project new --mode <mode>` themselves.
|
|
79
|
+
|
|
76
80
|
Optional flags:
|
|
77
81
|
|
|
78
82
|
- `--scope shared|local|synced` (omitting it uses `projects.defaultScope`, whose default is `synced`)
|
|
@@ -5,7 +5,7 @@ disable-model-invocation: true
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
allowed-tools: Read, Glob, Grep, Bash(git:*), Bash(oat:*), Skill
|
|
7
7
|
metadata:
|
|
8
|
-
version: 1.1.
|
|
8
|
+
version: 1.1.6
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Project Next
|
|
@@ -108,6 +108,7 @@ projects, and synced records whose detached checkout is absent.
|
|
|
108
108
|
- `oat-project-new` — Create a spec-driven project
|
|
109
109
|
- `oat-project-quick-start` — Start a quick workflow project
|
|
110
110
|
- `oat-project-lite` — Start a lite workflow project
|
|
111
|
+
- `oat-project-brief` — Start a brief workflow project
|
|
111
112
|
- `oat-project-import-plan` — Import an external plan
|
|
112
113
|
- **STOP.** Do not attempt routing.
|
|
113
114
|
|
|
@@ -130,7 +131,7 @@ Read `"$PROJECT_PATH/state.md"` frontmatter and extract:
|
|
|
130
131
|
| ------------------------- | -------------------------------------------------------------------------------------------- |
|
|
131
132
|
| `oat_phase` | Current lifecycle position (discovery, spec, design, plan, implement) |
|
|
132
133
|
| `oat_phase_status` | Phase completion state (in_progress, complete, pr_open) |
|
|
133
|
-
| `oat_workflow_mode` | Routing table selection (spec-driven, quick, import, lite). Default: `spec-driven`
|
|
134
|
+
| `oat_workflow_mode` | Routing table selection (spec-driven, quick, import, lite, brief). Default: `spec-driven` |
|
|
134
135
|
| `oat_hill_checkpoints` | Which phases require HiLL approval |
|
|
135
136
|
| `oat_hill_completed` | Which HiLL gates have been passed |
|
|
136
137
|
| `oat_blockers` | Informational warnings (not routing gates) |
|
|
@@ -220,6 +221,9 @@ Phase-to-skill mapping for HiLL override:
|
|
|
220
221
|
| design | `oat-project-design` |
|
|
221
222
|
| plan | `oat-project-plan` |
|
|
222
223
|
|
|
224
|
+
In brief mode the `plan` row maps to `oat-project-brief`, which owns brief
|
|
225
|
+
planning; spec-driven planning is never a brief project's current-phase skill.
|
|
226
|
+
|
|
223
227
|
Note: a `spec` HiLL phase only appears in legacy projects scaffolded before requirements confirmation was folded into `oat-project-design`. New projects scaffold with `['discovery', 'design']` HiLL checkpoints, so `spec` falls through to `oat-project-design` here as a graceful migration. The standalone `oat-project-spec` skill remains available as an opt-in for users who want to formalize requirements separately.
|
|
224
228
|
|
|
225
229
|
Note: `implement` is intentionally omitted. Implementation-phase checkpoints are handled by `oat_plan_hill_phases` in plan.md (plan-phase-level gates), not by the workflow-level `oat_hill_checkpoints` in state.md.
|
|
@@ -300,6 +304,19 @@ for a quick project.
|
|
|
300
304
|
| plan | complete | tier 1 | `oat-project-implement` \* |
|
|
301
305
|
| implement | in_progress | — | `oat-project-implement` \* |
|
|
302
306
|
|
|
307
|
+
**Brief Mode:**
|
|
308
|
+
|
|
309
|
+
| Current Phase | Phase Status | Boundary Tier | Target Skill |
|
|
310
|
+
| ------------- | ------------ | ------------- | -------------------------- |
|
|
311
|
+
| plan | in_progress | tier 3 | `oat-project-brief` |
|
|
312
|
+
| plan | in_progress | tier 2 | `oat-project-brief` |
|
|
313
|
+
| plan | complete | tier 1 | `oat-project-implement` \* |
|
|
314
|
+
| implement | in_progress | — | `oat-project-implement` \* |
|
|
315
|
+
|
|
316
|
+
Unlike lite, tier 2 stays with `oat-project-brief`: a brief becomes
|
|
317
|
+
implementation-ready only through its recorded review disposition and single
|
|
318
|
+
approval, which that skill owns. Brief progress counts phase-units, not tasks.
|
|
319
|
+
|
|
303
320
|
\* `oat-project-implement` handles both sequential and parallel execution.
|
|
304
321
|
|
|
305
322
|
### Step 4: Check for Unprocessed Reviews (Review Safety Check)
|
|
@@ -329,6 +346,14 @@ Entry condition: `oat_phase == "implement"` AND (`oat_phase_status == "complete"
|
|
|
329
346
|
|
|
330
347
|
Apply the following checks in priority order. Stop at the first match:
|
|
331
348
|
|
|
349
|
+
**Brief phase-unit guard (brief mode, applied first).** When
|
|
350
|
+
`oat_workflow_mode: brief` and `oat_lifecycle` is not `complete`, read
|
|
351
|
+
`project.progress.phases` from `oat project status --json`. If any phase has
|
|
352
|
+
`provisional: true` or `completed` below `total`, route to
|
|
353
|
+
`oat-project-implement` before every check below and announce: "Incomplete
|
|
354
|
+
phase-units remain in the active scope". A `complete` or `pr_open` phase status
|
|
355
|
+
alone never finalizes a brief project.
|
|
356
|
+
|
|
332
357
|
**5.0: Unresolved implementation exit gate**
|
|
333
358
|
|
|
334
359
|
Before every other post-implementation route, inspect
|
|
@@ -479,7 +504,8 @@ and fall through to 5.3, and do not route to `oat-project-implement` even when
|
|
|
479
504
|
signal here — neither a null current task nor a `complete` or `pr_open`
|
|
480
505
|
`oat_phase_status` is terminal, because an active project reaches both while it
|
|
481
506
|
still owns pending revision work. The guard is workflow-mode independent: it
|
|
482
|
-
applies identically to `spec-driven`, `quick`, `import`, and `
|
|
507
|
+
applies identically to `spec-driven`, `quick`, `import`, `lite`, and `brief`
|
|
508
|
+
projects.
|
|
483
509
|
|
|
484
510
|
For every other `oat_lifecycle` value the check below is unchanged.
|
|
485
511
|
|
|
@@ -529,7 +555,8 @@ Ignore matching rows outside `REVIEWS_SECTION`; they are not review events.
|
|
|
529
555
|
routes directly to `oat-project-pr-final` before the summary check below.
|
|
530
556
|
Announce: "Final review passed — creating final PR". Optional lite summary or
|
|
531
557
|
documentation work is owned by the immutable implementation closeout snapshot,
|
|
532
|
-
not this fallback router.
|
|
558
|
+
not this fallback router. The lite shortcut does not apply to brief projects:
|
|
559
|
+
brief closeout takes 5.5 through 5.7 and never skips the summary.
|
|
533
560
|
|
|
534
561
|
**5.5: Summary not done**
|
|
535
562
|
|
|
@@ -58,6 +58,10 @@ replaces the record.
|
|
|
58
58
|
record is current.
|
|
59
59
|
- **`oat_quick_start_gate`** (`oat-project-quick-start`, Gate Execution) carries
|
|
60
60
|
exactly the core.
|
|
61
|
+
- **`oat_brief_gate`** (`oat-project-brief`, Gate Execution) carries exactly the
|
|
62
|
+
core, written and read under the same rules as `oat_quick_start_gate`. It is
|
|
63
|
+
absent when no gate is configured, and nothing routes on it: it is provenance
|
|
64
|
+
only.
|
|
61
65
|
|
|
62
66
|
## Reading a quick-start record
|
|
63
67
|
|
|
@@ -6,7 +6,7 @@ disable-model-invocation: true
|
|
|
6
6
|
user-invocable: true
|
|
7
7
|
allowed-tools: Read, Write, Bash(git:*), Bash(oat template:*), Glob, Grep, AskUserQuestion
|
|
8
8
|
metadata:
|
|
9
|
-
version: 1.4.
|
|
9
|
+
version: 1.4.18
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Planning Phase
|
|
@@ -20,7 +20,7 @@ Before a parent-branch commit, verify `oat internal commit-paths --help` succeed
|
|
|
20
20
|
## Prerequisites
|
|
21
21
|
|
|
22
22
|
This skill is the plan authoring path for **spec-driven** projects only. Quick,
|
|
23
|
-
import, and
|
|
23
|
+
import, lite, and brief modes have dedicated entry skills that produce `plan.md`
|
|
24
24
|
directly.
|
|
25
25
|
|
|
26
26
|
Read `oat_workflow_mode` from `{PROJECT_PATH}/state.md` (default: `spec-driven`):
|
|
@@ -29,6 +29,7 @@ Read `oat_workflow_mode` from `{PROJECT_PATH}/state.md` (default: `spec-driven`)
|
|
|
29
29
|
- **`quick`**: **Stop.** Spec-driven planning does not apply here: the quick workflow authors `plan.md` itself and owns it through its own review disposition. Step 1 routes the project by the named **quick plan readiness** predicate instead of assuming the plan is finished.
|
|
30
30
|
- **`import`**: **Stop.** If a normalized `plan.md` exists, tell the user: "Imported plan is ready. Run `oat-project-implement` to begin execution." If no `plan.md` exists, tell the user: "Run `oat-project-import-plan` to import and normalize the external plan first."
|
|
31
31
|
- **`lite`**: **Stop.** Tell the user: "Lite planning is owned by `oat-project-lite`; run it to author or resume the combined plan contract."
|
|
32
|
+
- **`brief`**: **Stop.** Tell the user: "Brief planning is owned by `oat-project-brief`; run it to author or resume the Project Brief."
|
|
32
33
|
|
|
33
34
|
## Plan Format Contract
|
|
34
35
|
|
|
@@ -162,6 +163,15 @@ Exit skill.
|
|
|
162
163
|
|
|
163
164
|
Exit skill.
|
|
164
165
|
|
|
166
|
+
**Mode: `brief`** — **STOP.** Print:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
⚠️ This project uses brief mode. Run `oat-project-brief` to author or resume
|
|
170
|
+
its Project Brief; brief phases carry intent and exit evidence, not tasks.
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Exit skill.
|
|
174
|
+
|
|
165
175
|
**Mode: `import`** — **STOP.** Check if `"$PROJECT_PATH/plan.md"` exists:
|
|
166
176
|
|
|
167
177
|
- If yes: Print: "Imported plan is ready. Run `oat-project-implement` to begin execution."
|
|
@@ -5,7 +5,7 @@ disable-model-invocation: true
|
|
|
5
5
|
user-invocable: false
|
|
6
6
|
allowed-tools: Read, Write, Glob, Grep
|
|
7
7
|
metadata:
|
|
8
|
-
version: 1.2.
|
|
8
|
+
version: 1.2.36
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Plan Writing Contract
|
|
@@ -87,8 +87,8 @@ then continue without formatting.
|
|
|
87
87
|
## Managed Dispatch Readiness and Review Contract
|
|
88
88
|
|
|
89
89
|
All plan-producing workflows and their artifact reviews use this contract:
|
|
90
|
-
spec-driven planning, quick-start, lite planning,
|
|
91
|
-
provider-plan-via-import.
|
|
90
|
+
spec-driven planning, quick-start, lite planning, brief authoring, imported
|
|
91
|
+
plans, and provider-plan-via-import.
|
|
92
92
|
The contract runs before a plan becomes implementation-ready and immediately
|
|
93
93
|
before each artifact review dispatch.
|
|
94
94
|
|
|
@@ -564,7 +564,7 @@ Every `plan.md` produced or edited by any OAT skill **must** satisfy these invar
|
|
|
564
564
|
|
|
565
565
|
```yaml
|
|
566
566
|
---
|
|
567
|
-
oat_plan_source: spec-driven | quick | imported | lite # origin workflow mode
|
|
567
|
+
oat_plan_source: spec-driven | quick | imported | lite | brief # origin workflow mode
|
|
568
568
|
oat_status: in_progress | complete # plan lifecycle status
|
|
569
569
|
oat_ready_for: null | oat-project-implement # downstream consumer
|
|
570
570
|
# Optional after implementation confirmation:
|
|
@@ -669,11 +669,13 @@ Required inputs vary by workflow mode. The calling skill reads `oat_workflow_mod
|
|
|
669
669
|
| `quick` | `discovery.md` + repo knowledge context | No |
|
|
670
670
|
| `import` | Preserved external source + normalized `plan.md` | No |
|
|
671
671
|
| `lite` | `plan.md` only | No |
|
|
672
|
+
| `brief` | `plan.md` (Project Brief) from the interview | No |
|
|
672
673
|
|
|
673
674
|
- **`spec-driven`**: Plan is derived from a complete design document. All design components must be covered by tasks.
|
|
674
675
|
- **`quick`**: Plan is generated directly from discovery decisions and repo knowledge. No design artifact is required.
|
|
675
676
|
- **`import`**: External plan is preserved in `references/imported-plan.md` and normalized into canonical format. Subsequent edits follow this contract.
|
|
676
677
|
- **`lite`**: `plan.md` is the sole requirements and implementation contract. It carries Summary, Decisions, Assumptions, Out of Scope, and Validation Criteria before one sequential phase; no discovery, spec, or design artifact is required.
|
|
678
|
+
- **`brief`**: `plan.md` is the Project Brief authored by `oat-project-brief`: Goal, Outcomes with intended evidence, Approach, Decisions, Known Unknowns, and `## Phase pNN:` blocks with Intent and Exit evidence instead of tasks. `oat project validate-plan` applies the brief profile. Stable Task IDs, task totals, and the task grammar in this contract do not apply to the brief; execution records live in `implementation.md`, and the Reviews preservation rules apply unchanged.
|
|
677
679
|
|
|
678
680
|
## Resume and Edit Guardrails
|
|
679
681
|
|
|
@@ -5,7 +5,7 @@ disable-model-invocation: false
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
allowed-tools: Read, Write, Bash(awk:*), Bash(gh:*), Bash(git:*), Bash(mktemp:*), Bash(oat:*), Bash(rm:*), Glob, Grep, AskUserQuestion
|
|
7
7
|
metadata:
|
|
8
|
-
version: 1.6.
|
|
8
|
+
version: 1.6.10
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Project PR (Final)
|
|
@@ -29,6 +29,9 @@ Generate a PR-ready summary grounded in canonical OAT artifacts, including:
|
|
|
29
29
|
- In `spec-driven` mode: `{PROJECT_PATH}/spec.md` and `{PROJECT_PATH}/design.md` are required
|
|
30
30
|
- In `quick`/`import`/`lite` mode: `spec.md`/`design.md` are optional; lite
|
|
31
31
|
proceeds with a reduced assurance note because plan.md is its full contract
|
|
32
|
+
- In `brief` mode: `plan.md` (the Project Brief) and `implementation.md` are
|
|
33
|
+
required, `discovery.md`/`spec.md`/`design.md` are absent by design, and
|
|
34
|
+
`summary.md` is required exactly as in quick mode
|
|
32
35
|
|
|
33
36
|
**Required (recommended to proceed):**
|
|
34
37
|
|
|
@@ -177,7 +180,7 @@ If `WORKFLOW_MODE=spec-driven`, also require:
|
|
|
177
180
|
ls "$PROJECT_PATH/spec.md" "$PROJECT_PATH/design.md" 2>/dev/null
|
|
178
181
|
```
|
|
179
182
|
|
|
180
|
-
If `WORKFLOW_MODE` is `quick`, `import`, or `
|
|
183
|
+
If `WORKFLOW_MODE` is `quick`, `import`, `lite`, or `brief`, proceed without spec/design and include a reduced assurance note in the PR body. For lite, explicitly note that plan.md is the reduced artifact contract and the absence of discovery/spec/design is intentional. For brief, the note names the Project Brief (`plan.md`) as the requirements contract, audited against its numbered Outcomes, with the phase journal as the evidence record; the absence of discovery/spec/design is intentional.
|
|
181
184
|
|
|
182
185
|
### Step 2: Check Final Review Status
|
|
183
186
|
|
|
@@ -254,6 +257,10 @@ only for the remaining available artifacts; do not invoke
|
|
|
254
257
|
`oat-project-summary` for lite. This branch ends Step 3.0 and jumps directly to
|
|
255
258
|
Step 3.1.
|
|
256
259
|
|
|
260
|
+
Brief projects take the non-lite branch below: `summary.md` is generated or
|
|
261
|
+
refreshed exactly as in quick mode, with freshness decided by
|
|
262
|
+
`oat_summary_phase_fingerprint` (`oat-project-summary` Step 3).
|
|
263
|
+
|
|
257
264
|
**Non-lite branch only:** If the route contract sets
|
|
258
265
|
`GENERIC_SUMMARY_REACHABLE=true`, check if `{PROJECT_PATH}/summary.md` exists:
|
|
259
266
|
|
|
@@ -277,6 +284,11 @@ Read:
|
|
|
277
284
|
- `{PROJECT_PATH}/discovery.md` (recommended for quick mode)
|
|
278
285
|
- `{PROJECT_PATH}/references/imported-plan.md` (recommended for import mode)
|
|
279
286
|
|
|
287
|
+
In brief mode `plan.md` is the Project Brief (Goal, Outcomes, Approach,
|
|
288
|
+
Constraints and Out of Scope, Decisions, phases, and Reviews) and
|
|
289
|
+
`implementation.md` is the per-phase journal; spec, design, and discovery are
|
|
290
|
+
absent by design and are not read.
|
|
291
|
+
|
|
280
292
|
If `implementation.md` exists, check for a filled `## Final Summary (for PR/docs)` section:
|
|
281
293
|
|
|
282
294
|
- If missing or obviously empty, warn the user that PR/docs quality will suffer and recommend:
|
|
@@ -388,7 +400,7 @@ oat_project: { PROJECT_PATH }
|
|
|
388
400
|
|
|
389
401
|
## Goals / Non-Goals
|
|
390
402
|
|
|
391
|
-
{brief bullets from available requirement artifacts: spec in spec-driven mode; discovery/import source in quick/import; plan contract in lite}
|
|
403
|
+
{brief bullets from available requirement artifacts: spec in spec-driven mode; discovery/import source in quick/import; plan contract in lite; the brief's Goal, Outcomes, and Constraints and Out of Scope in brief}
|
|
392
404
|
|
|
393
405
|
## Changes
|
|
394
406
|
|