@open-agent-toolkit/cli 0.2.23 → 0.2.25
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 +12 -1
- package/assets/docs/cli-utilities/configuration.md +2 -4
- package/assets/docs/cli-utilities/workflow-gates.md +27 -3
- package/assets/docs/reference/cli-reference.md +1 -1
- package/assets/docs/workflows/projects/reviews.md +19 -10
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +3 -3
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +3 -3
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +3 -3
- package/assets/skills/oat-project-implement/references/phase-execution.md +29 -0
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +3 -3
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +3 -3
- package/assets/skills/oat-project-review-provide/SKILL.md +124 -26
- package/assets/skills/oat-project-review-provide-remote/SKILL.md +64 -15
- package/assets/skills/oat-project-review-receive/SKILL.md +21 -1
- package/assets/skills/oat-project-review-receive-remote/SKILL.md +39 -2
- package/assets/skills/oat-review-provide-remote/SKILL.md +55 -12
- package/assets/templates/plan.md +13 -7
- package/dist/commands/config/index.js +8 -8
- package/dist/commands/gate/child-process.d.ts +32 -0
- package/dist/commands/gate/child-process.d.ts.map +1 -0
- package/dist/commands/gate/child-process.js +210 -0
- package/dist/commands/gate/index.d.ts +2 -31
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +24 -150
- package/dist/commands/review/latest.d.ts.map +1 -1
- package/dist/commands/review/latest.js +22 -9
- package/dist/config/resolve.js +1 -1
- package/dist/review-remote/body-builder.d.ts +12 -3
- package/dist/review-remote/body-builder.d.ts.map +1 -1
- package/dist/review-remote/body-builder.js +11 -0
- package/dist/review-remote/marker-parser.d.ts +8 -3
- package/dist/review-remote/marker-parser.d.ts.map +1 -1
- package/dist/review-remote/marker-parser.js +13 -2
- package/dist/review-remote/narrowing.d.ts +44 -8
- package/dist/review-remote/narrowing.d.ts.map +1 -1
- package/dist/review-remote/narrowing.js +106 -10
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-reviewer
|
|
3
|
-
version: 1.
|
|
3
|
+
version: 1.2.0
|
|
4
4
|
description: Unified reviewer for OAT projects - mode-aware verification of requirements/design alignment and code quality. Writes a review artifact to disk by default, or returns structured findings in-memory when dispatched in structured-output mode.
|
|
5
5
|
tools: Read, Bash, Grep, Glob, Write, Task
|
|
6
6
|
color: yellow
|
|
@@ -55,6 +55,7 @@ You will be given a "Review Scope" block including:
|
|
|
55
55
|
- **tasks_in_scope**: Task IDs being reviewed (if task/phase scope)
|
|
56
56
|
- **oat_output_mode**: Optional output-sink selector. Absent (or any value other than `structured`) means **artifact mode** — write the review artifact to disk per Step 8. `structured` means **structured-output mode** — return a `StructuredFindings` object in-memory and write NO artifact file (see **Structured-Output Mode**). This key parallels the existing `oat_review_invocation` dispatch-payload naming.
|
|
57
57
|
- **oat_review_invocation**: Optional provenance selector for artifact-mode reviews. Use `manual`, `auto`, or `gate`; default to `manual` when absent.
|
|
58
|
+
- **Code-review provenance**: For artifact-mode code reviews, resolve the authoritative range head with `git rev-parse <authoritative-range-head>^{commit}` and record the resulting full 40-character commit SHA as `oat_review_head_sha`. If the review is narrowed, also record the resolved range, prior artifact path, and prior reviewed head supplied by the caller.
|
|
58
59
|
- **Gate invocation fields**: For `oat_review_invocation: gate`, the prompt supplies exact `oat_gate_run_id`, `oat_gate_target`, `oat_gate_runtime`, `oat_invocation_model`, `oat_invocation_reasoning_effort`, and `oat_invocation_source` values. Copy them verbatim into artifact frontmatter. They describe OAT's configured invocation, not model self-identification.
|
|
59
60
|
- **model_axis**: Optional model dispatch state selected by the orchestrator (`selected:<value>`, `inherited`, `not-applicable`, or `host-auto`)
|
|
60
61
|
- **effort_axis**: Optional effort dispatch state selected by the orchestrator (`selected:<value>`, `provider-default`, `inherited`, `not-applicable`, or `host-auto`)
|
|
@@ -357,6 +358,12 @@ oat_review_scope: { scope }
|
|
|
357
358
|
oat_review_type: { code|artifact|analysis }
|
|
358
359
|
oat_review_invocation: { manual|auto|gate }
|
|
359
360
|
oat_project: { project-path }
|
|
361
|
+
# Code-review only: required full 40-character SHA.
|
|
362
|
+
oat_review_head_sha: { authoritative range head commit SHA }
|
|
363
|
+
# Narrowed code-review only: copy the complete resolved provenance chain.
|
|
364
|
+
oat_review_range: { prior reviewed head }..{ authoritative range head }
|
|
365
|
+
oat_prior_review_artifact: { prior artifact path }
|
|
366
|
+
oat_prior_review_head_sha: { prior artifact's full reviewed head commit SHA }
|
|
360
367
|
# Gate-only: copy the exact prompt-provided fields below.
|
|
361
368
|
oat_gate_run_id: { gate run id }
|
|
362
369
|
oat_gate_target: { configured target id }
|
|
@@ -458,6 +465,10 @@ Run the `oat-project-review-receive` skill to convert findings into plan tasks.
|
|
|
458
465
|
|
|
459
466
|
Gate parsing contract: artifact-mode reviews, including reviews spawned by `oat gate review`, MUST include either the complete `Findings: {N} critical, {N} important, {N} medium, {N} minor` count line or the standard `## Findings` sections shown above with every severity subsection present.
|
|
460
467
|
|
|
468
|
+
For every artifact-mode code review, `oat_review_head_sha` is required and must be the full 40-character commit SHA at the head of the authoritative review range. Resolve it with `git rev-parse <authoritative-range-head>^{commit}`. An abbreviated SHA, symbolic ref, or range string is invalid. When the review narrowed, `oat_review_range`, `oat_prior_review_artifact`, and `oat_prior_review_head_sha` are also required; the prior head must likewise be a full 40-character SHA. These code-review fields are independent of the gate-only block and do not apply to artifact, analysis, or structured-output reviews.
|
|
469
|
+
|
|
470
|
+
For a narrowed review, do not restate requirements-coverage claims that this pass did not itself verify. Reference the prior artifact's coverage or mark inherited coverage rows as inherited so the union of passes remains auditable.
|
|
471
|
+
|
|
461
472
|
For gate-originated artifacts, all six gate-only fields are required when the prompt supplies gate context. Copy the values exactly. Do not parse the provider command, infer values from the target id, or replace configured values with observed/self-reported identity. Any optional self-report belongs in review prose and is non-authoritative; the gate validates the copied frontmatter against its immutable configured invocation record before applying severity thresholds.
|
|
462
473
|
|
|
463
474
|
|
|
@@ -540,7 +540,7 @@ Workflow preference keys live under the `workflow.*` namespace:
|
|
|
540
540
|
- `workflow.postImplementSequence` — legacy `wait`, `summary`, `pr`, or `docs-pr`, or `{ "preApproval": [...], "postApproval": [...] }`. Legacy values remain strings; structured arrays contain ordered, globally unique `summary`, `document`, and `pr` steps. Pre-approval steps run after final review and before final HiLL approval; post-approval steps run only after that approval. Plain retrieval keeps legacy strings and prints structured values as compact JSON; `--json` returns the raw value.
|
|
541
541
|
- `workflow.reviewExecutionModel` — `subagent`, `inline`, or `fresh-session`. Default final-review execution model in `oat-project-implement`. `subagent` and `inline` run automatically. `fresh-session` is a soft preference: the skill prints guidance to run the review in another session but still offers escape hatches to `subagent` or `inline` if you change your mind. When unset, the skill prompts.
|
|
542
542
|
- `workflow.autoReviewAtHillCheckpoints` — boolean. Automatically run the extra lifecycle review when a HiLL checkpoint is reached. This does not control Tier 1 per-phase `oat-reviewer` gates, which run after each phase in Tier 1 regardless of this setting. When unset, the skill prompts.
|
|
543
|
-
- `workflow.autoNarrowReReviewScope` — boolean
|
|
543
|
+
- `workflow.autoNarrowReReviewScope` — boolean, default `true`. Re-reviews automatically use the guarded range after the prior matching review's recorded head. Unset and `true` enable narrowing without a prompt; set `false` to opt out and use the nominal full scope.
|
|
544
544
|
- `workflow.autoArtifactReview.plan` — boolean, default `true`. Automatically run the bounded artifact-review loop for generated `plan.md` files before implementation handoff. Set to `false` only when you intentionally want to skip the plan artifact review.
|
|
545
545
|
- `workflow.autoArtifactReview.analysis` — boolean, default `true`. Automatically run the bounded accuracy-review loop for generated docs and agent-instructions analysis artifacts before the matching apply workflow consumes them.
|
|
546
546
|
- `workflow.projectLog` — `auto`, `true`, or `false`; default `auto`. `auto` creates the append-only `project-log.md` on the first lifecycle append, `true` also enables scaffold-time creation, and `false` skips appends when no log exists. An existing artifact remains enabled regardless of the current setting.
|
|
@@ -617,7 +617,6 @@ oat config set workflow.createPrOnComplete true --user
|
|
|
617
617
|
oat config set workflow.postImplementSequence pr --user
|
|
618
618
|
oat config set workflow.reviewExecutionModel subagent --user
|
|
619
619
|
oat config set workflow.autoReviewAtHillCheckpoints true --user
|
|
620
|
-
oat config set workflow.autoNarrowReReviewScope true --user
|
|
621
620
|
oat config set workflow.designMode selective --user
|
|
622
621
|
oat config set workflow.dispatchCeiling.preset balanced --user
|
|
623
622
|
oat config adopt dispatch-matrix --user
|
|
@@ -668,11 +667,10 @@ Other preferences **depend on per-repo configuration** to be safe. These should
|
|
|
668
667
|
**Recommended split for most users:**
|
|
669
668
|
|
|
670
669
|
```bash
|
|
671
|
-
# Personal defaults (apply everywhere)
|
|
670
|
+
# Personal preferences that differ from built-in defaults (apply everywhere)
|
|
672
671
|
oat config set workflow.hillCheckpointDefault final --user
|
|
673
672
|
oat config set workflow.reviewExecutionModel subagent --user
|
|
674
673
|
oat config set workflow.autoReviewAtHillCheckpoints true --user
|
|
675
|
-
oat config set workflow.autoNarrowReReviewScope true --user
|
|
676
674
|
|
|
677
675
|
# Per-repo team decisions (set in each repo where they apply)
|
|
678
676
|
oat config set workflow.archiveOnComplete true --shared
|
|
@@ -717,8 +717,21 @@ Each liveness tick keeps stdout-idle time and also reports `processAlive` plus
|
|
|
717
717
|
the latest metadata-only transcript activity as `lastActivityEvidence` when
|
|
718
718
|
available. The probe performs bounded depth-two traversal and compares newest
|
|
719
719
|
mtime plus total size with its spawn baseline. It never reads transcript
|
|
720
|
-
contents
|
|
721
|
-
|
|
720
|
+
contents and never changes pass/fail or receive eligibility.
|
|
721
|
+
|
|
722
|
+
When the hard timeout fires, OAT stops periodic liveness ticks, sends `SIGTERM`,
|
|
723
|
+
schedules the existing `SIGKILL` fallback, and then starts one final transcript
|
|
724
|
+
observation with the timeout timestamp. Once the child closes, result resolution
|
|
725
|
+
waits no longer than the one-second observation grace and does not delay either
|
|
726
|
+
signal. A final sample available before result resolution supersedes older
|
|
727
|
+
in-flight periodic work; otherwise OAT retains the latest valid periodic
|
|
728
|
+
evidence.
|
|
729
|
+
|
|
730
|
+
On a normal child close, OAT waits within the same one-second grace only when a
|
|
731
|
+
periodic transcript observation is already in flight. This preserves late
|
|
732
|
+
evidence but can add up to one second to an otherwise successful execution. The
|
|
733
|
+
one-second observation grace and five-second force-kill fallback are fixed
|
|
734
|
+
safety bounds, not environment-tunable settings.
|
|
722
735
|
|
|
723
736
|
Claude and Cursor evidence has `scope: project-dir`. Codex's date-sharded
|
|
724
737
|
sessions directory is shared across the runtime, so its evidence has
|
|
@@ -726,7 +739,18 @@ sessions directory is shared across the runtime, so its evidence has
|
|
|
726
739
|
attributable to this gate child).” Probe errors fail soft to process and stdout
|
|
727
740
|
telemetry.
|
|
728
741
|
|
|
729
|
-
Timeout and child-failure envelopes include the latest `activityEvidence`.
|
|
742
|
+
Timeout and child-failure JSON envelopes include the latest `activityEvidence`.
|
|
743
|
+
For human timeout and non-refusal child-failure output, OAT prints a second line
|
|
744
|
+
with this shape:
|
|
745
|
+
|
|
746
|
+
```text
|
|
747
|
+
Activity evidence: <runtime> <project|ambient> transcript metadata <changed|did not change> since baseline; observed <milliseconds>ms ago; latest transcript change was <milliseconds>ms before observation.
|
|
748
|
+
```
|
|
749
|
+
|
|
750
|
+
When the evidence scope is ambient, the line ends with `This activity is not
|
|
751
|
+
attributable to this gate child.` Structured refusals omit the extra human
|
|
752
|
+
diagnostic because the refusal itself explains why execution stopped.
|
|
753
|
+
|
|
730
754
|
Before spawn, the gate also writes a transient marker under the system temp
|
|
731
755
|
directory at `oat-gate-runs/<runId>.json`; startup diagnostics print its path.
|
|
732
756
|
The marker records target, runtime, project, review type/scope, start time,
|
|
@@ -99,7 +99,7 @@ The `workflow.*` namespace holds user-facing workflow preferences that let you a
|
|
|
99
99
|
- `workflow.postImplementSequence` (legacy `wait` | `summary` | `pr` | `docs-pr`, or structured `{preApproval, postApproval}` arrays) — approval-aware post-implementation chaining
|
|
100
100
|
- `workflow.reviewExecutionModel` (`subagent` | `inline` | `fresh-session`) — default final-review execution model
|
|
101
101
|
- `workflow.autoReviewAtHillCheckpoints` (`boolean`) — auto-run the extra lifecycle review at HiLL checkpoints
|
|
102
|
-
- `workflow.autoNarrowReReviewScope` (`boolean`) —
|
|
102
|
+
- `workflow.autoNarrowReReviewScope` (`boolean`, default `true`) — automatically narrow re-reviews to the guarded range after the prior matching review's recorded head; set `false` to use the nominal full scope
|
|
103
103
|
- `workflow.autoArtifactReview.plan` (`boolean`, default `true`) — auto-run the bounded `plan.md` artifact-review loop before implementation handoff
|
|
104
104
|
- `workflow.autoArtifactReview.analysis` (`boolean`, default `true`) — auto-run the bounded accuracy-review loop for generated analysis artifacts before apply workflows consume them
|
|
105
105
|
- `workflow.gateTimeouts.code` / `workflow.gateTimeouts.artifact` (integer milliseconds from 1,000–14,400,000) — review-type budget defaults below CLI and target overrides
|
|
@@ -188,21 +188,30 @@ Only an explicit `false` skips a loop. The retry bound comes from `oat_orchestra
|
|
|
188
188
|
|
|
189
189
|
## Re-review scope narrowing
|
|
190
190
|
|
|
191
|
-
|
|
191
|
+
Re-reviews narrow by default to the commits after the prior matching review's recorded head. Set `workflow.autoNarrowReReviewScope` to `false` to opt out and use the nominal full scope. An unset value and an explicit `true` both enable narrowing; the re-review path does not prompt for this decision.
|
|
192
192
|
|
|
193
|
-
|
|
193
|
+
Initial reviews have no prior reviewed head and therefore use the nominal full scope. A follow-up review narrows only from a completed review in the same lineage:
|
|
194
194
|
|
|
195
|
-
- `
|
|
196
|
-
-
|
|
197
|
-
-
|
|
195
|
+
- Lifecycle reviews (`manual` and `auto`) can build only on prior lifecycle reviews for the same project and exact scope.
|
|
196
|
+
- A configured gate can build only on its own prior run for the same exact gate target and scope. It never inherits a lifecycle review or another gate's coverage.
|
|
197
|
+
- Project remote and ad-hoc remote reviews use their own GitHub review-marker lineages. No rail borrows another rail's reviewed head merely because the commit exists.
|
|
198
198
|
|
|
199
|
-
|
|
199
|
+
Each rail owns its provenance:
|
|
200
200
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
201
|
+
- The local project rail checks the matching review artifact and the lineage-qualified tracked Reviews row. The artifact is primary while present; the row preserves the reviewed head after receive, archival, cleanup, or a worktree hand-off. If both sources exist, they must agree.
|
|
202
|
+
- The project remote rail reads same-project, same-scope, same-lineage GitHub review marker blocks.
|
|
203
|
+
- The ad-hoc remote rail reads ad-hoc GitHub review marker blocks and has no project-plan fallback.
|
|
204
|
+
- A configured gate reads its target-qualified gate-owned state and artifacts.
|
|
205
|
+
|
|
206
|
+
A candidate reviewed head must be a full 40-character hexadecimal commit SHA. OAT verifies that the commit exists and is an ancestor of the current review head before accepting the exact `<prior-reviewed-head>..<current-head>` range. An explicit `base_sha=<sha>` or `<sha1>..<sha2>` input overrides automatic narrowing. On the project remote rail, `--narrow` forces narrowing even when the configured preference is `false`, while `--no-narrow` forces the nominal full scope. Nominal scope tokens such as `pNN`, `pNN-tNN`, `pNN-pMM`, and `final` still participate in automatic narrowing; they identify the review subject rather than overriding its range.
|
|
207
|
+
|
|
208
|
+
Automatic narrowing fails open to the nominal full scope and reports why when there is no matching prior review, a legacy artifact or Reviews row has no usable lineage, a reviewed head is missing or invalid, local provenance sources disagree, the commit does not exist, ancestry fails, or remote prior-review discovery is unavailable. A forced remote `--narrow` request instead treats discovery or guard failure as an error. These guards intentionally make narrowing opportunistic: rebases, integration merges, force pushes, shallow history, and worktree consolidation can invalidate the prior commit relationship and cause a full-scope review.
|
|
209
|
+
|
|
210
|
+
Every re-review reports one resolution line naming the selected range, the reason narrowing applied or fell back, and an `empty`, `bookkeeping-only`, or `substantive` classification. Explicit range overrides are classified too. `empty` means the resolved diff has no changed paths. Classification is informational only; every classification still dispatches the review over the complete resolved range.
|
|
211
|
+
|
|
212
|
+
A narrowed artifact names the prior artifact and reviewed head it builds on. It must not restate requirements-coverage claims that the narrowed pass did not verify; it references the prior artifact's coverage or marks inherited rows as inherited so the union of passes remains auditable.
|
|
204
213
|
|
|
205
|
-
|
|
214
|
+
See [Workflow preferences in the Configuration guide](../../cli-utilities/configuration.md#workflow-preferences-workflow) for config scopes and the full list of preference keys.
|
|
206
215
|
|
|
207
216
|
## Phase and final review
|
|
208
217
|
|
|
@@ -187,7 +187,7 @@ remains.
|
|
|
187
187
|
| REVIEWPROVIDE-02 | `oat-project-review-provide` | Missing type or scope | Infer then ask for confirmation | Use caller-provided scope or deterministic project-state inference; ambiguity stops | `auto-resolve` / `boundary:product-judgment` | Review Scope metadata |
|
|
188
188
|
| REVIEWPROVIDE-03 | `oat-project-review-provide` | Detached branch | Ask which branch to review | Resolve only from authoritative worktree metadata; otherwise stop | `boundary:repository-policy-approval` | Branch-resolution diagnostic |
|
|
189
189
|
| REVIEWPROVIDE-04 | `oat-project-review-provide` | Different branch without worktree | Switch, inline-only, or cancel | Do not switch branches or discard context autonomously; stop for a correct checkout/worktree | `boundary:repository-policy-approval` | Branch/worktree diagnostic |
|
|
190
|
-
| REVIEWPROVIDE-05 | `oat-project-review-provide` | Re-review narrowing | Narrow
|
|
190
|
+
| REVIEWPROVIDE-05 | `oat-project-review-provide` | Re-review narrowing | Narrow automatically or use full scope | Use configured preference without prompting: unset or `true` narrows from a guarded prior same-lineage reviewed head, `false` uses full scope; fail open to full scope when provenance or Git guards fail | `auto-resolve` | Review Scope metadata |
|
|
191
191
|
| REVIEWPROVIDE-06 | `oat-project-review-provide` | Commit-range fallback | Supply a range or accept merge-base | Use a verified merge-base-to-HEAD range when it covers the declared scope; otherwise stop | `auto-resolve` / `boundary:product-judgment` | Review Scope metadata |
|
|
192
192
|
| REVIEWPROVIDE-07 | `oat-project-review-provide` | Reviewer delegation authorization | Authorize `oat-reviewer` | Approve once for the exact bounded review scope | `auto-resolve` | Dispatch authorization and record |
|
|
193
193
|
| REVIEWPROVIDE-08 | `oat-project-review-provide` | Fresh-session or inline fallback | Choose execution route | Use the pre-launch-selected target-preserving route; a blocking review with no adequate route stops | `auto-resolve` / `boundary:missing-credentials` | Dispatch record |
|
|
@@ -245,7 +245,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
245
245
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `5eb3949f32e1 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
246
246
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
247
247
|
| `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `ffcdc9d576c0 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `9497d9f94eed -> COMPLETE-01`; `7b59c728d3fb -> COMPLETE-01`; `48e10a9636fe -> COMPLETE-01`; `c0dad37fc166 -> COMPLETE-01`; `aa9a36243ec1 -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `12f7c30a54c8 -> NG`; `fffe5eea5ebd -> NG` |
|
|
248
|
-
| `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`; `
|
|
248
|
+
| `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`; `fcb9de611ff3 -> NG`; `d2a838dfb18d -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
|
|
249
249
|
| `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `df49c8c6f192 -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `c8ab5dd90075 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `3ad3aadb8c60 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `3f758313fedb -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `aba178a21441 -> REVIEWRECEIVE-04`; `a37e601cd731 -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `90001dadf75f -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
|
|
250
250
|
| `oat-project-review-provide/SKILL.md` | `2e794bf4fc4a -> REVIEWPROVIDE-08`; `5441ab977b46 -> REVIEWPROVIDE-08` |
|
|
251
251
|
| `oat-project-review-provide/SKILL.md` | `f4238ebb1887 -> NG`; `0360fa2db9a5 -> NG` |
|
|
@@ -297,7 +297,7 @@ inventory`). The file-and-line mappings below were captured against that commit.
|
|
|
297
297
|
| `oat-project-summary/SKILL.md` | `4,7,30 -> NG`; `86 -> SUMMARY-01`; `201,203,209-210,249,257,297 -> NG` |
|
|
298
298
|
| `oat-project-pr-final/SKILL.md` | `4,7,26,43 -> NG`; `104 -> PRFINAL-01` |
|
|
299
299
|
| `oat-project-complete/SKILL.md` | `7,16 -> NG`; `57,61,63,80,89,92,95,103,105,114,124 -> COMPLETE-01`; `140 -> NG`; `205,214 -> COMPLETE-02`; `219,223 -> COMPLETE-03`; `283,468 -> NG` |
|
|
300
|
-
| `oat-project-review-provide/SKILL.md` | `4,7,28,34,44,93 -> NG`; `166 -> REVIEWPROVIDE-02`; `236,239-240,261 -> REVIEWPROVIDE-04`; `308,314-316,318 -> REVIEWPROVIDE-05`; `370,373 -> REVIEWPROVIDE-06`; `621 -> REVIEWPROVIDE-07`; `632,664 -> REVIEWPROVIDE-08`; `645,647,751,770-772,778 -> NG`; `869 -> REVIEWPROVIDE-09`; `
|
|
300
|
+
| `oat-project-review-provide/SKILL.md` | `4,7,28,34,44,93 -> NG`; `166 -> REVIEWPROVIDE-02`; `236,239-240,261 -> REVIEWPROVIDE-04`; `308,314-316,318 -> REVIEWPROVIDE-05`; `370,373 -> REVIEWPROVIDE-06`; `621 -> REVIEWPROVIDE-07`; `632,664 -> REVIEWPROVIDE-08`; `645,647,751,770-772,778 -> NG`; `869 -> REVIEWPROVIDE-09`; `915,931 -> NG` |
|
|
301
301
|
| `oat-project-review-receive/SKILL.md` | `4,7,26,40,71,128,178,211,215,252,259 -> NG`; `267 -> REVIEWRECEIVE-01`; `273-274,278 -> NG`; `482 -> REVIEWRECEIVE-08`; `517 -> REVIEWRECEIVE-02`; `548 -> REVIEWRECEIVE-04`; `590 -> REVIEWRECEIVE-05`; `614 -> REVIEWRECEIVE-06`; `647 -> REVIEWRECEIVE-07`; `721,724 -> NG` |
|
|
302
302
|
| `oat-dispatch-subagents/SKILL.md` | `94,98 -> DISPATCH-01`; `110 -> PDISPATCH-01`; `117,123 -> DISPATCH-02`; `126 -> PDISPATCH-01` |
|
|
303
303
|
| `oat-dispatch-subagents/references/provider-cursor.md` | `40,49 -> NG` |
|
|
@@ -187,7 +187,7 @@ remains.
|
|
|
187
187
|
| REVIEWPROVIDE-02 | `oat-project-review-provide` | Missing type or scope | Infer then ask for confirmation | Use caller-provided scope or deterministic project-state inference; ambiguity stops | `auto-resolve` / `boundary:product-judgment` | Review Scope metadata |
|
|
188
188
|
| REVIEWPROVIDE-03 | `oat-project-review-provide` | Detached branch | Ask which branch to review | Resolve only from authoritative worktree metadata; otherwise stop | `boundary:repository-policy-approval` | Branch-resolution diagnostic |
|
|
189
189
|
| REVIEWPROVIDE-04 | `oat-project-review-provide` | Different branch without worktree | Switch, inline-only, or cancel | Do not switch branches or discard context autonomously; stop for a correct checkout/worktree | `boundary:repository-policy-approval` | Branch/worktree diagnostic |
|
|
190
|
-
| REVIEWPROVIDE-05 | `oat-project-review-provide` | Re-review narrowing | Narrow
|
|
190
|
+
| REVIEWPROVIDE-05 | `oat-project-review-provide` | Re-review narrowing | Narrow automatically or use full scope | Use configured preference without prompting: unset or `true` narrows from a guarded prior same-lineage reviewed head, `false` uses full scope; fail open to full scope when provenance or Git guards fail | `auto-resolve` | Review Scope metadata |
|
|
191
191
|
| REVIEWPROVIDE-06 | `oat-project-review-provide` | Commit-range fallback | Supply a range or accept merge-base | Use a verified merge-base-to-HEAD range when it covers the declared scope; otherwise stop | `auto-resolve` / `boundary:product-judgment` | Review Scope metadata |
|
|
192
192
|
| REVIEWPROVIDE-07 | `oat-project-review-provide` | Reviewer delegation authorization | Authorize `oat-reviewer` | Approve once for the exact bounded review scope | `auto-resolve` | Dispatch authorization and record |
|
|
193
193
|
| REVIEWPROVIDE-08 | `oat-project-review-provide` | Fresh-session or inline fallback | Choose execution route | Use the pre-launch-selected target-preserving route; a blocking review with no adequate route stops | `auto-resolve` / `boundary:missing-credentials` | Dispatch record |
|
|
@@ -245,7 +245,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
245
245
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `5eb3949f32e1 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
246
246
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
247
247
|
| `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `ffcdc9d576c0 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `9497d9f94eed -> COMPLETE-01`; `7b59c728d3fb -> COMPLETE-01`; `48e10a9636fe -> COMPLETE-01`; `c0dad37fc166 -> COMPLETE-01`; `aa9a36243ec1 -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `12f7c30a54c8 -> NG`; `fffe5eea5ebd -> NG` |
|
|
248
|
-
| `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`; `
|
|
248
|
+
| `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`; `fcb9de611ff3 -> NG`; `d2a838dfb18d -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
|
|
249
249
|
| `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `df49c8c6f192 -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `c8ab5dd90075 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `3ad3aadb8c60 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `3f758313fedb -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `aba178a21441 -> REVIEWRECEIVE-04`; `a37e601cd731 -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `90001dadf75f -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
|
|
250
250
|
| `oat-project-review-provide/SKILL.md` | `2e794bf4fc4a -> REVIEWPROVIDE-08`; `5441ab977b46 -> REVIEWPROVIDE-08` |
|
|
251
251
|
| `oat-project-review-provide/SKILL.md` | `f4238ebb1887 -> NG`; `0360fa2db9a5 -> NG` |
|
|
@@ -297,7 +297,7 @@ inventory`). The file-and-line mappings below were captured against that commit.
|
|
|
297
297
|
| `oat-project-summary/SKILL.md` | `4,7,30 -> NG`; `86 -> SUMMARY-01`; `201,203,209-210,249,257,297 -> NG` |
|
|
298
298
|
| `oat-project-pr-final/SKILL.md` | `4,7,26,43 -> NG`; `104 -> PRFINAL-01` |
|
|
299
299
|
| `oat-project-complete/SKILL.md` | `7,16 -> NG`; `57,61,63,80,89,92,95,103,105,114,124 -> COMPLETE-01`; `140 -> NG`; `205,214 -> COMPLETE-02`; `219,223 -> COMPLETE-03`; `283,468 -> NG` |
|
|
300
|
-
| `oat-project-review-provide/SKILL.md` | `4,7,28,34,44,93 -> NG`; `166 -> REVIEWPROVIDE-02`; `236,239-240,261 -> REVIEWPROVIDE-04`; `308,314-316,318 -> REVIEWPROVIDE-05`; `370,373 -> REVIEWPROVIDE-06`; `621 -> REVIEWPROVIDE-07`; `632,664 -> REVIEWPROVIDE-08`; `645,647,751,770-772,778 -> NG`; `869 -> REVIEWPROVIDE-09`; `
|
|
300
|
+
| `oat-project-review-provide/SKILL.md` | `4,7,28,34,44,93 -> NG`; `166 -> REVIEWPROVIDE-02`; `236,239-240,261 -> REVIEWPROVIDE-04`; `308,314-316,318 -> REVIEWPROVIDE-05`; `370,373 -> REVIEWPROVIDE-06`; `621 -> REVIEWPROVIDE-07`; `632,664 -> REVIEWPROVIDE-08`; `645,647,751,770-772,778 -> NG`; `869 -> REVIEWPROVIDE-09`; `915,931 -> NG` |
|
|
301
301
|
| `oat-project-review-receive/SKILL.md` | `4,7,26,40,71,128,178,211,215,252,259 -> NG`; `267 -> REVIEWRECEIVE-01`; `273-274,278 -> NG`; `482 -> REVIEWRECEIVE-08`; `517 -> REVIEWRECEIVE-02`; `548 -> REVIEWRECEIVE-04`; `590 -> REVIEWRECEIVE-05`; `614 -> REVIEWRECEIVE-06`; `647 -> REVIEWRECEIVE-07`; `721,724 -> NG` |
|
|
302
302
|
| `oat-dispatch-subagents/SKILL.md` | `94,98 -> DISPATCH-01`; `110 -> PDISPATCH-01`; `117,123 -> DISPATCH-02`; `126 -> PDISPATCH-01` |
|
|
303
303
|
| `oat-dispatch-subagents/references/provider-cursor.md` | `40,49 -> NG` |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-implement
|
|
3
|
-
version: 2.2.
|
|
3
|
+
version: 2.2.2
|
|
4
4
|
description: Use when plan.md is ready for execution. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases.
|
|
5
5
|
oat_gateable: true
|
|
6
6
|
argument-hint: '[--retry-limit <N>] [--dry-run]'
|
|
@@ -187,7 +187,7 @@ remains.
|
|
|
187
187
|
| REVIEWPROVIDE-02 | `oat-project-review-provide` | Missing type or scope | Infer then ask for confirmation | Use caller-provided scope or deterministic project-state inference; ambiguity stops | `auto-resolve` / `boundary:product-judgment` | Review Scope metadata |
|
|
188
188
|
| REVIEWPROVIDE-03 | `oat-project-review-provide` | Detached branch | Ask which branch to review | Resolve only from authoritative worktree metadata; otherwise stop | `boundary:repository-policy-approval` | Branch-resolution diagnostic |
|
|
189
189
|
| REVIEWPROVIDE-04 | `oat-project-review-provide` | Different branch without worktree | Switch, inline-only, or cancel | Do not switch branches or discard context autonomously; stop for a correct checkout/worktree | `boundary:repository-policy-approval` | Branch/worktree diagnostic |
|
|
190
|
-
| REVIEWPROVIDE-05 | `oat-project-review-provide` | Re-review narrowing | Narrow
|
|
190
|
+
| REVIEWPROVIDE-05 | `oat-project-review-provide` | Re-review narrowing | Narrow automatically or use full scope | Use configured preference without prompting: unset or `true` narrows from a guarded prior same-lineage reviewed head, `false` uses full scope; fail open to full scope when provenance or Git guards fail | `auto-resolve` | Review Scope metadata |
|
|
191
191
|
| REVIEWPROVIDE-06 | `oat-project-review-provide` | Commit-range fallback | Supply a range or accept merge-base | Use a verified merge-base-to-HEAD range when it covers the declared scope; otherwise stop | `auto-resolve` / `boundary:product-judgment` | Review Scope metadata |
|
|
192
192
|
| REVIEWPROVIDE-07 | `oat-project-review-provide` | Reviewer delegation authorization | Authorize `oat-reviewer` | Approve once for the exact bounded review scope | `auto-resolve` | Dispatch authorization and record |
|
|
193
193
|
| REVIEWPROVIDE-08 | `oat-project-review-provide` | Fresh-session or inline fallback | Choose execution route | Use the pre-launch-selected target-preserving route; a blocking review with no adequate route stops | `auto-resolve` / `boundary:missing-credentials` | Dispatch record |
|
|
@@ -245,7 +245,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
245
245
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `5eb3949f32e1 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
246
246
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
247
247
|
| `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `ffcdc9d576c0 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `9497d9f94eed -> COMPLETE-01`; `7b59c728d3fb -> COMPLETE-01`; `48e10a9636fe -> COMPLETE-01`; `c0dad37fc166 -> COMPLETE-01`; `aa9a36243ec1 -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `12f7c30a54c8 -> NG`; `fffe5eea5ebd -> NG` |
|
|
248
|
-
| `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`; `
|
|
248
|
+
| `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`; `fcb9de611ff3 -> NG`; `d2a838dfb18d -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
|
|
249
249
|
| `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `df49c8c6f192 -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `c8ab5dd90075 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `3ad3aadb8c60 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `3f758313fedb -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `aba178a21441 -> REVIEWRECEIVE-04`; `a37e601cd731 -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `90001dadf75f -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
|
|
250
250
|
| `oat-project-review-provide/SKILL.md` | `2e794bf4fc4a -> REVIEWPROVIDE-08`; `5441ab977b46 -> REVIEWPROVIDE-08` |
|
|
251
251
|
| `oat-project-review-provide/SKILL.md` | `f4238ebb1887 -> NG`; `0360fa2db9a5 -> NG` |
|
|
@@ -297,7 +297,7 @@ inventory`). The file-and-line mappings below were captured against that commit.
|
|
|
297
297
|
| `oat-project-summary/SKILL.md` | `4,7,30 -> NG`; `86 -> SUMMARY-01`; `201,203,209-210,249,257,297 -> NG` |
|
|
298
298
|
| `oat-project-pr-final/SKILL.md` | `4,7,26,43 -> NG`; `104 -> PRFINAL-01` |
|
|
299
299
|
| `oat-project-complete/SKILL.md` | `7,16 -> NG`; `57,61,63,80,89,92,95,103,105,114,124 -> COMPLETE-01`; `140 -> NG`; `205,214 -> COMPLETE-02`; `219,223 -> COMPLETE-03`; `283,468 -> NG` |
|
|
300
|
-
| `oat-project-review-provide/SKILL.md` | `4,7,28,34,44,93 -> NG`; `166 -> REVIEWPROVIDE-02`; `236,239-240,261 -> REVIEWPROVIDE-04`; `308,314-316,318 -> REVIEWPROVIDE-05`; `370,373 -> REVIEWPROVIDE-06`; `621 -> REVIEWPROVIDE-07`; `632,664 -> REVIEWPROVIDE-08`; `645,647,751,770-772,778 -> NG`; `869 -> REVIEWPROVIDE-09`; `
|
|
300
|
+
| `oat-project-review-provide/SKILL.md` | `4,7,28,34,44,93 -> NG`; `166 -> REVIEWPROVIDE-02`; `236,239-240,261 -> REVIEWPROVIDE-04`; `308,314-316,318 -> REVIEWPROVIDE-05`; `370,373 -> REVIEWPROVIDE-06`; `621 -> REVIEWPROVIDE-07`; `632,664 -> REVIEWPROVIDE-08`; `645,647,751,770-772,778 -> NG`; `869 -> REVIEWPROVIDE-09`; `915,931 -> NG` |
|
|
301
301
|
| `oat-project-review-receive/SKILL.md` | `4,7,26,40,71,128,178,211,215,252,259 -> NG`; `267 -> REVIEWRECEIVE-01`; `273-274,278 -> NG`; `482 -> REVIEWRECEIVE-08`; `517 -> REVIEWRECEIVE-02`; `548 -> REVIEWRECEIVE-04`; `590 -> REVIEWRECEIVE-05`; `614 -> REVIEWRECEIVE-06`; `647 -> REVIEWRECEIVE-07`; `721,724 -> NG` |
|
|
302
302
|
| `oat-dispatch-subagents/SKILL.md` | `94,98 -> DISPATCH-01`; `110 -> PDISPATCH-01`; `117,123 -> DISPATCH-02`; `126 -> PDISPATCH-01` |
|
|
303
303
|
| `oat-dispatch-subagents/references/provider-cursor.md` | `40,49 -> NG` |
|
|
@@ -228,6 +228,33 @@ Gate retry rounds use the same orchestration retry limit. Gate independence,
|
|
|
228
228
|
configured provenance, liveness telemetry, and fail-closed behavior are
|
|
229
229
|
unchanged.
|
|
230
230
|
|
|
231
|
+
#### Reviews Ledger Mutation Contract
|
|
232
|
+
|
|
233
|
+
Apply this contract whenever the implementation workflow directly dispositions
|
|
234
|
+
a `## Reviews` event or re-points its artifact during archival or receive
|
|
235
|
+
reconciliation. This includes Step 7 phase/fix outcomes and every checkpoint,
|
|
236
|
+
final-review, gate-receive, and closeout path that mutates a Reviews row:
|
|
237
|
+
|
|
238
|
+
- Parse the table header and resolve `Scope`, `Type`, `Status`, `Date`,
|
|
239
|
+
`Artifact`, `Reviewed Head`, `Invocation`, and `Gate Target` by header name;
|
|
240
|
+
never address a known cell by a fixed position.
|
|
241
|
+
- For a legacy five-column table, append the provenance columns (`Reviewed
|
|
242
|
+
Head`, `Invocation`, and `Gate Target`) to the header and separator, then pad
|
|
243
|
+
every existing row with `-`. For any shorter row in an already widened table,
|
|
244
|
+
pad missing cells with `-` through the current header width before mutation.
|
|
245
|
+
- Preserve every unknown column in its original position and preserve every
|
|
246
|
+
existing known value unless the current operation explicitly advances that
|
|
247
|
+
cell. Never truncate a row to five, eight, or any other assumed width.
|
|
248
|
+
- Populate missing provenance from the event's validated review artifact:
|
|
249
|
+
accept `oat_review_head_sha` only as a full 40-character hexadecimal commit
|
|
250
|
+
SHA, preserve `oat_review_invocation`, and preserve `oat_gate_target` only
|
|
251
|
+
for a gate invocation. Use `-` when validated provenance is unavailable;
|
|
252
|
+
never infer it from the current HEAD, reviewer identity, scope, or target.
|
|
253
|
+
- An archive re-point changes only the bound event's `Artifact` cell (and a
|
|
254
|
+
monotonic status transition when required). It must preserve existing
|
|
255
|
+
provenance and unknown cells, while filling missing provenance when the
|
|
256
|
+
source artifact supplies validated values.
|
|
257
|
+
|
|
231
258
|
### Parallel Group Execution
|
|
232
259
|
|
|
233
260
|
For a multi-phase schedule entry:
|
|
@@ -269,6 +296,8 @@ After each phase or parallel group:
|
|
|
269
296
|
`fixes_completed` / `passed` as appropriate;
|
|
270
297
|
- never select review bookkeeping by scope alone, replace an earlier event, or
|
|
271
298
|
move an event status backward;
|
|
299
|
+
- apply the Reviews Ledger Mutation Contract above before every disposition or
|
|
300
|
+
archive re-point;
|
|
272
301
|
- update `state.md` current task, last commit, and timestamp;
|
|
273
302
|
- remove legacy `oat_execution_mode: subagent-driven`; and
|
|
274
303
|
- preserve any configured retry override.
|