@open-agent-toolkit/cli 0.2.59 → 0.2.62
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 +27 -4
- package/assets/agents/oat-reviewer.md +25 -14
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/cli-utilities/workflow-gates.md +3 -3
- package/assets/docs/reference/cli-reference.md +10 -3
- package/assets/docs/reference/oat-directory-structure.md +1 -0
- package/assets/docs/workflows/ideas/index.md +1 -1
- package/assets/docs/workflows/index.md +1 -0
- package/assets/docs/workflows/projects/artifacts.md +24 -3
- package/assets/docs/workflows/projects/hill-checkpoints.md +21 -0
- package/assets/docs/workflows/projects/implementation-execution.md +5 -0
- package/assets/docs/workflows/projects/lifecycle.md +124 -7
- package/assets/docs/workflows/projects/pr-flow.md +2 -0
- package/assets/docs/workflows/projects/reviews.md +1 -1
- package/assets/docs/workflows/projects/state-machine.md +20 -0
- package/assets/docs/workflows/skills/index.md +2 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-brainstorm/SKILL.md +61 -12
- package/assets/skills/oat-docs/SKILL.md +13 -8
- package/assets/skills/oat-doctor/SKILL.md +3 -3
- package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
- package/assets/skills/oat-project-autonomous/SKILL.md +14 -9
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +56 -42
- package/assets/skills/oat-project-capture/SKILL.md +2 -2
- package/assets/skills/oat-project-discover/SKILL.md +6 -5
- package/assets/skills/oat-project-document/SKILL.md +11 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +56 -42
- package/assets/skills/oat-project-implement/SKILL.md +3 -3
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +106 -15
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +56 -42
- package/assets/skills/oat-project-implement/references/phase-execution.md +16 -1
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +19 -1
- package/assets/skills/oat-project-import-plan/SKILL.md +47 -3
- package/assets/skills/oat-project-lite/SKILL.md +467 -0
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +331 -0
- package/assets/skills/oat-project-next/SKILL.md +26 -10
- package/assets/skills/oat-project-plan/SKILL.md +14 -2
- package/assets/skills/oat-project-plan-writing/SKILL.md +6 -3
- package/assets/skills/oat-project-pr-final/SKILL.md +33 -7
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +56 -42
- package/assets/skills/oat-project-pr-progress/SKILL.md +3 -3
- package/assets/skills/oat-project-progress/SKILL.md +16 -3
- package/assets/skills/oat-project-promote-spec-driven/SKILL.md +3 -1
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +56 -42
- package/assets/skills/oat-project-review-provide/SKILL.md +25 -6
- package/assets/skills/oat-project-summary/SKILL.md +27 -3
- package/assets/templates/plan-lite.md +165 -0
- package/assets/templates/plan.md +1 -1
- package/assets/templates/state.md +1 -1
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +2 -0
- package/dist/commands/project/new/index.d.ts +3 -2
- package/dist/commands/project/new/index.d.ts.map +1 -1
- package/dist/commands/project/new/index.js +2 -1
- package/dist/commands/project/new/scaffold.d.ts +5 -3
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +38 -10
- package/dist/commands/project/promote/index.d.ts +2 -0
- package/dist/commands/project/promote/index.d.ts.map +1 -0
- package/dist/commands/project/promote/index.js +1 -0
- package/dist/commands/project/promote/promote.d.ts +47 -0
- package/dist/commands/project/promote/promote.d.ts.map +1 -0
- package/dist/commands/project/promote/promote.js +322 -0
- package/dist/commands/project/split/run.d.ts.map +1 -1
- package/dist/commands/project/split/run.js +8 -1
- package/dist/commands/project/validate-plan/index.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/index.js +25 -1
- package/dist/commands/project/validate-plan/validate-plan.d.ts +8 -0
- package/dist/commands/project/validate-plan/validate-plan.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/validate-plan.js +49 -0
- 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 +23 -0
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +2 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-implement
|
|
3
|
-
version: 2.3.
|
|
3
|
+
version: 2.3.5
|
|
4
4
|
description: Use when plan.md is ready for execution. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases.
|
|
5
5
|
oat_gateable: true
|
|
6
6
|
argument-hint: '[--retry-limit <N>] [--dry-run]'
|
|
@@ -81,8 +81,8 @@ When `OAT_AUTONOMOUS=1`, read
|
|
|
81
81
|
this run. Autonomy-specific behavior is routed with the rest of the workflow:
|
|
82
82
|
|
|
83
83
|
- delegation authorization: `references/dispatch-and-dry-run.md`;
|
|
84
|
-
- HiLL
|
|
85
|
-
|
|
84
|
+
- HiLL/checkpoint review: `references/plan-and-resume.md`;
|
|
85
|
+
- manual/visual proof: `IMPLEMENT-20` in `references/phase-execution.md`;
|
|
86
86
|
- final review, final HiLL approval, and lifecycle-tail sequencing:
|
|
87
87
|
`references/completion-and-closeout.md`.
|
|
88
88
|
|
|
@@ -709,10 +709,65 @@ require `oat_implement_exit_gate` to remain allowed and fresh. If it becomes
|
|
|
709
709
|
stale, malformed, pending, or blocked, persist/retain that state, stop the
|
|
710
710
|
sequence, and resume through `oat-project-implement`.
|
|
711
711
|
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
712
|
+
For `oat_workflow_mode: lite`, there is no final HiLL approval step. A passed
|
|
713
|
+
final review and allowed implementation exit gate proceed directly to closeout
|
|
714
|
+
with `approval: not_required`; do not read
|
|
715
|
+
`oat_plan_hill_phases`, ask for approval, or invoke the autonomous approval
|
|
716
|
+
branch. Set `final_checkpoint_exists = false`,
|
|
717
|
+
`awaiting_approval_reachable = false`, and
|
|
718
|
+
`autonomous_approval_reachable = false`. Per-phase review and final review
|
|
719
|
+
remain unchanged.
|
|
720
|
+
|
|
721
|
+
Use this executable contract before any generic checkpoint or preference
|
|
722
|
+
resolution:
|
|
723
|
+
|
|
724
|
+
```bash
|
|
725
|
+
# BEGIN LITE CLOSEOUT RESOLUTION CONTRACT
|
|
726
|
+
if [ "$WORKFLOW_MODE" = "lite" ]; then
|
|
727
|
+
if [ "${PHASE_REVIEW_STATUS:-}" != "passed" ] || [ "${FINAL_REVIEW_STATUS:-}" != "passed" ]; then
|
|
728
|
+
echo "oat: lite closeout requires passed phase and final reviews" >&2
|
|
729
|
+
exit 65
|
|
730
|
+
fi
|
|
731
|
+
FINAL_CHECKPOINT_EXISTS="false"
|
|
732
|
+
APPROVAL="not_required"
|
|
733
|
+
AWAITING_APPROVAL_REACHABLE="false"
|
|
734
|
+
AUTONOMOUS_APPROVAL_REACHABLE="false"
|
|
735
|
+
PROJECT_RECAP_REACHABLE="false"
|
|
736
|
+
ORDERED_CLOSEOUT=("phase-review" "final-review")
|
|
737
|
+
PRE_APPROVAL=()
|
|
738
|
+
for STEP in ${LITE_PRE_APPROVAL:-}; do
|
|
739
|
+
case "$STEP" in
|
|
740
|
+
summary|document|pr)
|
|
741
|
+
ALREADY_PRESENT="false"
|
|
742
|
+
for PRESENT in "${PRE_APPROVAL[@]}"; do
|
|
743
|
+
[ "$PRESENT" = "$STEP" ] && ALREADY_PRESENT="true"
|
|
744
|
+
done
|
|
745
|
+
[ "$ALREADY_PRESENT" = "true" ] || PRE_APPROVAL+=("$STEP")
|
|
746
|
+
;;
|
|
747
|
+
esac
|
|
748
|
+
done
|
|
749
|
+
PR_PRESENT="false"
|
|
750
|
+
for PRESENT in "${PRE_APPROVAL[@]}"; do
|
|
751
|
+
[ "$PRESENT" = "pr" ] && PR_PRESENT="true"
|
|
752
|
+
done
|
|
753
|
+
[ "$PR_PRESENT" = "true" ] || PRE_APPROVAL+=("pr")
|
|
754
|
+
POST_APPROVAL=()
|
|
755
|
+
ORDERED_CLOSEOUT+=("${PRE_APPROVAL[@]}" "complete")
|
|
756
|
+
fi
|
|
757
|
+
# END LITE CLOSEOUT RESOLUTION CONTRACT
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
The contract intentionally does not read `OAT_PLAN_HILL_PHASES`,
|
|
761
|
+
`GENERIC_PRE_APPROVAL`, `GENERIC_POST_APPROVAL`, or `OAT_AUTONOMOUS` in its
|
|
762
|
+
lite branch. After it resolves lite, skip every generic checkpoint,
|
|
763
|
+
preference-resolution, awaiting-approval, and autonomous-approval algorithm
|
|
764
|
+
below.
|
|
765
|
+
|
|
766
|
+
For non-lite workflows only, identify the final implementation phase from the
|
|
767
|
+
plan. A final HiLL checkpoint exists when `oat_plan_hill_phases` is `[]` (every
|
|
768
|
+
phase) or when it explicitly contains that final phase ID. Defer only a
|
|
769
|
+
checkpoint on the final implementation phase; non-final checkpoint behavior
|
|
770
|
+
remains unchanged.
|
|
716
771
|
|
|
717
772
|
Run final verification (Step 12). Final review must be `passed` and the
|
|
718
773
|
configured implementation exit gate in Step 14 must be allowed before any
|
|
@@ -720,8 +775,9 @@ pre-approval dispatch. If final checkpoint auto-review is enabled, Step 8 has
|
|
|
720
775
|
already run `oat-project-review-provide code final`; do not run a duplicate
|
|
721
776
|
final review here.
|
|
722
777
|
|
|
723
|
-
|
|
724
|
-
legacy or structured preference, normalize legacy
|
|
778
|
+
For non-lite workflows, read the effective `workflow.postImplementSequence`
|
|
779
|
+
once. For a configured legacy or structured preference, normalize legacy
|
|
780
|
+
values before snapshotting:
|
|
725
781
|
`wait` → `{ preApproval: [], postApproval: [] }`, `summary` →
|
|
726
782
|
`{ preApproval: ["summary"], postApproval: [] }`, `pr` → `{ preApproval:
|
|
727
783
|
["summary", "pr"], postApproval: [] }`, and `docs-pr` → `{ preApproval:
|
|
@@ -729,8 +785,28 @@ legacy or structured preference, normalize legacy values before snapshotting:
|
|
|
729
785
|
These legacy mappings remain unchanged. Structured preferences additionally
|
|
730
786
|
accept `retro` in `postApproval`; `retro` is invalid in `preApproval`.
|
|
731
787
|
|
|
732
|
-
|
|
733
|
-
|
|
788
|
+
For `oat_workflow_mode: lite`, the earlier resolution contract preempts that
|
|
789
|
+
normalization. The generic `workflow.postImplementSequence` value is not a lite
|
|
790
|
+
opt-in to summary or documentation. Supply only the explicit
|
|
791
|
+
`workflow.postImplementSequence.lite.preApproval` override as
|
|
792
|
+
`LITE_PRE_APPROVAL` for those opt-ins:
|
|
793
|
+
|
|
794
|
+
- The default with no lite-specific override is `[pr]`.
|
|
795
|
+
- Filter a lite-specific override to `summary`, `document`, and `pr`, remove
|
|
796
|
+
duplicates while retaining its order, and append `pr` when it is absent. For
|
|
797
|
+
example, `[summary, pr]` remains unchanged.
|
|
798
|
+
- Resolve `postApproval` to `[]`. A lite closeout never includes `retro`, even
|
|
799
|
+
when the generic preference or autonomous default includes it.
|
|
800
|
+
|
|
801
|
+
This transformation applies in interactive and autonomous execution alike.
|
|
802
|
+
Persist the resulting arrays as the immutable sequence snapshot and set
|
|
803
|
+
`approval: not_required`; the lite-specific override changes optional work,
|
|
804
|
+
not the absence of a HiLL approval checkpoint. The generic configured and
|
|
805
|
+
autonomous-default preference resolution immediately below applies only to
|
|
806
|
+
non-lite workflows; it must not overwrite the lite transformation.
|
|
807
|
+
|
|
808
|
+
For non-lite workflows, if `OAT_AUTONOMOUS=1` and the preference is unset, use
|
|
809
|
+
the inventory's autonomous lifecycle-tail default:
|
|
734
810
|
|
|
735
811
|
```yaml
|
|
736
812
|
preApproval: [summary, document, pr]
|
|
@@ -803,10 +879,17 @@ checkpoint protocol to gate bookkeeping, final HiLL bookkeeping, and completion
|
|
|
803
879
|
bookkeeping. A mixed commit, missing child transition, or non-state path in the
|
|
804
880
|
checkpoint-persistence commit fails closed as stale.
|
|
805
881
|
|
|
806
|
-
**Implementation-Tail Project Recap:**
|
|
882
|
+
**Implementation-Tail Project Recap (non-lite only):**
|
|
807
883
|
|
|
808
884
|
The final-closeout orchestrator owns one project-recap gate. Run this recap gate after the final code review has passed and configured pre-approval summary/document steps have completed, but before final HiLL approval. Preserve the stored order of all other pre-approval steps and the existing final review sequence; the recap gate does not replace or repeat either.
|
|
809
885
|
|
|
886
|
+
This entire project-recap subsection applies only to non-lite workflows. For
|
|
887
|
+
lite, do not resolve recap intent, inspect recap runs, invoke
|
|
888
|
+
`oat-explainer-kit`, run the terminal-outcome guard, or let recap block
|
|
889
|
+
closeout. The lite contract sets `PROJECT_RECAP_REACHABLE=false` and proceeds
|
|
890
|
+
from the required reviews through its stored optional steps to `pr` and
|
|
891
|
+
sequence completion.
|
|
892
|
+
|
|
810
893
|
Before generating, inspect the active project's explainer runs. A fresh `project-recap` manifest for the current completed implementation deduplicates the lifecycle-tail run: reuse it and do not invoke the adapter again. Fresh means the manifest identifies recipe `project-recap`, belongs to this project, has a terminal outcome, and its recorded source hashes match the current approved implementation inputs. A merely present, incomplete, wrong-recipe, or stale manifest does not satisfy this check.
|
|
811
894
|
|
|
812
895
|
Resolve recap intent through `oat-explainer-kit`. When `OAT_AUTONOMOUS=1` and no fresh recap exists, attempt `project-recap` exactly once; missing or stale persisted intent cannot suppress this autonomous attempt. Interactive mode honors the adapter's resolved persisted or workflow intent.
|
|
@@ -834,6 +917,13 @@ terminal generated outcomes are `built-durable`, `built-not-durable`,
|
|
|
834
917
|
approval; do not substitute a warning or infer an outcome from filesystem
|
|
835
918
|
presence. A `skip` intent requires no manifest.
|
|
836
919
|
|
|
920
|
+
**Lite completion algorithm:** Dispatch incomplete `pre_approval` steps in
|
|
921
|
+
stored order, retain `approval: not_required`, keep both approval reachability
|
|
922
|
+
flags false, and commit `status: complete` when they finish. Do not enter the
|
|
923
|
+
generic checkpoint or autonomous algorithms below.
|
|
924
|
+
|
|
925
|
+
**Non-lite approval algorithm:**
|
|
926
|
+
|
|
837
927
|
1. Dispatch incomplete `pre_approval` steps in stored order.
|
|
838
928
|
2. When they succeed and a final checkpoint exists, commit `status:
|
|
839
929
|
awaiting_approval` with `approval: pending` before asking for final HiLL
|
|
@@ -853,8 +943,8 @@ awaiting_approval` with `approval: pending` before asking for final HiLL
|
|
|
853
943
|
|
|
854
944
|
**Autonomous final HiLL approval:**
|
|
855
945
|
|
|
856
|
-
|
|
857
|
-
in steps 2-4:
|
|
946
|
+
For non-lite workflows only, when `OAT_AUTONOMOUS=1`, gate `IMPLEMENT-16`
|
|
947
|
+
replaces only the approval question in steps 2-4:
|
|
858
948
|
|
|
859
949
|
1. Require the final review row to be `passed` and verify its review artifact
|
|
860
950
|
and dispatch record. A failed blocking review or unresolved Critical finding
|
|
@@ -873,10 +963,11 @@ approval, destructive-change risk, or missing-credential boundary. When
|
|
|
873
963
|
autonomy is inactive, the explicit user approval/decline/defer behavior above
|
|
874
964
|
is unchanged.
|
|
875
965
|
|
|
876
|
-
|
|
877
|
-
snapshot. Retain the existing next-step prompt only
|
|
878
|
-
final checkpoint is configured. Under autonomy,
|
|
879
|
-
always resolves the unset case.
|
|
966
|
+
For non-lite workflows, if the preference is unset and autonomy is inactive,
|
|
967
|
+
do not create a sequence snapshot. Retain the existing next-step prompt only
|
|
968
|
+
after final approval when a final checkpoint is configured. Under autonomy,
|
|
969
|
+
the default snapshot above always resolves the unset case. The lite branch
|
|
970
|
+
always snapshots its deterministic `[pr]` default.
|
|
880
971
|
|
|
881
972
|
### Step 16: Mark Implementation Complete
|
|
882
973
|
|