@open-agent-toolkit/cli 0.2.2 → 0.2.4
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-reviewer.md +59 -3
- package/assets/docs/cli-utilities/project-log.md +16 -0
- package/assets/docs/cli-utilities/workflow-gates.md +69 -8
- package/assets/docs/workflows/projects/autonomy.md +20 -6
- package/assets/docs/workflows/projects/implementation-execution.md +46 -0
- package/assets/docs/workflows/projects/lifecycle.md +29 -6
- package/assets/docs/workflows/projects/reviews.md +88 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-dispatch-subagents/SKILL.md +90 -15
- package/assets/skills/oat-dispatch-subagents/references/provider-claude.md +21 -0
- package/assets/skills/oat-dispatch-subagents/references/provider-codex.md +22 -0
- package/assets/skills/oat-dispatch-subagents/references/provider-cursor.md +66 -15
- package/assets/skills/oat-dispatch-subagents/references/record-schema.md +63 -2
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +147 -139
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +147 -139
- package/assets/skills/oat-project-implement/SKILL.md +17 -6
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +387 -58
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +147 -139
- package/assets/skills/oat-project-implement/references/phase-execution.md +35 -2
- package/assets/skills/oat-project-next/SKILL.md +59 -18
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +147 -139
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +147 -139
- package/assets/skills/oat-project-review-provide/SKILL.md +38 -2
- package/assets/skills/oat-wave-execute/SKILL.md +16 -1
- package/assets/skills/oat-wave-program/SKILL.md +16 -1
- package/assets/templates/state.md +32 -0
- package/dist/commands/gate/index.d.ts +1 -0
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +5 -1
- 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/package.json +2 -2
|
@@ -132,8 +132,41 @@ handle. Only explicit pre-start rejection allows another route. Timeout,
|
|
|
132
132
|
interruption, `BLOCKED`, or contract refusal is the review outcome and never a
|
|
133
133
|
reason to replace an accepted reviewer.
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
Before validating the review artifact scope or commit range, or updating any
|
|
136
|
+
project bookkeeping, consume the reviewer's brief artifact-mode confirmation.
|
|
137
|
+
It must contain exactly one of these exact lines:
|
|
138
|
+
|
|
139
|
+
- `**Reconnaissance:** attempted`
|
|
140
|
+
- `**Reconnaissance:** not-attempted`
|
|
141
|
+
|
|
142
|
+
A missing, duplicate, or invalid reconnaissance signal is an
|
|
143
|
+
incomplete-artifact error: stop and fail closed without validating the review
|
|
144
|
+
artifact, updating bookkeeping, or appending a project-log entry.
|
|
145
|
+
|
|
146
|
+
Use the valid signal to validate the review artifact's orchestration evidence:
|
|
147
|
+
|
|
148
|
+
- For `attempted`, require a complete `## Review Orchestration` section with
|
|
149
|
+
one compact account of every attempted wave: task class, classification
|
|
150
|
+
rationale, selected target, acceptance/outcome, floor satisfaction, fallback,
|
|
151
|
+
and primary reconciliation. Missing or incomplete evidence is an
|
|
152
|
+
incomplete-artifact error. After successful validation, append exactly once
|
|
153
|
+
through `oat project log append`, creating one concise structural entry that
|
|
154
|
+
references the review artifact path.
|
|
155
|
+
- For `not-attempted`, the artifact must not contain
|
|
156
|
+
`## Review Orchestration`; treat a present section as an inconsistent,
|
|
157
|
+
incomplete artifact. Do not append a log entry and do not invoke
|
|
158
|
+
`oat project log append`.
|
|
159
|
+
|
|
160
|
+
For the attempted branch, do not mirror individual worker records. Defer flags
|
|
161
|
+
and entry format to `oat project log append --help`; never pre-check project-log
|
|
162
|
+
configuration because the helper no-ops when logging is disabled. The reviewer
|
|
163
|
+
and workers never write `project-log.md` or append this entry.
|
|
164
|
+
|
|
165
|
+
After successful signal and orchestration validation, validate the review
|
|
166
|
+
artifact scope and commit range.
|
|
167
|
+
|
|
168
|
+
Zero Critical and zero Important findings passes. Medium/Minor findings are
|
|
169
|
+
recorded without blocking.
|
|
137
170
|
|
|
138
171
|
#### Bounded Fix and Re-Review Loop
|
|
139
172
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-next
|
|
3
|
-
version: 1.0.
|
|
3
|
+
version: 1.0.10
|
|
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
|
|
@@ -101,14 +101,15 @@ ls -d "$PROJECTS_ROOT"/*/ 2>/dev/null
|
|
|
101
101
|
|
|
102
102
|
Read `"$PROJECT_PATH/state.md"` frontmatter and extract:
|
|
103
103
|
|
|
104
|
-
| Field
|
|
105
|
-
|
|
|
106
|
-
| `oat_phase`
|
|
107
|
-
| `oat_phase_status`
|
|
108
|
-
| `oat_workflow_mode`
|
|
109
|
-
| `oat_hill_checkpoints`
|
|
110
|
-
| `oat_hill_completed`
|
|
111
|
-
| `oat_blockers`
|
|
104
|
+
| Field | Used For |
|
|
105
|
+
| ------------------------- | ---------------------------------------------------------------------------- |
|
|
106
|
+
| `oat_phase` | Current lifecycle position (discovery, spec, design, plan, implement) |
|
|
107
|
+
| `oat_phase_status` | Phase completion state (in_progress, complete, pr_open) |
|
|
108
|
+
| `oat_workflow_mode` | Routing table selection (spec-driven, quick, import). Default: `spec-driven` |
|
|
109
|
+
| `oat_hill_checkpoints` | Which phases require HiLL approval |
|
|
110
|
+
| `oat_hill_completed` | Which HiLL gates have been passed |
|
|
111
|
+
| `oat_blockers` | Informational warnings (not routing gates) |
|
|
112
|
+
| `oat_implement_exit_gate` | Whether the implementation exit gate is allowed and fresh |
|
|
112
113
|
|
|
113
114
|
**If state.md is missing or unreadable:** Report error and suggest running the relevant phase skill directly. STOP.
|
|
114
115
|
|
|
@@ -261,26 +262,66 @@ Entry condition: `oat_phase == "implement"` AND (`oat_phase_status == "complete"
|
|
|
261
262
|
|
|
262
263
|
Apply the following checks in priority order. Stop at the first match:
|
|
263
264
|
|
|
264
|
-
**5.0:
|
|
265
|
+
**5.0: Unresolved implementation exit gate**
|
|
266
|
+
|
|
267
|
+
Before every other post-implementation route, inspect
|
|
268
|
+
`oat_implement_exit_gate` in project state. If
|
|
269
|
+
`oat_implement_exit_gate` is absent, `pending`, `blocked`, `stale`, malformed,
|
|
270
|
+
or not fresh, route to `oat-project-implement`.
|
|
271
|
+
|
|
272
|
+
This override applies even when `oat_phase_status` is `complete` or `pr_open`,
|
|
273
|
+
and before the summary, document, PR, or `oat-project-complete` routes. Announce
|
|
274
|
+
exactly: "Implementation exit gate unresolved or stale — resume with
|
|
275
|
+
`oat-project-implement` before post-implementation routing."
|
|
276
|
+
|
|
277
|
+
Only an `allowed` and fresh exit-gate disposition falls through to the normal
|
|
278
|
+
post-implementation checks.
|
|
279
|
+
|
|
280
|
+
Validate freshness from the complete persisted transition, not from `status`
|
|
281
|
+
alone:
|
|
282
|
+
|
|
283
|
+
- `allowed/no_gate` is valid only with `disposition: no_gate`, null gate-run and
|
|
284
|
+
artifact provenance, and current `reviewed_head` and implementation
|
|
285
|
+
fingerprint fields.
|
|
286
|
+
- `allowed/configured` is valid only with `disposition: passed`, `warned`, or
|
|
287
|
+
`prompt_approved`; matching `config_fingerprint`, `reviewed_head`,
|
|
288
|
+
`implementation_fingerprint`, and configured gate-run provenance; and any
|
|
289
|
+
eligible receive durably completed.
|
|
290
|
+
- `pending`, `blocked`, malformed, contradictory, or legacy-absent state never
|
|
291
|
+
falls through. Pending and blocked generations resume their persisted
|
|
292
|
+
configuration; configuration-fingerprint mismatch fails closed.
|
|
293
|
+
- Recognized closeout-only descendants preserve a fresh allowed result; unknown
|
|
294
|
+
paths and substantive changes route as stale. The recognized set is limited
|
|
295
|
+
to configured gate artifacts and receipts, project tracking and
|
|
296
|
+
`project-log.md` appends, summary/documentation/PR sequence outputs, final
|
|
297
|
+
HiLL bookkeeping, and completion bookkeeping.
|
|
298
|
+
- Any implementation, test, skill, template, workflow configuration, or other
|
|
299
|
+
unrecognized change after `reviewed_head` invalidates the implementation
|
|
300
|
+
fingerprint and routes to `oat-project-implement`.
|
|
301
|
+
|
|
302
|
+
Routing is read-only: announce stale or malformed state, but leave transition
|
|
303
|
+
repair, gate execution, receive, and persistence to `oat-project-implement`.
|
|
304
|
+
|
|
305
|
+
**5.1: Incomplete approval-aware post-implementation sequence**
|
|
265
306
|
|
|
266
307
|
Before every other post-implementation route, inspect `oat_post_implement_sequence`
|
|
267
308
|
in project state. When the snapshot exists and is incomplete, route to
|
|
268
309
|
`oat-project-implement`. This applies even when `oat_phase_status` is `pr_open`
|
|
269
310
|
or a summary exists. A completed snapshot falls through to the normal router.
|
|
270
311
|
|
|
271
|
-
**5.
|
|
312
|
+
**5.2: Incomplete revision tasks**
|
|
272
313
|
|
|
273
314
|
Grep plan.md for `p-revN` phases. If any `p-revN` tasks exist with status != completed in implementation.md:
|
|
274
315
|
→ Route to `oat-project-implement`
|
|
275
316
|
→ Announce: "Revision tasks pending — continuing implementation"
|
|
276
317
|
|
|
277
|
-
**5.
|
|
318
|
+
**5.3: Unprocessed reviews**
|
|
278
319
|
|
|
279
320
|
Run the Review Safety Check (Step 4 above). If unprocessed reviews exist:
|
|
280
321
|
→ Route to `oat-project-review-receive`
|
|
281
322
|
→ Announce: "Unprocessed review feedback detected"
|
|
282
323
|
|
|
283
|
-
**5.
|
|
324
|
+
**5.4: Final code review not passed**
|
|
284
325
|
|
|
285
326
|
Extract only the exact level-two `## Reviews` ledger, stopping before the next
|
|
286
327
|
level-two heading, then select its latest appended event with `Scope="final"`
|
|
@@ -305,14 +346,14 @@ Ignore matching rows outside `REVIEWS_SECTION`; they are not review events.
|
|
|
305
346
|
→ Route to `oat-project-review-provide` (with scope hint: "code final")
|
|
306
347
|
→ Announce: "Review fixes implemented — triggering re-review"
|
|
307
348
|
|
|
308
|
-
- If `FINAL_ROW` has another non-passed status (e.g., `"received"`, `"fixes_added"`) and Step 5.
|
|
349
|
+
- If `FINAL_ROW` has another non-passed status (e.g., `"received"`, `"fixes_added"`) and Step 5.3 did not find an active top-level review artifact:
|
|
309
350
|
→ Route to `oat-project-review-provide` (with scope hint: "code final")
|
|
310
351
|
→ Announce: "Final review is not passed and no active review artifact exists — rerunning final review"
|
|
311
352
|
|
|
312
353
|
- If `FINAL_ROW` has `Status="passed"`:
|
|
313
|
-
→ Continue to 5.
|
|
354
|
+
→ Continue to 5.5
|
|
314
355
|
|
|
315
|
-
**5.
|
|
356
|
+
**5.5: Summary not done**
|
|
316
357
|
|
|
317
358
|
Read `{PROJECT_PATH}/summary.md`:
|
|
318
359
|
|
|
@@ -320,13 +361,13 @@ Read `{PROJECT_PATH}/summary.md`:
|
|
|
320
361
|
→ Route to `oat-project-summary`
|
|
321
362
|
→ Announce: "Final review passed — generating project summary"
|
|
322
363
|
|
|
323
|
-
**5.
|
|
364
|
+
**5.6: PR not created**
|
|
324
365
|
|
|
325
366
|
If `oat_phase_status != "pr_open"`:
|
|
326
367
|
→ Route to `oat-project-pr-final`
|
|
327
368
|
→ Announce: "Summary complete — creating final PR"
|
|
328
369
|
|
|
329
|
-
**5.
|
|
370
|
+
**5.7: PR is open**
|
|
330
371
|
|
|
331
372
|
If `oat_phase_status == "pr_open"`:
|
|
332
373
|
→ Route to `oat-project-complete`
|