@open-agent-toolkit/cli 0.1.72 → 0.1.74
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/README.md +1 -0
- package/assets/config/dispatch-matrix-recommendation.json +13 -17
- package/assets/docs/cli-utilities/configuration.md +42 -60
- package/assets/docs/cli-utilities/index.md +1 -0
- package/assets/docs/cli-utilities/project-log.md +183 -0
- package/assets/docs/cli-utilities/workflow-gates.md +38 -2
- package/assets/docs/provider-sync/providers.md +15 -17
- package/assets/docs/reference/cli-reference.md +1 -0
- package/assets/docs/workflows/projects/artifacts.md +1 -1
- package/assets/docs/workflows/projects/dispatch-ceiling.md +29 -33
- package/assets/docs/workflows/projects/implementation-execution.md +7 -4
- package/assets/docs/workflows/projects/lifecycle.md +4 -3
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-dispatch-subagents/SKILL.md +1 -1
- package/assets/skills/oat-dispatch-subagents/references/provider-cursor.md +27 -15
- package/assets/skills/oat-project-autonomous/SKILL.md +1 -1
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +4 -3
- package/assets/skills/oat-project-complete/SKILL.md +60 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +4 -3
- package/assets/skills/oat-project-implement/SKILL.md +18 -2
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +17 -15
- package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +15 -9
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +4 -3
- package/assets/skills/oat-project-implement/references/phase-execution.md +11 -5
- package/assets/skills/oat-project-import-plan/SKILL.md +30 -8
- package/assets/skills/oat-project-plan/SKILL.md +30 -8
- package/assets/skills/oat-project-plan-writing/SKILL.md +12 -9
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +4 -3
- package/assets/skills/oat-project-quick-start/SKILL.md +30 -8
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +4 -3
- package/assets/skills/oat-project-review-provide/SKILL.md +19 -11
- package/assets/skills/oat-project-review-provide-remote/SKILL.md +27 -4
- package/assets/skills/oat-project-summary/SKILL.md +122 -18
- package/assets/templates/project-log.md +47 -0
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +41 -0
- package/dist/commands/doctor/index.d.ts +2 -1
- package/dist/commands/doctor/index.d.ts.map +1 -1
- package/dist/commands/doctor/index.js +37 -1
- package/dist/commands/gate/index.d.ts +3 -1
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +134 -7
- package/dist/commands/init/index.d.ts +1 -1
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +40 -8
- package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.js +1 -0
- package/dist/commands/project/dispatch-ceiling/index.d.ts.map +1 -1
- package/dist/commands/project/dispatch-ceiling/index.js +17 -9
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +2 -0
- package/dist/commands/project/log/append.d.ts +41 -0
- package/dist/commands/project/log/append.d.ts.map +1 -0
- package/dist/commands/project/log/append.js +241 -0
- package/dist/commands/project/log/check.d.ts +66 -0
- package/dist/commands/project/log/check.d.ts.map +1 -0
- package/dist/commands/project/log/check.js +194 -0
- package/dist/commands/project/log/grammar.d.ts +28 -0
- package/dist/commands/project/log/grammar.d.ts.map +1 -0
- package/dist/commands/project/log/grammar.js +31 -0
- package/dist/commands/project/log/index.d.ts +9 -0
- package/dist/commands/project/log/index.d.ts.map +1 -0
- package/dist/commands/project/log/index.js +13 -0
- package/dist/commands/project/log/rollup.d.ts +40 -0
- package/dist/commands/project/log/rollup.d.ts.map +1 -0
- package/dist/commands/project/log/rollup.js +203 -0
- package/dist/commands/project/log/synthesize.d.ts +23 -0
- package/dist/commands/project/log/synthesize.d.ts.map +1 -0
- package/dist/commands/project/log/synthesize.js +112 -0
- package/dist/commands/project/new/index.d.ts +1 -0
- package/dist/commands/project/new/index.d.ts.map +1 -1
- package/dist/commands/project/new/index.js +7 -0
- package/dist/commands/project/new/scaffold.d.ts +1 -0
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +24 -0
- package/dist/commands/shared/codex-strays.d.ts +9 -0
- package/dist/commands/shared/codex-strays.d.ts.map +1 -1
- package/dist/commands/shared/codex-strays.js +4 -0
- package/dist/commands/status/index.d.ts +7 -1
- package/dist/commands/status/index.d.ts.map +1 -1
- package/dist/commands/status/index.js +53 -17
- package/dist/commands/sync/apply.d.ts.map +1 -1
- package/dist/commands/sync/apply.js +50 -24
- package/dist/commands/sync/dry-run.d.ts.map +1 -1
- package/dist/commands/sync/dry-run.js +31 -18
- package/dist/commands/sync/index.d.ts.map +1 -1
- package/dist/commands/sync/index.js +34 -25
- package/dist/commands/sync/sync.types.d.ts +26 -11
- package/dist/commands/sync/sync.types.d.ts.map +1 -1
- package/dist/commands/sync/sync.utils.d.ts.map +1 -1
- package/dist/commands/sync/sync.utils.js +3 -2
- package/dist/config/oat-config.d.ts +3 -0
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +7 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +2 -0
- package/dist/engine/index.d.ts +1 -1
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +1 -1
- package/dist/engine/scanner.d.ts +3 -1
- package/dist/engine/scanner.d.ts.map +1 -1
- package/dist/engine/scanner.js +4 -2
- package/dist/providers/ceiling/registry.d.ts +2 -0
- package/dist/providers/ceiling/registry.d.ts.map +1 -1
- package/dist/providers/ceiling/registry.js +20 -4
- package/dist/providers/codex/codec/sync-extension.d.ts +11 -10
- package/dist/providers/codex/codec/sync-extension.d.ts.map +1 -1
- package/dist/providers/codex/codec/sync-extension.js +42 -14
- package/dist/providers/cursor/codec/catalog.d.ts +18 -0
- package/dist/providers/cursor/codec/catalog.d.ts.map +1 -0
- package/dist/providers/cursor/codec/catalog.js +39 -0
- package/dist/providers/cursor/codec/materialize.d.ts +24 -0
- package/dist/providers/cursor/codec/materialize.d.ts.map +1 -0
- package/dist/providers/cursor/codec/materialize.js +166 -0
- package/dist/providers/cursor/codec/shared.d.ts +14 -0
- package/dist/providers/cursor/codec/shared.d.ts.map +1 -0
- package/dist/providers/cursor/codec/shared.js +76 -0
- package/dist/providers/cursor/codec/sync-extension.d.ts +37 -0
- package/dist/providers/cursor/codec/sync-extension.d.ts.map +1 -0
- package/dist/providers/cursor/codec/sync-extension.js +393 -0
- package/dist/providers/cursor/index.d.ts +3 -0
- package/dist/providers/cursor/index.d.ts.map +1 -1
- package/dist/providers/cursor/index.js +3 -0
- package/dist/providers/identity/availability.d.ts +7 -0
- package/dist/providers/identity/availability.d.ts.map +1 -1
- package/dist/providers/identity/availability.js +23 -0
- package/dist/providers/shared/index.d.ts +2 -0
- package/dist/providers/shared/index.d.ts.map +1 -1
- package/dist/providers/shared/index.js +1 -0
- package/dist/providers/shared/materialization-extension.d.ts +44 -0
- package/dist/providers/shared/materialization-extension.d.ts.map +1 -0
- package/dist/providers/shared/materialization-extension.js +26 -0
- package/package.json +2 -2
|
@@ -194,8 +194,10 @@ candidate in each tier:
|
|
|
194
194
|
`max`.
|
|
195
195
|
- **Claude:** `haiku`, `sonnet`, `opus`, and `fable` across the ordered named
|
|
196
196
|
tiers.
|
|
197
|
-
- **Cursor:**
|
|
198
|
-
|
|
197
|
+
- **Cursor:** 12 verified multi-family flat IDs across Composer, Claude, GPT,
|
|
198
|
+
and Grok. The explicit materialization catalogue maps each flat ladder ID to
|
|
199
|
+
a separate bracket-form frontmatter model; OAT does not derive or normalize
|
|
200
|
+
either value.
|
|
199
201
|
|
|
200
202
|
The final candidate in a named tier defines that tier's reviewer ceiling. Lower
|
|
201
203
|
reviewer selection requires a separate reviewed contract; a normal reviewer
|
|
@@ -240,7 +242,7 @@ oat project dispatch-ceiling resolve \
|
|
|
240
242
|
--provider cursor \
|
|
241
243
|
--role implementer \
|
|
242
244
|
--ceiling-tier high \
|
|
243
|
-
--candidate-model
|
|
245
|
+
--candidate-model gpt-5.6-sol-high \
|
|
244
246
|
--json
|
|
245
247
|
```
|
|
246
248
|
|
|
@@ -280,45 +282,39 @@ branch replaces, rather than supplements, preferred selection.
|
|
|
280
282
|
| -------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
|
|
281
283
|
| Codex | Use `providers.codex.dispatchArgs.variant` as `agent_type`; otherwise launch a fresh child pinned to the returned model and effort | Block if neither exact route is usable |
|
|
282
284
|
| Claude | Pass `providers.claude.dispatchArgs.model` as the actual Task `model` | Block if the model cannot be applied |
|
|
283
|
-
| Cursor |
|
|
285
|
+
| Cursor | Launch `providers.cursor.dispatchArgs.variant` as the exact native agent type first | Block rather than normalize or substitute |
|
|
284
286
|
| Other | Use a registered provider adapter when it can compile exact controls | Unsupported providers remain advisory |
|
|
285
287
|
|
|
286
|
-
Materialized Codex roles exist before phase dispatch after
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
288
|
+
Materialized Codex and Cursor roles exist before phase dispatch after
|
|
289
|
+
project/user sync. Cursor definitions carry `supported-catalogue`,
|
|
290
|
+
`project-config`, or `user-config` ownership. Project and supported variants
|
|
291
|
+
are tracked under `.cursor/agents`; user variants live under
|
|
292
|
+
`~/.cursor/agents`. Cleanup stays within the current owner boundary.
|
|
290
293
|
|
|
291
294
|
Reviewers use the final candidate at the configured review ceiling. Managed
|
|
292
295
|
`Uncapped` and explicit inherit/default behavior retain their documented base
|
|
293
296
|
reviewer behavior. A timeout retry preserves the same exact role or complete
|
|
294
|
-
Claude
|
|
297
|
+
Claude model payload or Cursor native variant.
|
|
295
298
|
|
|
296
299
|
### Cursor evidence authority
|
|
297
300
|
|
|
298
|
-
Cursor
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
that pass stay in gitignored local project storage for support diagnosis.
|
|
316
|
-
|
|
317
|
-
The same public artifact intentionally preserves the sanitized historical v1
|
|
318
|
-
text-mode record for provenance. That older section includes command arguments
|
|
319
|
-
and prompts, stdout and stderr, exit and duration data, and capture-environment
|
|
320
|
-
details such as user-specific binary paths; it is not limited to the structured
|
|
321
|
-
second-pass projection.
|
|
301
|
+
Cursor selection, pin mapping, catalogue availability, and runtime identity are
|
|
302
|
+
separate evidence layers:
|
|
303
|
+
|
|
304
|
+
- The candidate ladder and resolver use an opaque flat ID.
|
|
305
|
+
- The materialized definition uses the mapping's explicit bracket-form
|
|
306
|
+
frontmatter model.
|
|
307
|
+
- Mapping-specific native-launch evidence authorizes the shipped mapping data.
|
|
308
|
+
- `oat doctor` checks current flat-ID catalogue availability, which can detect
|
|
309
|
+
drift but cannot prove a definition pin.
|
|
310
|
+
- The launcher records the selected variant and mapped model with `configured`
|
|
311
|
+
provenance. Runtime identity remains `not-reported` without an independent
|
|
312
|
+
observation.
|
|
313
|
+
|
|
314
|
+
Cursor can silently fallback when account, plan, or administration constraints
|
|
315
|
+
prevent a requested definition pin. Native variant acceptance is therefore not
|
|
316
|
+
runtime-model verification, and skills must not promote self-report or
|
|
317
|
+
catalogue presence into observed identity.
|
|
322
318
|
|
|
323
319
|
## Phase and Optional-Worker Layers
|
|
324
320
|
|
|
@@ -126,10 +126,13 @@ needed, OAT does not probe or require third-tier capacity.
|
|
|
126
126
|
|
|
127
127
|
Provider controls remain exact: Codex uses
|
|
128
128
|
`providers.codex.dispatchArgs.variant`, Claude uses
|
|
129
|
-
`providers.claude.dispatchArgs.model`, and Cursor
|
|
130
|
-
`providers.cursor.dispatchArgs.
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
`providers.claude.dispatchArgs.model`, and Cursor uses
|
|
130
|
+
`providers.cursor.dispatchArgs.variant`. Cursor launches that exact
|
|
131
|
+
resolver-selected native agent type first; the flat ID and bracket-form pin
|
|
132
|
+
remain inside the explicit mapping and are never normalized by workflow prose.
|
|
133
|
+
The launcher records this selection as `configured`, while runtime identity
|
|
134
|
+
remains `not-reported` without independent observation. Only a pre-start native
|
|
135
|
+
role-selection rejection permits another target-preserving route.
|
|
133
136
|
|
|
134
137
|
See [Dispatch Policy](dispatch-ceiling.md) for configuration and
|
|
135
138
|
[Orchestration Model](orchestration-model.md) for the complete role map.
|
|
@@ -115,9 +115,10 @@ through the import-plan lane.
|
|
|
115
115
|
|
|
116
116
|
A concrete managed reviewer remains bound across both tiers. Codex uses the
|
|
117
117
|
exact registered role or a child pinned to the resolved model and effort;
|
|
118
|
-
Claude
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
Claude passes the exact resolver-returned `dispatchArgs.model`; Cursor launches
|
|
119
|
+
the exact `providers.cursor.dispatchArgs.variant` native reviewer variant.
|
|
120
|
+
Retries preserve that complete target. Tier 2 does not authorize a target
|
|
121
|
+
downgrade. Inline review is allowed only with verified equivalent host
|
|
121
122
|
controls, or for explicit inherit/default behavior or the documented
|
|
122
123
|
managed-uncapped reviewer base-role exception; otherwise the review blocks.
|
|
123
124
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-dispatch-subagents
|
|
3
|
-
version: 1.1.
|
|
3
|
+
version: 1.1.4
|
|
4
4
|
description: Use when an OAT skill or workflow needs provider-neutral selection, launch, recovery, or evidence for bounded subagent work without project lifecycle policy.
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
user-invocable: false
|
|
@@ -6,24 +6,35 @@ volatile snapshot, never a durable inventory.
|
|
|
6
6
|
|
|
7
7
|
## Control Surfaces
|
|
8
8
|
|
|
9
|
-
| Source | Establishes
|
|
10
|
-
| ---------------------------- |
|
|
11
|
-
| Native Task/Subagent schema |
|
|
12
|
-
| `cursor-agent --list-models` | Opaque
|
|
13
|
-
| Cursor UI role configuration | User-selected defaults and role settings
|
|
9
|
+
| Source | Establishes | Does not establish |
|
|
10
|
+
| ---------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
11
|
+
| Native Task/Subagent schema | Agent types available for that dispatcher invocation | CLI account eligibility or another dispatcher's native catalog |
|
|
12
|
+
| `cursor-agent --list-models` | Opaque flat model IDs accepted by the account CLI and resolver | Native Task eligibility or definition-pin acceptance |
|
|
13
|
+
| Cursor UI role configuration | User-selected defaults and role settings | Live root or nested schema without a new observation |
|
|
14
14
|
|
|
15
15
|
Root and nested catalogs are independent, volatile observations. Equality in
|
|
16
16
|
one run does not establish equality in another run or nesting boundary.
|
|
17
17
|
|
|
18
18
|
## Native Selection
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
Managed Cursor dispatch resolves an opaque flat model ID through OAT's explicit
|
|
21
|
+
mapping and returns `providers.cursor.dispatchArgs.variant`. The mapping owns
|
|
22
|
+
the bracket-form model pin inside the materialized definition; skills must
|
|
23
|
+
never parse, normalize, or reconstruct either model string.
|
|
24
|
+
|
|
25
|
+
1. Require a non-empty `providers.cursor.dispatchArgs.variant`.
|
|
26
|
+
2. Launch that exact resolver-selected native agent type first.
|
|
27
|
+
3. Treat native launch acceptance plus the complete launcher payload as
|
|
28
|
+
configured-invocation evidence, not observed runtime model identity.
|
|
29
|
+
4. Permit a replacement route only after a recorded pre-start native
|
|
30
|
+
role-selection rejection of that exact variant, before any child starts.
|
|
31
|
+
5. After acceptance, continue only through the existing handle. Timeout,
|
|
32
|
+
interruption, `BLOCKED`, missing telemetry, or self-report never authorizes
|
|
33
|
+
fallback or replacement.
|
|
34
|
+
6. Treat an omitted variant as deliberate parent inheritance only when the
|
|
35
|
+
resolver selected no managed target.
|
|
36
|
+
7. Record selected variant, mapped target, acceptance, outcome, and runtime
|
|
37
|
+
identity separately.
|
|
27
38
|
|
|
28
39
|
Do not infer Cursor IDE behavior from a headless CLI surface. Keep bounded
|
|
29
40
|
recon on economical explicit targets and reserve stronger targets for
|
|
@@ -52,12 +63,13 @@ verdict.
|
|
|
52
63
|
|
|
53
64
|
## Pre-Start CLI Routes
|
|
54
65
|
|
|
55
|
-
When
|
|
56
|
-
use a deliberate pre-start CLI route only when:
|
|
66
|
+
When exact native role selection rejects the resolver-selected variant before
|
|
67
|
+
launch, a caller may use a deliberate pre-start CLI route only when:
|
|
57
68
|
|
|
58
69
|
- the caller's fallback policy allows it;
|
|
59
70
|
- the exact CLI selector exists in the account catalog;
|
|
60
|
-
- native mismatch, route, reason, and candidates are
|
|
71
|
+
- the native mismatch, rejected variant, route, reason, and candidates are
|
|
72
|
+
recorded before launch;
|
|
61
73
|
- the prompt is self-contained and authority-bounded.
|
|
62
74
|
|
|
63
75
|
Verify current CLI help before use. A typical shape is:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-autonomous
|
|
3
|
-
version: 1.0.
|
|
3
|
+
version: 1.0.4
|
|
4
4
|
description: Use when a user explicitly asks to run an OAT project autonomously end-to-end. Activates session-only autonomy, resumes the correct lifecycle phase, and drives the existing OAT skills through final PR or a reported boundary.
|
|
5
5
|
argument-hint: '<goal | project-slug | ticket-ref>'
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -225,15 +225,15 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
225
225
|
| `oat-project-design/references/selective-review-pass.md` | `d4956192b82e -> DES-06`; `7d6e1f926ecb -> DES-06`; `04f918a5fcac -> DES-07` |
|
|
226
226
|
| `oat-project-plan/SKILL.md` | `5eb3949f32e1 -> NG`; `64a08153bb9e -> NG`; `655d61df0a8f -> NG`; `56b37486f09d -> PLAN-01`; `cf317c17c586 -> PLAN-02`; `781643b0f2c3 -> NG`; `01fd7cca8253 -> PLAN-04`; `7bc7fa3f2cbb -> NG`; `da28ce0a5f2e -> NG`; `e334f94c4d35 -> NG`; `1fa55762c038 -> NG`; `c0935b5484a2 -> NG`; `6008163054f8 -> PLAN-05`; `571271f4d71b -> PLAN-06`; `746b760289e4 -> PLAN-06`; `de195590ff83 -> NG`; `49640510829a -> PLAN-07`; `4bef7afa7a71 -> PLAN-08`; `e5886632533e -> PLAN-08`; `4cfe1df14372 -> NG`; `d116c97a500c -> PLAN-10`; `aa62facff547 -> PLAN-10`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> PLAN-11`; `1734b2c85c5d -> NG`; `b4af2220eb91 -> PLAN-11` |
|
|
227
227
|
| `oat-project-import-plan/SKILL.md` | `f7ca8635452f -> NG`; `c2e5fa410069 -> NG`; `655d61df0a8f -> NG`; `b137f73db20c -> IMPORT-01`; `45b699c1c0b5 -> IMPORT-01`; `ba6d120791c1 -> IMPORT-01`; `070ebc5259af -> IMPORT-03`; `c11552696e2e -> IMPORT-03`; `cfe661966baf -> IMPORT-04`; `baa91c0a0bf8 -> NG`; `e364e84b2702 -> NG`; `39031985a945 -> IMPORT-06`; `f106aa29a217 -> IMPORT-07`; `65038450aee3 -> IMPORT-07`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> IMPORT-09` |
|
|
228
|
-
| `oat-project-implement/SKILL.md` | `
|
|
229
|
-
| `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `
|
|
228
|
+
| `oat-project-implement/SKILL.md` | `853d44621b72 -> NG`; `ffb3af0ba8ef -> NG`; `e0355c7a05e9 -> IMPLEMENT-11+IMPLEMENT-13+IMPLEMENT-16`; `6296f41ae11c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> IMPLEMENT-01`; `8ce8a09feca4 -> NG` |
|
|
229
|
+
| `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `6d33ea58da2c -> IMPLEMENT-11`; `378a75543a72 -> IMPLEMENT-11`; `c7b25627e674 -> IMPLEMENT-11`; `51ef9a453323 -> IMPLEMENT-11`; `c67145e3fb00 -> IMPLEMENT-11`; `64fbeac64811 -> IMPLEMENT-11`; `19b13c17bddb -> NG`; `f7dab9c1f96c -> IMPLEMENT-12`; `c69c17a069a8 -> IMPLEMENT-14`; `a97fa5634a68 -> IMPLEMENT-14`; `3af58881811c -> IMPLEMENT-14`; `4203e1f49d0f -> IMPLEMENT-14`; `c3bd2458a3d3 -> IMPLEMENT-13`; `95b5eafc070d -> IMPLEMENT-13`; `25ecbe9c998b -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f6f24fd71da4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f18283bc1cf9 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `2c1ffc4a82dd -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `3454a07aa843 -> IMPLEMENT-16`; `0d86e2098cfb -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d5fe597d266f -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `55a152e944c1 -> IMPLEMENT-16`; `effac7cbd573 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d2a34d8b148 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d27462aaed26 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d52ecb17268 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `5b91aabe3757 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `fd0ad919f702 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `63bf28df1474 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a4ed471dbc78 -> IMPLEMENT-16`; `6b7a64cec6e5 -> IMPLEMENT-16`; `0a4fdba0ebc0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a5033c2aada5 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `e77609eddba0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `351156e8dde4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `51d45bd2bbd1 -> IMPLEMENT-16`; `f7796ffcc804 -> IMPLEMENT-16`; `990d730cb494 -> IMPLEMENT-16`; `6ed28bb7d384 -> IMPLEMENT-16`; `8b7d4b5bcf1b -> IMPLEMENT-16`; `88aad500e6e9 -> IMPLEMENT-16`; `877e3e3f9eda -> IMPLEMENT-16`; `fc03c97f834e -> IMPLEMENT-16`; `12939a3da5e0 -> IMPLEMENT-16`; `bdb418335a88 -> IMPLEMENT-16`; `fba97e596ebd -> IMPLEMENT-16`; `3d0b5e2f14f0 -> IMPLEMENT-17`; `f56a9ce88461 -> IMPLEMENT-17`; `9ba67b50d0ba -> IMPLEMENT-17`; `39ff911760af -> IMPLEMENT-17`; `5b560b5bd6e3 -> IMPLEMENT-17`; `fa21df5e5e01 -> IMPLEMENT-17`; `0fed77bec55e -> IMPLEMENT-17`; `6d81cfb0483f -> IMPLEMENT-17`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> IMPLEMENT-18` |
|
|
230
230
|
| `oat-project-implement/references/dispatch-and-dry-run.md` | `21b85f5e4daa -> IMPLEMENT-08`; `74c92b32bb2a -> IMPLEMENT-08`; `8efd2d0517ab -> IMPLEMENT-09`; `461ed9b3e495 -> IMPLEMENT-09`; `b5ad64fd744d -> NG`; `14ce436cfffa -> NG`; `043ca36da3e2 -> NG`; `a23e45c1dc8d -> NG`; `498143bb41a7 -> NG`; `4fe3eb179023 -> NG`; `7f75485e5a33 -> NG`; `8ec3a96df029 -> NG`; `16c3f96e758d -> NG`; `5915c41fe058 -> NG`; `f51e43eeac56 -> NG`; `fd41c25623cb -> NG`; `58a932ed6453 -> NG`; `4718bd3ce12d -> NG`; `58c444a2126b -> NG`; `2df3adae4120 -> NG`; `e75df892b55c -> NG` |
|
|
231
231
|
| `oat-project-implement/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
232
232
|
| `oat-project-implement/references/phase-execution.md` | `27737e814790 -> NG`; `6dda2b8e62e2 -> IMPLEMENT-10`; `b3197086bb1e -> IMPLEMENT-10` |
|
|
233
233
|
| `oat-project-implement/references/plan-and-resume.md` | `413829d31e32 -> IMPLEMENT-02`; `c7706cd8ad09 -> IMPLEMENT-03`; `a80a948df658 -> IMPLEMENT-03`; `b7ea139780ec -> IMPLEMENT-03+IMPLEMENT-04`; `8d438f2180ba -> IMPLEMENT-03`; `9e72e0518cda -> IMPLEMENT-03`; `3e177a1021e6 -> IMPLEMENT-03+IMPLEMENT-04`; `b59fc9eb9ce3 -> IMPLEMENT-03`; `a2b1d6855283 -> IMPLEMENT-03`; `44351a32e52a -> IMPLEMENT-03`; `b98b022f5523 -> IMPLEMENT-03`; `e9f5b949e214 -> IMPLEMENT-03`; `316fb6d9e980 -> IMPLEMENT-03`; `8b25a2c5c548 -> IMPLEMENT-03`; `1a59b1c0e705 -> IMPLEMENT-03`; `466cd562fc52 -> IMPLEMENT-03`; `083d896978d5 -> IMPLEMENT-03`; `f4ab11c13ae9 -> IMPLEMENT-03`; `7dc17ffcc1c4 -> IMPLEMENT-03`; `f731a90adabd -> IMPLEMENT-04`; `886ac01e7aa9 -> IMPLEMENT-04`; `b715db67df0c -> IMPLEMENT-04`; `2d9f26a539f3 -> IMPLEMENT-10`; `28384dee114f -> IMPLEMENT-05`; `f2591a4978b4 -> NG`; `8290823080b5 -> IMPLEMENT-06`; `f75789bf6c8e -> IMPLEMENT-07` |
|
|
234
234
|
| `oat-project-document/SKILL.md` | `4fc2d8618208 -> NG`; `173a1c48e53c -> NG`; `40f8be47affa -> NG`; `3a3c390528f3 -> DOCUMENT-03`; `2a7ba093b315 -> DOCUMENT-02`; `252aabe44db2 -> DOCUMENT-02`; `3751172de299 -> DOCUMENT-02`; `b987a0697ba9 -> DOCUMENT-01`; `a06ff3ca7926 -> NG`; `0d04714ca9fc -> NG`; `f79af01d94c6 -> DOCUMENT-02`; `71634113c348 -> DOCUMENT-02`; `cdb707f5081e -> NG` |
|
|
235
235
|
| `oat-project-document/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
236
|
-
| `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `
|
|
236
|
+
| `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `696bb6045b6a -> NG`; `bcb503aaefb5 -> NG`; `f3e49b727752 -> NG`; `f583e86359ae -> NG`; `e73bd88837ea -> NG`; `83257ff6cb68 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG` |
|
|
237
237
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `5eb3949f32e1 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
238
238
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
239
239
|
| `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,6 +248,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
248
248
|
| `oat-dispatch-subagents/references/provider-cursor.md` | `ca11e28923eb -> NG`; `be0a84c48fc0 -> NG` |
|
|
249
249
|
| `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG` |
|
|
250
250
|
| `oat-project-dispatch-subagents/SKILL.md` | `eca03ad1ca12 -> PDISPATCH-01`; `59fbcdc79cea -> PDISPATCH-01` |
|
|
251
|
+
| `oat-project-complete/SKILL.md` | `b4934a85feee -> NG` |
|
|
251
252
|
|
|
252
253
|
## Prompt-scan comparison
|
|
253
254
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-complete
|
|
3
|
-
version: 1.5.
|
|
3
|
+
version: 1.5.3
|
|
4
4
|
description: Use when all implementation work is finished and the project is ready to close. Marks the OAT project lifecycle as complete.
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
user-invocable: true
|
|
@@ -257,6 +257,62 @@ Check if `{PROJECT_PATH}/summary.md` exists and whether it is current against th
|
|
|
257
257
|
- Used as source for the PR description (in Step 7)
|
|
258
258
|
- Preserved in the archived project directory (in Step 8)
|
|
259
259
|
|
|
260
|
+
### Step 3.6: Project Log Completion Gate
|
|
261
|
+
|
|
262
|
+
Run the project-log status probe before any lifecycle mutation or archive work:
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
PROJECT_LOG_CHECK=$(oat project log check --project "$PROJECT_PATH" --json)
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Route on the structured result:
|
|
269
|
+
|
|
270
|
+
- `status: "absent"`: the feature is inert; proceed without a roll-up or seal
|
|
271
|
+
append.
|
|
272
|
+
- `status: "synthesis_pending"` or `synthesisPending: true`: emit
|
|
273
|
+
`Warning: Project-log end-of-run synthesis is pending. Complete it with oat project log synthesize.`
|
|
274
|
+
Offer to invoke `oat project log synthesize`, but do not block completion if
|
|
275
|
+
the synthesis remains pending. Synthesis is warn-only.
|
|
276
|
+
- When entry counts are nonzero, require a current `summary.md`. This hard gate
|
|
277
|
+
overrides Step 3.5's tolerance for declined, skipped, missing, or failed
|
|
278
|
+
summary generation: invoke `oat-project-summary` when available or author a
|
|
279
|
+
complete summary inline before continuing.
|
|
280
|
+
|
|
281
|
+
For a log with entries, reuse the summary flow's structured roll-up result only
|
|
282
|
+
when this completion run has that exact result in memory and it reports
|
|
283
|
+
`status: "ok"`. Otherwise run the idempotent enforcement surface:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
PROJECT_LOG_ROLLUP=$(oat project log rollup --project "$PROJECT_PATH" --json)
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
Do not set lifecycle complete, seal, or archive unless the structured
|
|
290
|
+
`ProjectLogRollupResult` reports `status: "ok"`.
|
|
291
|
+
|
|
292
|
+
- `ledgerOutcome: "appended"` or `"deduplicated"` with `status: "ok"`:
|
|
293
|
+
proceed.
|
|
294
|
+
- `ledgerOutcome: "skipped_permitted"` with `status: "ok"`: proceed and report
|
|
295
|
+
the permitted skip; the absent default reference layer is not a block.
|
|
296
|
+
- `status: "failed"`, `ledgerOutcome: "failed"`, malformed JSON, or a command
|
|
297
|
+
error: stop and surface the roll-up failure. Never continue to seal or
|
|
298
|
+
archive.
|
|
299
|
+
|
|
300
|
+
When the status probe found an existing project log, append the completion seal
|
|
301
|
+
as the final project-log entry before any lifecycle-complete mutation:
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
oat project log append \
|
|
305
|
+
--project "$PROJECT_PATH" \
|
|
306
|
+
--structural \
|
|
307
|
+
--producer oat-project-complete \
|
|
308
|
+
--ref seal \
|
|
309
|
+
--body "Completion sealed at $(date -u +%Y-%m-%dT%H:%M:%SZ); project-log roll-up status: ok."
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
Only append this seal after Step 3.6 has either confirmed there are no entries
|
|
313
|
+
to roll up or obtained `status: "ok"`. If the append fails for an existing log,
|
|
314
|
+
stop before setting lifecycle complete or archiving. No project-log append may follow the seal.
|
|
315
|
+
|
|
260
316
|
### Step 4: Archive Residual Active Review Artifacts
|
|
261
317
|
|
|
262
318
|
Detect any leftover active review artifacts in the top level of `"$PROJECT_PATH/reviews/"`:
|
|
@@ -356,6 +412,9 @@ Anti-pattern: do not "rescue" a dropped artifact by linking to its archived path
|
|
|
356
412
|
|
|
357
413
|
**Skip if `SHOULD_ARCHIVE` is false or `IS_SHARED_PROJECT` is false.**
|
|
358
414
|
|
|
415
|
+
This conditional skips archive movement only; it does not skip the Step 3.6
|
|
416
|
+
seal append for an existing project log.
|
|
417
|
+
|
|
359
418
|
Archive happens after PR description generation (so artifacts are readable at tracked paths) but before commit+push (so the archive deletion is included in the commit).
|
|
360
419
|
|
|
361
420
|
The archive-side effects in this step are CLI-owned. Do not reimplement local archive movement, summary export, S3 sync, AWS credential handling, or worktree durability checks in the skill.
|