@open-agent-toolkit/cli 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/assets/docs/cli-utilities/workflow-gates.md +69 -8
  2. package/assets/docs/workflows/projects/autonomy.md +20 -6
  3. package/assets/docs/workflows/projects/implementation-execution.md +46 -0
  4. package/assets/docs/workflows/projects/lifecycle.md +29 -6
  5. package/assets/public-package-versions.json +4 -4
  6. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +145 -139
  7. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +145 -139
  8. package/assets/skills/oat-project-implement/SKILL.md +4 -2
  9. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +387 -58
  10. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +145 -139
  11. package/assets/skills/oat-project-next/SKILL.md +59 -18
  12. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +145 -139
  13. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +145 -139
  14. package/assets/skills/oat-wave-execute/SKILL.md +40 -2
  15. package/assets/skills/oat-wave-execute/assets/program-recap.recipe.json +34 -0
  16. package/assets/skills/oat-wave-program/SKILL.md +41 -1
  17. package/assets/templates/state.md +32 -0
  18. package/dist/commands/gate/index.d.ts +1 -0
  19. package/dist/commands/gate/index.d.ts.map +1 -1
  20. package/dist/commands/gate/index.js +5 -1
  21. package/dist/commands/shared/frontmatter.d.ts +1 -1
  22. package/dist/commands/shared/frontmatter.d.ts.map +1 -1
  23. package/dist/commands/shared/frontmatter.js +1 -0
  24. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-next
3
- version: 1.0.9
3
+ version: 1.0.10
4
4
  description: Use when continuing work on the active OAT project. Reads project state, determines the next lifecycle action, and invokes the appropriate skill automatically.
5
5
  disable-model-invocation: true
6
6
  user-invocable: true
@@ -101,14 +101,15 @@ ls -d "$PROJECTS_ROOT"/*/ 2>/dev/null
101
101
 
102
102
  Read `"$PROJECT_PATH/state.md"` frontmatter and extract:
103
103
 
104
- | Field | Used For |
105
- | ---------------------- | ---------------------------------------------------------------------------- |
106
- | `oat_phase` | Current lifecycle position (discovery, spec, design, plan, implement) |
107
- | `oat_phase_status` | Phase completion state (in_progress, complete, pr_open) |
108
- | `oat_workflow_mode` | Routing table selection (spec-driven, quick, import). Default: `spec-driven` |
109
- | `oat_hill_checkpoints` | Which phases require HiLL approval |
110
- | `oat_hill_completed` | Which HiLL gates have been passed |
111
- | `oat_blockers` | Informational warnings (not routing gates) |
104
+ | Field | Used For |
105
+ | ------------------------- | ---------------------------------------------------------------------------- |
106
+ | `oat_phase` | Current lifecycle position (discovery, spec, design, plan, implement) |
107
+ | `oat_phase_status` | Phase completion state (in_progress, complete, pr_open) |
108
+ | `oat_workflow_mode` | Routing table selection (spec-driven, quick, import). Default: `spec-driven` |
109
+ | `oat_hill_checkpoints` | Which phases require HiLL approval |
110
+ | `oat_hill_completed` | Which HiLL gates have been passed |
111
+ | `oat_blockers` | Informational warnings (not routing gates) |
112
+ | `oat_implement_exit_gate` | Whether the implementation exit gate is allowed and fresh |
112
113
 
113
114
  **If state.md is missing or unreadable:** Report error and suggest running the relevant phase skill directly. STOP.
114
115
 
@@ -261,26 +262,66 @@ Entry condition: `oat_phase == "implement"` AND (`oat_phase_status == "complete"
261
262
 
262
263
  Apply the following checks in priority order. Stop at the first match:
263
264
 
264
- **5.0: Incomplete approval-aware post-implementation sequence**
265
+ **5.0: Unresolved implementation exit gate**
266
+
267
+ Before every other post-implementation route, inspect
268
+ `oat_implement_exit_gate` in project state. If
269
+ `oat_implement_exit_gate` is absent, `pending`, `blocked`, `stale`, malformed,
270
+ or not fresh, route to `oat-project-implement`.
271
+
272
+ This override applies even when `oat_phase_status` is `complete` or `pr_open`,
273
+ and before the summary, document, PR, or `oat-project-complete` routes. Announce
274
+ exactly: "Implementation exit gate unresolved or stale — resume with
275
+ `oat-project-implement` before post-implementation routing."
276
+
277
+ Only an `allowed` and fresh exit-gate disposition falls through to the normal
278
+ post-implementation checks.
279
+
280
+ Validate freshness from the complete persisted transition, not from `status`
281
+ alone:
282
+
283
+ - `allowed/no_gate` is valid only with `disposition: no_gate`, null gate-run and
284
+ artifact provenance, and current `reviewed_head` and implementation
285
+ fingerprint fields.
286
+ - `allowed/configured` is valid only with `disposition: passed`, `warned`, or
287
+ `prompt_approved`; matching `config_fingerprint`, `reviewed_head`,
288
+ `implementation_fingerprint`, and configured gate-run provenance; and any
289
+ eligible receive durably completed.
290
+ - `pending`, `blocked`, malformed, contradictory, or legacy-absent state never
291
+ falls through. Pending and blocked generations resume their persisted
292
+ configuration; configuration-fingerprint mismatch fails closed.
293
+ - Recognized closeout-only descendants preserve a fresh allowed result; unknown
294
+ paths and substantive changes route as stale. The recognized set is limited
295
+ to configured gate artifacts and receipts, project tracking and
296
+ `project-log.md` appends, summary/documentation/PR sequence outputs, final
297
+ HiLL bookkeeping, and completion bookkeeping.
298
+ - Any implementation, test, skill, template, workflow configuration, or other
299
+ unrecognized change after `reviewed_head` invalidates the implementation
300
+ fingerprint and routes to `oat-project-implement`.
301
+
302
+ Routing is read-only: announce stale or malformed state, but leave transition
303
+ repair, gate execution, receive, and persistence to `oat-project-implement`.
304
+
305
+ **5.1: Incomplete approval-aware post-implementation sequence**
265
306
 
266
307
  Before every other post-implementation route, inspect `oat_post_implement_sequence`
267
308
  in project state. When the snapshot exists and is incomplete, route to
268
309
  `oat-project-implement`. This applies even when `oat_phase_status` is `pr_open`
269
310
  or a summary exists. A completed snapshot falls through to the normal router.
270
311
 
271
- **5.1: Incomplete revision tasks**
312
+ **5.2: Incomplete revision tasks**
272
313
 
273
314
  Grep plan.md for `p-revN` phases. If any `p-revN` tasks exist with status != completed in implementation.md:
274
315
  → Route to `oat-project-implement`
275
316
  → Announce: "Revision tasks pending — continuing implementation"
276
317
 
277
- **5.2: Unprocessed reviews**
318
+ **5.3: Unprocessed reviews**
278
319
 
279
320
  Run the Review Safety Check (Step 4 above). If unprocessed reviews exist:
280
321
  → Route to `oat-project-review-receive`
281
322
  → Announce: "Unprocessed review feedback detected"
282
323
 
283
- **5.3: Final code review not passed**
324
+ **5.4: Final code review not passed**
284
325
 
285
326
  Extract only the exact level-two `## Reviews` ledger, stopping before the next
286
327
  level-two heading, then select its latest appended event with `Scope="final"`
@@ -305,14 +346,14 @@ Ignore matching rows outside `REVIEWS_SECTION`; they are not review events.
305
346
  → Route to `oat-project-review-provide` (with scope hint: "code final")
306
347
  → Announce: "Review fixes implemented — triggering re-review"
307
348
 
308
- - If `FINAL_ROW` has another non-passed status (e.g., `"received"`, `"fixes_added"`) and Step 5.2 did not find an active top-level review artifact:
349
+ - If `FINAL_ROW` has another non-passed status (e.g., `"received"`, `"fixes_added"`) and Step 5.3 did not find an active top-level review artifact:
309
350
  → Route to `oat-project-review-provide` (with scope hint: "code final")
310
351
  → Announce: "Final review is not passed and no active review artifact exists — rerunning final review"
311
352
 
312
353
  - If `FINAL_ROW` has `Status="passed"`:
313
- → Continue to 5.4
354
+ → Continue to 5.5
314
355
 
315
- **5.4: Summary not done**
356
+ **5.5: Summary not done**
316
357
 
317
358
  Read `{PROJECT_PATH}/summary.md`:
318
359
 
@@ -320,13 +361,13 @@ Read `{PROJECT_PATH}/summary.md`:
320
361
  → Route to `oat-project-summary`
321
362
  → Announce: "Final review passed — generating project summary"
322
363
 
323
- **5.5: PR not created**
364
+ **5.6: PR not created**
324
365
 
325
366
  If `oat_phase_status != "pr_open"`:
326
367
  → Route to `oat-project-pr-final`
327
368
  → Announce: "Summary complete — creating final PR"
328
369
 
329
- **5.6: PR is open**
370
+ **5.7: PR is open**
330
371
 
331
372
  If `oat_phase_status == "pr_open"`:
332
373
  → Route to `oat-project-complete`