@open-agent-toolkit/cli 0.2.28 → 0.2.30

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 (44) hide show
  1. package/assets/bundle-metadata.json +4 -0
  2. package/assets/docs/cli-utilities/configuration.md +11 -1
  3. package/assets/docs/workflows/projects/artifacts.md +5 -0
  4. package/assets/docs/workflows/projects/autonomy.md +25 -0
  5. package/assets/docs/workflows/projects/index.md +1 -0
  6. package/assets/docs/workflows/projects/lifecycle.md +23 -0
  7. package/assets/docs/workflows/projects/retro.md +261 -0
  8. package/assets/docs/workflows/skills/index.md +6 -0
  9. package/assets/public-package-versions.json +4 -4
  10. package/assets/skills/oat-project-autonomous/SKILL.md +17 -1
  11. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +41 -41
  12. package/assets/skills/oat-project-complete/SKILL.md +42 -6
  13. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +41 -41
  14. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  15. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +20 -6
  16. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +41 -41
  17. package/assets/skills/oat-project-import-plan/SKILL.md +7 -3
  18. package/assets/skills/oat-project-plan/SKILL.md +6 -3
  19. package/assets/skills/oat-project-plan-writing/SKILL.md +32 -5
  20. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +41 -41
  21. package/assets/skills/oat-project-quick-start/SKILL.md +7 -3
  22. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +41 -41
  23. package/assets/skills/oat-project-retro/SKILL.md +310 -0
  24. package/assets/skills/oat-project-retro/references/apply-procedure.md +212 -0
  25. package/assets/skills/oat-project-retro/references/evidence-and-lanes.md +91 -0
  26. package/assets/skills/oat-project-retro/references/retro-quality-bar.md +100 -0
  27. package/assets/skills/oat-project-retro-file/SKILL.md +387 -0
  28. package/assets/templates/project-retro.md +236 -0
  29. package/dist/commands/config/index.d.ts.map +1 -1
  30. package/dist/commands/config/index.js +81 -0
  31. package/dist/commands/init/tools/shared/skill-manifest.d.ts +2 -2
  32. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
  33. package/dist/commands/init/tools/shared/skill-manifest.js +3 -0
  34. package/dist/config/oat-config.d.ts +12 -1
  35. package/dist/config/oat-config.d.ts.map +1 -1
  36. package/dist/config/oat-config.js +38 -2
  37. package/dist/config/resolve.d.ts.map +1 -1
  38. package/dist/config/resolve.js +8 -0
  39. package/dist/fs/assets.d.ts +1 -0
  40. package/dist/fs/assets.d.ts.map +1 -1
  41. package/dist/fs/assets.js +36 -1
  42. package/dist/release/public-package-contract.d.ts.map +1 -1
  43. package/dist/release/public-package-contract.js +1 -0
  44. package/package.json +2 -2
@@ -0,0 +1,4 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "oatVersion": "0.2.30"
4
+ }
@@ -568,7 +568,11 @@ Workflow preference keys live under the `workflow.*` namespace:
568
568
  - `workflow.hillCheckpointDefault` — `every` or `final`. Default HiLL checkpoint behavior in `oat-project-implement`: pause after every phase or only after the last phase. When unset, the skill prompts.
569
569
  - `workflow.archiveOnComplete` — boolean. Skip the "Archive after completion?" prompt in `oat-project-complete`. When unset, the skill prompts.
570
570
  - `workflow.createPrOnComplete` — boolean. Skip the "Open a PR?" prompt in `oat-project-complete`; when true, completion auto-triggers PR creation. When unset, the skill prompts.
571
- - `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.
571
+ - `workflow.postImplementSequence` — legacy `wait`, `summary`, `pr`, or `docs-pr`, or `{ "preApproval": [...], "postApproval": [...] }`. Legacy values remain strings and keep their existing mappings. Structured arrays contain ordered, globally unique `summary`, `document`, `pr`, and `retro` steps. `retro` is post-approval only: a structured value containing it in `preApproval` is rejected. 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.
572
+ - `workflow.retro.filing.repo` — `issues`, `backlog`, or `none`; unset by default. Selects the repo-lane filing destination.
573
+ - `workflow.retro.filing.upstream` — `issues` or `none`; unset by default. Selects the upstream-lane filing destination.
574
+ - `workflow.retro.apply` — `auto` or `ask`; defaults to `ask` behavior when unset. `auto` authorizes bounded promotion application in non-interactive runs; `ask` is propose-only when no interaction is possible.
575
+ - `workflow.retro.upstreamRepo` — `owner/repo`; unset in CLI configuration. Retro guidance defaults it to `voxmedia/open-agent-toolkit`.
572
576
  - `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.
573
577
  - `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.
574
578
  - `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.
@@ -585,6 +589,12 @@ Workflow preference keys live under the `workflow.*` namespace:
585
589
  - `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.
586
590
  - `workflow.gateTimeouts.code` / `workflow.gateTimeouts.artifact` — validated default gate-review budgets in milliseconds. Both resolve through `local > shared > user`.
587
591
 
592
+ Explicit `workflow.retro.apply: auto` or `workflow.retro.filing.*`
593
+ configuration counts as consent for the corresponding non-interactive action.
594
+ Without those settings, non-interactive retro generation records proposals but
595
+ does not apply or file them. Interactive runs still present the applicable
596
+ promotion and filing choices before side effects.
597
+
588
598
  The two project-log keys use the standard workflow precedence:
589
599
  `local > shared > user > default`.
590
600
 
@@ -30,6 +30,11 @@ Mode-sensitive notes:
30
30
  - `pr/*.md`: generated PR descriptions
31
31
  - `references/imported-plan.md`: preserved source plan for import mode
32
32
  - `references/split-plan.json`: persisted split plan for a coordination parent, used as the durable resume source when `oat-project-split` is interrupted
33
+ - `references/project-retro.md`: optional post-approval retrospective with
34
+ machine-scannable repo-improvement (`RP-NN`) and upstream-feedback (`UP-NN`)
35
+ registers. Promotion and filing rollups let the retro skills resume approved
36
+ applications and tracker filing without repeating settled work. See
37
+ [Project Retrospectives](retro.md).
33
38
 
34
39
  ### Explainer artifacts
35
40
 
@@ -66,6 +66,31 @@ The canonical autonomy contract and exhaustive gate inventory
66
66
  `references/docs/autonomy-contract.md`) map each prompt to its autonomous
67
67
  resolution and provenance.
68
68
 
69
+ ### Dispatch-ladder scope selection
70
+
71
+ An incomplete reusable dispatch ladder is auto-resolvable when an authorized
72
+ adoption-compatible config scope is available. Autonomous planning checks
73
+ config-file existence in this fixed order without prompting or reordering from
74
+ effective value or matrix-cell provenance:
75
+
76
+ 1. user config (`~/.oat/config.json`);
77
+ 2. repo-local config (`.oat/config.local.json`);
78
+ 3. shared config (`.oat/config.json`), only when repository policy already
79
+ authorizes that write.
80
+
81
+ Before writing, planning rejects a candidate that would preserve a
82
+ provider-level scalar in that scope or remain shadowed by one at higher
83
+ precedence. It always tries the next authorized compatible candidate and stops
84
+ without mutation only when none remains.
85
+
86
+ The planner runs exactly one matching `oat config adopt dispatch-matrix`
87
+ command, records file-existence and compatibility evidence plus the selected
88
+ scope, and re-runs dispatch preflight. Existing explicit cells remain unchanged;
89
+ their provenance does not select the persistence scope. No authorized
90
+ compatible scope, or a ladder that remains incomplete after adoption, is still
91
+ a repository-policy boundary. `OAT_NON_INTERACTIVE=1` without
92
+ `OAT_AUTONOMOUS=1` does not select a scope and continues to fail closed.
93
+
69
94
  ## Review contract
70
95
 
71
96
  Autonomous execution preserves independent review:
@@ -12,6 +12,7 @@ Projects are where the workflow layer becomes concrete: lifecycle phases, `state
12
12
  ## Contents
13
13
 
14
14
  - [Lifecycle](lifecycle.md) - End-to-end flow from discovery through completion.
15
+ - [Project Retrospectives](retro.md) - Generate evidence-grounded retros, apply repo improvements, and file tracker feedback.
15
16
  - [Autonomous Project Execution](autonomy.md) - Session-scoped autonomy signals, gate boundaries, review requirements, and execution learnings.
16
17
  - [OAT in Cursor Cloud](cursor-cloud.md) - Project-home, provisioning, asset-precedence, and execution-surface guidance for cloud agents.
17
18
  - [Design Modes](design-modes.md) - How full design balances collaborative, selective collaborative, and draft-and-review interaction.
@@ -110,12 +110,35 @@ approval, and only then runs post-approval steps. The snapshot is restart-safe:
110
110
  an incomplete sequence routes back to implementation and resumes from its first
111
111
  incomplete step.
112
112
 
113
+ Structured sequences accept `summary`, `document`, `pr`, and `retro`.
114
+ `retro` is post-approval only: placing it in `preApproval` invalidates the
115
+ structured value. This placement lets the retrospective include the final
116
+ approval and feedback tail while still running before project completion
117
+ freezes lifecycle artifacts. The legacy string mappings are unchanged and do
118
+ not add a retro step.
119
+
120
+ When a pending post-approval `retro` step runs, OAT dispatches
121
+ `oat-project-retro` in generate mode. Applying repo improvements and filing
122
+ tracker items remain separately consented through interactive confirmation or
123
+ `workflow.retro.*` configuration.
124
+
113
125
  `oat-project-next` checks `oat_implement_exit_gate` before every normal
114
126
  post-implementation route. Missing, pending, blocked, malformed, or stale state
115
127
  routes back to `oat-project-implement` even when `oat_phase_status` is
116
128
  `complete` or `pr_open`. Only an allowed, fresh disposition can continue to
117
129
  summary, documentation, PR, or project completion.
118
130
 
131
+ ### Retrospective completion safety net
132
+
133
+ Before an interactive completion archives the project,
134
+ `oat-project-complete` checks for
135
+ `{PROJECT_PATH}/references/project-retro.md`. If the artifact is missing, it
136
+ offers to generate one before completion. If the artifact exists, completion
137
+ does not offer another retro; it may note unsettled promotion or filing
138
+ registers. Non-interactive completion skips this offer, so autonomous
139
+ generation occurs only through an explicitly configured post-approval `retro`
140
+ step.
141
+
119
142
  When `workflow.autoReviewAtHillCheckpoints` is enabled or `plan.md` frontmatter sets `oat_auto_review_at_hill_checkpoints`, completing a HiLL checkpoint automatically runs the extra lifecycle review scoped to every implementation phase not already covered by a passed whole-phase code review, through the just-completed checkpoint. Mid-implementation multi-phase reviews use inclusive phase-range scopes such as `p02-p03`; the final implementation checkpoint uses `code final`. The review uses auto-disposition mode (minors auto-converted to fix tasks, no user prompts). Disabled by default. Legacy `autoReviewAtCheckpoints` and `oat_auto_review_at_checkpoints` are still read as fallbacks. This does not control Tier 1 per-phase `oat-reviewer` gates.
120
143
 
121
144
  ### Phase-review setup during planning
@@ -0,0 +1,261 @@
1
+ ---
2
+ title: Project Retrospectives
3
+ description: Generate evidence-grounded project retrospectives, apply repo improvements, and file tracker feedback.
4
+ ---
5
+
6
+ # Project Retrospectives
7
+
8
+ OAT project retrospectives capture how an implementation run went and route
9
+ what should change next. The workflow uses two skills:
10
+
11
+ - `oat-project-retro` generates
12
+ `{PROJECT_PATH}/references/project-retro.md` and applies approved repo
13
+ improvements.
14
+ - `oat-project-retro-file` files tracker-bound feedback into repository or
15
+ upstream GitHub issues and OAT backlog items.
16
+
17
+ A configured `retro` post-approval sequence step can generate the artifact
18
+ after final feedback exists and before project completion freezes lifecycle
19
+ artifacts. Interactive completion also offers generation when the artifact is
20
+ missing. Neither path applies or files findings without separate consent.
21
+
22
+ ## Generate a retrospective
23
+
24
+ Ask to run the project retro, or configure `retro` in
25
+ `workflow.postImplementSequence.postApproval`. Generate mode resolves the active
26
+ project, inventories evidence, renders the retro artifact, and records the run
27
+ in the project log when that log exists.
28
+
29
+ Evidence is read in this order:
30
+
31
+ 1. `project-log.md`
32
+ 2. `oat-execution-learnings.md`, when present
33
+ 3. Lifecycle artifacts such as `implementation.md`, `state.md`, `plan.md`,
34
+ design and discovery artifacts, reviews, and evidence ledgers
35
+ 4. The current session or run transcript when the environment makes it
36
+ available
37
+
38
+ The artifact identifies every used or unavailable source. Missing transcript
39
+ access is recorded rather than hidden, and runtime claims fall back to durable
40
+ ledgers when transcript output is incomplete. Findings distinguish confirmed
41
+ causes, hypotheses, and inconclusive mechanisms.
42
+
43
+ Evidence status remains `used | unavailable`. When an evidence family is
44
+ partial, split it into truthful source entries, such as
45
+ `archived-review-markdown: unavailable` and `gate-receipts: used`, rather than
46
+ recording `review-artifacts: unavailable`. Do not add a `partial` evidence
47
+ status. Derivative current-run reconnaissance transcripts are not original
48
+ project-run evidence.
49
+
50
+ ### Scale depth to the evidence
51
+
52
+ Keep output concise by default. Every section must add distinct information.
53
+ Prefer references to evidence over repeated chronology. For a small project,
54
+ keep core sections brief. Use subsections and tables only for evidence-rich
55
+ projects where they improve decisions. The required core and register
56
+ contracts stay intact; evidence volume controls depth, not a new configuration
57
+ or consent setting.
58
+
59
+ Each material incident remains understandable without opening another
60
+ artifact. Use stable evidence anchors such as project-log event IDs, artifact
61
+ headings, review paths, decision IDs, and commit IDs. Anchors supplement but
62
+ never replace explanation.
63
+
64
+ Narrative sections have distinct ownership:
65
+
66
+ - `Challenges and Struggles` owns the complete incident narrative: what
67
+ happened, impact, response, and result.
68
+ - `Where We Changed Course` records only the trigger, changed direction, and
69
+ outcome.
70
+ - `Domain Learnings` abstracts reusable lessons without replaying chronology.
71
+ - `Gotchas for Humans` and `Gotchas for Autonomous Agents` contain
72
+ future-facing instructions rather than incident summaries.
73
+
74
+ Every retro contains two machine-scannable registers:
75
+
76
+ - **Repo Improvements (`RP-NN`)** route each item through
77
+ `Disposition: apply` for a bounded repo edit or `Disposition: file` for a
78
+ tracker follow-up.
79
+ - **OAT Upstream Feedback (`UP-NN`)** contains sanitized, tracker-ready
80
+ suggestions for toolkit improvements. The section remains present with an
81
+ explicit empty state when no upstream item is warranted.
82
+
83
+ Per-item statuses and frontmatter rollups make interrupted and repeated runs
84
+ resumable. The promotions rollup covers RP apply-items; the filing rollup covers
85
+ UP items plus RP file-items.
86
+
87
+ ### Project-log receipt
88
+
89
+ When a project log exists, generate mode appends this one-line structural
90
+ receipt:
91
+
92
+ ```text
93
+ retro artifact=<path> evidence_used=<csv> evidence_unavailable=<csv> promotions=<number> upstream=<number> apply=<performed|declined|skipped|deferred> filing=<performed|declined|skipped|deferred>
94
+ ```
95
+
96
+ Source identifiers are validated, deduplicated, sorted bytewise ascending, and
97
+ joined with commas and no spaces; an empty source list is `none`. Counts
98
+ describe the generated registers.
99
+
100
+ Before any apply decision or filing dispatch, capture one immutable eligibility
101
+ snapshot for that action. Apply snapshots contain unsettled RP apply-items;
102
+ filing snapshots contain the lane-tagged union of unsettled UP items and RP
103
+ file-items. Do not recompute initial eligibility after an action changes the
104
+ registers.
105
+
106
+ Derive each outcome from that snapshot with this precedence:
107
+
108
+ 1. An initially empty snapshot is `skipped`.
109
+ 2. An action-level interactive rejection before entry is `declined`.
110
+ 3. Non-entry, failure, or any snapshot member still unsettled is `deferred`.
111
+ 4. An entered action that completes normally with no snapshot member remaining
112
+ is `performed`.
113
+
114
+ This makes an all-settled successful action `performed`, even though its
115
+ post-action eligible set is empty. For mixed filing lanes, any initially
116
+ eligible lane left unsettled by absent or `none` routing makes the single filing
117
+ outcome `deferred`; normal completion that settles every initial lane is
118
+ `performed`.
119
+
120
+ The append uses stable structural identity and the exact rendered body:
121
+
122
+ ```bash
123
+ oat project log append --project "$PROJECT_PATH" --structural \
124
+ --producer oat-project-retro \
125
+ --ref project-retro \
126
+ --body "$RECEIPT_BODY"
127
+ ```
128
+
129
+ ## Apply repo improvements
130
+
131
+ Invoke apply mode directly with wording such as "apply the retro findings."
132
+ Apply mode requires an existing retro and never regenerates it. It processes
133
+ only RP items whose authoritative disposition is `apply` and whose status is
134
+ `proposed` or `approved`.
135
+
136
+ Interactive runs present each item, target, rationale, and concrete edit before
137
+ approval. Non-interactive runs apply items only when
138
+ `workflow.retro.apply: auto`; an absent value or `ask` leaves proposals
139
+ untouched when no interaction is possible.
140
+
141
+ Application follows the item type:
142
+
143
+ - documentation updates the canonical existing page;
144
+ - agent instructions update the narrowest existing instruction surface;
145
+ - rules update the canonical scoped rule;
146
+ - decisions use `oat decision new` after an exact duplicate check; and
147
+ - code follow-ups default to `Disposition: file` and remain outside apply mode.
148
+
149
+ After a successful application, the skill records `Status: applied` and an
150
+ `Applied-ref`. Re-runs skip settled items and recover an exact prior side effect
151
+ instead of applying it twice.
152
+
153
+ For a docs item whose safely normalized target canonical path has the exact,
154
+ case-sensitive final component `project-log.md`, apply mode uses
155
+ `oat project log append` and never directly edits the log. Absolute paths,
156
+ traversal, and ambiguous normalization fail closed; suffixes and prefixed
157
+ lookalikes remain ordinary docs targets.
158
+
159
+ The proposal must identify the prior heading or event being corrected and
160
+ preserve the original entry. The appended judgment uses `--type feedback`,
161
+ `--scope project`, `--area "retro correction $RP_ID"`, and a body whose stable
162
+ identity includes both the RP ID and original-entry anchor. Before appending,
163
+ perform semantic post-side-effect recovery. The skill recovers an exact
164
+ uncommitted or committed correction and stops on partial, divergent, or
165
+ multiple matches before it appends.
166
+
167
+ The correction is committed first without retro writeback. A later retro-only
168
+ writeback records `Status: applied` and an `Applied-ref` naming the full
169
+ correction commit plus exact generated heading. `Applied-ref` is considered
170
+ recorded only after the correction and retro writeback are durably committed.
171
+ Append failure creates neither commit; correction-commit failure leaves the RP
172
+ unsettled for exact recovery; writeback failure preserves the correction commit
173
+ and retries only the writeback. This remains a bounded docs special case; it
174
+ adds no RP type and does not weaken the normal docs apply contract.
175
+
176
+ ## File tracker feedback
177
+
178
+ Run `oat-project-retro-file` against the active project's retro or an explicit
179
+ artifact path. It extracts every UP item and each RP item with
180
+ `Disposition: file`; it never mutates apply-items.
181
+
182
+ Before item approval, the skill reports a lane-by-destination capability
183
+ matrix:
184
+
185
+ | Lane | Destination | Preflight |
186
+ | -------- | ----------- | ----------------------------------------------------- |
187
+ | Repo | Issues | GitHub issues enabled and `gh` authenticated |
188
+ | Repo | Backlog | Canonical OAT backlog initialized and writable |
189
+ | Upstream | Issues | Upstream issues enabled and creation authorized |
190
+ | Either | None | Intentionally disabled; no external capability needed |
191
+
192
+ Interactive runs confirm or override configured lane defaults and choose a
193
+ disposition for each suspected duplicate:
194
+
195
+ 1. **Strengthen** the existing issue or backlog item with new evidence.
196
+ 2. **File as new** despite the candidate.
197
+ 3. **Skip** without filing.
198
+ 4. **Link existing** without adding content.
199
+
200
+ Strengthening is the default when applicable, but it is still an external
201
+ write. Non-interactive configuration does not authorize modifying an existing
202
+ destination; an unambiguous duplicate may be linked without an external write,
203
+ while ambiguous candidates remain unsettled for interactive review.
204
+
205
+ ### Local receipts and reruns
206
+
207
+ Before skipping an already-filed item, the filing skill runs a pre-selection
208
+ integrity pass. A local backlog destination is complete only when its path
209
+ exists, its current contents still represent the retro proposal, its full
210
+ `Destination-receipt` names the latest exact-path commit containing that path,
211
+ and `Remote-visibility` is `pushed` or `unpushed`. A valid exact recovery may
212
+ retain `filed` without mutating the destination. A missing or invalid local
213
+ receipt that cannot be recovered cannot remain `filed`.
214
+
215
+ New and strengthened local destinations use destination-first ordering: commit
216
+ the destination mutation alone, verify that commit contains the backlog path
217
+ and excludes retro writeback, then record its receipt in a later retro
218
+ writeback commit. A failed destination commit never produces `filed`. A local
219
+ link performs no destination mutation, but must recover and validate the latest
220
+ exact-path commit before it can be filed.
221
+
222
+ Remote visibility is independent of local durability. No configured upstream
223
+ means `unpushed`; the skill never pushes without separate authorization.
224
+ GitHub destinations use a validated issue URL and explicitly leave
225
+ `Destination-receipt` and `Remote-visibility` as `—`.
226
+
227
+ Public destinations receive a sanitization check when the source repository is
228
+ private. Filing records the confirmed URL or backlog path in `Destination` and
229
+ updates the filing rollup. Unavailable lanes and missing backlog metadata are
230
+ reported rather than silently rerouted or invented.
231
+
232
+ ## Configure non-interactive consent
233
+
234
+ The `workflow.retro` namespace controls non-interactive actions:
235
+
236
+ | Key | Values | Unset behavior |
237
+ | -------------------------------- | --------------------------- | ------------------------------------------- |
238
+ | `workflow.retro.apply` | `auto`, `ask` | Propose only |
239
+ | `workflow.retro.filing.repo` | `issues`, `backlog`, `none` | No repo-lane filing |
240
+ | `workflow.retro.filing.upstream` | `issues`, `none` | No upstream-lane filing |
241
+ | `workflow.retro.upstreamRepo` | `owner/repo` | Guidance uses `voxmedia/open-agent-toolkit` |
242
+
243
+ Explicit `auto` or filing destinations count as consent only for their bounded
244
+ action. Architecture, security, product-scope, credential, destructive, and
245
+ duplicate-mutation boundaries still require direction. See
246
+ [Configuration](../../cli-utilities/configuration.md#workflow-preferences-workflow)
247
+ for the full key reference.
248
+
249
+ ## Summary versus retrospective
250
+
251
+ | | Summary | Retrospective |
252
+ | --------------------- | ----------------------------- | ------------------------------------------------ |
253
+ | Primary question | What did we build and decide? | How did the run go, and what should change next? |
254
+ | Session transcript | Optional | Required when available |
255
+ | OAT upstream feedback | Rare | Required section or explicit empty lane |
256
+ | Tone | Institutional memory | Reflective and operational |
257
+ | Default path | `summary.md` | `references/project-retro.md` |
258
+
259
+ Use the summary to preserve the delivered system and its decisions. Use the
260
+ retro to preserve execution lessons, course changes, repo improvements, and
261
+ upstream toolkit feedback.
@@ -24,6 +24,10 @@ Use this section when you want to choose the right OAT skill for a task. If you
24
24
  - Split a broad discovery or brainstorm into child projects: `oat-project-split`
25
25
  - Retroactively capture existing work: `oat-project-capture`
26
26
  - Run or receive reviews: `oat-project-review-provide`, `oat-project-review-receive`, or the non-project review variants
27
+ - Generate an evidence-grounded project retrospective, apply approved repo
28
+ improvements, or file tracker feedback: `oat-project-retro` and
29
+ `oat-project-retro-file`. See
30
+ [Project Retrospectives](../projects/retro.md).
27
31
  - Capture a scoped, shippable backlog item: `oat-pjm-add-backlog-item` directly when the work is already scoped, or `oat-brainstorm` when the thought hasn't converged yet — the brainstorm dispatcher's "scoped backlog item" destination pre-fills the title / description / acceptance criteria / scope estimate / priority from the conversation and then runs `oat-pjm-add-backlog-item` with confirmed inputs
28
32
  - Manage the repo backlog and reference docs: `oat-pjm-update-repo-reference`, `oat-pjm-review-backlog`
29
33
  - Turn a repo audit, maintainability review, backlog review, backlog directory, or backlog item into standalone external implementation plans: `oat-repo-improve`. Plans land under `.oat/repo/reference/external-plans/`; execute them directly or optionally pass one to `oat-project-import-plan` for tracked OAT execution.
@@ -74,6 +78,8 @@ Use this section when you want to choose the right OAT skill for a task. If you
74
78
  - `oat-project-pr-progress`
75
79
  - `oat-project-pr-final`
76
80
  - `oat-project-document`
81
+ - `oat-project-retro`
82
+ - `oat-project-retro-file`
77
83
  - `oat-explainer-kit`
78
84
  - `oat-wrap-up`
79
85
  - `oat-project-complete`
@@ -1,6 +1,6 @@
1
1
  {
2
- "cli": "0.2.28",
3
- "docs-config": "0.2.28",
4
- "docs-theme": "0.2.28",
5
- "docs-transforms": "0.2.28"
2
+ "cli": "0.2.30",
3
+ "docs-config": "0.2.30",
4
+ "docs-theme": "0.2.30",
5
+ "docs-transforms": "0.2.30"
6
6
  }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-autonomous
3
- version: 1.0.5
3
+ version: 1.0.6
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
@@ -72,6 +72,9 @@ waits.
72
72
  - Selecting quick or spec-driven mode from the review-density rule.
73
73
  - Invoking existing OAT lifecycle and dispatch skills in their required order.
74
74
  - Auto-resolving only the gates authorized by the autonomy contract.
75
+ - Selecting the first existing compatible dispatch-ladder config scope through
76
+ the canonical user → local → authorized-shared order and adopting the bundled
77
+ matrix once.
75
78
  - Committing and pushing completed phase boundaries, subject to repository
76
79
  policy, and reporting explicit boundary stops.
77
80
 
@@ -297,6 +300,19 @@ Invoke each lifecycle skill by name and let it own its complete workflow,
297
300
  artifacts, gates, commits, and state transitions. Re-read project status after
298
301
  each return and route to the next earliest incomplete owner.
299
302
 
303
+ When planning finds an incomplete dispatch ladder, apply the gate inventory's
304
+ autonomous ownership resolution instead of treating ordinary non-interactive
305
+ behavior as authoritative. Check config-file existence in this fixed order:
306
+ user config, repo-local config, authorized shared config. Do not prompt or
307
+ reorder candidates from effective value or matrix-cell provenance. Before
308
+ writing, test each existing candidate in order, skip any that preserves a
309
+ provider scalar or is shadowed by one at higher precedence, and block without
310
+ mutation only when no authorized adoption-compatible scope remains. Existing
311
+ explicit matrix cells are preserved by adoption; their provenance does not
312
+ choose the persistence scope. Run exactly one matching
313
+ `oat config adopt dispatch-matrix` command and re-run the reviewer preflight.
314
+ Block when the ladder remains incomplete after adoption.
315
+
300
316
  At every required artifact or code review:
301
317
 
302
318
  1. Resolve the route before launch through