@open-agent-toolkit/cli 0.3.15 → 0.3.16

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 (97) hide show
  1. package/assets/NOTICES.md +48 -0
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/docs/provider-sync/commands.md +21 -0
  4. package/assets/docs/reference/cli-reference.md +2 -1
  5. package/assets/docs/reference/configuration.md +10 -2
  6. package/assets/docs/skills/index.md +1 -0
  7. package/assets/docs/skills/recon.md +8 -5
  8. package/assets/docs/workflows/advanced/autonomy.md +10 -0
  9. package/assets/docs/workflows/advanced/workflow-gates.md +109 -10
  10. package/assets/docs/workflows/approvals-and-automation.md +3 -1
  11. package/assets/docs/workflows/projects/closeout/closeout-skills.md +62 -1
  12. package/assets/docs/workflows/projects/execution/implementation-execution.md +23 -3
  13. package/assets/docs/workflows/projects/execution/project-log.md +6 -0
  14. package/assets/docs/workflows/projects/lifecycle.md +7 -0
  15. package/assets/docs/workflows/projects/reviews/index.md +63 -1
  16. package/assets/docs/workflows/waves/wave-workflows.md +11 -3
  17. package/assets/public-package-versions.json +4 -4
  18. package/assets/skills/oat-project-autonomous/SKILL.md +1 -1
  19. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +172 -165
  20. package/assets/skills/oat-project-complete-auto/SKILL.md +388 -0
  21. package/assets/skills/oat-project-document/SKILL.md +1 -1
  22. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +172 -165
  23. package/assets/skills/oat-project-implement/SKILL.md +6 -1
  24. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +28 -1
  25. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +172 -165
  26. package/assets/skills/oat-project-implement/references/docs/complexity-review-fallback.md +262 -0
  27. package/assets/skills/oat-project-implement/references/docs/gate-approval-record.md +80 -0
  28. package/assets/skills/oat-project-implement/references/phase-execution.md +18 -0
  29. package/assets/skills/oat-project-lite/SKILL.md +1 -1
  30. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +172 -165
  31. package/assets/skills/oat-project-next/SKILL.md +19 -2
  32. package/assets/skills/oat-project-next/references/docs/gate-approval-record.md +80 -0
  33. package/assets/skills/oat-project-pr-final/SKILL.md +4 -3
  34. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +172 -165
  35. package/assets/skills/oat-project-progress/SKILL.md +15 -1
  36. package/assets/skills/oat-project-progress/references/docs/gate-approval-record.md +80 -0
  37. package/assets/skills/oat-project-quick-start/SKILL.md +31 -3
  38. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +172 -165
  39. package/assets/skills/oat-project-quick-start/references/docs/complexity-review-fallback.md +262 -0
  40. package/assets/skills/oat-project-quick-start/references/docs/gate-approval-record.md +80 -0
  41. package/assets/skills/oat-project-review-receive/SKILL.md +21 -3
  42. package/assets/skills/oat-project-review-receive/references/docs/complexity-review-fallback.md +262 -0
  43. package/assets/skills/oat-wave-execute/SKILL.md +49 -28
  44. package/assets/skills/oat-wave-program/SKILL.md +15 -6
  45. package/assets/skills/oat-wrap-up/SKILL.md +9 -3
  46. package/assets/skills/oat-wrap-up/references/report-template.md +1 -1
  47. package/assets/skills/recon/SKILL.md +1 -1
  48. package/assets/skills/recon/references/packet-contract.md +18 -3
  49. package/assets/skills/recon/scripts/lib/contracts.mjs +16 -2
  50. package/assets/skills/recon/scripts/reconcile-ledger.mjs +20 -10
  51. package/assets/skills/recon/scripts/render-packet.mjs +31 -3
  52. package/assets/skills/recon/scripts/validate-packet.mjs +5 -5
  53. package/assets/templates/state.md +7 -0
  54. package/dist/commands/config/index.d.ts.map +1 -1
  55. package/dist/commands/config/index.js +13 -0
  56. package/dist/commands/gate/index.d.ts +5 -0
  57. package/dist/commands/gate/index.d.ts.map +1 -1
  58. package/dist/commands/gate/index.js +270 -9
  59. package/dist/commands/shared/frontmatter.d.ts +1 -1
  60. package/dist/commands/shared/frontmatter.d.ts.map +1 -1
  61. package/dist/commands/shared/frontmatter.js +1 -0
  62. package/dist/commands/state/generate.d.ts +1 -1
  63. package/dist/commands/state/generate.d.ts.map +1 -1
  64. package/dist/commands/state/generate.js +87 -8
  65. package/dist/commands/sync/apply.d.ts.map +1 -1
  66. package/dist/commands/sync/apply.js +31 -5
  67. package/dist/commands/sync/dry-run.d.ts.map +1 -1
  68. package/dist/commands/sync/dry-run.js +28 -11
  69. package/dist/commands/sync/sync.utils.d.ts +13 -0
  70. package/dist/commands/sync/sync.utils.d.ts.map +1 -1
  71. package/dist/commands/sync/sync.utils.js +21 -1
  72. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  73. package/dist/commands/tools/shared/pack-manifest.js +1 -0
  74. package/dist/config/oat-config.d.ts +1 -0
  75. package/dist/config/oat-config.d.ts.map +1 -1
  76. package/dist/config/oat-config.js +3 -0
  77. package/dist/config/resolve.d.ts.map +1 -1
  78. package/dist/config/resolve.js +1 -0
  79. package/dist/drift/detector.js +6 -6
  80. package/dist/engine/compute-plan.d.ts.map +1 -1
  81. package/dist/engine/compute-plan.js +87 -2
  82. package/dist/engine/engine.types.d.ts +10 -1
  83. package/dist/engine/engine.types.d.ts.map +1 -1
  84. package/dist/engine/engine.types.js +4 -0
  85. package/dist/engine/execute-plan.d.ts.map +1 -1
  86. package/dist/engine/execute-plan.js +42 -5
  87. package/dist/engine/managed-copy-hash.d.ts +4 -3
  88. package/dist/engine/managed-copy-hash.d.ts.map +1 -1
  89. package/dist/engine/managed-copy-hash.js +4 -3
  90. package/dist/fs/assets.d.ts.map +1 -1
  91. package/dist/fs/assets.js +7 -1
  92. package/dist/manifest/hash.d.ts +8 -10
  93. package/dist/manifest/hash.d.ts.map +1 -1
  94. package/dist/ui/output.js +1 -1
  95. package/dist/validation/skills.d.ts.map +1 -1
  96. package/dist/validation/skills.js +13 -0
  97. package/package.json +2 -2
@@ -166,7 +166,7 @@ is evaluated.
166
166
  - **Passing gate** (no findings at or above the threshold): receive runs a non-pausing **judgment sweep**. It makes a per-finding decision for each Medium/Low — defer to final review (the default, recorded so [final review](#phase-and-final-review) resurfaces it), address now (only for small, contained, low-risk fixes, which do **not** re-trigger the standard reviewer or re-gate the phase), or reject with rationale — then archives the artifact. Address-now is an exception, not the norm; if such a fix reveals a Critical/High concern it escalates to the blocking path.
167
167
  - **Blocking gate** (one or more findings at or above the threshold): receive converts findings to fix tasks and implementation re-runs the standard reviewer and the gate for the phase. These block → fix → re-gate rounds are bounded by `oat_orchestration_retry_limit` (default `2`); exhausting the bound stops a sequential run or excludes the phase in a parallel group, matching the standard fix loop's terminal handling.
168
168
 
169
- Gate-originated artifacts (`oat_review_invocation: gate`) are excluded from the same-scope review-cycle cap in `oat-project-review-receive`. The cap measures failed fix cycles of the standard review loop, so counting gate artifacts would trip it on artifact volume rather than real fix rounds.
169
+ Gate-originated artifacts (`oat_review_invocation: gate`) and saved complexity reports are excluded from the same-scope review-cycle cap in `oat-project-review-receive`. The cap measures failed fix cycles of the standard review loop, so counting gate artifacts would trip it on artifact volume rather than real fix rounds.
170
170
 
171
171
  When a phase is re-gated multiple times, each round produces a distinct review artifact — filenames and `oat_generated_at` are seconds-precision, so rounds never collide and `oat review latest` resolves the newest. An orchestrator should know a gate finished from the `oat --json gate review` result envelope on process exit (`status`, `runId`, `generatedAt`), not by watching the `reviews/` directory or the provider's log; see [Gate completion signal](../../advanced/workflow-gates.md#gate-completion-signal).
172
172
 
@@ -226,6 +226,68 @@ Final review `passed` gate requires:
226
226
  - Deferred Medium findings resurfaced and explicitly dispositioned.
227
227
  - Low findings explicitly dispositioned (after plain-language explanation).
228
228
 
229
+ ## Complexity review at budget exhaustion
230
+
231
+ When a review or gate budget runs out, another round of the same review is
232
+ unlikely to converge. Before asking the operator how to proceed, the root
233
+ dispatches one complexity review and shows it together with the reasons the
234
+ loop stopped. The review asks whether the reviewed work, and the machinery the
235
+ findings keep demanding, earns its cost against the contract. It is not
236
+ another correctness review.
237
+
238
+ It runs at every budget-exhaustion point:
239
+
240
+ | Exhaustion point | Owning skill |
241
+ | ------------------------------------------------------------- | ---------------------------- |
242
+ | Phase review fix rounds reach `oat_orchestration_retry_limit` | `oat-project-implement` |
243
+ | A phase review gate still blocks at that limit | `oat-project-implement` |
244
+ | The final review reaches its three-cycle cap | `oat-project-implement` |
245
+ | The implementation exit gate ends in `block` at `maxAttempts` | `oat-project-implement` |
246
+ | A review scope reaches the three-cycle cap | `oat-project-review-receive` |
247
+ | The quick-start plan gate ends in `block` at `maxAttempts` | `oat-project-quick-start` |
248
+
249
+ A single `prompt` failure, a `warn` outcome, and launch or transport failures
250
+ that consume no attempt are not budget exhaustions. The operator can ask for
251
+ the same review at any other time; there is no automatic early trigger.
252
+
253
+ How it runs:
254
+
255
+ - **Probe.** OAT looks for an installed `complexity-review` skill in
256
+ `~/.agents/skills`, then `~/.claude/skills`, then the repository's
257
+ `.agents/skills`. When one is found, the reviewer follows it as a document,
258
+ without asking questions. Otherwise the reviewer follows a condensed method
259
+ bundled with the lifecycle skills: restate the contract from independent
260
+ sources, establish the simplest viable baseline, inventory the machinery,
261
+ apply the deletion test, build a ledger (Item, Claimed value, Evidence,
262
+ Lifecycle cost, Recommendation), and give a verdict of
263
+ `Deletion-rule compliant`, `Partially compliant`, or `Not compliant`.
264
+ - **Read-only reviewer.** One reviewer-class subagent at the resolved reviewer
265
+ ceiling reads the reviewed target, the contract sources (backlog items,
266
+ discovery, spec, design, and decision records), and every review artifact of
267
+ the exhausted loop. It writes nothing and returns its report to the root.
268
+ Outside an implement run (quick-start, or a standalone review-receive), the
269
+ root loads the project dispatch skills and resolves the reviewer ceiling with
270
+ `oat project dispatch-ceiling resolve --role reviewer`.
271
+ - **One review per exhausted loop.** A saved report for the scope that is newer
272
+ than every review artifact of that scope is reused, so re-entering a capped
273
+ receive does not dispatch a second review.
274
+ - **OAT additions.** The report marks rows only the operator can settle as
275
+ `REQUIRES-OPERATOR`, classifies each open finding as an accepted
276
+ requirement, a regression, or new hardening, lists the findings a
277
+ simplification would dissolve, and recommends a disposition: extra cycles,
278
+ proceed with override, corrective revision, or **simplify**.
279
+ - **Decision message.** The root saves the report as
280
+ `reviews/archived/complexity-<scope>-<timestamp>.md` (outside the top-level
281
+ `reviews/` directory, so routers never mistake it for an unprocessed review,
282
+ and outside the review-cycle count), shows one decision message with the
283
+ stop reasons, verdict, dissolvable findings, and operator questions, and
284
+ records the operator's choice with the report path in `implementation.md`.
285
+
286
+ Agents never select the disposition, including the recommended one. Under
287
+ `OAT_AUTONOMOUS=1` the run stops at its boundary report, which carries the same
288
+ content. The condensed method adapts the operator's `complexity-review` skill
289
+ from `tkstang/skills`; see `NOTICES.md`.
290
+
229
291
  ## Subagent Compatibility
230
292
 
231
293
  `oat-project-review-provide` uses provider-aware subagent dispatch when available. This outer dispatch starts the primary `oat-reviewer`; it is separate from any optional reconnaissance workers that the reviewer may launch after resolving its authoritative review scope:
@@ -113,7 +113,9 @@ for your approval before the first wave starts. When the final wave merges,
113
113
  the skill stops at one human-gated checkpoint that asks whether to run the
114
114
  deferred completion tail (archive, S3 upload, and active-project clear) for
115
115
  every wave's wrapper project; autonomous runs never answer that question
116
- themselves.
116
+ themselves. On yes, it runs `oat-project-complete-auto` once in batch mode;
117
+ a wrapper the companion refuses keeps its deferral, and the report names its
118
+ next step (usually completing it with `oat-project-complete`).
117
119
 
118
120
  **Example scenario:** Twelve reviewed external plans include a shared API
119
121
  foundation, client changes, and independent documentation work. Use `new` to
@@ -173,7 +175,10 @@ closeout it archives the wave's backlog items with `oat backlog archive` and
173
175
  runs the configured closeout sequence (which can open the PR). It then stops
174
176
  once at a HiLL (human-in-the-loop) approval checkpoint before running the
175
177
  `oat-project-complete` process, including project archive and any configured
176
- S3 upload. After you merge the wave, it resets the working branch, deletes
178
+ S3 upload. Under autonomous execution it runs that process through the
179
+ `oat-project-complete-auto` companion, which needs
180
+ `workflow.autonomousComplete: true` and records a completion-before-merge
181
+ exception for the open wave PR. After you merge the wave, it resets the working branch, deletes
177
182
  stale phase branches, and runs `oat-wave-program wave-close`. Merging the wave
178
183
  into `main` stays your decision.
179
184
 
@@ -192,7 +197,10 @@ presented as proof the integrated tree passes.
192
197
 
193
198
  Closeout writes end-of-run synthesis before archive work. Autonomous execution
194
199
  can defer a wrapper's archive tail to program close only with an explicit
195
- ledger disposition. That deferral does not satisfy the full completion tail.
200
+ ledger disposition, and only when the companion refuses for a deferrable
201
+ reason (the opt-in is off, the PR precondition is unmet, or a completion
202
+ question has no recorded answer); any other refusal stops closeout at a
203
+ boundary. That deferral does not satisfy the full completion tail.
196
204
  Source-plan requirements remain intact even when live drift changes a mechanism.
197
205
 
198
206
  **Next step:** Follow the wave's reported review and merge boundary. After the
@@ -1,6 +1,6 @@
1
1
  {
2
- "cli": "0.3.15",
3
- "docs-config": "0.3.15",
4
- "docs-theme": "0.3.15",
5
- "docs-transforms": "0.3.15"
2
+ "cli": "0.3.16",
3
+ "docs-config": "0.3.16",
4
+ "docs-theme": "0.3.16",
5
+ "docs-transforms": "0.3.16"
6
6
  }
@@ -6,7 +6,7 @@ disable-model-invocation: true
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Task
8
8
  metadata:
9
- version: 1.0.17
9
+ version: 1.0.18
10
10
  ---
11
11
 
12
12
  # Autonomous OAT Project