@open-agent-toolkit/cli 0.2.62 → 0.2.63

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 (62) hide show
  1. package/assets/bundle-metadata.json +1 -1
  2. package/assets/docs/cli-utilities/config-and-local-state.md +1 -0
  3. package/assets/docs/cli-utilities/configuration.md +10 -8
  4. package/assets/docs/cli-utilities/project-log.md +16 -0
  5. package/assets/docs/cli-utilities/workflow-gates.md +124 -16
  6. package/assets/docs/provider-sync/commands.md +3 -0
  7. package/assets/docs/provider-sync/instruction-sync.md +107 -0
  8. package/assets/docs/reference/cli-reference.md +16 -6
  9. package/assets/docs/reference/oat-directory-structure.md +32 -31
  10. package/assets/docs/workflows/projects/lifecycle.md +45 -0
  11. package/assets/docs/workflows/projects/picking-up-projects.md +14 -0
  12. package/assets/docs/workflows/skills/explainer-kit.md +10 -4
  13. package/assets/docs/workflows/skills/repo-improve.md +15 -1
  14. package/assets/public-package-versions.json +4 -4
  15. package/assets/skills/oat-explainer-kit/SKILL.md +14 -1
  16. package/assets/skills/oat-explainer-kit/references/config-contract.md +12 -0
  17. package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +57 -10
  18. package/assets/skills/oat-explainer-kit/scripts/check-terminal-outcome.mjs +28 -5
  19. package/assets/skills/oat-explainer-kit/scripts/probe-recap-seams.mjs +371 -0
  20. package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +123 -1
  21. package/assets/skills/oat-project-autonomous/SKILL.md +10 -1
  22. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +121 -121
  23. package/assets/skills/oat-project-complete/SKILL.md +134 -4
  24. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +121 -121
  25. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  26. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +38 -6
  27. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +121 -121
  28. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +121 -121
  29. package/assets/skills/oat-project-next/SKILL.md +62 -19
  30. package/assets/skills/oat-project-plan/SKILL.md +31 -5
  31. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +121 -121
  32. package/assets/skills/oat-project-progress/SKILL.md +12 -3
  33. package/assets/skills/oat-project-quick-start/SKILL.md +264 -4
  34. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +121 -121
  35. package/assets/skills/oat-project-summary/SKILL.md +34 -23
  36. package/assets/skills/oat-repo-improve/SKILL.md +40 -5
  37. package/assets/skills/oat-repo-improve/references/plan-template.md +84 -7
  38. package/dist/commands/config/index.d.ts +1 -0
  39. package/dist/commands/config/index.d.ts.map +1 -1
  40. package/dist/commands/config/index.js +401 -18
  41. package/dist/commands/gate/index.d.ts +3 -1
  42. package/dist/commands/gate/index.d.ts.map +1 -1
  43. package/dist/commands/gate/index.js +699 -211
  44. package/dist/commands/init/tools/shared/skill-script-references.d.ts +126 -0
  45. package/dist/commands/init/tools/shared/skill-script-references.d.ts.map +1 -0
  46. package/dist/commands/init/tools/shared/skill-script-references.js +311 -0
  47. package/dist/commands/instructions/instructions.types.d.ts +63 -0
  48. package/dist/commands/instructions/instructions.types.d.ts.map +1 -1
  49. package/dist/commands/instructions/instructions.utils.d.ts +51 -2
  50. package/dist/commands/instructions/instructions.utils.d.ts.map +1 -1
  51. package/dist/commands/instructions/instructions.utils.js +201 -4
  52. package/dist/commands/instructions/sync/sync.d.ts.map +1 -1
  53. package/dist/commands/instructions/sync/sync.js +12 -1
  54. package/dist/commands/instructions/validate/validate.d.ts.map +1 -1
  55. package/dist/commands/instructions/validate/validate.js +12 -1
  56. package/dist/commands/project/log/append.d.ts +195 -0
  57. package/dist/commands/project/log/append.d.ts.map +1 -1
  58. package/dist/commands/project/log/append.js +1034 -11
  59. package/dist/config/oat-config.d.ts +41 -0
  60. package/dist/config/oat-config.d.ts.map +1 -1
  61. package/dist/config/oat-config.js +111 -0
  62. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-next
3
- version: 1.1.0
3
+ version: 1.1.1
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
@@ -125,15 +125,16 @@ projects, and synced records whose detached checkout is absent.
125
125
 
126
126
  Read `"$PROJECT_PATH/state.md"` frontmatter and extract:
127
127
 
128
- | Field | Used For |
129
- | ------------------------- | ---------------------------------------------------------------------------------- |
130
- | `oat_phase` | Current lifecycle position (discovery, spec, design, plan, implement) |
131
- | `oat_phase_status` | Phase completion state (in_progress, complete, pr_open) |
132
- | `oat_workflow_mode` | Routing table selection (spec-driven, quick, import, lite). Default: `spec-driven` |
133
- | `oat_hill_checkpoints` | Which phases require HiLL approval |
134
- | `oat_hill_completed` | Which HiLL gates have been passed |
135
- | `oat_blockers` | Informational warnings (not routing gates) |
136
- | `oat_implement_exit_gate` | Whether the implementation exit gate is allowed and fresh |
128
+ | Field | Used For |
129
+ | ------------------------- | -------------------------------------------------------------------------------------------- |
130
+ | `oat_phase` | Current lifecycle position (discovery, spec, design, plan, implement) |
131
+ | `oat_phase_status` | Phase completion state (in_progress, complete, pr_open) |
132
+ | `oat_workflow_mode` | Routing table selection (spec-driven, quick, import, lite). Default: `spec-driven` |
133
+ | `oat_hill_checkpoints` | Which phases require HiLL approval |
134
+ | `oat_hill_completed` | Which HiLL gates have been passed |
135
+ | `oat_blockers` | Informational warnings (not routing gates) |
136
+ | `oat_implement_exit_gate` | Whether the implementation exit gate is allowed and fresh |
137
+ | `oat_lifecycle` | Terminal status (active, paused, complete). `complete` is the terminal signal Step 5.2 reads |
137
138
 
138
139
  **If state.md is missing or unreadable:** Report error and suggest running the relevant phase skill directly. STOP.
139
140
 
@@ -165,12 +166,22 @@ Apply the following tiers in order:
165
166
 
166
167
  - `oat_status == "complete"` AND `oat_ready_for` is not null
167
168
  - → Use `oat_ready_for` as the target skill
169
+ - Exception: in quick mode at the `plan` phase, the Quick Mode table's
170
+ `Quick Plan Readiness` column decides the target. A tier-1 quick plan that
171
+ fails readiness returns to the quick workflow, and `oat_ready_for` is not
172
+ followed on its own.
168
173
 
169
174
  **Tier 1b (Complete without target):**
170
175
 
171
176
  - `oat_status == "complete"` AND `oat_ready_for` is null
172
177
  - → Route to the NEXT phase's skill (the artifact is complete, so advance)
173
178
  - This handles cases where a phase skill completed the artifact but didn't set `oat_ready_for`.
179
+ - Exception: in quick mode at the `plan` phase, a tier-1b artifact is evaluated
180
+ against **quick plan readiness** like every other plan-phase classification.
181
+ Tier 1b means `oat_ready_for` is null, so readiness always fails, so it
182
+ returns to the quick workflow instead of advancing to the next phase's skill.
183
+ This state is reachable when the Step 3.7 frontmatter write is interrupted or
184
+ after a hand edit, and it must not reach implementation unchecked.
174
185
 
175
186
  **Tier 2 (Substantive content):**
176
187
 
@@ -238,15 +249,36 @@ Otherwise, look up the target skill from the routing table for the current `oat_
238
249
 
239
250
  **Quick Mode:**
240
251
 
241
- | Current Phase | Phase Status | Boundary Tier | Target Skill |
242
- | ------------- | ------------ | ------------- | -------------------------- |
243
- | discovery | in_progress | tier 3 | `oat-project-discover` |
244
- | discovery | in_progress | tier 2 | `oat-project-plan` |
245
- | discovery | complete | tier 1 | `oat-project-plan` |
246
- | plan | in_progress | tier 3 | `oat-project-quick-start` |
247
- | plan | in_progress | tier 2 | `oat-project-implement` \* |
248
- | plan | complete | tier 1 | `oat-project-implement` \* |
249
- | implement | in_progress | — | `oat-project-implement` \* |
252
+ | Current Phase | Phase Status | Boundary Tier | Quick Plan Readiness | Target Skill |
253
+ | ------------- | ------------ | ------------- | -------------------- | -------------------------- |
254
+ | discovery | in_progress | tier 3 | — | `oat-project-discover` |
255
+ | discovery | in_progress | tier 2 | — | `oat-project-plan` |
256
+ | discovery | complete | tier 1 | — | `oat-project-plan` |
257
+ | plan | in_progress | tier 3 | not ready | `oat-project-quick-start` |
258
+ | plan | in_progress | tier 2 | not ready | `oat-project-quick-start` |
259
+ | plan | in_progress | tier 1 | not ready | `oat-project-quick-start` |
260
+ | plan | in_progress | tier 1 | ready | `oat-project-implement` \* |
261
+ | plan | complete | tier 1 | not ready | `oat-project-quick-start` |
262
+ | plan | complete | tier 1 | ready | `oat-project-implement` \* |
263
+ | plan | any | tier 1b | not ready (always) | `oat-project-quick-start` |
264
+ | implement | in_progress | — | — | `oat-project-implement` \* |
265
+
266
+ The `Quick Plan Readiness` column applies to the `plan` phase only, and only
267
+ after the boundary tier has already been classified by Step 2, so tier semantics
268
+ are unchanged: it discriminates the two `plan` outcomes that would otherwise
269
+ share one tier. A tier-2 or tier-1 quick plan is no longer assumed ready, and a
270
+ tier-1 plan whose readiness fails is returned to the quick workflow rather than
271
+ advanced. Both recorded phase statuses carry a tier-1 pair of rows, so a plan
272
+ artifact that has already advanced past the `state.md` phase status still
273
+ matches a route instead of falling through the table. Tier 1b carries one row
274
+ under either phase status because a null `oat_ready_for` can never satisfy
275
+ readiness. Readiness is the named **quick plan readiness** predicate: load
276
+ `oat-project-quick-start/SKILL.md` and apply it as written to
277
+ `{PROJECT_PATH}/plan.md` instead of restating its conditions here, and never
278
+ infer readiness from the presence of substantive tasks. A `not ready` result
279
+ resumes the quick workflow in place: load `oat-project-quick-start/SKILL.md` and
280
+ follow its Step 0.5 resume branch. Spec-driven planning is not the recovery path
281
+ for a quick project.
250
282
 
251
283
  **Import Mode:**
252
284
 
@@ -392,6 +424,17 @@ or a summary exists. A completed snapshot falls through to the normal router.
392
424
 
393
425
  **5.2: Incomplete revision tasks**
394
426
 
427
+ Read `oat_lifecycle` from `state.md` before grepping anything. When
428
+ `oat_lifecycle` is `complete`, revision phases are historical: skip this check
429
+ and fall through to 5.3, and do not route to `oat-project-implement` even when
430
+ `p-revN` tasks are still marked incomplete. Lifecycle is the only terminal
431
+ signal here — neither a null current task nor a `complete` or `pr_open`
432
+ `oat_phase_status` is terminal, because an active project reaches both while it
433
+ still owns pending revision work. The guard is workflow-mode independent: it
434
+ applies identically to `spec-driven`, `quick`, `import`, and `lite` projects.
435
+
436
+ For every other `oat_lifecycle` value the check below is unchanged.
437
+
395
438
  Grep plan.md for `p-revN` phases. If any `p-revN` tasks exist with status != completed in implementation.md:
396
439
  → Route to `oat-project-implement`
397
440
  → Announce: "Revision tasks pending — continuing implementation"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-plan
3
- version: 1.4.9
3
+ version: 1.4.10
4
4
  description: Use when design.md is complete and executable implementation tasks are needed. Breaks design into bite-sized TDD tasks in canonical plan.md format.
5
5
  oat_gateable: true
6
6
  disable-model-invocation: true
@@ -21,7 +21,7 @@ directly.
21
21
  Read `oat_workflow_mode` from `{PROJECT_PATH}/state.md` (default: `spec-driven`):
22
22
 
23
23
  - **`spec-driven`**: Complete design document required (`design.md` with `oat_status: complete`). If missing, **Stop.** Tell the user: "Run the `oat-project-design` skill first, then return to planning." Otherwise proceed with planning.
24
- - **`quick`**: **Stop.** Plan is already produced by the quick workflow. Tell the user: "Plan already produced by quick workflow. Run `oat-project-implement` to begin execution."
24
+ - **`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.
25
25
  - **`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."
26
26
  - **`lite`**: **Stop.** Tell the user: "Lite planning is owned by `oat-project-lite`; run it to author or resume the combined plan contract."
27
27
 
@@ -113,13 +113,39 @@ PROJECTS_ROOT="${PROJECTS_ROOT%/}"
113
113
  WORKFLOW_MODE=$(oat project status --field project.workflowMode 2>/dev/null || echo null)
114
114
  ```
115
115
 
116
- **Mode: `quick`** — **STOP.** Print:
116
+ **Mode: `quick`** — **STOP.** Spec-driven planning does not apply: the quick
117
+ workflow owns `plan.md` from discovery through the review disposition it records
118
+ at its Step 3.7, so this skill never authors, finishes, or reviews a quick plan.
119
+ It still has to say where the project continues, and a quick plan that is not
120
+ implementation-ready must not be handed to implementation. Decide the
121
+ continuation with the named **quick plan readiness** predicate: load
122
+ `oat-project-quick-start/SKILL.md` and apply that predicate as written to
123
+ `"$PROJECT_PATH/plan.md"`, rather than restating or re-deriving its conditions
124
+ here.
125
+
126
+ **Not implementation-ready** (the predicate fails; substantive tasks alone never
127
+ satisfy it). Print:
128
+
129
+ ```
130
+ ⚠️ This project uses quick mode and its plan is not implementation-ready.
131
+ Spec-driven planning does not apply — the quick workflow finishes its own
132
+ plan in place, without re-scaffolding the project.
133
+
134
+ Continue with: oat-project-quick-start
135
+ ```
136
+
137
+ Then load `oat-project-quick-start/SKILL.md` and follow its Step 0.5 resume
138
+ branch. Exit skill.
139
+
140
+ **Implementation-ready** (every predicate condition holds). Print:
117
141
 
118
142
  ```
119
- ⚠️ This project uses quick mode. Plan is produced by the quick workflow.
120
- Run the `oat-project-implement` skill to begin execution.
143
+ ⚠️ This project uses quick mode and its plan is implementation-ready.
144
+
145
+ Continue with: oat-project-implement
121
146
  ```
122
147
 
148
+ Then load `oat-project-implement/SKILL.md` and follow it to begin execution.
123
149
  Exit skill.
124
150
 
125
151
  **Mode: `lite`** — **STOP.** Print: