@open-agent-toolkit/cli 0.2.59 → 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 (120) 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/config-and-local-state.md +1 -0
  5. package/assets/docs/cli-utilities/configuration.md +10 -8
  6. package/assets/docs/cli-utilities/project-log.md +16 -0
  7. package/assets/docs/cli-utilities/workflow-gates.md +127 -19
  8. package/assets/docs/provider-sync/commands.md +3 -0
  9. package/assets/docs/provider-sync/instruction-sync.md +107 -0
  10. package/assets/docs/reference/cli-reference.md +26 -9
  11. package/assets/docs/reference/oat-directory-structure.md +33 -31
  12. package/assets/docs/workflows/ideas/index.md +1 -1
  13. package/assets/docs/workflows/index.md +1 -0
  14. package/assets/docs/workflows/projects/artifacts.md +24 -3
  15. package/assets/docs/workflows/projects/hill-checkpoints.md +21 -0
  16. package/assets/docs/workflows/projects/implementation-execution.md +5 -0
  17. package/assets/docs/workflows/projects/lifecycle.md +169 -7
  18. package/assets/docs/workflows/projects/picking-up-projects.md +14 -0
  19. package/assets/docs/workflows/projects/pr-flow.md +2 -0
  20. package/assets/docs/workflows/projects/reviews.md +1 -1
  21. package/assets/docs/workflows/projects/state-machine.md +20 -0
  22. package/assets/docs/workflows/skills/explainer-kit.md +10 -4
  23. package/assets/docs/workflows/skills/index.md +2 -1
  24. package/assets/docs/workflows/skills/repo-improve.md +15 -1
  25. package/assets/public-package-versions.json +4 -4
  26. package/assets/skills/oat-brainstorm/SKILL.md +61 -12
  27. package/assets/skills/oat-docs/SKILL.md +13 -8
  28. package/assets/skills/oat-doctor/SKILL.md +3 -3
  29. package/assets/skills/oat-explainer-kit/SKILL.md +14 -1
  30. package/assets/skills/oat-explainer-kit/references/config-contract.md +12 -0
  31. package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +57 -10
  32. package/assets/skills/oat-explainer-kit/scripts/check-terminal-outcome.mjs +28 -5
  33. package/assets/skills/oat-explainer-kit/scripts/probe-recap-seams.mjs +371 -0
  34. package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +123 -1
  35. package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
  36. package/assets/skills/oat-project-autonomous/SKILL.md +23 -9
  37. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +164 -150
  38. package/assets/skills/oat-project-capture/SKILL.md +2 -2
  39. package/assets/skills/oat-project-complete/SKILL.md +134 -4
  40. package/assets/skills/oat-project-discover/SKILL.md +6 -5
  41. package/assets/skills/oat-project-document/SKILL.md +11 -1
  42. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +164 -150
  43. package/assets/skills/oat-project-implement/SKILL.md +3 -3
  44. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +144 -21
  45. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +164 -150
  46. package/assets/skills/oat-project-implement/references/phase-execution.md +16 -1
  47. package/assets/skills/oat-project-implement/references/plan-and-resume.md +19 -1
  48. package/assets/skills/oat-project-import-plan/SKILL.md +47 -3
  49. package/assets/skills/oat-project-lite/SKILL.md +467 -0
  50. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +331 -0
  51. package/assets/skills/oat-project-next/SKILL.md +75 -16
  52. package/assets/skills/oat-project-plan/SKILL.md +44 -6
  53. package/assets/skills/oat-project-plan-writing/SKILL.md +6 -3
  54. package/assets/skills/oat-project-pr-final/SKILL.md +33 -7
  55. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +164 -150
  56. package/assets/skills/oat-project-pr-progress/SKILL.md +3 -3
  57. package/assets/skills/oat-project-progress/SKILL.md +27 -5
  58. package/assets/skills/oat-project-promote-spec-driven/SKILL.md +3 -1
  59. package/assets/skills/oat-project-quick-start/SKILL.md +264 -4
  60. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +164 -150
  61. package/assets/skills/oat-project-review-provide/SKILL.md +25 -6
  62. package/assets/skills/oat-project-summary/SKILL.md +61 -26
  63. package/assets/skills/oat-repo-improve/SKILL.md +40 -5
  64. package/assets/skills/oat-repo-improve/references/plan-template.md +84 -7
  65. package/assets/templates/plan-lite.md +165 -0
  66. package/assets/templates/plan.md +1 -1
  67. package/assets/templates/state.md +1 -1
  68. package/dist/commands/config/index.d.ts +1 -0
  69. package/dist/commands/config/index.d.ts.map +1 -1
  70. package/dist/commands/config/index.js +401 -18
  71. package/dist/commands/gate/index.d.ts +3 -1
  72. package/dist/commands/gate/index.d.ts.map +1 -1
  73. package/dist/commands/gate/index.js +699 -211
  74. package/dist/commands/init/tools/shared/skill-script-references.d.ts +126 -0
  75. package/dist/commands/init/tools/shared/skill-script-references.d.ts.map +1 -0
  76. package/dist/commands/init/tools/shared/skill-script-references.js +311 -0
  77. package/dist/commands/instructions/instructions.types.d.ts +63 -0
  78. package/dist/commands/instructions/instructions.types.d.ts.map +1 -1
  79. package/dist/commands/instructions/instructions.utils.d.ts +51 -2
  80. package/dist/commands/instructions/instructions.utils.d.ts.map +1 -1
  81. package/dist/commands/instructions/instructions.utils.js +201 -4
  82. package/dist/commands/instructions/sync/sync.d.ts.map +1 -1
  83. package/dist/commands/instructions/sync/sync.js +12 -1
  84. package/dist/commands/instructions/validate/validate.d.ts.map +1 -1
  85. package/dist/commands/instructions/validate/validate.js +12 -1
  86. package/dist/commands/project/index.d.ts.map +1 -1
  87. package/dist/commands/project/index.js +2 -0
  88. package/dist/commands/project/log/append.d.ts +195 -0
  89. package/dist/commands/project/log/append.d.ts.map +1 -1
  90. package/dist/commands/project/log/append.js +1034 -11
  91. package/dist/commands/project/new/index.d.ts +3 -2
  92. package/dist/commands/project/new/index.d.ts.map +1 -1
  93. package/dist/commands/project/new/index.js +2 -1
  94. package/dist/commands/project/new/scaffold.d.ts +5 -3
  95. package/dist/commands/project/new/scaffold.d.ts.map +1 -1
  96. package/dist/commands/project/new/scaffold.js +38 -10
  97. package/dist/commands/project/promote/index.d.ts +2 -0
  98. package/dist/commands/project/promote/index.d.ts.map +1 -0
  99. package/dist/commands/project/promote/index.js +1 -0
  100. package/dist/commands/project/promote/promote.d.ts +47 -0
  101. package/dist/commands/project/promote/promote.d.ts.map +1 -0
  102. package/dist/commands/project/promote/promote.js +322 -0
  103. package/dist/commands/project/split/run.d.ts.map +1 -1
  104. package/dist/commands/project/split/run.js +8 -1
  105. package/dist/commands/project/validate-plan/index.d.ts.map +1 -1
  106. package/dist/commands/project/validate-plan/index.js +25 -1
  107. package/dist/commands/project/validate-plan/validate-plan.d.ts +8 -0
  108. package/dist/commands/project/validate-plan/validate-plan.d.ts.map +1 -1
  109. package/dist/commands/project/validate-plan/validate-plan.js +49 -0
  110. package/dist/commands/shared/frontmatter.d.ts +1 -1
  111. package/dist/commands/shared/frontmatter.d.ts.map +1 -1
  112. package/dist/commands/shared/frontmatter.js +1 -0
  113. package/dist/commands/state/generate.d.ts.map +1 -1
  114. package/dist/commands/state/generate.js +23 -0
  115. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  116. package/dist/commands/tools/shared/pack-manifest.js +2 -0
  117. package/dist/config/oat-config.d.ts +41 -0
  118. package/dist/config/oat-config.d.ts.map +1 -1
  119. package/dist/config/oat-config.js +111 -0
  120. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-next
3
- version: 1.0.14
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
@@ -106,6 +106,7 @@ projects, and synced records whose detached checkout is absent.
106
106
  - **The `projects` array is empty:** Report error and suggest:
107
107
  - `oat-project-new` — Create a spec-driven project
108
108
  - `oat-project-quick-start` — Start a quick workflow project
109
+ - `oat-project-lite` — Start a lite workflow project
109
110
  - `oat-project-import-plan` — Import an external plan
110
111
  - **STOP.** Do not attempt routing.
111
112
 
@@ -124,15 +125,16 @@ projects, and synced records whose detached checkout is absent.
124
125
 
125
126
  Read `"$PROJECT_PATH/state.md"` frontmatter and extract:
126
127
 
127
- | Field | Used For |
128
- | ------------------------- | ---------------------------------------------------------------------------- |
129
- | `oat_phase` | Current lifecycle position (discovery, spec, design, plan, implement) |
130
- | `oat_phase_status` | Phase completion state (in_progress, complete, pr_open) |
131
- | `oat_workflow_mode` | Routing table selection (spec-driven, quick, import). Default: `spec-driven` |
132
- | `oat_hill_checkpoints` | Which phases require HiLL approval |
133
- | `oat_hill_completed` | Which HiLL gates have been passed |
134
- | `oat_blockers` | Informational warnings (not routing gates) |
135
- | `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 |
136
138
 
137
139
  **If state.md is missing or unreadable:** Report error and suggest running the relevant phase skill directly. STOP.
138
140
 
@@ -164,12 +166,22 @@ Apply the following tiers in order:
164
166
 
165
167
  - `oat_status == "complete"` AND `oat_ready_for` is not null
166
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.
167
173
 
168
174
  **Tier 1b (Complete without target):**
169
175
 
170
176
  - `oat_status == "complete"` AND `oat_ready_for` is null
171
177
  - → Route to the NEXT phase's skill (the artifact is complete, so advance)
172
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.
173
185
 
174
186
  **Tier 2 (Substantive content):**
175
187
 
@@ -237,21 +249,51 @@ Otherwise, look up the target skill from the routing table for the current `oat_
237
249
 
238
250
  **Quick Mode:**
239
251
 
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.
282
+
283
+ **Import Mode:**
284
+
240
285
  | Current Phase | Phase Status | Boundary Tier | Target Skill |
241
286
  | ------------- | ------------ | ------------- | -------------------------- |
242
- | discovery | in_progress | tier 3 | `oat-project-discover` |
243
- | discovery | in_progress | tier 2 | `oat-project-plan` |
244
- | discovery | complete | tier 1 | `oat-project-plan` |
245
- | plan | in_progress | tier 3 | `oat-project-quick-start` |
287
+ | plan | in_progress | tier 3 | `oat-project-import-plan` |
246
288
  | plan | in_progress | tier 2 | `oat-project-implement` \* |
247
289
  | plan | complete | tier 1 | `oat-project-implement` \* |
248
290
  | implement | in_progress | — | `oat-project-implement` \* |
249
291
 
250
- **Import Mode:**
292
+ **Lite Mode:**
251
293
 
252
294
  | Current Phase | Phase Status | Boundary Tier | Target Skill |
253
295
  | ------------- | ------------ | ------------- | -------------------------- |
254
- | plan | in_progress | tier 3 | `oat-project-import-plan` |
296
+ | plan | in_progress | tier 3 | `oat-project-lite` |
255
297
  | plan | in_progress | tier 2 | `oat-project-implement` \* |
256
298
  | plan | complete | tier 1 | `oat-project-implement` \* |
257
299
  | implement | in_progress | — | `oat-project-implement` \* |
@@ -382,6 +424,17 @@ or a summary exists. A completed snapshot falls through to the normal router.
382
424
 
383
425
  **5.2: Incomplete revision tasks**
384
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
+
385
438
  Grep plan.md for `p-revN` phases. If any `p-revN` tasks exist with status != completed in implementation.md:
386
439
  → Route to `oat-project-implement`
387
440
  → Announce: "Revision tasks pending — continuing implementation"
@@ -424,6 +477,12 @@ Ignore matching rows outside `REVIEWS_SECTION`; they are not review events.
424
477
  - If `FINAL_ROW` has `Status="passed"`:
425
478
  → Continue to 5.5
426
479
 
480
+ **Lite closeout route:** If `oat_workflow_mode: lite`, a passed final review
481
+ routes directly to `oat-project-pr-final` before the summary check below.
482
+ Announce: "Final review passed — creating final PR". Optional lite summary or
483
+ documentation work is owned by the immutable implementation closeout snapshot,
484
+ not this fallback router.
485
+
427
486
  **5.5: Summary not done**
428
487
 
429
488
  Read `{PROJECT_PATH}/summary.md`:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-plan
3
- version: 1.4.8
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
@@ -14,13 +14,16 @@ Transform detailed design into an executable implementation plan with bite-sized
14
14
 
15
15
  ## Prerequisites
16
16
 
17
- This skill is the plan authoring path for **spec-driven** projects only. Quick and import modes have dedicated entry skills that produce `plan.md` directly.
17
+ This skill is the plan authoring path for **spec-driven** projects only. Quick,
18
+ import, and lite modes have dedicated entry skills that produce `plan.md`
19
+ directly.
18
20
 
19
21
  Read `oat_workflow_mode` from `{PROJECT_PATH}/state.md` (default: `spec-driven`):
20
22
 
21
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.
22
- - **`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.
23
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
+ - **`lite`**: **Stop.** Tell the user: "Lite planning is owned by `oat-project-lite`; run it to author or resume the combined plan contract."
24
27
 
25
28
  ## Plan Format Contract
26
29
 
@@ -110,11 +113,46 @@ PROJECTS_ROOT="${PROJECTS_ROOT%/}"
110
113
  WORKFLOW_MODE=$(oat project status --field project.workflowMode 2>/dev/null || echo null)
111
114
  ```
112
115
 
113
- **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:
141
+
142
+ ```
143
+ ⚠️ This project uses quick mode and its plan is implementation-ready.
144
+
145
+ Continue with: oat-project-implement
146
+ ```
147
+
148
+ Then load `oat-project-implement/SKILL.md` and follow it to begin execution.
149
+ Exit skill.
150
+
151
+ **Mode: `lite`** — **STOP.** Print:
114
152
 
115
153
  ```
116
- ⚠️ This project uses quick mode. Plan is produced by the quick workflow.
117
- Run the `oat-project-implement` skill to begin execution.
154
+ ⚠️ This project uses lite mode. Run `oat-project-lite` to author or resume
155
+ its combined requirements and single-phase plan.
118
156
  ```
119
157
 
120
158
  Exit skill.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-plan-writing
3
- version: 1.2.22
3
+ version: 1.2.23
4
4
  description: Use when authoring or mutating plan.md in any OAT workflow. Defines canonical format invariants — stable task IDs, required sections, review table rules, and resume guardrails.
5
5
  disable-model-invocation: true
6
6
  user-invocable: false
@@ -86,7 +86,8 @@ then continue without formatting.
86
86
  ## Managed Dispatch Readiness and Review Contract
87
87
 
88
88
  All plan-producing workflows and their artifact reviews use this contract:
89
- spec-driven planning, quick-start, imported plans, and provider-plan-via-import.
89
+ spec-driven planning, quick-start, lite planning, imported plans, and
90
+ provider-plan-via-import.
90
91
  The contract runs before a plan becomes implementation-ready and immediately
91
92
  before each artifact review dispatch.
92
93
 
@@ -549,7 +550,7 @@ Every `plan.md` produced or edited by any OAT skill **must** satisfy these invar
549
550
 
550
551
  ```yaml
551
552
  ---
552
- oat_plan_source: spec-driven | quick | imported # origin workflow mode
553
+ oat_plan_source: spec-driven | quick | imported | lite # origin workflow mode
553
554
  oat_status: in_progress | complete # plan lifecycle status
554
555
  oat_ready_for: null | oat-project-implement # downstream consumer
555
556
  # Optional after implementation confirmation:
@@ -653,10 +654,12 @@ Required inputs vary by workflow mode. The calling skill reads `oat_workflow_mod
653
654
  | `spec-driven` | Complete `design.md` (`oat_status: complete`) | Yes |
654
655
  | `quick` | `discovery.md` + repo knowledge context | No |
655
656
  | `import` | Preserved external source + normalized `plan.md` | No |
657
+ | `lite` | `plan.md` only | No |
656
658
 
657
659
  - **`spec-driven`**: Plan is derived from a complete design document. All design components must be covered by tasks.
658
660
  - **`quick`**: Plan is generated directly from discovery decisions and repo knowledge. No design artifact is required.
659
661
  - **`import`**: External plan is preserved in `references/imported-plan.md` and normalized into canonical format. Subsequent edits follow this contract.
662
+ - **`lite`**: `plan.md` is the sole requirements and implementation contract. It carries Summary, Decisions, Assumptions, Out of Scope, and Validation Criteria before one sequential phase; no discovery, spec, or design artifact is required.
660
663
 
661
664
  ## Resume and Edit Guardrails
662
665
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-pr-final
3
- version: 1.6.1
3
+ version: 1.6.2
4
4
  description: Use when the user requests or confirms opening the final PR for an active OAT project — e.g. "open the final PR", "ship it", "run oat-project-pr-final", or confirms a previously offered final-PR step. Do NOT auto-invoke when phases are marked complete. Generates the final lifecycle PR description from artifacts and creates the PR.
5
5
  disable-model-invocation: false
6
6
  user-invocable: true
@@ -26,7 +26,8 @@ Generate a PR-ready summary grounded in canonical OAT artifacts, including:
26
26
  - `activeProject` in `.oat/config.local.json` points at an active project directory (or you can provide project name when prompted)
27
27
  - `{PROJECT_PATH}/plan.md` exists
28
28
  - In `spec-driven` mode: `{PROJECT_PATH}/spec.md` and `{PROJECT_PATH}/design.md` are required
29
- - In `quick`/`import` mode: `spec.md`/`design.md` are optional
29
+ - In `quick`/`import`/`lite` mode: `spec.md`/`design.md` are optional; lite
30
+ proceeds with a reduced assurance note because plan.md is its full contract
30
31
 
31
32
  **Required (recommended to proceed):**
32
33
 
@@ -162,7 +163,7 @@ If `WORKFLOW_MODE=spec-driven`, also require:
162
163
  ls "$PROJECT_PATH/spec.md" "$PROJECT_PATH/design.md" 2>/dev/null
163
164
  ```
164
165
 
165
- If `WORKFLOW_MODE` is `quick` or `import`, proceed without spec/design and include a reduced-assurance note in the PR body.
166
+ If `WORKFLOW_MODE` is `quick`, `import`, or `lite`, proceed without spec/design and include a reduced assurance note in the PR body. For lite, explicitly note that plan.md is the reduced artifact contract and the absence of discovery/spec/design is intentional.
166
167
 
167
168
  ### Step 2: Check Final Review Status
168
169
 
@@ -214,7 +215,32 @@ sequence step.
214
215
 
215
216
  **Step 3.0: Check for summary.md**
216
217
 
217
- Check if `{PROJECT_PATH}/summary.md` exists:
218
+ Resolve the structurally exclusive route first:
219
+
220
+ ```bash
221
+ # BEGIN LITE PR SUMMARY ROUTE CONTRACT
222
+ if [ "$WORKFLOW_MODE" = "lite" ]; then
223
+ PR_SUMMARY_STRATEGY="lite-artifacts"
224
+ GENERIC_SUMMARY_REACHABLE="false"
225
+ else
226
+ PR_SUMMARY_STRATEGY="summary-md"
227
+ GENERIC_SUMMARY_REACHABLE="true"
228
+ fi
229
+ # END LITE PR SUMMARY ROUTE CONTRACT
230
+ ```
231
+
232
+ For `oat_workflow_mode: lite`, do not generate, refresh, or require
233
+ `summary.md`. Synthesize the PR summary directly from the `plan.md` `Summary`,
234
+ `Decisions`, and `Validation Criteria` sections plus the
235
+ `implementation.md` `Final Summary (for PR/docs)` shipped results. This is the
236
+ explicit reduced assurance path: absent `discovery.md`, `spec.md`, and
237
+ `design.md` are valid and must not block PR creation. Then continue to Step 3.1
238
+ only for the remaining available artifacts; do not invoke
239
+ `oat-project-summary` for lite. This branch ends Step 3.0 and jumps directly to
240
+ Step 3.1.
241
+
242
+ **Non-lite branch only:** If the route contract sets
243
+ `GENERIC_SUMMARY_REACHABLE=true`, check if `{PROJECT_PATH}/summary.md` exists:
218
244
 
219
245
  - If `summary.md` is missing or stale, refresh it automatically before proceeding.
220
246
  - When skill-to-skill invocation is available in the current host/runtime, load the current `oat-project-summary/SKILL.md` and follow it; never synthesize the summary from a remembered version of that skill.
@@ -229,8 +255,8 @@ Check if `{PROJECT_PATH}/summary.md` exists:
229
255
 
230
256
  Read:
231
257
 
232
- - `{PROJECT_PATH}/spec.md` (goals, priorities, verification; optional in quick/import)
233
- - `{PROJECT_PATH}/design.md` (architecture + testing strategy; optional in quick/import)
258
+ - `{PROJECT_PATH}/spec.md` (goals, priorities, verification; optional in quick/import/lite)
259
+ - `{PROJECT_PATH}/design.md` (architecture + testing strategy; optional in quick/import/lite)
234
260
  - `{PROJECT_PATH}/plan.md` (phases/tasks + reviews table)
235
261
  - `{PROJECT_PATH}/implementation.md` (if exists; preferred for “what actually happened”)
236
262
  - `{PROJECT_PATH}/discovery.md` (recommended for quick mode)
@@ -339,7 +365,7 @@ oat_project: { PROJECT_PATH }
339
365
 
340
366
  ## Goals / Non-Goals
341
367
 
342
- {brief bullets from available requirement artifacts: spec in spec-driven mode; discovery/import source in quick/import}
368
+ {brief bullets from available requirement artifacts: spec in spec-driven mode; discovery/import source in quick/import; plan contract in lite}
343
369
 
344
370
  ## Changes
345
371