@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.
- package/assets/bundle-metadata.json +4 -0
- package/assets/docs/cli-utilities/configuration.md +11 -1
- package/assets/docs/workflows/projects/artifacts.md +5 -0
- package/assets/docs/workflows/projects/autonomy.md +25 -0
- package/assets/docs/workflows/projects/index.md +1 -0
- package/assets/docs/workflows/projects/lifecycle.md +23 -0
- package/assets/docs/workflows/projects/retro.md +261 -0
- package/assets/docs/workflows/skills/index.md +6 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-project-autonomous/SKILL.md +17 -1
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +41 -41
- package/assets/skills/oat-project-complete/SKILL.md +42 -6
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +41 -41
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +20 -6
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +41 -41
- package/assets/skills/oat-project-import-plan/SKILL.md +7 -3
- package/assets/skills/oat-project-plan/SKILL.md +6 -3
- package/assets/skills/oat-project-plan-writing/SKILL.md +32 -5
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +41 -41
- package/assets/skills/oat-project-quick-start/SKILL.md +7 -3
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +41 -41
- package/assets/skills/oat-project-retro/SKILL.md +310 -0
- package/assets/skills/oat-project-retro/references/apply-procedure.md +212 -0
- package/assets/skills/oat-project-retro/references/evidence-and-lanes.md +91 -0
- package/assets/skills/oat-project-retro/references/retro-quality-bar.md +100 -0
- package/assets/skills/oat-project-retro-file/SKILL.md +387 -0
- package/assets/templates/project-retro.md +236 -0
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +81 -0
- package/dist/commands/init/tools/shared/skill-manifest.d.ts +2 -2
- package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.js +3 -0
- package/dist/config/oat-config.d.ts +12 -1
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +38 -2
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +8 -0
- package/dist/fs/assets.d.ts +1 -0
- package/dist/fs/assets.d.ts.map +1 -1
- package/dist/fs/assets.js +36 -1
- package/dist/release/public-package-contract.d.ts.map +1 -1
- package/dist/release/public-package-contract.js +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
---
|
|
2
|
+
oat_retro_project: null
|
|
3
|
+
oat_retro_generated: null
|
|
4
|
+
oat_retro_evidence_sources:
|
|
5
|
+
- source: project-log
|
|
6
|
+
status: unavailable
|
|
7
|
+
- source: oat-execution-learnings
|
|
8
|
+
status: unavailable
|
|
9
|
+
- source: lifecycle-artifacts
|
|
10
|
+
status: unavailable
|
|
11
|
+
- source: session-transcript
|
|
12
|
+
status: unavailable
|
|
13
|
+
oat_retro_promotions: none
|
|
14
|
+
oat_retro_filing: none
|
|
15
|
+
oat_generated: false
|
|
16
|
+
oat_template: true
|
|
17
|
+
oat_template_name: project-retro
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Project Retrospective: {Project Name}
|
|
21
|
+
|
|
22
|
+
<!-- Rendered artifacts must replace oat_retro_project with a non-null project
|
|
23
|
+
slug and oat_retro_generated with a UTC YYYY-MM-DDTHH:MM:SSZ timestamp,
|
|
24
|
+
set oat_template: false, and remove oat_template_name. Record every
|
|
25
|
+
inspected evidence source above with status: used | unavailable. When an
|
|
26
|
+
evidence family is partial, split it into truthful source entries, such as
|
|
27
|
+
archived-review-markdown: unavailable and gate-receipts: used. Do not add
|
|
28
|
+
a `partial` evidence status. Derivative current-run reconnaissance
|
|
29
|
+
transcripts are not original project-run evidence. Remove all
|
|
30
|
+
brace-delimited placeholders and scaffold RP/UP item examples. -->
|
|
31
|
+
|
|
32
|
+
<!-- Keep output concise by default. Every section must add distinct
|
|
33
|
+
information. Prefer references to evidence over repeated chronology. For
|
|
34
|
+
a small project, keep core sections brief. Use subsections and tables only
|
|
35
|
+
for evidence-rich projects where they improve decisions. Make each
|
|
36
|
+
material incident understandable without opening another artifact. Use
|
|
37
|
+
stable evidence anchors such as project-log event IDs, artifact headings,
|
|
38
|
+
review paths, decision IDs, and commit IDs. Anchors supplement but never
|
|
39
|
+
replace explanation. -->
|
|
40
|
+
|
|
41
|
+
## Executive Summary
|
|
42
|
+
|
|
43
|
+
{Summarize how the run went, the most important outcome, and what should change next.}
|
|
44
|
+
|
|
45
|
+
## Evidence and Review Method
|
|
46
|
+
|
|
47
|
+
{List the durable project artifacts and session/run evidence reviewed. State
|
|
48
|
+
unavailable sources explicitly. Distinguish confirmed causes, hypotheses, and
|
|
49
|
+
inconclusive mechanisms.}
|
|
50
|
+
|
|
51
|
+
## Outcome Snapshot
|
|
52
|
+
|
|
53
|
+
{Summarize delivered scope, verification, lifecycle outcome, and material
|
|
54
|
+
boundaries in a concise table or list.}
|
|
55
|
+
|
|
56
|
+
## Current State
|
|
57
|
+
|
|
58
|
+
<!-- This is the only mutable freeform status surface. Derive it from register
|
|
59
|
+
fields and frontmatter rollups after generation and after every apply/file
|
|
60
|
+
writeback. Consumers may replace only the contents of this section, not
|
|
61
|
+
this heading or any other narrative. Keep it concise and include
|
|
62
|
+
promotions, filing, and unsettled-item state. -->
|
|
63
|
+
|
|
64
|
+
- **Promotions:** {Current promotion rollup and item state.}
|
|
65
|
+
- **Filing:** {Current filing rollup and item state.}
|
|
66
|
+
- **Unsettled items:** {Current IDs and next actions, or `None`.}
|
|
67
|
+
|
|
68
|
+
## What Went Well
|
|
69
|
+
|
|
70
|
+
{Describe successful technical and workflow practices, grounded in evidence.}
|
|
71
|
+
|
|
72
|
+
## Challenges and Struggles
|
|
73
|
+
|
|
74
|
+
{Own the complete incident narrative here: what happened, impact, response, and
|
|
75
|
+
result. Describe blockers, failed approaches, and orchestration friction.
|
|
76
|
+
Classify rather than blame.}
|
|
77
|
+
|
|
78
|
+
<!-- CONDITIONAL: Include both sections below when load-bearing decisions or
|
|
79
|
+
rejected/superseded alternatives shaped the outcome. Otherwise delete
|
|
80
|
+
both headings and their placeholders. -->
|
|
81
|
+
|
|
82
|
+
## Decision Register
|
|
83
|
+
|
|
84
|
+
{Record decisions, rationale, consequences, and existing durable records.
|
|
85
|
+
Identify any justified missing decision records.}
|
|
86
|
+
|
|
87
|
+
## Rejected or Superseded Alternatives
|
|
88
|
+
|
|
89
|
+
{Record alternatives that materially shaped the outcome and why they were
|
|
90
|
+
rejected or superseded.}
|
|
91
|
+
|
|
92
|
+
## Where We Changed Course
|
|
93
|
+
|
|
94
|
+
{Record only the trigger, changed direction, and outcome. Do not repeat the
|
|
95
|
+
complete incident chronology from Challenges and Struggles.}
|
|
96
|
+
|
|
97
|
+
<!-- CONDITIONAL: Include when the project introduced reusable architecture
|
|
98
|
+
patterns or materially new approaches. Otherwise delete this section. -->
|
|
99
|
+
|
|
100
|
+
## New Architecture Patterns and Approaches
|
|
101
|
+
|
|
102
|
+
{Describe reusable patterns, their boundaries, and why they worked.}
|
|
103
|
+
|
|
104
|
+
<!-- CONDITIONAL: Include when the run produced project-domain knowledge worth
|
|
105
|
+
preserving. Rename subsections for the domain as needed. Otherwise delete
|
|
106
|
+
this section. -->
|
|
107
|
+
|
|
108
|
+
## Domain Learnings
|
|
109
|
+
|
|
110
|
+
{Abstract reusable lessons without replaying chronology. Capture domain failure
|
|
111
|
+
classes and correct responses.}
|
|
112
|
+
|
|
113
|
+
<!-- CONDITIONAL: Include when the evidence supports actionable guidance for
|
|
114
|
+
humans. Otherwise delete this section. -->
|
|
115
|
+
|
|
116
|
+
## Gotchas for Humans
|
|
117
|
+
|
|
118
|
+
{Write future-facing instructions rather than incident summaries. List concrete
|
|
119
|
+
operator or contributor gotchas.}
|
|
120
|
+
|
|
121
|
+
<!-- CONDITIONAL: Include when the evidence supports actionable guidance for
|
|
122
|
+
autonomous agents. Otherwise delete this section. -->
|
|
123
|
+
|
|
124
|
+
## Gotchas for Autonomous Agents
|
|
125
|
+
|
|
126
|
+
{Write future-facing instructions rather than incident summaries. List concrete
|
|
127
|
+
execution, evidence, monitoring, and escalation gotchas.}
|
|
128
|
+
|
|
129
|
+
## Repo Improvements (Promotion Register)
|
|
130
|
+
|
|
131
|
+
<!-- Stable IDs: RP-NN. Type defaults: docs, agents-instruction, rule, and
|
|
132
|
+
decision default to Disposition: apply; code-follow-up defaults to
|
|
133
|
+
Disposition: file. The recorded Disposition is authoritative.
|
|
134
|
+
|
|
135
|
+
Apply item fields:
|
|
136
|
+
Status: proposed | approved | applied | rejected
|
|
137
|
+
Target: repository path
|
|
138
|
+
Applied-ref: commit/path after application
|
|
139
|
+
Disposition-note: rejection, recovery, or outcome detail
|
|
140
|
+
|
|
141
|
+
File item fields:
|
|
142
|
+
Status: proposed | filed | rejected | no-destination
|
|
143
|
+
Destination: issue URL or backlog item ID/path
|
|
144
|
+
Destination-receipt: full commit SHA for a local backlog destination
|
|
145
|
+
Remote-visibility: pushed | unpushed for a local backlog destination
|
|
146
|
+
Disposition-note: rejection, recovery, or outcome detail
|
|
147
|
+
|
|
148
|
+
Schema by destination type:
|
|
149
|
+
Local backlog + filed: Destination-receipt is a verified full commit SHA
|
|
150
|
+
and Remote-visibility is pushed | unpushed.
|
|
151
|
+
GitHub + filed: Destination is a validated issue URL,
|
|
152
|
+
Destination-receipt: —, and Remote-visibility: —.
|
|
153
|
+
Unsettled local or GitHub item: receipt fields remain —.
|
|
154
|
+
|
|
155
|
+
Consumers may mutate only Status, Applied-ref or Destination, and
|
|
156
|
+
Destination-receipt, Remote-visibility, Sanitized, Disposition-note, plus
|
|
157
|
+
the corresponding frontmatter rollup and Current State contents. IDs,
|
|
158
|
+
Type, Disposition, titles, proposal bodies, and all other narrative are
|
|
159
|
+
stable. -->
|
|
160
|
+
|
|
161
|
+
### RP-01: {Actionable repo improvement}
|
|
162
|
+
|
|
163
|
+
- **Type:** docs
|
|
164
|
+
- **Disposition:** apply
|
|
165
|
+
- **Status:** proposed
|
|
166
|
+
- **Target:** {repository path}
|
|
167
|
+
- **Applied-ref:** —
|
|
168
|
+
- **Disposition-note:** —
|
|
169
|
+
|
|
170
|
+
{Rationale, evidence summary, and concrete proposed change.}
|
|
171
|
+
|
|
172
|
+
### RP-02: {Tracker-ready repo follow-up}
|
|
173
|
+
|
|
174
|
+
- **Type:** code-follow-up
|
|
175
|
+
- **Disposition:** file
|
|
176
|
+
- **Status:** proposed
|
|
177
|
+
- **Destination:** —
|
|
178
|
+
- **Destination-receipt:** —
|
|
179
|
+
- **Remote-visibility:** —
|
|
180
|
+
- **Sanitized:** no
|
|
181
|
+
- **Disposition-note:** —
|
|
182
|
+
|
|
183
|
+
{Problem, evidence summary, and suggested direction.}
|
|
184
|
+
|
|
185
|
+
## OAT Upstream Feedback (Upstream Register)
|
|
186
|
+
|
|
187
|
+
<!-- Stable IDs: UP-NN. Status: proposed | filed | rejected | no-destination.
|
|
188
|
+
Destination records the issue URL or backlog item ID/path. Sanitized
|
|
189
|
+
records whether the public-destination verification passed. Consumers may
|
|
190
|
+
mutate only Status, Destination, Destination-receipt, Remote-visibility,
|
|
191
|
+
Sanitized, Disposition-note, the filing rollup, and Current State
|
|
192
|
+
contents. IDs, titles, proposal bodies, and all other narrative are
|
|
193
|
+
stable. Local filed items require a verified full commit receipt and
|
|
194
|
+
pushed | unpushed visibility. GitHub filed items require a validated URL
|
|
195
|
+
with Destination-receipt: — and Remote-visibility: —. -->
|
|
196
|
+
|
|
197
|
+
No upstream feedback identified.
|
|
198
|
+
|
|
199
|
+
<!-- Replace the empty-state line above with items in this form:
|
|
200
|
+
|
|
201
|
+
### UP-01: {Tracker-ready upstream feedback}
|
|
202
|
+
|
|
203
|
+
- **Status:** proposed
|
|
204
|
+
- **Destination:** —
|
|
205
|
+
- **Destination-receipt:** —
|
|
206
|
+
- **Remote-visibility:** —
|
|
207
|
+
- **Sanitized:** no
|
|
208
|
+
- **Disposition-note:** —
|
|
209
|
+
|
|
210
|
+
{Problem, evidence summary, and suggested direction.}
|
|
211
|
+
-->
|
|
212
|
+
|
|
213
|
+
<!-- Rollup derivation:
|
|
214
|
+
oat_retro_promotions derives only from RP items with Disposition: apply.
|
|
215
|
+
`none`: no apply items exist.
|
|
216
|
+
`proposed`: apply items exist and none are settled.
|
|
217
|
+
`partial`: a mix of settled and unsettled apply items exists.
|
|
218
|
+
`complete`: all apply items are settled.
|
|
219
|
+
`proposed` and `approved` are unsettled; `applied` and `rejected` are settled.
|
|
220
|
+
oat_retro_filing derives from all UP items plus RP items with
|
|
221
|
+
Disposition: file.
|
|
222
|
+
Each rollup is none | proposed | partial | complete and must be
|
|
223
|
+
computable from register fields alone. -->
|
|
224
|
+
|
|
225
|
+
<!-- CONDITIONAL: Include when unresolved work or explicit ownership boundaries
|
|
226
|
+
remain. Otherwise delete this section. -->
|
|
227
|
+
|
|
228
|
+
## Remaining Boundaries and Follow-Ups
|
|
229
|
+
|
|
230
|
+
{Record unresolved boundaries, owners, and next steps without disguising them
|
|
231
|
+
as completed work.}
|
|
232
|
+
|
|
233
|
+
## Reflections
|
|
234
|
+
|
|
235
|
+
{End with run-specific reflections about what the project taught, what made the
|
|
236
|
+
result trustworthy, and what future work should do differently.}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAmBzC,OAAO,EAML,KAAK,SAAS,EACd,KAAK,cAAc,EAGnB,KAAK,UAAU,EAehB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAGL,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,mCAAmC,EACnC,0BAA0B,EAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAmBzC,OAAO,EAML,KAAK,SAAS,EACd,KAAK,cAAc,EAGnB,KAAK,UAAU,EAehB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAGL,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,mCAAmC,EACnC,0BAA0B,EAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwGpC,UAAU,yBAAyB;IACjC,mBAAmB,EAAE,CACnB,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAC/C,cAAc,CAAC;IACpB,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,mBAAmB,EAAE,CACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,mBAAmB,EAAE,CACnB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,UAAU,KACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,sBAAsB,EAAE,CACtB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,CAAC,UAAU,KACnB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,kBAAkB,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC7C,mCAAmC,EAAE,OAAO,mCAAmC,CAAC;IAChF,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;CAC/B;AA0gFD,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,OAAO,CAAC,yBAAyB,CAAM,GACjD,OAAO,CAsKT"}
|
|
@@ -62,6 +62,10 @@ const KEY_ORDER = [
|
|
|
62
62
|
'workflow.archiveOnComplete',
|
|
63
63
|
'workflow.createPrOnComplete',
|
|
64
64
|
'workflow.postImplementSequence',
|
|
65
|
+
'workflow.retro.filing.repo',
|
|
66
|
+
'workflow.retro.filing.upstream',
|
|
67
|
+
'workflow.retro.apply',
|
|
68
|
+
'workflow.retro.upstreamRepo',
|
|
65
69
|
'workflow.reviewExecutionModel',
|
|
66
70
|
'workflow.autoReviewAtHillCheckpoints',
|
|
67
71
|
'workflow.autoNarrowReReviewScope',
|
|
@@ -544,6 +548,50 @@ const CONFIG_CATALOG = [
|
|
|
544
548
|
owningCommand: "oat config set workflow.postImplementSequence '<legacy-or-json>'",
|
|
545
549
|
description: 'Default post-implementation chaining. Legacy strings remain supported unchanged. Structured JSON uses {"preApproval":[...],"postApproval":[...]} with the canonical sequence steps. Plain get/list/dump output serializes structured values as compact JSON; get --json preserves the object value. When unset, the skill prompts. Resolution: local > shared > user > default.',
|
|
546
550
|
},
|
|
551
|
+
{
|
|
552
|
+
key: 'workflow.retro.filing.repo',
|
|
553
|
+
group: 'Workflow Preferences (3-layer: local > shared > user)',
|
|
554
|
+
file: '.oat/config.local.json | .oat/config.json | ~/.oat/config.json',
|
|
555
|
+
scope: 'workflow',
|
|
556
|
+
type: 'issues | backlog | none',
|
|
557
|
+
defaultValue: 'unset',
|
|
558
|
+
mutability: 'read/write',
|
|
559
|
+
owningCommand: 'oat config set workflow.retro.filing.repo <issues|backlog|none>',
|
|
560
|
+
description: 'Default filing destination for host-repository retro items. Resolution: local > shared > user > default.',
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
key: 'workflow.retro.filing.upstream',
|
|
564
|
+
group: 'Workflow Preferences (3-layer: local > shared > user)',
|
|
565
|
+
file: '.oat/config.local.json | .oat/config.json | ~/.oat/config.json',
|
|
566
|
+
scope: 'workflow',
|
|
567
|
+
type: 'issues | none',
|
|
568
|
+
defaultValue: 'unset',
|
|
569
|
+
mutability: 'read/write',
|
|
570
|
+
owningCommand: 'oat config set workflow.retro.filing.upstream <issues|none>',
|
|
571
|
+
description: 'Default filing destination for upstream retro items. Resolution: local > shared > user > default.',
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
key: 'workflow.retro.apply',
|
|
575
|
+
group: 'Workflow Preferences (3-layer: local > shared > user)',
|
|
576
|
+
file: '.oat/config.local.json | .oat/config.json | ~/.oat/config.json',
|
|
577
|
+
scope: 'workflow',
|
|
578
|
+
type: 'auto | ask',
|
|
579
|
+
defaultValue: 'ask',
|
|
580
|
+
mutability: 'read/write',
|
|
581
|
+
owningCommand: 'oat config set workflow.retro.apply <auto|ask>',
|
|
582
|
+
description: 'Controls whether non-interactive retro runs apply approved repo promotions automatically or remain propose-only. Resolution: local > shared > user > default.',
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
key: 'workflow.retro.upstreamRepo',
|
|
586
|
+
group: 'Workflow Preferences (3-layer: local > shared > user)',
|
|
587
|
+
file: '.oat/config.local.json | .oat/config.json | ~/.oat/config.json',
|
|
588
|
+
scope: 'workflow',
|
|
589
|
+
type: 'owner/name repository slug',
|
|
590
|
+
defaultValue: 'unset',
|
|
591
|
+
mutability: 'read/write',
|
|
592
|
+
owningCommand: 'oat config set workflow.retro.upstreamRepo <owner/name>',
|
|
593
|
+
description: 'Repository that receives upstream retro feedback; the workflow skill supplies its ecosystem default. Resolution: local > shared > user > default.',
|
|
594
|
+
},
|
|
547
595
|
{
|
|
548
596
|
key: 'workflow.reviewExecutionModel',
|
|
549
597
|
group: 'Workflow Preferences (3-layer: local > shared > user)',
|
|
@@ -909,6 +957,9 @@ const WORKFLOW_ENUM_VALUES = {
|
|
|
909
957
|
],
|
|
910
958
|
'workflow.explainers.projectExplainer': ['always', 'ask', 'never'],
|
|
911
959
|
'workflow.explainers.projectRecap': ['always', 'ask', 'never'],
|
|
960
|
+
'workflow.retro.filing.repo': ['issues', 'backlog', 'none'],
|
|
961
|
+
'workflow.retro.filing.upstream': ['issues', 'none'],
|
|
962
|
+
'workflow.retro.apply': ['auto', 'ask'],
|
|
912
963
|
};
|
|
913
964
|
function closedDispatchProviderValues(provider) {
|
|
914
965
|
if (provider === 'codex') {
|
|
@@ -1059,6 +1110,13 @@ function parseWorkflowValue(key, rawValue) {
|
|
|
1059
1110
|
return sequence;
|
|
1060
1111
|
}
|
|
1061
1112
|
}
|
|
1113
|
+
if (key === 'workflow.retro.upstreamRepo') {
|
|
1114
|
+
const normalized = rawValue.trim();
|
|
1115
|
+
if (!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(normalized)) {
|
|
1116
|
+
throw new Error(`Invalid value for ${key}: expected an owner/name repository slug, got '${rawValue}'`);
|
|
1117
|
+
}
|
|
1118
|
+
return normalized;
|
|
1119
|
+
}
|
|
1062
1120
|
if (key === 'workflow.gateTimeouts.code' ||
|
|
1063
1121
|
key === 'workflow.gateTimeouts.artifact') {
|
|
1064
1122
|
const value = Number(rawValue);
|
|
@@ -1293,6 +1351,29 @@ function applyWorkflowValue(workflow, key, value) {
|
|
|
1293
1351
|
},
|
|
1294
1352
|
};
|
|
1295
1353
|
}
|
|
1354
|
+
if (subKey.startsWith('retro.filing.')) {
|
|
1355
|
+
const filingKey = subKey.slice('retro.filing.'.length);
|
|
1356
|
+
return {
|
|
1357
|
+
...workflow,
|
|
1358
|
+
retro: {
|
|
1359
|
+
...workflow.retro,
|
|
1360
|
+
filing: {
|
|
1361
|
+
...workflow.retro?.filing,
|
|
1362
|
+
[filingKey]: value,
|
|
1363
|
+
},
|
|
1364
|
+
},
|
|
1365
|
+
};
|
|
1366
|
+
}
|
|
1367
|
+
if (subKey.startsWith('retro.')) {
|
|
1368
|
+
const retroKey = subKey.slice('retro.'.length);
|
|
1369
|
+
return {
|
|
1370
|
+
...workflow,
|
|
1371
|
+
retro: {
|
|
1372
|
+
...workflow.retro,
|
|
1373
|
+
[retroKey]: value,
|
|
1374
|
+
},
|
|
1375
|
+
};
|
|
1376
|
+
}
|
|
1296
1377
|
return {
|
|
1297
1378
|
...workflow,
|
|
1298
1379
|
[subKey]: value,
|
|
@@ -11,9 +11,9 @@ export interface PackMetadata {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const PACK_METADATA: Record<string, PackMetadata>;
|
|
13
13
|
export declare function resolvePackDefaultScope(packName: string): 'user' | 'project';
|
|
14
|
-
export declare const WORKFLOW_SKILLS: readonly ['oat-cursor-cloud-projects', 'oat-explainer-kit', 'oat-project-autonomous', 'oat-project-capture', 'oat-project-clear-active', 'oat-project-complete', 'oat-project-design', 'oat-project-dispatch-subagents', 'oat-project-discover', 'oat-project-document', 'oat-project-implement', 'oat-project-import-plan', 'oat-project-new', 'oat-project-next', 'oat-project-open', 'oat-project-plan', 'oat-project-plan-writing', 'oat-project-pr-final', 'oat-project-pr-progress', 'oat-project-progress', 'oat-project-promote-spec-driven', 'oat-project-quick-start', 'oat-project-reconcile', 'oat-project-revise', 'oat-project-review-provide', 'oat-project-review-provide-remote', 'oat-project-review-receive', 'oat-project-review-receive-remote', 'oat-project-spec', 'oat-project-split', 'oat-project-summary', 'oat-repo-knowledge-index', 'oat-worktree-bootstrap', 'oat-worktree-bootstrap-auto', 'oat-wave-execute', 'oat-wave-program', 'oat-wrap-up'];
|
|
14
|
+
export declare const WORKFLOW_SKILLS: readonly ['oat-cursor-cloud-projects', 'oat-explainer-kit', 'oat-project-autonomous', 'oat-project-capture', 'oat-project-clear-active', 'oat-project-complete', 'oat-project-design', 'oat-project-dispatch-subagents', 'oat-project-discover', 'oat-project-document', 'oat-project-implement', 'oat-project-import-plan', 'oat-project-new', 'oat-project-next', 'oat-project-open', 'oat-project-plan', 'oat-project-plan-writing', 'oat-project-pr-final', 'oat-project-pr-progress', 'oat-project-progress', 'oat-project-promote-spec-driven', 'oat-project-quick-start', 'oat-project-reconcile', 'oat-project-retro', 'oat-project-retro-file', 'oat-project-revise', 'oat-project-review-provide', 'oat-project-review-provide-remote', 'oat-project-review-receive', 'oat-project-review-receive-remote', 'oat-project-spec', 'oat-project-split', 'oat-project-summary', 'oat-repo-knowledge-index', 'oat-worktree-bootstrap', 'oat-worktree-bootstrap-auto', 'oat-wave-execute', 'oat-wave-program', 'oat-wrap-up'];
|
|
15
15
|
export declare const WORKFLOW_AGENTS: readonly ['oat-codebase-mapper.md', 'oat-phase-implementer.md', 'oat-reviewer.md'];
|
|
16
|
-
export declare const WORKFLOW_TEMPLATES: readonly ['state.md', 'discovery.md', 'spec.md', 'design.md', 'plan.md', 'implementation.md', 'summary.md', 'project-log.md'];
|
|
16
|
+
export declare const WORKFLOW_TEMPLATES: readonly ['state.md', 'discovery.md', 'spec.md', 'design.md', 'plan.md', 'implementation.md', 'summary.md', 'project-log.md', 'project-retro.md'];
|
|
17
17
|
export declare const WORKFLOW_SCRIPTS: readonly ['generate-oat-state.sh', 'generate-thin-index.sh', 'resolve-tracking.sh'];
|
|
18
18
|
export declare const IDEA_SKILLS: readonly ['oat-idea-new', 'oat-idea-ideate', 'oat-idea-summarize', 'oat-idea-scratchpad'];
|
|
19
19
|
export declare const CORE_SKILLS: readonly ['oat-docs', 'oat-doctor'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-manifest.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/shared/skill-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAKtD,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AAID,eAAO,MAAM,eAAe,YAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,gCAAgC,EAChC,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,mCAAmC,EACnC,4BAA4B,EAC5B,mCAAmC,EACnC,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,CACL,CAAC;AAEX,eAAO,MAAM,eAAe,YAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,CACT,CAAC;AAEX,eAAO,MAAM,kBAAkB,YAC7B,UAAU,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,
|
|
1
|
+
{"version":3,"file":"skill-manifest.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/shared/skill-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAKtD,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AAID,eAAO,MAAM,eAAe,YAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,gCAAgC,EAChC,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC5B,mCAAmC,EACnC,4BAA4B,EAC5B,mCAAmC,EACnC,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,CACL,CAAC;AAEX,eAAO,MAAM,eAAe,YAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,CACT,CAAC;AAEX,eAAO,MAAM,kBAAkB,YAC7B,UAAU,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,CACV,CAAC;AAEX,eAAO,MAAM,gBAAgB,YAC3B,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,CACb,CAAC;AAIX,eAAO,MAAM,WAAW,YACtB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,CACb,CAAC;AAIX,eAAO,MAAM,WAAW,YAAI,UAAU,EAAE,YAAY,CAAU,CAAC;AAI/D,eAAO,MAAM,WAAW,YACtB,gBAAgB,EAChB,gCAAgC,EAChC,8BAA8B,EAC9B,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,CACZ,CAAC;AAEX,eAAO,MAAM,YAAY,YAAI,qBAAqB,CAAU,CAAC;AAI7D,eAAO,MAAM,cAAc,YACzB,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,iCAAiC,EACjC,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,CACnB,CAAC;AAIX,eAAO,MAAM,yBAAyB,YACpC,0BAA0B,EAC1B,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,CAChB,CAAC;AAEX,eAAO,MAAM,4BAA4B,YACvC,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,CACb,CAAC;AAEX,eAAO,MAAM,0BAA0B,aAAc,CAAC;AAItD,eAAO,MAAM,iBAAiB,YAAI,gBAAgB,CAAU,CAAC;AAI7D,eAAO,MAAM,eAAe,YAC1B,SAAS,EACT,SAAS,EACT,eAAe,EACf,SAAS,EACT,YAAY,CACJ,CAAC;AAEX,eAAO,MAAM,eAAe,YAAI,wBAAwB,CAAU,CAAC"}
|
|
@@ -39,6 +39,8 @@ export const WORKFLOW_SKILLS = [
|
|
|
39
39
|
'oat-project-promote-spec-driven',
|
|
40
40
|
'oat-project-quick-start',
|
|
41
41
|
'oat-project-reconcile',
|
|
42
|
+
'oat-project-retro',
|
|
43
|
+
'oat-project-retro-file',
|
|
42
44
|
'oat-project-revise',
|
|
43
45
|
'oat-project-review-provide',
|
|
44
46
|
'oat-project-review-provide-remote',
|
|
@@ -68,6 +70,7 @@ export const WORKFLOW_TEMPLATES = [
|
|
|
68
70
|
'implementation.md',
|
|
69
71
|
'summary.md',
|
|
70
72
|
'project-log.md',
|
|
73
|
+
'project-retro.md',
|
|
71
74
|
];
|
|
72
75
|
export const WORKFLOW_SCRIPTS = [
|
|
73
76
|
'generate-oat-state.sh',
|
|
@@ -39,7 +39,7 @@ export interface OatExplainersConfig {
|
|
|
39
39
|
}
|
|
40
40
|
export type WorkflowHillCheckpointDefault = 'every' | 'final';
|
|
41
41
|
export type WorkflowProjectLog = true | false | 'auto';
|
|
42
|
-
export type WorkflowPostImplementStep = 'summary' | 'document' | 'pr';
|
|
42
|
+
export type WorkflowPostImplementStep = 'summary' | 'document' | 'pr' | 'retro';
|
|
43
43
|
export type WorkflowPostImplementLegacySequence = 'wait' | 'summary' | 'pr' | 'docs-pr';
|
|
44
44
|
export interface WorkflowPostImplementStructuredSequence {
|
|
45
45
|
preApproval: WorkflowPostImplementStep[];
|
|
@@ -48,6 +48,16 @@ export interface WorkflowPostImplementStructuredSequence {
|
|
|
48
48
|
export type WorkflowPostImplementSequence = WorkflowPostImplementLegacySequence | WorkflowPostImplementStructuredSequence;
|
|
49
49
|
export type WorkflowReviewExecutionModel = 'subagent' | 'inline' | 'fresh-session';
|
|
50
50
|
export type WorkflowDesignMode = 'collaborative' | 'selective' | 'draft';
|
|
51
|
+
export type WorkflowRetroFilingDestination = 'issues' | 'backlog' | 'none';
|
|
52
|
+
export type WorkflowRetroApply = 'auto' | 'ask';
|
|
53
|
+
export interface WorkflowRetroConfig {
|
|
54
|
+
filing?: {
|
|
55
|
+
repo?: WorkflowRetroFilingDestination;
|
|
56
|
+
upstream?: 'issues' | 'none';
|
|
57
|
+
};
|
|
58
|
+
apply?: WorkflowRetroApply;
|
|
59
|
+
upstreamRepo?: string;
|
|
60
|
+
}
|
|
51
61
|
export type WorkflowCodexDispatchCeiling = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
52
62
|
export type WorkflowClaudeDispatchCeiling = 'haiku' | 'sonnet' | 'opus' | 'fable';
|
|
53
63
|
export type WorkflowDispatchCeilingPreset = 'balanced' | 'maximum' | 'cost-conscious';
|
|
@@ -122,6 +132,7 @@ export interface OatWorkflowConfig {
|
|
|
122
132
|
gateTimeouts?: WorkflowGateTimeouts;
|
|
123
133
|
gates?: WorkflowGatesConfig;
|
|
124
134
|
explainers?: WorkflowExplainersConfig;
|
|
135
|
+
retro?: WorkflowRetroConfig;
|
|
125
136
|
}
|
|
126
137
|
export declare const VALID_CODEX_DISPATCH_CEILINGS: readonly WorkflowCodexDispatchCeiling[];
|
|
127
138
|
export declare const VALID_CLAUDE_DISPATCH_CEILINGS: readonly WorkflowClaudeDispatchCeiling[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oat-config.d.ts","sourceRoot":"","sources":["../../src/config/oat-config.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,iCAAiC,EACjC,2BAA2B,EAC3B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,oBAAoB,GACpB,YAAY,GACZ,WAAW,CAAC;AAEhB,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,2BAA2B,GAAG,WAAW,CAAC;AAEtD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC;AAED,MAAM,MAAM,6BAA6B,GAAG,OAAO,GAAG,OAAO,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"oat-config.d.ts","sourceRoot":"","sources":["../../src/config/oat-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ const VALID_POST_IMPLEMENT_STEPS = [
|
|
|
21
21
|
'summary',
|
|
22
22
|
'document',
|
|
23
23
|
'pr',
|
|
24
|
+
'retro',
|
|
24
25
|
];
|
|
25
26
|
const VALID_EXPLAINER_STYLES = [
|
|
26
27
|
'clean-neutral',
|
|
@@ -122,8 +123,9 @@ export function normalizeWorkflowPostImplementSequence(value) {
|
|
|
122
123
|
return undefined;
|
|
123
124
|
}
|
|
124
125
|
const steps = [...value.preApproval, ...value.postApproval];
|
|
125
|
-
if (
|
|
126
|
-
|
|
126
|
+
if (value.preApproval.includes('retro') ||
|
|
127
|
+
!steps.every((step) => typeof step === 'string' &&
|
|
128
|
+
VALID_POST_IMPLEMENT_STEPS.includes(step)) ||
|
|
127
129
|
new Set(steps).size !== steps.length) {
|
|
128
130
|
return undefined;
|
|
129
131
|
}
|
|
@@ -318,6 +320,36 @@ function normalizeExplainersConfig(parsed, scope) {
|
|
|
318
320
|
}
|
|
319
321
|
return Object.keys(next).length > 0 ? next : undefined;
|
|
320
322
|
}
|
|
323
|
+
function normalizeWorkflowRetroConfig(parsed) {
|
|
324
|
+
if (!isRecord(parsed)) {
|
|
325
|
+
return undefined;
|
|
326
|
+
}
|
|
327
|
+
const retro = {};
|
|
328
|
+
if (isRecord(parsed.filing)) {
|
|
329
|
+
const filing = {};
|
|
330
|
+
if (typeof parsed.filing.repo === 'string' &&
|
|
331
|
+
['issues', 'backlog', 'none'].includes(parsed.filing.repo)) {
|
|
332
|
+
filing.repo = parsed.filing.repo;
|
|
333
|
+
}
|
|
334
|
+
if (typeof parsed.filing.upstream === 'string' &&
|
|
335
|
+
['issues', 'none'].includes(parsed.filing.upstream)) {
|
|
336
|
+
filing.upstream = parsed.filing.upstream;
|
|
337
|
+
}
|
|
338
|
+
if (Object.keys(filing).length > 0) {
|
|
339
|
+
retro.filing = filing;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
if (typeof parsed.apply === 'string' &&
|
|
343
|
+
['auto', 'ask'].includes(parsed.apply)) {
|
|
344
|
+
retro.apply = parsed.apply;
|
|
345
|
+
}
|
|
346
|
+
const upstreamRepo = trimNonEmptyString(parsed.upstreamRepo);
|
|
347
|
+
if (upstreamRepo !== undefined &&
|
|
348
|
+
/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(upstreamRepo)) {
|
|
349
|
+
retro.upstreamRepo = upstreamRepo;
|
|
350
|
+
}
|
|
351
|
+
return Object.keys(retro).length > 0 ? retro : undefined;
|
|
352
|
+
}
|
|
321
353
|
function normalizeWorkflowConfig(parsed) {
|
|
322
354
|
if (!isRecord(parsed)) {
|
|
323
355
|
return undefined;
|
|
@@ -455,6 +487,10 @@ function normalizeWorkflowConfig(parsed) {
|
|
|
455
487
|
next.explainers = explainers;
|
|
456
488
|
}
|
|
457
489
|
}
|
|
490
|
+
const retro = normalizeWorkflowRetroConfig(parsed.retro);
|
|
491
|
+
if (retro !== undefined) {
|
|
492
|
+
next.retro = retro;
|
|
493
|
+
}
|
|
458
494
|
return Object.keys(next).length > 0 ? next : undefined;
|
|
459
495
|
}
|
|
460
496
|
const DEFAULT_OAT_CONFIG = { version: 1 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,OAAO,GACP,MAAM,GACN,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,OAAO,GACP,MAAM,GACN,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE;AAiHD,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,GAAE,OAAO,CAAC,kCAAkC,CAAM,GAC1D,OAAO,CAAC,cAAc,CAAC,CAgFzB;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,IAAI,CAcnB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,cAAc,GACxB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAY5B;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,cAAc,GACxB,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAoDxC"}
|
package/dist/config/resolve.js
CHANGED
|
@@ -91,6 +91,14 @@ const DEFAULT_WORKFLOW_CONFIG = {
|
|
|
91
91
|
projectExplainer: 'ask',
|
|
92
92
|
projectRecap: 'ask',
|
|
93
93
|
},
|
|
94
|
+
retro: {
|
|
95
|
+
filing: {
|
|
96
|
+
repo: null,
|
|
97
|
+
upstream: null,
|
|
98
|
+
},
|
|
99
|
+
apply: 'ask',
|
|
100
|
+
upstreamRepo: null,
|
|
101
|
+
},
|
|
94
102
|
},
|
|
95
103
|
};
|
|
96
104
|
const ENV_OVERRIDE_MAP = {
|
package/dist/fs/assets.d.ts
CHANGED
package/dist/fs/assets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/fs/assets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/fs/assets.ts"],"names":[],"mappings":"AA2BA,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,eAAe,SAAc,GAC5B,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAwBzD"}
|
package/dist/fs/assets.js
CHANGED
|
@@ -1,7 +1,41 @@
|
|
|
1
|
-
import { stat } from 'node:fs/promises';
|
|
1
|
+
import { readFile, stat } from 'node:fs/promises';
|
|
2
2
|
import { dirname, join, resolve } from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import { CliError } from '../errors/index.js';
|
|
5
|
+
import { OAT_VERSION } from '../shared/oat-version.js';
|
|
6
|
+
const BUNDLE_METADATA_FILENAME = 'bundle-metadata.json';
|
|
7
|
+
function isBundleMetadata(value) {
|
|
8
|
+
if (!value || typeof value !== 'object') {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const metadata = value;
|
|
12
|
+
return (metadata.schemaVersion === 1 &&
|
|
13
|
+
typeof metadata.oatVersion === 'string' &&
|
|
14
|
+
metadata.oatVersion.length > 0);
|
|
15
|
+
}
|
|
16
|
+
export async function validateAssetsBundle(assetsRoot, expectedVersion = OAT_VERSION) {
|
|
17
|
+
const metadataPath = join(assetsRoot, BUNDLE_METADATA_FILENAME);
|
|
18
|
+
let rawMetadata;
|
|
19
|
+
try {
|
|
20
|
+
rawMetadata = await readFile(metadataPath, 'utf8');
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
throw new CliError(`Bundled asset metadata not found: ${metadataPath}. Reinstall @open-agent-toolkit/cli or rebuild the CLI before updating tools.`, 2);
|
|
24
|
+
}
|
|
25
|
+
let metadata;
|
|
26
|
+
try {
|
|
27
|
+
metadata = JSON.parse(rawMetadata);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
throw new CliError(`Bundled asset metadata is invalid: ${metadataPath}. Reinstall @open-agent-toolkit/cli or rebuild the CLI before updating tools.`, 2);
|
|
31
|
+
}
|
|
32
|
+
if (!isBundleMetadata(metadata)) {
|
|
33
|
+
throw new CliError(`Bundled asset metadata is invalid: ${metadataPath}. Reinstall @open-agent-toolkit/cli or rebuild the CLI before updating tools.`, 2);
|
|
34
|
+
}
|
|
35
|
+
if (metadata.oatVersion !== expectedVersion) {
|
|
36
|
+
throw new CliError(`Bundled assets version mismatch: CLI ${expectedVersion}, assets ${metadata.oatVersion}. Reinstall @open-agent-toolkit/cli or rebuild the CLI before updating tools.`, 2);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
5
39
|
export async function resolveAssetsRoot() {
|
|
6
40
|
const modulePath = fileURLToPath(import.meta.url);
|
|
7
41
|
const cliRoot = resolve(dirname(modulePath), '..', '..');
|
|
@@ -18,5 +52,6 @@ export async function resolveAssetsRoot() {
|
|
|
18
52
|
}
|
|
19
53
|
throw new CliError(`Assets directory not found: ${assetsRoot}. Run 'pnpm build' to generate bundled assets.`, 2);
|
|
20
54
|
}
|
|
55
|
+
await validateAssetsBundle(assetsRoot);
|
|
21
56
|
return assetsRoot;
|
|
22
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-package-contract.d.ts","sourceRoot":"","sources":["../../src/release/public-package-contract.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,KAAK,GAAG,cAAc,GAAG,iBAAiB,CAAC;IACjD,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,uBAAuB,EAAE,yBAAyB,EAAE,CAAC;IACrD,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,4BAA4B,EAAE,MAAM,EAAE,CAAC;IACvC,2BAA2B,EAAE,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"public-package-contract.d.ts","sourceRoot":"","sources":["../../src/release/public-package-contract.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,KAAK,GAAG,cAAc,GAAG,iBAAiB,CAAC;IACjD,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,uBAAuB,EAAE,yBAAyB,EAAE,CAAC;IACrD,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,4BAA4B,EAAE,MAAM,EAAE,CAAC;IACvC,2BAA2B,EAAE,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AA4KD,wBAAgB,yBAAyB,IAAI,qBAAqB,EAAE,CAenE;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,EAAE,qBAAqB,GAC9B,MAAM,EAAE,CAIV;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,QAAQ,EAAE,qBAAqB,GAC9B,MAAM,EAAE,CAIV;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,QAAQ,EAAE,qBAAqB,GAC9B,MAAM,EAAE,CAMV;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACjD,QAAQ,EAAE,qBAAqB,GAC9B,MAAM,EAAE,CAoBV;AAED,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,MAAM,EAAE,CAmBV;AAED,wBAAgB,qCAAqC,CACnD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,qBAAqB,EAAE,SAAS,MAAM,EAAE,GACvC,MAAM,EAAE,CA0BV"}
|