@open-agent-toolkit/cli 0.0.65 → 0.0.68
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/public-package-versions.json +4 -4
- package/assets/skills/oat-project-complete/SKILL.md +77 -3
- package/assets/skills/oat-project-implement/SKILL.md +12 -9
- package/assets/skills/oat-project-next/SKILL.md +7 -5
- package/assets/skills/oat-project-progress/SKILL.md +6 -6
- package/dist/commands/project/new/scaffold.js +3 -3
- package/dist/commands/state/generate.d.ts.map +1 -1
- package/dist/commands/state/generate.js +12 -5
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-complete
|
|
3
|
-
version: 1.4.
|
|
3
|
+
version: 1.4.7
|
|
4
4
|
description: Use when all implementation work is finished and the project is ready to close. Marks the OAT project lifecycle as complete.
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
user-invocable: true
|
|
@@ -27,7 +27,7 @@ When executing this skill, provide lightweight progress feedback so the user can
|
|
|
27
27
|
- `[3/6] Completing lifecycle…`
|
|
28
28
|
- `[4/6] Generating PR description + archiving…`
|
|
29
29
|
- `[5/6] Refreshing dashboard + committing…`
|
|
30
|
-
- `[6/6] Opening PR…`
|
|
30
|
+
- `[6/6] Opening PR or syncing description…`
|
|
31
31
|
|
|
32
32
|
## Process
|
|
33
33
|
|
|
@@ -64,6 +64,17 @@ Ask all user questions at once so the user can answer them in a single interacti
|
|
|
64
64
|
|
|
65
65
|
Before asking the batched questions, read `oat_pr_status` and `oat_pr_url` from `state.md` frontmatter.
|
|
66
66
|
|
|
67
|
+
**Capture pre-mutation PR state for later steps.** The skill mutates `state.md` (Step 5) and the project tree (Step 8) before Step 11.5 needs to know whether the PR was already open at the start. Persist that decision in a shell variable now:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
WAS_PR_OPEN_AT_START="false"
|
|
71
|
+
if [[ "${oat_pr_status:-}" == "open" ]]; then
|
|
72
|
+
WAS_PR_OPEN_AT_START="true"
|
|
73
|
+
fi
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Use the same `state.md` read you already perform for `oat_pr_status`/`oat_pr_url` — do not re-read after Step 5. Step 11.5 (Sync Open-PR Description on GitHub) consumes this value.
|
|
77
|
+
|
|
67
78
|
**Workflow preference checks (before asking questions):**
|
|
68
79
|
|
|
69
80
|
Some questions can be answered automatically from workflow preferences. Read each preference before deciding whether to include its question in the batched prompt:
|
|
@@ -299,7 +310,29 @@ fi
|
|
|
299
310
|
|
|
300
311
|
5. **Write PR description artifact** — write to `{PROJECT_PATH}/pr/project-pr-YYYY-MM-DD.md` following the template and policies from `oat-project-pr-final` Step 4 (frontmatter policy, reference links policy, local path exclusion).
|
|
301
312
|
|
|
302
|
-
If a PR description artifact already exists at `{PROJECT_PATH}/pr/project-pr-*.md
|
|
313
|
+
If a PR description artifact already exists at `{PROJECT_PATH}/pr/project-pr-*.md`:
|
|
314
|
+
|
|
315
|
+
- When `SHOULD_ARCHIVE` is `true`, regenerate it (overwrite). The existing artifact was authored by `oat-project-pr-final` before any archive intent existed and links to artifact paths that will be local-only after Step 8. Regenerating ensures Step 11 / Step 11.5 push a body whose links still resolve on the remote.
|
|
316
|
+
- When `SHOULD_ARCHIVE` is `false`, skip generation and use the existing artifact as-is. No archive means the existing blob links remain valid.
|
|
317
|
+
|
|
318
|
+
**Archive-aware References (required when `SHOULD_ARCHIVE` is `true`):**
|
|
319
|
+
|
|
320
|
+
When archiving, the project artifacts at `{PROJECT_PATH}/{plan,implementation,discovery,spec,design,summary}.md` will move to a gitignored archive location in Step 8. After commit + push (Step 10), those paths no longer exist on the branch and any blob link to them returns 404 on GitHub. The PR description must anticipate this:
|
|
321
|
+
|
|
322
|
+
- **Drop References bullets** that point to artifacts about to become local-only:
|
|
323
|
+
- `plan.md`, `implementation.md`, `discovery.md`, `spec.md`, `design.md`, `summary.md`, `references/imported-plan.md`
|
|
324
|
+
- Active `reviews/` (the active project tree, including `reviews/`, moves with the archive)
|
|
325
|
+
- **Add a canonical project-record bullet** when `archive.summaryExportPath` is configured and `summary.md` exists:
|
|
326
|
+
- Resolve the export filename: `${SUMMARY_EXPORT_PATH}/$(date +%Y%m%d)-${PROJECT_NAME}.md` (matches `archive-utils.ts` naming).
|
|
327
|
+
- Reference it as a tracked, post-archive blob link, e.g.:
|
|
328
|
+
`- Project record: [${SUMMARY_EXPORT_PATH}/${YYYYMMDD}-${PROJECT_NAME}.md]({REPO_WEB}/blob/{BRANCH}/${SUMMARY_EXPORT_PATH}/${YYYYMMDD}-${PROJECT_NAME}.md)`
|
|
329
|
+
- Use the **current/head branch** for the blob link (the same `{BRANCH}` value used by `oat-project-pr-final` Step 4 for every other reference). Step 8 creates the export on the current checkout and Step 10 commits + pushes it on the feature branch, so the link resolves immediately while the PR is open and continues to resolve after merge once the file lands on the base branch.
|
|
330
|
+
- Anti-pattern: do **not** point this link at the base branch (`main` / resolved default branch). The export does not exist on the base branch until the PR merges, so a `blob/main/...` link 404s for the entire window the PR is open — the same class of broken link this whole step exists to prevent.
|
|
331
|
+
- When `archive.summaryExportPath` is unset or `summary.md` is missing, omit this bullet rather than emit a broken link.
|
|
332
|
+
- **Keep References bullets** that resolve independently of the archive: backlog item links under `.oat/repo/reference/backlog/`, decision-record links under `.oat/repo/reference/decisions/`, repo-reference docs, ticket URLs, and anything else under tracked paths outside the project directory.
|
|
333
|
+
- Apply the existing `localPaths`-based exclusion rule from `oat-project-pr-final` Step 4 on top of these rules — it already covers `.oat/**/pr` and `.oat/**/reviews/archived` and may catch additional patterns configured per repo.
|
|
334
|
+
|
|
335
|
+
Anti-pattern: do not "rescue" a dropped artifact by linking to its archived path under `.oat/projects/archived/<name>/...`. That path is gitignored on every checkout and never reaches the remote.
|
|
303
336
|
|
|
304
337
|
### Step 8: Archive Project (Conditional)
|
|
305
338
|
|
|
@@ -528,6 +561,46 @@ gh pr create --base main --title "{title}" --body-file "$TMP_BODY"
|
|
|
528
561
|
|
|
529
562
|
Do not assume `gh` is installed; if missing, instruct manual PR creation using the file contents.
|
|
530
563
|
|
|
564
|
+
### Step 11.5: Sync Open-PR Description on GitHub (Conditional)
|
|
565
|
+
|
|
566
|
+
**Run only when `WAS_PR_OPEN_AT_START="true"` AND `SHOULD_ARCHIVE="true"`.**
|
|
567
|
+
|
|
568
|
+
When the PR was already open at the start of this skill (typically because `oat-project-pr-final` ran earlier in the lifecycle) AND we just archived, the GitHub PR description authored by `oat-project-pr-final` still points to the active artifact paths. Step 8 moved those artifacts to a gitignored archive location and Step 10 pushed the move, so any blob link in the open PR body now 404s. Push the regenerated archive-aware body to the existing PR.
|
|
569
|
+
|
|
570
|
+
Skip this step when:
|
|
571
|
+
|
|
572
|
+
- The PR was not yet open at the start (`WAS_PR_OPEN_AT_START="false"`) — Step 11 already created the PR with the archive-aware body.
|
|
573
|
+
- No archive happened (`SHOULD_ARCHIVE="false"`) — the original blob links still resolve.
|
|
574
|
+
- `IS_SHARED_PROJECT="false"` — non-shared projects are not archived in this skill, so no link breakage.
|
|
575
|
+
|
|
576
|
+
Steps:
|
|
577
|
+
|
|
578
|
+
1. Locate the PR description artifact at `{PROJECT_PATH}/pr/project-pr-*.md`. After Step 8, `PROJECT_PATH` points at the archived location, so the artifact lives at `{ARCHIVE_PATH}/pr/project-pr-*.md`.
|
|
579
|
+
2. Strip YAML frontmatter (everything from the opening `---` through and including the closing `---`) and write the result to a temporary file. Verify the temp file does not start with YAML frontmatter keys.
|
|
580
|
+
3. Resolve the open PR. Prefer the tracked URL captured in Step 2:
|
|
581
|
+
|
|
582
|
+
```bash
|
|
583
|
+
PR_REF="${oat_pr_url:-}"
|
|
584
|
+
if [[ -z "$PR_REF" ]]; then
|
|
585
|
+
# Fall back to the head branch — gh auto-resolves to the open PR for the current branch.
|
|
586
|
+
PR_REF=$(git rev-parse --abbrev-ref HEAD)
|
|
587
|
+
fi
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
4. Push the updated body:
|
|
591
|
+
|
|
592
|
+
```bash
|
|
593
|
+
gh pr edit "$PR_REF" --body-file "$TMP_BODY"
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
5. Clean up the temp file.
|
|
597
|
+
|
|
598
|
+
Failure handling:
|
|
599
|
+
|
|
600
|
+
- If `gh` is missing, warn and print the path to the regenerated artifact body so the user can paste it into the PR manually. Do not fail the skill.
|
|
601
|
+
- If `gh pr edit` fails (e.g. PR was merged between Step 2 and now, or the auth token lacks edit permission), warn and continue. Step 12's completion summary should call out that the PR body was not updated and surface the artifact path so the user can update it manually.
|
|
602
|
+
- Never re-archive or re-commit on failure here — the lifecycle bookkeeping in Step 10 already shipped.
|
|
603
|
+
|
|
531
604
|
### Step 12: Confirm to User
|
|
532
605
|
|
|
533
606
|
Show user:
|
|
@@ -538,3 +611,4 @@ Show user:
|
|
|
538
611
|
- Include commit hash and push result for the bookkeeping changes.
|
|
539
612
|
- If PR was opened: include the PR URL.
|
|
540
613
|
- If `oat_pr_url` is present, show it in the completion summary even when PR creation was skipped because the project already tracked an open PR.
|
|
614
|
+
- If Step 11.5 ran, report whether the PR description was synced (e.g. `PR description synced: <PR URL>`) or warn that the sync failed and surface the artifact path so the user can update it manually.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-implement
|
|
3
|
-
version: 2.0.
|
|
3
|
+
version: 2.0.7
|
|
4
4
|
description: Use when plan.md is ready for execution. Dispatches phase-level subagents with bounded fix loops; supports plan-declared parallel phase groups with worktree-isolated execution and ordered fan-in.
|
|
5
5
|
argument-hint: '[--retry-limit <N>] [--dry-run]'
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -23,7 +23,7 @@ Execute the implementation plan task-by-task with full state tracking.
|
|
|
23
23
|
**Purpose:** Execute plan tasks with TDD discipline, track progress, handle blockers.
|
|
24
24
|
|
|
25
25
|
**CRITICAL — Bookkeeping commits are mandatory, not optional.**
|
|
26
|
-
After every code commit and after every phase/review-fix completion, you MUST commit the OAT tracking files (`implementation.md`, `state.md`, `plan.md`) as a separate bookkeeping commit. Do not defer, batch, or skip these commits under the reasoning that they "aren't related to the implementation." Skipping a bookkeeping commit is the primary cause of cross-session state drift and will cause the next implementation run to fail bookkeeping cross-checks. If bookkeeping commits feel frequent, that is the intended design — they are cheap and they prevent drift.
|
|
26
|
+
After every code commit and after every phase/review-fix completion, you MUST commit the OAT tracking files (project: `implementation.md`, `state.md`, `plan.md`; repo dashboard: `.oat/state.md`) as a separate bookkeeping commit. Refresh the repo dashboard with `oat state refresh` immediately before staging so `.oat/state.md` reflects the just-completed phase/task. Do not defer, batch, or skip these commits under the reasoning that they "aren't related to the implementation." Skipping a bookkeeping commit (or skipping the dashboard refresh) is the primary cause of cross-session state drift and will cause the next implementation run to fail bookkeeping cross-checks. If bookkeeping commits feel frequent, that is the intended design — they are cheap and they prevent drift.
|
|
27
27
|
|
|
28
28
|
**CRITICAL — Review boundaries require a committed artifact baseline.**
|
|
29
29
|
Do not enter checkpoint review, final review, revise, or PR-final handoff with dirty core project artifacts (`discovery.md`, `spec.md`, `design.md`, `plan.md`, `implementation.md`, `state.md`, plus `.oat/state.md` when refreshed). If one of those boundaries is next and artifact bookkeeping is still uncommitted, stop and create the bookkeeping commit first.
|
|
@@ -646,7 +646,8 @@ For each phase that completed:
|
|
|
646
646
|
**Bookkeeping commit (mandatory):**
|
|
647
647
|
|
|
648
648
|
```bash
|
|
649
|
-
|
|
649
|
+
oat state refresh
|
|
650
|
+
git add {PROJECT_PATH}/implementation.md {PROJECT_PATH}/state.md {PROJECT_PATH}/plan.md .oat/state.md
|
|
650
651
|
git commit -m "chore(oat): bookkeeping after {pNN} {pass|fail}"
|
|
651
652
|
```
|
|
652
653
|
|
|
@@ -719,14 +720,15 @@ When pausing:
|
|
|
719
720
|
|
|
720
721
|
**DO NOT SKIP.** This commit prevents state drift across sessions.
|
|
721
722
|
|
|
722
|
-
After phase summary and task pointer advancement, commit all modified OAT tracking files:
|
|
723
|
+
After phase summary and task pointer advancement, refresh the repo dashboard and commit all modified OAT tracking files:
|
|
723
724
|
|
|
724
725
|
```bash
|
|
725
|
-
|
|
726
|
+
oat state refresh
|
|
727
|
+
git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md" .oat/state.md
|
|
726
728
|
git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for {phase} completion"
|
|
727
729
|
```
|
|
728
730
|
|
|
729
|
-
Do not use `git add -A` or glob patterns. Only commit the three
|
|
731
|
+
Do not use `git add -A` or glob patterns. Only commit the four files listed above (three project artifacts plus the regenerated repo dashboard).
|
|
730
732
|
|
|
731
733
|
**Note on HiLL types:**
|
|
732
734
|
|
|
@@ -852,14 +854,15 @@ Implementation - Tasks complete; awaiting final review.
|
|
|
852
854
|
|
|
853
855
|
**DO NOT SKIP.** This commit prevents state drift across sessions.
|
|
854
856
|
|
|
855
|
-
After updating state.md to reflect implementation completion, commit all modified OAT tracking files:
|
|
857
|
+
After updating state.md to reflect implementation completion, refresh the repo dashboard and commit all modified OAT tracking files:
|
|
856
858
|
|
|
857
859
|
```bash
|
|
858
|
-
|
|
860
|
+
oat state refresh
|
|
861
|
+
git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md" .oat/state.md
|
|
859
862
|
git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for implementation complete"
|
|
860
863
|
```
|
|
861
864
|
|
|
862
|
-
Do not use `git add -A` or glob patterns. Only commit the three
|
|
865
|
+
Do not use `git add -A` or glob patterns. Only commit the four files listed above (three project artifacts plus the regenerated repo dashboard).
|
|
863
866
|
|
|
864
867
|
### Step 13: Final Verification
|
|
865
868
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-next
|
|
3
|
-
version: 1.0.
|
|
3
|
+
version: 1.0.4
|
|
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
|
|
@@ -178,10 +178,12 @@ Phase-to-skill mapping for HiLL override:
|
|
|
178
178
|
| Phase | Skill |
|
|
179
179
|
| --------- | ---------------------- |
|
|
180
180
|
| discovery | `oat-project-discover` |
|
|
181
|
-
| spec | `oat-project-
|
|
181
|
+
| spec | `oat-project-design` |
|
|
182
182
|
| design | `oat-project-design` |
|
|
183
183
|
| plan | `oat-project-plan` |
|
|
184
184
|
|
|
185
|
+
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.
|
|
186
|
+
|
|
185
187
|
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.
|
|
186
188
|
|
|
187
189
|
#### Step 3b: Phase Routing Tables
|
|
@@ -196,9 +198,9 @@ Otherwise, look up the target skill from the routing table for the current `oat_
|
|
|
196
198
|
| Current Phase | Phase Status | Boundary Tier | Target Skill |
|
|
197
199
|
| ------------- | ------------ | -------------------- | -------------------------- |
|
|
198
200
|
| discovery | in_progress | tier 3 (template) | `oat-project-discover` |
|
|
199
|
-
| discovery | in_progress | tier 2 (substantive) | `oat-project-
|
|
200
|
-
| discovery | complete | tier 1 | `oat-project-
|
|
201
|
-
| spec | in_progress | tier 3 | `oat-project-
|
|
201
|
+
| discovery | in_progress | tier 2 (substantive) | `oat-project-design` |
|
|
202
|
+
| discovery | complete | tier 1 | `oat-project-design` |
|
|
203
|
+
| spec | in_progress | tier 3 | `oat-project-design` |
|
|
202
204
|
| spec | in_progress | tier 2 | `oat-project-design` |
|
|
203
205
|
| spec | complete | tier 1 | `oat-project-design` |
|
|
204
206
|
| design | in_progress | tier 3 | `oat-project-design` |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-progress
|
|
3
|
-
version: 1.2.
|
|
3
|
+
version: 1.2.4
|
|
4
4
|
description: Use when resuming work, checking status, or unsure which OAT skill to run next. Evaluates project progress and routes to the appropriate next step.
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
user-invocable: true
|
|
@@ -186,7 +186,7 @@ Read `oat_workflow_mode` from `state.md` frontmatter:
|
|
|
186
186
|
- In that case, do **not** advance to the next phase even if `oat_phase_status: complete`.
|
|
187
187
|
- Recommend continuing the current phase skill to capture explicit approval:
|
|
188
188
|
- discovery gate pending -> `oat-project-discover`
|
|
189
|
-
- spec gate pending -> `oat-project-
|
|
189
|
+
- spec gate pending (legacy projects only — newly scaffolded projects no longer use a spec HiLL gate) -> `oat-project-design`
|
|
190
190
|
- design gate pending -> `oat-project-design`
|
|
191
191
|
|
|
192
192
|
**Drift detection (apply before routing `implement | in_progress`):**
|
|
@@ -226,8 +226,8 @@ Routing matrix by mode:
|
|
|
226
226
|
| oat_phase | oat_phase_status | Next Skill |
|
|
227
227
|
| --------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
228
228
|
| discovery | in_progress | Continue `oat-project-discover` |
|
|
229
|
-
| discovery | complete | `oat-project-spec`
|
|
230
|
-
| spec | in_progress |
|
|
229
|
+
| discovery | complete | `oat-project-design` (folds requirements confirmation in; standalone `oat-project-spec` remains an opt-in alternative) |
|
|
230
|
+
| spec | in_progress | `oat-project-design` (legacy phase — design reuses any existing `spec.md`) |
|
|
231
231
|
| spec | complete | `oat-project-design` |
|
|
232
232
|
| design | in_progress | Continue `oat-project-design` |
|
|
233
233
|
| design | complete | `oat-project-plan` |
|
|
@@ -282,8 +282,8 @@ Workflow:
|
|
|
282
282
|
oat-project-import-plan - Import an external markdown plan and normalize plan.md
|
|
283
283
|
oat-project-promote-spec-driven - Promote quick/import project to spec-driven lifecycle
|
|
284
284
|
oat-project-discover - Start discovery phase (requirements gathering)
|
|
285
|
-
oat-project-
|
|
286
|
-
oat-project-
|
|
285
|
+
oat-project-design - Confirm requirements + create technical design (folds spec authoring inline)
|
|
286
|
+
oat-project-spec - Optional standalone specification (most projects skip this — design handles it)
|
|
287
287
|
oat-project-plan - Create implementation plan from design (spec-driven mode)
|
|
288
288
|
oat-project-implement - Execute implementation plan (sequential or parallel)
|
|
289
289
|
oat-project-reconcile - Reconcile manual/human commits with plan tasks
|
|
@@ -18,13 +18,13 @@ const TEMPLATES_BY_MODE = {
|
|
|
18
18
|
};
|
|
19
19
|
const STATE_TEMPLATE_BY_MODE = {
|
|
20
20
|
'spec-driven': {
|
|
21
|
-
hillCheckpoints: "['discovery', '
|
|
21
|
+
hillCheckpoints: "['discovery', 'design']",
|
|
22
22
|
phase: 'discovery',
|
|
23
23
|
status: 'Discovery',
|
|
24
24
|
currentPhase: 'Discovery - Gathering requirements and understanding the problem space',
|
|
25
25
|
artifacts: [
|
|
26
26
|
'- **Discovery:** `discovery.md` (in_progress)',
|
|
27
|
-
'- **Spec:** `spec.md` (scaffolded template —
|
|
27
|
+
'- **Spec:** `spec.md` (scaffolded template — authored inline by `oat-project-design`)',
|
|
28
28
|
'- **Design:** `design.md` (scaffolded template — not started)',
|
|
29
29
|
'- **Plan:** `plan.md` (scaffolded template — not started)',
|
|
30
30
|
'- **Implementation:** `implementation.md` (scaffolded template — not started)',
|
|
@@ -34,7 +34,7 @@ const STATE_TEMPLATE_BY_MODE = {
|
|
|
34
34
|
'- ✓ Downstream lifecycle files scaffolded',
|
|
35
35
|
'- ⧗ Awaiting user input',
|
|
36
36
|
],
|
|
37
|
-
nextMilestone: 'Complete discovery and move to
|
|
37
|
+
nextMilestone: 'Complete discovery and move to design phase',
|
|
38
38
|
},
|
|
39
39
|
quick: {
|
|
40
40
|
hillCheckpoints: '[]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/state/generate.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA4GD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvE;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/state/generate.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA4GD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvE;AA8aD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CA2C9B"}
|
|
@@ -207,9 +207,14 @@ function computeNextStep(project, hasProjects, state) {
|
|
|
207
207
|
if (state.phaseStatus === 'complete' &&
|
|
208
208
|
phaseInHillList(state.phase, state.hillCheckpoints) &&
|
|
209
209
|
!phaseInHillList(state.phase, state.hillCompleted)) {
|
|
210
|
+
// Spec is no longer a discrete HiLL checkpoint in newly-scaffolded projects —
|
|
211
|
+
// requirements confirmation is folded into oat-project-design. Legacy
|
|
212
|
+
// projects whose state.md still lists `spec` in oat_hill_checkpoints route
|
|
213
|
+
// to oat-project-design here so they finish through the consolidated flow
|
|
214
|
+
// rather than being pushed back at the deprecated standalone skill.
|
|
210
215
|
const phaseSkillMap = {
|
|
211
216
|
discovery: 'oat-project-discover',
|
|
212
|
-
spec: 'oat-project-
|
|
217
|
+
spec: 'oat-project-design',
|
|
213
218
|
design: 'oat-project-design',
|
|
214
219
|
plan: 'oat-project-plan',
|
|
215
220
|
implement: 'oat-project-implement',
|
|
@@ -227,12 +232,14 @@ function computeNextStep(project, hasProjects, state) {
|
|
|
227
232
|
reason: 'Continue discovery phase',
|
|
228
233
|
},
|
|
229
234
|
'spec-driven:discovery:complete': {
|
|
230
|
-
step: 'oat-project-
|
|
231
|
-
reason: '
|
|
235
|
+
step: 'oat-project-design',
|
|
236
|
+
reason: 'Confirm requirements and produce design (spec is folded into design)',
|
|
232
237
|
},
|
|
238
|
+
// Legacy projects whose phase still reads `spec` route to design — the
|
|
239
|
+
// consolidated oat-project-design skill handles existing spec.md gracefully.
|
|
233
240
|
'spec-driven:spec:in_progress': {
|
|
234
|
-
step: 'oat-project-
|
|
235
|
-
reason: 'Continue
|
|
241
|
+
step: 'oat-project-design',
|
|
242
|
+
reason: 'Continue into design (spec is folded into design — legacy phase)',
|
|
236
243
|
},
|
|
237
244
|
'spec-driven:spec:complete': {
|
|
238
245
|
step: 'oat-project-design',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-agent-toolkit/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.68",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Open Agent Toolkit CLI",
|
|
6
6
|
"homepage": "https://github.com/voxmedia/open-agent-toolkit/tree/main/packages/cli",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"ora": "^9.0.0",
|
|
34
34
|
"yaml": "2.8.2",
|
|
35
35
|
"zod": "^3.25.76",
|
|
36
|
-
"@open-agent-toolkit/control-plane": "0.0.
|
|
36
|
+
"@open-agent-toolkit/control-plane": "0.0.68"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "^22.10.0",
|