@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.
Files changed (78) hide show
  1. package/assets/agents/oat-phase-implementer.md +27 -4
  2. package/assets/agents/oat-reviewer.md +25 -14
  3. package/assets/bundle-metadata.json +1 -1
  4. package/assets/docs/cli-utilities/workflow-gates.md +3 -3
  5. package/assets/docs/reference/cli-reference.md +10 -3
  6. package/assets/docs/reference/oat-directory-structure.md +1 -0
  7. package/assets/docs/workflows/ideas/index.md +1 -1
  8. package/assets/docs/workflows/index.md +1 -0
  9. package/assets/docs/workflows/projects/artifacts.md +24 -3
  10. package/assets/docs/workflows/projects/hill-checkpoints.md +21 -0
  11. package/assets/docs/workflows/projects/implementation-execution.md +5 -0
  12. package/assets/docs/workflows/projects/lifecycle.md +124 -7
  13. package/assets/docs/workflows/projects/pr-flow.md +2 -0
  14. package/assets/docs/workflows/projects/reviews.md +1 -1
  15. package/assets/docs/workflows/projects/state-machine.md +20 -0
  16. package/assets/docs/workflows/skills/index.md +2 -1
  17. package/assets/public-package-versions.json +4 -4
  18. package/assets/skills/oat-brainstorm/SKILL.md +61 -12
  19. package/assets/skills/oat-docs/SKILL.md +13 -8
  20. package/assets/skills/oat-doctor/SKILL.md +3 -3
  21. package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
  22. package/assets/skills/oat-project-autonomous/SKILL.md +14 -9
  23. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +56 -42
  24. package/assets/skills/oat-project-capture/SKILL.md +2 -2
  25. package/assets/skills/oat-project-discover/SKILL.md +6 -5
  26. package/assets/skills/oat-project-document/SKILL.md +11 -1
  27. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +56 -42
  28. package/assets/skills/oat-project-implement/SKILL.md +3 -3
  29. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +106 -15
  30. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +56 -42
  31. package/assets/skills/oat-project-implement/references/phase-execution.md +16 -1
  32. package/assets/skills/oat-project-implement/references/plan-and-resume.md +19 -1
  33. package/assets/skills/oat-project-import-plan/SKILL.md +47 -3
  34. package/assets/skills/oat-project-lite/SKILL.md +467 -0
  35. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +331 -0
  36. package/assets/skills/oat-project-next/SKILL.md +26 -10
  37. package/assets/skills/oat-project-plan/SKILL.md +14 -2
  38. package/assets/skills/oat-project-plan-writing/SKILL.md +6 -3
  39. package/assets/skills/oat-project-pr-final/SKILL.md +33 -7
  40. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +56 -42
  41. package/assets/skills/oat-project-pr-progress/SKILL.md +3 -3
  42. package/assets/skills/oat-project-progress/SKILL.md +16 -3
  43. package/assets/skills/oat-project-promote-spec-driven/SKILL.md +3 -1
  44. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +56 -42
  45. package/assets/skills/oat-project-review-provide/SKILL.md +25 -6
  46. package/assets/skills/oat-project-summary/SKILL.md +27 -3
  47. package/assets/templates/plan-lite.md +165 -0
  48. package/assets/templates/plan.md +1 -1
  49. package/assets/templates/state.md +1 -1
  50. package/dist/commands/project/index.d.ts.map +1 -1
  51. package/dist/commands/project/index.js +2 -0
  52. package/dist/commands/project/new/index.d.ts +3 -2
  53. package/dist/commands/project/new/index.d.ts.map +1 -1
  54. package/dist/commands/project/new/index.js +2 -1
  55. package/dist/commands/project/new/scaffold.d.ts +5 -3
  56. package/dist/commands/project/new/scaffold.d.ts.map +1 -1
  57. package/dist/commands/project/new/scaffold.js +38 -10
  58. package/dist/commands/project/promote/index.d.ts +2 -0
  59. package/dist/commands/project/promote/index.d.ts.map +1 -0
  60. package/dist/commands/project/promote/index.js +1 -0
  61. package/dist/commands/project/promote/promote.d.ts +47 -0
  62. package/dist/commands/project/promote/promote.d.ts.map +1 -0
  63. package/dist/commands/project/promote/promote.js +322 -0
  64. package/dist/commands/project/split/run.d.ts.map +1 -1
  65. package/dist/commands/project/split/run.js +8 -1
  66. package/dist/commands/project/validate-plan/index.d.ts.map +1 -1
  67. package/dist/commands/project/validate-plan/index.js +25 -1
  68. package/dist/commands/project/validate-plan/validate-plan.d.ts +8 -0
  69. package/dist/commands/project/validate-plan/validate-plan.d.ts.map +1 -1
  70. package/dist/commands/project/validate-plan/validate-plan.js +49 -0
  71. package/dist/commands/shared/frontmatter.d.ts +1 -1
  72. package/dist/commands/shared/frontmatter.d.ts.map +1 -1
  73. package/dist/commands/shared/frontmatter.js +1 -0
  74. package/dist/commands/state/generate.d.ts.map +1 -1
  75. package/dist/commands/state/generate.js +23 -0
  76. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  77. package/dist/commands/tools/shared/pack-manifest.js +2 -0
  78. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-implement
3
- version: 2.3.4
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 resolution and checkpoint review/receive:
85
- `references/plan-and-resume.md`;
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
- Identify the final implementation phase from the plan. A final HiLL checkpoint
713
- exists when `oat_plan_hill_phases` is `[]` (every phase) or when it explicitly
714
- contains that final phase ID. Defer only a checkpoint on the final implementation
715
- phase; non-final checkpoint behavior remains unchanged.
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
- Read the effective `workflow.postImplementSequence` once. For a configured
724
- legacy or structured preference, normalize legacy values before snapshotting:
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
- If `OAT_AUTONOMOUS=1` and the preference is unset, use the inventory's
733
- autonomous lifecycle-tail default:
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
- When `OAT_AUTONOMOUS=1`, gate `IMPLEMENT-16` replaces only the approval question
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
- If the preference is unset and autonomy is inactive, do not create a sequence
877
- snapshot. Retain the existing next-step prompt only after final approval when a
878
- final checkpoint is configured. Under autonomy, the default snapshot above
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