@open-agent-toolkit/cli 0.1.72 → 0.1.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +1 -0
  2. package/assets/docs/cli-utilities/configuration.md +7 -0
  3. package/assets/docs/cli-utilities/index.md +1 -0
  4. package/assets/docs/cli-utilities/project-log.md +183 -0
  5. package/assets/docs/reference/cli-reference.md +1 -0
  6. package/assets/public-package-versions.json +4 -4
  7. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +3 -2
  8. package/assets/skills/oat-project-complete/SKILL.md +60 -1
  9. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +3 -2
  10. package/assets/skills/oat-project-implement/SKILL.md +18 -2
  11. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +3 -2
  12. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +3 -2
  13. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +3 -2
  14. package/assets/skills/oat-project-summary/SKILL.md +122 -18
  15. package/assets/templates/project-log.md +47 -0
  16. package/dist/commands/config/index.d.ts.map +1 -1
  17. package/dist/commands/config/index.js +41 -0
  18. package/dist/commands/gate/index.d.ts +2 -0
  19. package/dist/commands/gate/index.d.ts.map +1 -1
  20. package/dist/commands/gate/index.js +99 -4
  21. package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
  22. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
  23. package/dist/commands/init/tools/shared/skill-manifest.js +1 -0
  24. package/dist/commands/project/index.d.ts.map +1 -1
  25. package/dist/commands/project/index.js +2 -0
  26. package/dist/commands/project/log/append.d.ts +41 -0
  27. package/dist/commands/project/log/append.d.ts.map +1 -0
  28. package/dist/commands/project/log/append.js +241 -0
  29. package/dist/commands/project/log/check.d.ts +66 -0
  30. package/dist/commands/project/log/check.d.ts.map +1 -0
  31. package/dist/commands/project/log/check.js +194 -0
  32. package/dist/commands/project/log/grammar.d.ts +28 -0
  33. package/dist/commands/project/log/grammar.d.ts.map +1 -0
  34. package/dist/commands/project/log/grammar.js +31 -0
  35. package/dist/commands/project/log/index.d.ts +9 -0
  36. package/dist/commands/project/log/index.d.ts.map +1 -0
  37. package/dist/commands/project/log/index.js +13 -0
  38. package/dist/commands/project/log/rollup.d.ts +40 -0
  39. package/dist/commands/project/log/rollup.d.ts.map +1 -0
  40. package/dist/commands/project/log/rollup.js +203 -0
  41. package/dist/commands/project/log/synthesize.d.ts +23 -0
  42. package/dist/commands/project/log/synthesize.d.ts.map +1 -0
  43. package/dist/commands/project/log/synthesize.js +112 -0
  44. package/dist/commands/project/new/index.d.ts +1 -0
  45. package/dist/commands/project/new/index.d.ts.map +1 -1
  46. package/dist/commands/project/new/index.js +7 -0
  47. package/dist/commands/project/new/scaffold.d.ts +1 -0
  48. package/dist/commands/project/new/scaffold.d.ts.map +1 -1
  49. package/dist/commands/project/new/scaffold.js +24 -0
  50. package/dist/config/oat-config.d.ts +3 -0
  51. package/dist/config/oat-config.d.ts.map +1 -1
  52. package/dist/config/oat-config.js +7 -0
  53. package/dist/config/resolve.d.ts.map +1 -1
  54. package/dist/config/resolve.js +2 -0
  55. package/package.json +2 -2
package/README.md CHANGED
@@ -35,6 +35,7 @@ Additional useful entry points:
35
35
  - `oat config dump --json`
36
36
  - `oat project status --json`
37
37
  - `oat project list --json`
38
+ - `oat project log --help`
38
39
  - `oat project complete-state /path/to/project`
39
40
  - `oat project archive /path/to/project`
40
41
  - `oat repo archive sync`
@@ -486,6 +486,8 @@ Workflow preference keys live under the `workflow.*` namespace:
486
486
  - `workflow.autoNarrowReReviewScope` — boolean. Auto-narrow re-review scope to fix-task commits only in `oat-project-review-provide`. When unset, the skill prompts.
487
487
  - `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.
488
488
  - `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.
489
+ - `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.
490
+ - `workflow.projectLogLedgerPath` — repository-relative string; default `.oat/repo/reference/project-observations.md`. Sets the durable ledger target for `general` judgments written by `oat project log rollup`.
489
491
  - `workflow.dispatchPolicy.mode` — `managed` or `inherit`. `managed` means OAT selects model/effort controls from `workflow.dispatchPolicy.policy`; `inherit` means OAT leaves controls to host/provider defaults.
490
492
  - `workflow.dispatchPolicy.policy` — `economy`, `balanced`, `high`, `frontier`, or `uncapped`. `economy` through `frontier` are capped managed policies; `uncapped` keeps OAT-managed preferred selection without provider caps. It is distinct from `workflow.dispatchPolicy.mode=inherit`, which leaves controls to the host/provider.
491
493
  - `workflow.dispatchCeiling.preset` — legacy compatibility alias (`balanced`, `maximum`, or `cost-conscious`) for capped managed policy setup.
@@ -495,6 +497,9 @@ Workflow preference keys live under the `workflow.*` namespace:
495
497
  - `workflow.gates.skills` / `workflow.gates.execTargets` — structured per-skill final gate commands and exec-target registry. Use `oat gate set`, `oat gate target set`, `oat gate review`, and `oat gate cross-provider-exec`; do not use `oat config set` for these objects.
496
498
  - `workflow.gateTimeouts.code` / `workflow.gateTimeouts.artifact` — validated default gate-review budgets in milliseconds. Both resolve through `local > shared > user`.
497
499
 
500
+ The two project-log keys use the standard workflow precedence:
501
+ `local > shared > user > default`.
502
+
498
503
  ### HiLL plan-field semantics
499
504
 
500
505
  `workflow.hillCheckpointDefault` controls the first implementation run's
@@ -568,6 +573,8 @@ oat config set workflow.designMode collaborative --shared
568
573
  oat config set workflow.dispatchCeiling.preset balanced --shared
569
574
  oat config set workflow.dispatchCeiling.providers.cursor.high composer-2.5 --shared
570
575
  oat config set workflow.autoArtifactReview.plan false --shared
576
+ oat config set workflow.projectLog auto --shared
577
+ oat config set workflow.projectLogLedgerPath .oat/repo/reference/project-observations.md --shared
571
578
 
572
579
  # Repo-local: personal override for this repo (default when no flag)
573
580
  oat config set workflow.hillCheckpointDefault every
@@ -15,6 +15,7 @@ Use this section when you want bootstrap guidance, tool-pack lifecycle details,
15
15
  - [Tool Packs and Installed Assets](tool-packs.md) - Bundled packs and `oat tools` lifecycle commands.
16
16
  - [Configuration](configuration.md) - OAT configuration guidance across shared, local, user, and provider-sync surfaces.
17
17
  - [Config and Local State](config-and-local-state.md) - Utility command groups for config, local state, diagnostics, and related inspection flows.
18
+ - [Project Log](project-log.md) - Append-only project observations, synthesis, inspection, and durable roll-up.
18
19
  - [Backlog Lifecycle](backlog-lifecycle.md) - Backlog item states, atomic close-out with `oat backlog archive`, and lifecycle drift detection in `oat pjm doctor`.
19
20
  - [Workflow Gates](workflow-gates.md) - Completion-safe headless reviews, budgets, liveness evidence, and cross-runtime dispatch with `oat gate`.
20
21
 
@@ -0,0 +1,183 @@
1
+ ---
2
+ title: Project Log
3
+ description: Capture append-only project observations and roll them into durable summary and ledger surfaces.
4
+ ---
5
+
6
+ # Project Log
7
+
8
+ `oat project log` manages an optional, append-only `project-log.md` artifact for
9
+ workflow observations and lifecycle events. Use it to preserve evidence that
10
+ would otherwise remain in agent transcripts, then roll that evidence into
11
+ tracked project and repository references before archiving the project.
12
+
13
+ The command group is the only supported writer for the artifact. Do not edit
14
+ entries or the synthesis section by hand.
15
+
16
+ ## Configure project logs
17
+
18
+ Two workflow keys control the feature:
19
+
20
+ | Key | Values | Default |
21
+ | ------------------------------- | ------------------------ | --------------------------------------------- |
22
+ | `workflow.projectLog` | `auto`, `true`, `false` | `auto` |
23
+ | `workflow.projectLogLedgerPath` | repository-relative path | `.oat/repo/reference/project-observations.md` |
24
+
25
+ ```bash
26
+ oat config set workflow.projectLog auto --shared
27
+ oat config set workflow.projectLogLedgerPath .oat/repo/reference/project-observations.md --shared
28
+ ```
29
+
30
+ `auto` creates the log on the first append. `true` also lets
31
+ `oat project new` scaffold the log up front. `false` skips an append when no log
32
+ exists. An existing `project-log.md` always accepts appends, regardless of the
33
+ current config value.
34
+
35
+ For one scaffold operation, `oat project new --with-project-log` forces
36
+ creation and `--no-project-log` suppresses it.
37
+
38
+ ## Append entries
39
+
40
+ Judgment entries capture evidence about the project or reusable workflow:
41
+
42
+ ```bash
43
+ oat project log append \
44
+ --project .oat/projects/shared/example \
45
+ --type friction \
46
+ --scope project \
47
+ --area "gate review handoff" \
48
+ --body "The gate passed but the handoff was missing, so review receipt stopped."
49
+ ```
50
+
51
+ Judgment flags:
52
+
53
+ - `--type <bug|friction|worked-well|feedback>`
54
+ - `--scope <project|general>`
55
+ - `--area <text>` — one line, at most 120 characters
56
+ - `--body <text>` — use `--body -` to read from stdin
57
+ - `--version-note <text>` — adds an `observed on` clause
58
+ - `--project <path>` — optional when an active project resolves
59
+
60
+ Structural entries record lifecycle events without duplicating larger
61
+ artifacts:
62
+
63
+ ```bash
64
+ oat project log append \
65
+ --structural \
66
+ --producer oat-project-implement \
67
+ --ref p03 \
68
+ --body "Phase passed; details: .oat/projects/shared/example/implementation.md#run-3"
69
+ ```
70
+
71
+ Structural entries require `--structural`, `--producer`, `--ref`, and `--body`.
72
+ Do not combine structural flags with judgment flags.
73
+
74
+ The helper produces these heading grammars in UTC:
75
+
76
+ ```text
77
+ ### YYYY-MM-DD · <project|general> · <bug|friction|worked-well|feedback> · <area>
78
+ ### YYYY-MM-DD · structural · <producer> · <ref>
79
+ ```
80
+
81
+ Prior entries are never edited or struck through. Append corrections as new
82
+ judgments that reference the original heading. Never record secret values such
83
+ as tokens, credentials, keys, or signed URLs; reference their name or source
84
+ instead.
85
+
86
+ Run `oat project log append --help` for the complete entry contract.
87
+
88
+ ## Automatic workflow integration
89
+
90
+ When project logging is enabled, OAT lifecycle surfaces append structural
91
+ entries without asking agents to edit `project-log.md`:
92
+
93
+ - `oat-project-implement` records accepted subagent dispatches, STOP or park
94
+ events, phase outcomes, and parallel-group merge results. These entries point
95
+ to the corresponding `implementation.md` record instead of copying it.
96
+ - `oat gate review` records exactly one entry for every terminal outcome,
97
+ including successful and blocking verdicts, child failure, timeout,
98
+ targeting-correlation failure, and artifact-validation failure. A log append
99
+ failure produces a warning but never changes the gate result.
100
+ - `oat-project-summary` checks for entries, offers append-only promotion of
101
+ reusable project judgments, and invokes `rollup` after authoring
102
+ `summary.md`.
103
+ - `oat-project-complete` warns when synthesis is pending, requires a successful
104
+ roll-up for a populated log, and appends the final seal entry before archive.
105
+ No project-log entry may follow the seal.
106
+
107
+ With the default `auto` setting, the first of these append points creates the
108
+ log. With `false` and no existing artifact, automatic appends are no-ops.
109
+
110
+ ## Inspect status
111
+
112
+ ```bash
113
+ oat project log check --project .oat/projects/shared/example --json
114
+ ```
115
+
116
+ `check` reports whether the log is absent, ready, or still awaiting synthesis;
117
+ entry counts by class, type, and scope; the last entry date; and invalid
118
+ hand-written headings. It reads only `project-log.md`.
119
+
120
+ Use `--require-synthesis` to exit with status 1 while synthesis is pending:
121
+
122
+ ```bash
123
+ oat project log check --require-synthesis
124
+ ```
125
+
126
+ Without that flag, normal `absent`, `ok`, and `synthesis_pending` results exit
127
+ successfully so lifecycle skills can decide whether to warn or enforce.
128
+
129
+ ## Complete the synthesis
130
+
131
+ Write the end-of-run synthesis through the command:
132
+
133
+ ```bash
134
+ oat project log synthesize \
135
+ --project .oat/projects/shared/example \
136
+ --body "The workflow was effective; preserve the gate handoff checks."
137
+ ```
138
+
139
+ Use `--body -` for stdin. `synthesize` replaces the pending synthesis section
140
+ without changing entries. It fails when the log is absent or the synthesis is
141
+ already complete; append a correction judgment instead of replacing a completed
142
+ synthesis.
143
+
144
+ ## Promote and roll up observations
145
+
146
+ Before roll-up, promote a reusable `project` judgment by appending a new
147
+ `general` judgment. Its body must reference the original heading. Never mutate
148
+ or annotate the original entry.
149
+
150
+ ```bash
151
+ oat project log append \
152
+ --type friction \
153
+ --scope general \
154
+ --area "gate review handoff" \
155
+ --body "Promotes '### 2026-07-18 · project · friction · gate review handoff': this applies to all gate-driven reviews."
156
+ ```
157
+
158
+ After `summary.md` exists, roll up the log:
159
+
160
+ ```bash
161
+ oat project log rollup \
162
+ --project .oat/projects/shared/example \
163
+ --json
164
+ ```
165
+
166
+ `rollup` writes or updates `## Workflow Observations` in `summary.md` and
167
+ appends `general` judgments to `workflow.projectLogLedgerPath`. Ledger entries
168
+ deduplicate by date and area. The command is idempotent.
169
+
170
+ The structured result contains:
171
+
172
+ - `status`: `ok` or `failed`
173
+ - `summarySection`: `written` or `updated`
174
+ - `ledgerOutcome`: `appended`, `deduplicated`, `skipped_permitted`, or `failed`
175
+ - `entriesRolledUp`: number of log entries written to the summary section
176
+
177
+ `skipped_permitted` means the default repository reference layer is absent and
178
+ no ledger path was explicitly configured; `status` remains `ok`. An explicitly
179
+ configured ledger write failure returns `status: "failed"`. Completion must not
180
+ seal or archive a project with entries until roll-up reports `status: "ok"`.
181
+
182
+ `rollup` requires an existing `summary.md`; summary authoring remains the
183
+ responsibility of the project summary workflow.
@@ -67,6 +67,7 @@ Notable commands introduced in the current CLI surface:
67
67
  - `oat project archive [project-path]` - archive a tracked project through the same local move, summary export, and optional S3 upload path used by completion. When omitted, the project path falls back to the active project.
68
68
  - `oat repo archive sync [project-name]` - hydrate archived project snapshots from the configured repo-scoped S3 archive into `.oat/projects/archived/`. The old `oat project archive sync` path remains as a deprecated shim.
69
69
  - `oat project validate-plan --project-path <path>` - validates `oat_plan_parallel_groups` metadata in `plan.md`; exits non-zero on invalid. See [Implementation Execution](../workflows/projects/implementation-execution.md#plan-declared-parallelism).
70
+ - `oat project log append|check|synthesize|rollup` - manage the optional append-only project observation log: append validated judgment or structural entries, inspect grammar and synthesis status, complete end-of-run synthesis, and roll observations into `summary.md` plus the configured repository ledger. See [Project Log](../cli-utilities/project-log.md).
70
71
  - `oat project set-mode` — deprecated no-op. Execution mode is no longer user-selectable; emits a deprecation warning and preserves the `--json` contract.
71
72
  - `oat gate review <prompt...>` - run a stateful, headless OAT review through the target registry, parse the produced review artifact, and exit nonzero for configured blocking findings. `--timeout-ms <milliseconds>` overrides target, `workflow.gateTimeouts`, environment, and scope defaults; accepted values are 1,000–14,400,000. Final/phase/range code reviews default to 30 minutes, while task code and artifact reviews default to 15 minutes. With `--json`, the result envelope on exit is the canonical completion signal: `status` is `ok` | `blocked` | `review_failed` | `artifact_validation_failed` | `targeting_correlation_failed`, alongside `runId`, `generatedAt`, and `artifactPath` when available. For `targeting_correlation_failed`, do not run review-receive even if an artifact path is present. For `artifact_validation_failed`, correct the artifact and rerun the gate until it revalidates as `ok` or `blocked`. Invoke `oat-project-review-receive` only when all three conditions hold: `status` is `ok` or `blocked`, `receiveEligible` is `true`, and `handoff` is non-null. `review_failed` may include structured `refusal`, `noOutputProduced`, and metadata-only `activityEvidence`; these diagnostic fields never make a run receive-eligible. After a timeout, a validated run-correlated artifact returns the ordinary `ok` or `blocked` envelope with additive `lateCompletion: true`. Duplicate run-ID matches or a changed artifact with a mismatched run ID retain `targeting_correlation_failed` and `receiveEligible: false`. Orchestrators should read the structured result rather than poll the filesystem. See [Workflow Gates](../cli-utilities/workflow-gates.md).
72
73
  - `oat gate route --expect-runtime <runtime> --expect-model <model> --can-await <true|false> --json` - return the headless child route (`inline`, `delegate-sync`, or `refuse`) from provider-marker and model evidence. Ambiguous or contradictory evidence never routes inline.
@@ -1,6 +1,6 @@
1
1
  {
2
- "cli": "0.1.72",
3
- "docs-config": "0.1.72",
4
- "docs-theme": "0.1.72",
5
- "docs-transforms": "0.1.72"
2
+ "cli": "0.1.73",
3
+ "docs-config": "0.1.73",
4
+ "docs-theme": "0.1.73",
5
+ "docs-transforms": "0.1.73"
6
6
  }
@@ -225,7 +225,7 @@ 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` | `c6732295bc8c -> NG`; `ffb3af0ba8ef -> NG`; `e0355c7a05e9 -> IMPLEMENT-11+IMPLEMENT-13+IMPLEMENT-16`; `6296f41ae11c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> IMPLEMENT-01`; `8ce8a09feca4 -> NG` |
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
229
  | `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `14d89fe39c8c -> 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` |
@@ -233,7 +233,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
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`; `c9b36a381b8e -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `24f1f127f580 -> NG`; `626e6d6f4455 -> NG`; `f58150418ef5 -> NG`; `349f0a976a3a -> NG`; `c26231b8bb48 -> NG`; `ab1d4a57bebb -> NG`; `696bb6045b6a -> 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.2
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.
@@ -225,7 +225,7 @@ 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` | `c6732295bc8c -> NG`; `ffb3af0ba8ef -> NG`; `e0355c7a05e9 -> IMPLEMENT-11+IMPLEMENT-13+IMPLEMENT-16`; `6296f41ae11c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> IMPLEMENT-01`; `8ce8a09feca4 -> NG` |
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
229
  | `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `14d89fe39c8c -> 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` |
@@ -233,7 +233,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
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`; `c9b36a381b8e -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `24f1f127f580 -> NG`; `626e6d6f4455 -> NG`; `f58150418ef5 -> NG`; `349f0a976a3a -> NG`; `c26231b8bb48 -> NG`; `ab1d4a57bebb -> NG`; `696bb6045b6a -> 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