@open-agent-toolkit/cli 0.2.77 → 0.3.0
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 +5 -5
- package/assets/agents/oat-reviewer.md +15 -15
- package/assets/agents/recon-worker.md +12 -12
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/cli-utilities/workflow-gates.md +1 -1
- package/assets/docs/workflows/projects/artifacts.md +2 -2
- package/assets/docs/workflows/projects/autonomy.md +1 -1
- package/assets/docs/workflows/projects/implementation-execution.md +4 -4
- package/assets/docs/workflows/projects/lifecycle.md +1 -1
- package/assets/docs/workflows/projects/reviews.md +11 -11
- package/assets/docs/workflows/skills/recon.md +53 -27
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-agent-instructions-analyze/SKILL.md +3 -3
- package/assets/skills/oat-docs-analyze/SKILL.md +3 -3
- package/assets/skills/oat-project-autonomous/SKILL.md +2 -2
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +14 -14
- package/assets/skills/oat-project-design/SKILL.md +2 -2
- package/assets/skills/oat-project-discover/SKILL.md +2 -2
- package/assets/skills/oat-project-document/SKILL.md +1 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +14 -14
- package/assets/skills/oat-project-implement/SKILL.md +2 -2
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +1 -1
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +14 -14
- package/assets/skills/oat-project-implement/references/phase-execution.md +3 -3
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +2 -2
- package/assets/skills/oat-project-import-plan/SKILL.md +2 -2
- package/assets/skills/oat-project-lite/SKILL.md +1 -1
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +14 -14
- package/assets/skills/oat-project-plan/SKILL.md +2 -2
- package/assets/skills/oat-project-plan-writing/SKILL.md +4 -4
- package/assets/skills/oat-project-pr-final/SKILL.md +1 -1
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +14 -14
- package/assets/skills/oat-project-quick-start/SKILL.md +2 -2
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +14 -14
- package/assets/skills/oat-project-review-provide/SKILL.md +14 -14
- package/assets/skills/oat-project-review-provide-remote/SKILL.md +10 -10
- package/assets/skills/oat-project-review-receive/SKILL.md +64 -45
- package/assets/skills/oat-project-review-receive-remote/SKILL.md +6 -6
- package/assets/skills/oat-project-revise/SKILL.md +2 -2
- package/assets/skills/oat-review-provide/SKILL.md +2 -2
- package/assets/skills/oat-review-provide/references/review-artifact-template.md +3 -3
- package/assets/skills/oat-review-provide-remote/SKILL.md +11 -11
- package/assets/skills/oat-review-receive/SKILL.md +18 -17
- package/assets/skills/oat-review-receive-remote/SKILL.md +13 -13
- package/assets/skills/oat-wave-execute/SKILL.md +2 -2
- package/assets/skills/recon/SKILL.md +37 -19
- package/assets/skills/recon/references/packet-contract.md +33 -30
- package/assets/skills/recon/references/profiles.md +18 -15
- package/assets/skills/recon/references/worker-contract.md +87 -7
- package/assets/skills/recon/scripts/create-review-brief.mjs +2 -25
- package/assets/skills/recon/scripts/lib/cli-entry.mjs +21 -0
- package/assets/skills/recon/scripts/lib/contracts.mjs +144 -38
- package/assets/skills/recon/scripts/lib/routing.mjs +2 -5
- package/assets/skills/recon/scripts/lib/validated-run.mjs +1 -1
- package/assets/skills/recon/scripts/prepare-routing.mjs +2 -26
- package/assets/skills/recon/scripts/reconcile-ledger.mjs +269 -2
- package/assets/skills/recon/scripts/render-packet.mjs +2 -25
- package/assets/skills/recon/scripts/validate-artifact.mjs +2 -25
- package/assets/skills/recon/scripts/validate-packet.mjs +73 -43
- package/assets/templates/plan.md +1 -1
- package/dist/commands/gate/__fixtures__/fake-runtime.mjs +4 -4
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +20 -11
- package/dist/commands/gate/review-verdict.d.ts +2 -2
- package/dist/commands/gate/review-verdict.d.ts.map +1 -1
- package/dist/commands/gate/review-verdict.js +223 -57
- package/dist/review-remote/body-builder.d.ts +3 -3
- package/dist/review-remote/body-builder.d.ts.map +1 -1
- package/dist/review-remote/body-builder.js +12 -12
- package/dist/review-remote/reviewer-dispatch.d.ts +2 -2
- package/dist/review-remote/reviewer-dispatch.d.ts.map +1 -1
- package/dist/review-remote/reviewer-dispatch.js +15 -7
- package/package.json +2 -2
|
@@ -67,13 +67,13 @@ None can continue under `warn` or produce an allowed disposition.
|
|
|
67
67
|
|
|
68
68
|
## Boundary classes
|
|
69
69
|
|
|
70
|
-
| Class | Required behavior
|
|
71
|
-
| ------------------------------ |
|
|
72
|
-
| `destructive-change-risk` | Stop before deletion, overwrite of irreplaceable state, force-push/history rewrite, or another destructive action not explicitly authorized by the project contract.
|
|
73
|
-
| `unresolved-critical-findings` | Stop while any Critical finding is unresolved or a blocking review cannot produce a passing result.
|
|
74
|
-
| `repository-policy-approval` | Stop when a protected branch, required reviewer, merge policy, ownership boundary, or equivalent repository rule requires a human or external approval.
|
|
75
|
-
| `missing-credentials` | Stop when a required credential is absent and no integrity-preserving offline or lower-tier route exists. Name the variable or credential class, never its value.
|
|
76
|
-
| `product-judgment` | Stop when available evidence does not support a choice within the approved goal and choosing would materially change product scope or behavior.
|
|
70
|
+
| Class | Required behavior |
|
|
71
|
+
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
72
|
+
| `destructive-change-risk` | Stop before deletion, overwrite of irreplaceable state, force-push/history rewrite, or another destructive action not explicitly authorized by the project contract. |
|
|
73
|
+
| `unresolved-critical-findings` | Stop while any Critical finding is unresolved or a blocking review cannot produce a passing result. High findings follow the configured gate policy; they never silently disappear. |
|
|
74
|
+
| `repository-policy-approval` | Stop when a protected branch, required reviewer, merge policy, ownership boundary, or equivalent repository rule requires a human or external approval. |
|
|
75
|
+
| `missing-credentials` | Stop when a required credential is absent and no integrity-preserving offline or lower-tier route exists. Name the variable or credential class, never its value. |
|
|
76
|
+
| `product-judgment` | Stop when available evidence does not support a choice within the approved goal and choosing would materially change product scope or behavior. |
|
|
77
77
|
|
|
78
78
|
## Provenance
|
|
79
79
|
|
|
@@ -114,7 +114,7 @@ remains.
|
|
|
114
114
|
| QS-08 | `oat-project-quick-start` | Dispatch-ladder scope | Choose shared, local, user, or no adoption | Check existing user, local, then authorized shared config in that fixed order without prompting or provenance-based reordering; skip scalar-blocked candidates, stop before writing only if none is compatible, then adopt once and re-run preflight | `auto-resolve` / `boundary:repository-policy-approval` | File existence, compatibility evidence, selected scope, and recheck |
|
|
115
115
|
| QS-09 | `oat-project-quick-start` | Project dispatch policy | Choose a named ceiling, uncapped, inherit, or unresolved | Preserve an explicit/configured value; unresolved non-interactive state blocks | `boundary:repository-policy-approval` | `state.md` policy or resolver diagnostic |
|
|
116
116
|
| QS-10 | `oat-project-quick-start` | Optional phase-gate setup | Choose all, selected, or disabled | Use the shared non-interactive contract: leave absent and disabled unless an explicit value already exists | `auto-resolve` | Phase-gate setup status |
|
|
117
|
-
| QS-11 | `oat-project-quick-start` | Plan artifact-review findings | Accept offered Medium/
|
|
117
|
+
| QS-11 | `oat-project-quick-start` | Plan artifact-review findings | Accept offered Medium/Low fixes | Apply in-bundle, unambiguous fixes and re-review; preserve residuals and stop on unresolved Critical or material ambiguity | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row and residual-finding note |
|
|
118
118
|
| QS-12 | `oat-project-quick-start` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply the configured failure semantics; `prompt` becomes a reported boundary | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition |
|
|
119
119
|
| QS-13 | `oat-project-quick-start` | Lifecycle gate posture setup | Keep or disable each configured lifecycle gate | Use the shared non-interactive contract: preserve an explicit map; otherwise leave it absent and every configured gate enabled | `auto-resolve` | Gate posture setup status |
|
|
120
120
|
| LITE-01 | `oat-project-lite` | Inherited dirty tree | Commit, proceed, or abort | Proceed without staging unrelated files; a required destructive cleanup stops | `auto-resolve` / `boundary:destructive-change-risk` | Lite preflight note |
|
|
@@ -124,7 +124,7 @@ remains.
|
|
|
124
124
|
| LITE-05 | `oat-project-lite` | Plan approval gate | Approve, revise, or promote | Auto-confirm the recorded requirement set; contradictory or materially incomplete requirements stop | `auto-resolve` / `boundary:product-judgment` | Approval record in `plan.md` |
|
|
125
125
|
| LITE-06 | `oat-project-lite` | Dispatch-ladder scope | Choose shared, local, user, or no adoption | Check existing user, local, then authorized shared config in that fixed order without prompting or provenance-based reordering; skip scalar-blocked candidates, stop before writing only if none is compatible, then adopt once and re-run preflight | `auto-resolve` / `boundary:repository-policy-approval` | File existence, compatibility evidence, selected scope, and recheck |
|
|
126
126
|
| LITE-07 | `oat-project-lite` | Project dispatch policy | Choose a named ceiling, uncapped, inherit, or unresolved | Preserve an explicit/configured value; unresolved non-interactive state blocks | `boundary:repository-policy-approval` | `state.md` policy or resolver diagnostic |
|
|
127
|
-
| LITE-08 | `oat-project-lite` | Plan artifact-review findings | Accept offered Medium/
|
|
127
|
+
| LITE-08 | `oat-project-lite` | Plan artifact-review findings | Accept offered Medium/Low fixes | Apply only unambiguous canonicalization fixes; never rewrite source intent; unresolved Critical or ambiguity stops | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row and lite disposition |
|
|
128
128
|
| LITE-09 | `oat-project-lite` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply the configured failure semantics; `prompt` becomes a reported boundary | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition |
|
|
129
129
|
| LITE-10 | `oat-project-lite` | Configured lifecycle gate posture | Keep or disable each configured lifecycle gate | Preserve an existing override map; otherwise preserve configured gates and write no override in non-interactive planning | `auto-resolve` / `boundary:repository-policy-approval` | `state.md` override map or recorded non-interactive preservation |
|
|
130
130
|
| DISC-01 | `oat-project-discover` | Active-project confirmation or switch | Confirm the active project or choose another | Use only an explicitly supplied or valid active project; otherwise stop without guessing | `boundary:product-judgment` | Resolved project path |
|
|
@@ -151,7 +151,7 @@ remains.
|
|
|
151
151
|
| PLAN-06 | `oat-project-plan` | Project dispatch policy | Choose a runnable policy | Preserve explicit/configured policy; unresolved non-interactive state blocks | `boundary:repository-policy-approval` | `state.md` policy or resolver diagnostic |
|
|
152
152
|
| PLAN-07 | `oat-project-plan` | Plan breakdown confirmation | Confirm tasks or request changes | Complete the independent plan artifact-review loop, apply unambiguous fixes, and confirm only a clean executable plan | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row |
|
|
153
153
|
| PLAN-08 | `oat-project-plan` | Optional phase-gate setup | Choose all, selected, or disabled | Use the shared non-interactive contract: preserve explicit state or leave disabled | `auto-resolve` | Phase-gate setup status |
|
|
154
|
-
| PLAN-09 | `oat-project-plan` | Plan artifact-review findings | Accept offered Medium/
|
|
154
|
+
| PLAN-09 | `oat-project-plan` | Plan artifact-review findings | Accept offered Medium/Low fixes | Apply unambiguous artifact-local fixes and re-review; unresolved Critical or material ambiguity stops | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row and residuals |
|
|
155
155
|
| PLAN-10 | `oat-project-plan` | Parallel-group proposal | Confirm a candidate group | Accept only when write-set and dependency evidence proves independence; otherwise keep sequential and record why | `auto-resolve` | Plan Parallelism section |
|
|
156
156
|
| PLAN-11 | `oat-project-plan` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply configured failure semantics; `prompt` becomes a reported boundary | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition |
|
|
157
157
|
| PLAN-12 | `oat-project-plan` | Project-explainer intent | Generate or skip the project explainer | Preserve explicit or persisted intent; in autonomy generate only when kickoff explicitly requested it and never prompt | `auto-resolve` | Persisted project-explainer intent |
|
|
@@ -163,7 +163,7 @@ remains.
|
|
|
163
163
|
| IMPORT-05 | `oat-project-import-plan` | Dispatch-ladder scope | Choose persistence scope | Check existing user, local, then authorized shared config in that fixed order without prompting or provenance-based reordering; skip scalar-blocked candidates, stop before writing only if none is compatible, then adopt once and re-run preflight | `auto-resolve` / `boundary:repository-policy-approval` | File existence, compatibility evidence, selected scope, and recheck |
|
|
164
164
|
| IMPORT-06 | `oat-project-import-plan` | Project dispatch policy | Choose a runnable policy | Preserve explicit/configured policy; unresolved non-interactive state blocks | `boundary:repository-policy-approval` | `state.md` policy or resolver diagnostic |
|
|
165
165
|
| IMPORT-07 | `oat-project-import-plan` | Optional phase-gate setup | Choose all, selected, or disabled | Preserve explicit imported state; otherwise use the shared non-interactive disabled behavior | `auto-resolve` | Phase-gate setup status |
|
|
166
|
-
| IMPORT-08 | `oat-project-import-plan` | Import-aware artifact-review findings | Accept offered Medium/
|
|
166
|
+
| IMPORT-08 | `oat-project-import-plan` | Import-aware artifact-review findings | Accept offered Medium/Low fixes | Apply only unambiguous canonicalization fixes; never rewrite source intent; unresolved Critical or ambiguity stops | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row and import disposition |
|
|
167
167
|
| IMPORT-09 | `oat-project-import-plan` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply configured failure semantics; `prompt` becomes a reported boundary | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition |
|
|
168
168
|
| IMPORT-10 | `oat-project-import-plan` | Lifecycle gate posture setup | Keep or disable each configured lifecycle gate | Preserve an explicit imported map; otherwise use the shared non-interactive behavior and leave every configured gate enabled | `auto-resolve` | Gate posture setup status |
|
|
169
169
|
| IMPLEMENT-01 | `oat-project-implement` | Missing active project | Ask for project name | Use only an explicitly supplied or valid active project; otherwise stop | `boundary:product-judgment` | Resolved project path |
|
|
@@ -212,7 +212,7 @@ remains.
|
|
|
212
212
|
| REVIEWRECEIVE-02 | `oat-project-review-receive` | Review-cycle limit | Choose manual review, proceed, or override | Stop at the configured cycle limit; never self-authorize an override or proceed to PR | `boundary:repository-policy-approval` | Cycle-count blocker |
|
|
213
213
|
| REVIEWRECEIVE-03 | `oat-project-review-receive` | Final deferred Medium findings | Convert or accept deferral | Convert valid findings to fix tasks; preserve only an already explicit, evidence-backed deferral; ambiguity stops | `auto-resolve` / `boundary:product-judgment` | Deferred Medium ledger |
|
|
214
214
|
| REVIEWRECEIVE-04 | `oat-project-review-receive` | New Medium deferral request | Approve deferral per finding | Default to conversion; do not create a new autonomous deferral for material work | `auto-resolve` | Finding disposition map |
|
|
215
|
-
| REVIEWRECEIVE-05 | `oat-project-review-receive` | Final
|
|
215
|
+
| REVIEWRECEIVE-05 | `oat-project-review-receive` | Final Low disposition | Defer selected/all or convert all | Convert in-scope Lows by default; reject only with concrete evidence | `auto-resolve` | Finding disposition map |
|
|
216
216
|
| REVIEWRECEIVE-06 | `oat-project-review-receive` | Code-review next action | Execute fixes, inspect plan, or exit | Execute added fix tasks through implement, then re-review | `auto-resolve` | State pointer and receive summary |
|
|
217
217
|
| REVIEWRECEIVE-07 | `oat-project-review-receive` | Artifact-review next action | Resolve direction, re-review, or continue | Re-review applied edits; continue only after passing; user-direction findings stop | `auto-resolve` / `boundary:product-judgment` | Artifact disposition and review row |
|
|
218
218
|
| REVIEWRECEIVE-08 | `oat-project-review-receive` | Defer receive bookkeeping commit | Confirm proceeding uncommitted | Never defer; commit bounded bookkeeping or stop on commit failure | `auto-resolve` / `boundary:repository-policy-approval` | Bookkeeping commit |
|
|
@@ -263,8 +263,8 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
263
263
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `c264a64398f0 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
264
264
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
265
265
|
| `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `fffe5eea5ebd -> NG`; `e7dc6fdc4eb3 -> COMPLETE-01`; `e5460e437299 -> NG`; `882b61c9096c -> NG`; `9ffa1c752505 -> NG`; `8c5e599f6bac -> NG` |
|
|
266
|
-
| `oat-project-review-provide/SKILL.md` | `1f4b981cac8b -> NG`; `adaeca152bb2 -> NG`; `2f7c201c3c06 -> NG`; `88f79700afdc -> NG`; `655d61df0a8f -> NG`; `efafde9ef5a0 -> NG`; `d2a3861d6323 -> REVIEWPROVIDE-02`; `65f5b9cf49cd -> REVIEWPROVIDE-04`; `962cb38d246a -> REVIEWPROVIDE-04`; `1a568483ba0b -> REVIEWPROVIDE-04`; `610e27edfe85 -> REVIEWPROVIDE-04`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `
|
|
267
|
-
| `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `df49c8c6f192 -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `
|
|
266
|
+
| `oat-project-review-provide/SKILL.md` | `1f4b981cac8b -> NG`; `adaeca152bb2 -> NG`; `2f7c201c3c06 -> NG`; `88f79700afdc -> NG`; `655d61df0a8f -> NG`; `efafde9ef5a0 -> NG`; `d2a3861d6323 -> REVIEWPROVIDE-02`; `65f5b9cf49cd -> REVIEWPROVIDE-04`; `962cb38d246a -> REVIEWPROVIDE-04`; `1a568483ba0b -> REVIEWPROVIDE-04`; `610e27edfe85 -> REVIEWPROVIDE-04`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `79c8103e8656 -> NG`; `4fbd78337e33 -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
|
|
267
|
+
| `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `df49c8c6f192 -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `1d710fb4cc66 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `92578f7df686 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `594bbf70346c -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `e4c0625439f8 -> REVIEWRECEIVE-04`; `505ad8389c0a -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `90001dadf75f -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
|
|
268
268
|
| `oat-project-review-provide/SKILL.md` | `2e794bf4fc4a -> REVIEWPROVIDE-08`; `5441ab977b46 -> REVIEWPROVIDE-08` |
|
|
269
269
|
| `oat-project-review-provide/SKILL.md` | `f4238ebb1887 -> NG`; `0360fa2db9a5 -> NG` |
|
|
270
270
|
| `oat-project-implement/references/phase-execution.md` | `b31a9a4e6f75 -> NG` |
|
|
@@ -7,7 +7,7 @@ disable-model-invocation: true
|
|
|
7
7
|
user-invocable: true
|
|
8
8
|
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
9
9
|
metadata:
|
|
10
|
-
version: 2.3.
|
|
10
|
+
version: 2.3.14
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Quick Start Project
|
|
@@ -804,7 +804,7 @@ Apply the shared loop exactly:
|
|
|
804
804
|
- Run an exception inline only with verified equivalent current-host model and
|
|
805
805
|
effort controls. Default inherited review runs in the planning parent. If
|
|
806
806
|
neither route applies, fail closed before artifact review.
|
|
807
|
-
- Apply Critical and
|
|
807
|
+
- Apply Critical and High artifact-local fixes when unambiguous; offer Medium and Low fixes instead of silently applying them.
|
|
808
808
|
- Re-dispatch after rewrites until clean or the retry bound is exhausted.
|
|
809
809
|
- Update the `plan` artifact row in the `## Reviews` table to `passed` when clean. If residual findings remain, preserve the row and surface the residual findings before downstream handoff.
|
|
810
810
|
|
|
@@ -67,13 +67,13 @@ None can continue under `warn` or produce an allowed disposition.
|
|
|
67
67
|
|
|
68
68
|
## Boundary classes
|
|
69
69
|
|
|
70
|
-
| Class | Required behavior
|
|
71
|
-
| ------------------------------ |
|
|
72
|
-
| `destructive-change-risk` | Stop before deletion, overwrite of irreplaceable state, force-push/history rewrite, or another destructive action not explicitly authorized by the project contract.
|
|
73
|
-
| `unresolved-critical-findings` | Stop while any Critical finding is unresolved or a blocking review cannot produce a passing result.
|
|
74
|
-
| `repository-policy-approval` | Stop when a protected branch, required reviewer, merge policy, ownership boundary, or equivalent repository rule requires a human or external approval.
|
|
75
|
-
| `missing-credentials` | Stop when a required credential is absent and no integrity-preserving offline or lower-tier route exists. Name the variable or credential class, never its value.
|
|
76
|
-
| `product-judgment` | Stop when available evidence does not support a choice within the approved goal and choosing would materially change product scope or behavior.
|
|
70
|
+
| Class | Required behavior |
|
|
71
|
+
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
72
|
+
| `destructive-change-risk` | Stop before deletion, overwrite of irreplaceable state, force-push/history rewrite, or another destructive action not explicitly authorized by the project contract. |
|
|
73
|
+
| `unresolved-critical-findings` | Stop while any Critical finding is unresolved or a blocking review cannot produce a passing result. High findings follow the configured gate policy; they never silently disappear. |
|
|
74
|
+
| `repository-policy-approval` | Stop when a protected branch, required reviewer, merge policy, ownership boundary, or equivalent repository rule requires a human or external approval. |
|
|
75
|
+
| `missing-credentials` | Stop when a required credential is absent and no integrity-preserving offline or lower-tier route exists. Name the variable or credential class, never its value. |
|
|
76
|
+
| `product-judgment` | Stop when available evidence does not support a choice within the approved goal and choosing would materially change product scope or behavior. |
|
|
77
77
|
|
|
78
78
|
## Provenance
|
|
79
79
|
|
|
@@ -114,7 +114,7 @@ remains.
|
|
|
114
114
|
| QS-08 | `oat-project-quick-start` | Dispatch-ladder scope | Choose shared, local, user, or no adoption | Check existing user, local, then authorized shared config in that fixed order without prompting or provenance-based reordering; skip scalar-blocked candidates, stop before writing only if none is compatible, then adopt once and re-run preflight | `auto-resolve` / `boundary:repository-policy-approval` | File existence, compatibility evidence, selected scope, and recheck |
|
|
115
115
|
| QS-09 | `oat-project-quick-start` | Project dispatch policy | Choose a named ceiling, uncapped, inherit, or unresolved | Preserve an explicit/configured value; unresolved non-interactive state blocks | `boundary:repository-policy-approval` | `state.md` policy or resolver diagnostic |
|
|
116
116
|
| QS-10 | `oat-project-quick-start` | Optional phase-gate setup | Choose all, selected, or disabled | Use the shared non-interactive contract: leave absent and disabled unless an explicit value already exists | `auto-resolve` | Phase-gate setup status |
|
|
117
|
-
| QS-11 | `oat-project-quick-start` | Plan artifact-review findings | Accept offered Medium/
|
|
117
|
+
| QS-11 | `oat-project-quick-start` | Plan artifact-review findings | Accept offered Medium/Low fixes | Apply in-bundle, unambiguous fixes and re-review; preserve residuals and stop on unresolved Critical or material ambiguity | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row and residual-finding note |
|
|
118
118
|
| QS-12 | `oat-project-quick-start` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply the configured failure semantics; `prompt` becomes a reported boundary | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition |
|
|
119
119
|
| QS-13 | `oat-project-quick-start` | Lifecycle gate posture setup | Keep or disable each configured lifecycle gate | Use the shared non-interactive contract: preserve an explicit map; otherwise leave it absent and every configured gate enabled | `auto-resolve` | Gate posture setup status |
|
|
120
120
|
| LITE-01 | `oat-project-lite` | Inherited dirty tree | Commit, proceed, or abort | Proceed without staging unrelated files; a required destructive cleanup stops | `auto-resolve` / `boundary:destructive-change-risk` | Lite preflight note |
|
|
@@ -124,7 +124,7 @@ remains.
|
|
|
124
124
|
| LITE-05 | `oat-project-lite` | Plan approval gate | Approve, revise, or promote | Auto-confirm the recorded requirement set; contradictory or materially incomplete requirements stop | `auto-resolve` / `boundary:product-judgment` | Approval record in `plan.md` |
|
|
125
125
|
| LITE-06 | `oat-project-lite` | Dispatch-ladder scope | Choose shared, local, user, or no adoption | Check existing user, local, then authorized shared config in that fixed order without prompting or provenance-based reordering; skip scalar-blocked candidates, stop before writing only if none is compatible, then adopt once and re-run preflight | `auto-resolve` / `boundary:repository-policy-approval` | File existence, compatibility evidence, selected scope, and recheck |
|
|
126
126
|
| LITE-07 | `oat-project-lite` | Project dispatch policy | Choose a named ceiling, uncapped, inherit, or unresolved | Preserve an explicit/configured value; unresolved non-interactive state blocks | `boundary:repository-policy-approval` | `state.md` policy or resolver diagnostic |
|
|
127
|
-
| LITE-08 | `oat-project-lite` | Plan artifact-review findings | Accept offered Medium/
|
|
127
|
+
| LITE-08 | `oat-project-lite` | Plan artifact-review findings | Accept offered Medium/Low fixes | Apply only unambiguous canonicalization fixes; never rewrite source intent; unresolved Critical or ambiguity stops | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row and lite disposition |
|
|
128
128
|
| LITE-09 | `oat-project-lite` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply the configured failure semantics; `prompt` becomes a reported boundary | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition |
|
|
129
129
|
| LITE-10 | `oat-project-lite` | Configured lifecycle gate posture | Keep or disable each configured lifecycle gate | Preserve an existing override map; otherwise preserve configured gates and write no override in non-interactive planning | `auto-resolve` / `boundary:repository-policy-approval` | `state.md` override map or recorded non-interactive preservation |
|
|
130
130
|
| DISC-01 | `oat-project-discover` | Active-project confirmation or switch | Confirm the active project or choose another | Use only an explicitly supplied or valid active project; otherwise stop without guessing | `boundary:product-judgment` | Resolved project path |
|
|
@@ -151,7 +151,7 @@ remains.
|
|
|
151
151
|
| PLAN-06 | `oat-project-plan` | Project dispatch policy | Choose a runnable policy | Preserve explicit/configured policy; unresolved non-interactive state blocks | `boundary:repository-policy-approval` | `state.md` policy or resolver diagnostic |
|
|
152
152
|
| PLAN-07 | `oat-project-plan` | Plan breakdown confirmation | Confirm tasks or request changes | Complete the independent plan artifact-review loop, apply unambiguous fixes, and confirm only a clean executable plan | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row |
|
|
153
153
|
| PLAN-08 | `oat-project-plan` | Optional phase-gate setup | Choose all, selected, or disabled | Use the shared non-interactive contract: preserve explicit state or leave disabled | `auto-resolve` | Phase-gate setup status |
|
|
154
|
-
| PLAN-09 | `oat-project-plan` | Plan artifact-review findings | Accept offered Medium/
|
|
154
|
+
| PLAN-09 | `oat-project-plan` | Plan artifact-review findings | Accept offered Medium/Low fixes | Apply unambiguous artifact-local fixes and re-review; unresolved Critical or material ambiguity stops | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row and residuals |
|
|
155
155
|
| PLAN-10 | `oat-project-plan` | Parallel-group proposal | Confirm a candidate group | Accept only when write-set and dependency evidence proves independence; otherwise keep sequential and record why | `auto-resolve` | Plan Parallelism section |
|
|
156
156
|
| PLAN-11 | `oat-project-plan` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply configured failure semantics; `prompt` becomes a reported boundary | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition |
|
|
157
157
|
| PLAN-12 | `oat-project-plan` | Project-explainer intent | Generate or skip the project explainer | Preserve explicit or persisted intent; in autonomy generate only when kickoff explicitly requested it and never prompt | `auto-resolve` | Persisted project-explainer intent |
|
|
@@ -163,7 +163,7 @@ remains.
|
|
|
163
163
|
| IMPORT-05 | `oat-project-import-plan` | Dispatch-ladder scope | Choose persistence scope | Check existing user, local, then authorized shared config in that fixed order without prompting or provenance-based reordering; skip scalar-blocked candidates, stop before writing only if none is compatible, then adopt once and re-run preflight | `auto-resolve` / `boundary:repository-policy-approval` | File existence, compatibility evidence, selected scope, and recheck |
|
|
164
164
|
| IMPORT-06 | `oat-project-import-plan` | Project dispatch policy | Choose a runnable policy | Preserve explicit/configured policy; unresolved non-interactive state blocks | `boundary:repository-policy-approval` | `state.md` policy or resolver diagnostic |
|
|
165
165
|
| IMPORT-07 | `oat-project-import-plan` | Optional phase-gate setup | Choose all, selected, or disabled | Preserve explicit imported state; otherwise use the shared non-interactive disabled behavior | `auto-resolve` | Phase-gate setup status |
|
|
166
|
-
| IMPORT-08 | `oat-project-import-plan` | Import-aware artifact-review findings | Accept offered Medium/
|
|
166
|
+
| IMPORT-08 | `oat-project-import-plan` | Import-aware artifact-review findings | Accept offered Medium/Low fixes | Apply only unambiguous canonicalization fixes; never rewrite source intent; unresolved Critical or ambiguity stops | `auto-resolve` / `boundary:unresolved-critical-findings` | Plan review row and import disposition |
|
|
167
167
|
| IMPORT-09 | `oat-project-import-plan` | Configured exit gate | `block`, `prompt`, or `warn` after failure | Apply configured failure semantics; `prompt` becomes a reported boundary | `auto-resolve` / `boundary:repository-policy-approval` | Structured gate result and disposition |
|
|
168
168
|
| IMPORT-10 | `oat-project-import-plan` | Lifecycle gate posture setup | Keep or disable each configured lifecycle gate | Preserve an explicit imported map; otherwise use the shared non-interactive behavior and leave every configured gate enabled | `auto-resolve` | Gate posture setup status |
|
|
169
169
|
| IMPLEMENT-01 | `oat-project-implement` | Missing active project | Ask for project name | Use only an explicitly supplied or valid active project; otherwise stop | `boundary:product-judgment` | Resolved project path |
|
|
@@ -212,7 +212,7 @@ remains.
|
|
|
212
212
|
| REVIEWRECEIVE-02 | `oat-project-review-receive` | Review-cycle limit | Choose manual review, proceed, or override | Stop at the configured cycle limit; never self-authorize an override or proceed to PR | `boundary:repository-policy-approval` | Cycle-count blocker |
|
|
213
213
|
| REVIEWRECEIVE-03 | `oat-project-review-receive` | Final deferred Medium findings | Convert or accept deferral | Convert valid findings to fix tasks; preserve only an already explicit, evidence-backed deferral; ambiguity stops | `auto-resolve` / `boundary:product-judgment` | Deferred Medium ledger |
|
|
214
214
|
| REVIEWRECEIVE-04 | `oat-project-review-receive` | New Medium deferral request | Approve deferral per finding | Default to conversion; do not create a new autonomous deferral for material work | `auto-resolve` | Finding disposition map |
|
|
215
|
-
| REVIEWRECEIVE-05 | `oat-project-review-receive` | Final
|
|
215
|
+
| REVIEWRECEIVE-05 | `oat-project-review-receive` | Final Low disposition | Defer selected/all or convert all | Convert in-scope Lows by default; reject only with concrete evidence | `auto-resolve` | Finding disposition map |
|
|
216
216
|
| REVIEWRECEIVE-06 | `oat-project-review-receive` | Code-review next action | Execute fixes, inspect plan, or exit | Execute added fix tasks through implement, then re-review | `auto-resolve` | State pointer and receive summary |
|
|
217
217
|
| REVIEWRECEIVE-07 | `oat-project-review-receive` | Artifact-review next action | Resolve direction, re-review, or continue | Re-review applied edits; continue only after passing; user-direction findings stop | `auto-resolve` / `boundary:product-judgment` | Artifact disposition and review row |
|
|
218
218
|
| REVIEWRECEIVE-08 | `oat-project-review-receive` | Defer receive bookkeeping commit | Confirm proceeding uncommitted | Never defer; commit bounded bookkeeping or stop on commit failure | `auto-resolve` / `boundary:repository-policy-approval` | Bookkeeping commit |
|
|
@@ -263,8 +263,8 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
263
263
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `c264a64398f0 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
264
264
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
265
265
|
| `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `fffe5eea5ebd -> NG`; `e7dc6fdc4eb3 -> COMPLETE-01`; `e5460e437299 -> NG`; `882b61c9096c -> NG`; `9ffa1c752505 -> NG`; `8c5e599f6bac -> NG` |
|
|
266
|
-
| `oat-project-review-provide/SKILL.md` | `1f4b981cac8b -> NG`; `adaeca152bb2 -> NG`; `2f7c201c3c06 -> NG`; `88f79700afdc -> NG`; `655d61df0a8f -> NG`; `efafde9ef5a0 -> NG`; `d2a3861d6323 -> REVIEWPROVIDE-02`; `65f5b9cf49cd -> REVIEWPROVIDE-04`; `962cb38d246a -> REVIEWPROVIDE-04`; `1a568483ba0b -> REVIEWPROVIDE-04`; `610e27edfe85 -> REVIEWPROVIDE-04`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `
|
|
267
|
-
| `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `df49c8c6f192 -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `
|
|
266
|
+
| `oat-project-review-provide/SKILL.md` | `1f4b981cac8b -> NG`; `adaeca152bb2 -> NG`; `2f7c201c3c06 -> NG`; `88f79700afdc -> NG`; `655d61df0a8f -> NG`; `efafde9ef5a0 -> NG`; `d2a3861d6323 -> REVIEWPROVIDE-02`; `65f5b9cf49cd -> REVIEWPROVIDE-04`; `962cb38d246a -> REVIEWPROVIDE-04`; `1a568483ba0b -> REVIEWPROVIDE-04`; `610e27edfe85 -> REVIEWPROVIDE-04`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `79c8103e8656 -> NG`; `4fbd78337e33 -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
|
|
267
|
+
| `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `df49c8c6f192 -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `1d710fb4cc66 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `92578f7df686 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `594bbf70346c -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `e4c0625439f8 -> REVIEWRECEIVE-04`; `505ad8389c0a -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `90001dadf75f -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
|
|
268
268
|
| `oat-project-review-provide/SKILL.md` | `2e794bf4fc4a -> REVIEWPROVIDE-08`; `5441ab977b46 -> REVIEWPROVIDE-08` |
|
|
269
269
|
| `oat-project-review-provide/SKILL.md` | `f4238ebb1887 -> NG`; `0360fa2db9a5 -> NG` |
|
|
270
270
|
| `oat-project-implement/references/phase-execution.md` | `b31a9a4e6f75 -> NG` |
|
|
@@ -5,7 +5,7 @@ disable-model-invocation: false
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
allowed-tools: Read, Glob, Grep, Write, Edit, Bash(git:*), Bash(oat:*), Bash(pnpm:*), Bash(mkdir:*), Bash(date:*), Bash(realpath:*), Bash(awk:*), AskUserQuestion
|
|
7
7
|
metadata:
|
|
8
|
-
version: 1.5.
|
|
8
|
+
version: 1.5.9
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Request Review
|
|
@@ -535,7 +535,7 @@ When reviewing `artifact plan`, apply this Dispatch Profile named-ceiling
|
|
|
535
535
|
advisory:
|
|
536
536
|
|
|
537
537
|
- A missing `## Dispatch Profile` section is normal and must not be flagged.
|
|
538
|
-
-
|
|
538
|
+
- High findings:
|
|
539
539
|
- invalid phase ID that does not match a real plan phase
|
|
540
540
|
- unknown named ceiling or a phase ceiling above the project ceiling
|
|
541
541
|
- wording that pins an exact provider model, family, effort, or role instead
|
|
@@ -546,7 +546,7 @@ advisory:
|
|
|
546
546
|
- Medium findings:
|
|
547
547
|
- malformed but recoverable Dispatch Profile table structure
|
|
548
548
|
- mid-tier ceiling for architecture-heavy work without convincing rationale
|
|
549
|
-
-
|
|
549
|
+
- Low findings:
|
|
550
550
|
- rationale is present but weakly tied to phase scope
|
|
551
551
|
|
|
552
552
|
Include this advisory in the Review Scope metadata for artifact plan reviews so
|
|
@@ -566,7 +566,7 @@ Preferred sources:
|
|
|
566
566
|
Build:
|
|
567
567
|
|
|
568
568
|
- `DEFERRED_MEDIUM_COUNT`
|
|
569
|
-
- `
|
|
569
|
+
- `DEFERRED_LOW_COUNT`
|
|
570
570
|
- `DEFERRED_LEDGER` (one-line summary per finding with source artifact)
|
|
571
571
|
|
|
572
572
|
Rules:
|
|
@@ -619,7 +619,7 @@ Build the "Review Scope" metadata for the reviewer:
|
|
|
619
619
|
**Deferred Findings Ledger (final scope only):**
|
|
620
620
|
|
|
621
621
|
- Deferred Medium count: {DEFERRED_MEDIUM_COUNT}
|
|
622
|
-
- Deferred
|
|
622
|
+
- Deferred Low count: {DEFERRED_LOW_COUNT}
|
|
623
623
|
{DEFERRED_LEDGER}
|
|
624
624
|
|
|
625
625
|
**Design Drift Review Guidance:**
|
|
@@ -968,7 +968,7 @@ If running inline (Tier 3), execute the review and write artifact.
|
|
|
968
968
|
2. If code review: verify alignment to available requirements sources (`spec`/`design` for spec-driven mode; `discovery`/import reference for quick/import; plan.md Summary, Decisions, Assumptions, Out of Scope, and Validation Criteria for lite)
|
|
969
969
|
3. If code review: verify code quality (correctness, tests, security, maintainability)
|
|
970
970
|
4. If artifact review: verify completeness/clarity/readiness of the artifact and its alignment with upstream artifacts
|
|
971
|
-
5. Categorize findings (Critical/
|
|
971
|
+
5. Categorize findings (Critical/High/Medium/Low)
|
|
972
972
|
6. For final scope: explicitly disposition deferred Medium ledger items (fix now vs accept defer)
|
|
973
973
|
7. Write artifact with file:line references and fix guidance
|
|
974
974
|
|
|
@@ -1021,8 +1021,8 @@ oat_invocation_source: { exec-target-config|unknown }
|
|
|
1021
1021
|
|
|
1022
1022
|
**Frontmatter field: `oat_review_invocation`**
|
|
1023
1023
|
|
|
1024
|
-
- `manual` (default): Review was manually triggered by the user. `oat-project-review-receive` uses standard disposition behavior (user prompts for triage,
|
|
1025
|
-
- `auto`: Review was spawned by the auto-review checkpoint trigger in `oat-project-implement`. `oat-project-review-receive` uses relaxed disposition:
|
|
1024
|
+
- `manual` (default): Review was manually triggered by the user. `oat-project-review-receive` uses standard disposition behavior (user prompts for triage, low findings auto-deferred for non-final scopes).
|
|
1025
|
+
- `auto`: Review was spawned by the auto-review checkpoint trigger in `oat-project-implement`. `oat-project-review-receive` uses relaxed disposition: low findings are auto-converted to fix tasks (not deferred), no user prompts for disposition decisions.
|
|
1026
1026
|
- `gate`: Review was spawned by `oat gate review` for a workflow gate. Gate-originated reviews use normal stateful review-provide behavior: write the review artifact, update the `## Reviews` row, and commit review bookkeeping. The gate CLI maps the review artifact findings to exit status, and `oat-project-review-receive` dispositions gate reviews autonomously (no user prompts) — selecting convert-to-fix-tasks when the gate **blocked** at its threshold, or non-pausing judgment-sweep disposition (defer / small-fix-now / reject, with sub-threshold findings recorded durably) when the gate **passed**.
|
|
1027
1027
|
|
|
1028
1028
|
When `oat-project-implement` spawns this skill for auto-review at checkpoints, it passes context indicating auto invocation. Set `oat_review_invocation: auto` in the artifact frontmatter.
|
|
@@ -1035,7 +1035,7 @@ For all other invocations (user-triggered, fresh session), use `manual`.
|
|
|
1035
1035
|
|
|
1036
1036
|
Gate parsing contract:
|
|
1037
1037
|
|
|
1038
|
-
- Include either the `Findings: {N} critical, {N}
|
|
1038
|
+
- Include either the `Findings by severity: {N} critical, {N} high, {N} medium, {N} low` summary line or the standard `## Findings` section with `### Critical`, `### High`, `### Medium`, and `### Low` subsections populated with findings or `None`.
|
|
1039
1039
|
- Do not omit severity headings merely because a severity has zero findings; `oat gate review` depends on counts or standard Findings sections to determine whether the review blocks.
|
|
1040
1040
|
|
|
1041
1041
|
```markdown
|
|
@@ -1043,7 +1043,7 @@ Gate parsing contract:
|
|
|
1043
1043
|
|
|
1044
1044
|
{2-3 sentence summary}
|
|
1045
1045
|
|
|
1046
|
-
Findings: {N} critical, {N}
|
|
1046
|
+
Findings by severity: {N} critical, {N} high, {N} medium, {N} low
|
|
1047
1047
|
|
|
1048
1048
|
## Findings
|
|
1049
1049
|
|
|
@@ -1051,7 +1051,7 @@ Findings: {N} critical, {N} important, {N} medium, {N} minor
|
|
|
1051
1051
|
|
|
1052
1052
|
{findings or "None"}
|
|
1053
1053
|
|
|
1054
|
-
###
|
|
1054
|
+
### High
|
|
1055
1055
|
|
|
1056
1056
|
{findings or "None"}
|
|
1057
1057
|
|
|
@@ -1059,7 +1059,7 @@ Findings: {N} critical, {N} important, {N} medium, {N} minor
|
|
|
1059
1059
|
|
|
1060
1060
|
{findings or "None"}
|
|
1061
1061
|
|
|
1062
|
-
###
|
|
1062
|
+
### Low
|
|
1063
1063
|
|
|
1064
1064
|
{findings or "None"}
|
|
1065
1065
|
|
|
@@ -1128,7 +1128,7 @@ Record this artifact as one append-ordered review event:
|
|
|
1128
1128
|
- `Scope`: `{scope}` (examples: `p02`, `final`, `spec`, `design`)
|
|
1129
1129
|
- Phase-range examples such as `p02-p03` are valid code-review scopes and should be preserved exactly.
|
|
1130
1130
|
- `Type`: `code` or `artifact`
|
|
1131
|
-
- `Status`: `received` (receive-review will decide `fixes_added` vs `passed`; `passed` now requires no unresolved Critical/
|
|
1131
|
+
- `Status`: `received` (receive-review will decide `fixes_added` vs `passed`; `passed` now requires no unresolved Critical/High/Medium and final deferred-medium disposition when applicable)
|
|
1132
1132
|
- `Date`: `{today}`
|
|
1133
1133
|
- `Artifact`: `reviews/{filename}.md`
|
|
1134
1134
|
- `Reviewed Head`: for code reviews, the full 40-character SHA from
|
|
@@ -1229,7 +1229,7 @@ Review complete for {project-name}.
|
|
|
1229
1229
|
|
|
1230
1230
|
Scope: {scope}
|
|
1231
1231
|
Files reviewed: {N}
|
|
1232
|
-
Findings: {N} critical, {N}
|
|
1232
|
+
Findings by severity: {N} critical, {N} high, {N} medium, {N} low
|
|
1233
1233
|
|
|
1234
1234
|
Review artifact: {path}
|
|
1235
1235
|
Bookkeeping commit: {sha or "deferred with user approval"}
|