@rasensio/aidlc 1.22.0 → 1.24.0
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/dist/commands/init.d.ts +78 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +234 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/roadmap.d.ts.map +1 -1
- package/dist/commands/roadmap.js +3 -3
- package/dist/commands/roadmap.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +31 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/concurrency/common-dir.d.ts +13 -0
- package/dist/concurrency/common-dir.d.ts.map +1 -1
- package/dist/concurrency/common-dir.js +17 -1
- package/dist/concurrency/common-dir.js.map +1 -1
- package/dist/concurrency/detect.d.ts +28 -1
- package/dist/concurrency/detect.d.ts.map +1 -1
- package/dist/concurrency/detect.js +69 -5
- package/dist/concurrency/detect.js.map +1 -1
- package/dist/concurrency/types.d.ts +20 -0
- package/dist/concurrency/types.d.ts.map +1 -1
- package/dist/core/prompt.d.ts +8 -0
- package/dist/core/prompt.d.ts.map +1 -1
- package/dist/core/prompt.js +1 -0
- package/dist/core/prompt.js.map +1 -1
- package/dist/doctor/migrations/index.d.ts.map +1 -1
- package/dist/doctor/migrations/index.js +5 -0
- package/dist/doctor/migrations/index.js.map +1 -1
- package/dist/doctor/migrations/roadmap-sync-gh-missing.d.ts +44 -0
- package/dist/doctor/migrations/roadmap-sync-gh-missing.d.ts.map +1 -0
- package/dist/doctor/migrations/roadmap-sync-gh-missing.js +96 -0
- package/dist/doctor/migrations/roadmap-sync-gh-missing.js.map +1 -0
- package/dist/events/event-bus.d.ts +2 -0
- package/dist/events/event-bus.d.ts.map +1 -1
- package/dist/events/event-bus.js +76 -9
- package/dist/events/event-bus.js.map +1 -1
- package/dist/roadmap/paths.d.ts +78 -3
- package/dist/roadmap/paths.d.ts.map +1 -1
- package/dist/roadmap/paths.js +127 -16
- package/dist/roadmap/paths.js.map +1 -1
- package/dist/roadmap/sync/config.d.ts +38 -2
- package/dist/roadmap/sync/config.d.ts.map +1 -1
- package/dist/roadmap/sync/config.js +41 -10
- package/dist/roadmap/sync/config.js.map +1 -1
- package/dist/roadmap/sync/gh.d.ts +26 -1
- package/dist/roadmap/sync/gh.d.ts.map +1 -1
- package/dist/roadmap/sync/gh.js +54 -1
- package/dist/roadmap/sync/gh.js.map +1 -1
- package/dist/setup/setup-compute.d.ts +14 -0
- package/dist/setup/setup-compute.d.ts.map +1 -1
- package/dist/setup/setup-compute.js +48 -0
- package/dist/setup/setup-compute.js.map +1 -1
- package/package.json +2 -2
package/dist/events/event-bus.js
CHANGED
|
@@ -15,7 +15,7 @@ import { execFileSync } from 'node:child_process';
|
|
|
15
15
|
import { parse } from 'yaml';
|
|
16
16
|
import { coordinationRoot } from '../concurrency/common-dir.js';
|
|
17
17
|
import { isRunCommandTrusted } from '../security/action-trust.js';
|
|
18
|
-
import {
|
|
18
|
+
import { findAllByPromotedTo, isoDate, moveItem, roadmapRoots } from '../roadmap/paths.js';
|
|
19
19
|
import { runCommand } from './run-command.js';
|
|
20
20
|
import { resolveProjectRoot } from '../core/project-root.js';
|
|
21
21
|
// ---------------------------------------------------------------------------
|
|
@@ -111,11 +111,32 @@ export function loadActionsConfig(actionsPath) {
|
|
|
111
111
|
}
|
|
112
112
|
return data;
|
|
113
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* THE REPORTING RULE for every handler below (automation-verdicts/AC-1).
|
|
116
|
+
*
|
|
117
|
+
* A handler that can return `{ success: true }` **without doing the thing it
|
|
118
|
+
* exists to do** must write one line naming what it looked for and what it
|
|
119
|
+
* found. Silence is only correct when nothing was owed.
|
|
120
|
+
*
|
|
121
|
+
* A silent no-op is indistinguishable from success. `roadmap-done` fired at
|
|
122
|
+
* completion, found no item because the item lived on a worktree branch, and
|
|
123
|
+
* printed nothing — while the transition printed `✓ Instance is complete` over
|
|
124
|
+
* it. Twice in three days, and the second time the lesson from the first was
|
|
125
|
+
* already written down in `.aidlc/guidance/lessons.md`. Non-blocking actions
|
|
126
|
+
* make this worse, not better: nothing else will ever mention it.
|
|
127
|
+
*
|
|
128
|
+
* Every handler is either subject to the rule or carries a one-line exemption
|
|
129
|
+
* saying why. `automation-verdicts.test.ts` asserts that inventory is total over
|
|
130
|
+
* this map, so a handler added later cannot skip the question.
|
|
131
|
+
*/
|
|
114
132
|
const builtInHandlers = {
|
|
115
133
|
/**
|
|
116
134
|
* git-branch: Create a git branch using a configurable naming pattern.
|
|
117
135
|
* Default pattern: `feature/{instance-name}`
|
|
118
136
|
* Fires on Implementation enter (matched by action config, not hardcoded here).
|
|
137
|
+
*
|
|
138
|
+
* Reporting rule: EXEMPT — no success-without-doing path. `execFileSync`
|
|
139
|
+
* either creates the branch or throws, and the throw becomes an error result.
|
|
119
140
|
*/
|
|
120
141
|
'git-branch': (event, config) => {
|
|
121
142
|
const pattern = config?.pattern ?? 'feature/{instance-name}';
|
|
@@ -137,6 +158,9 @@ const builtInHandlers = {
|
|
|
137
158
|
},
|
|
138
159
|
/**
|
|
139
160
|
* github-issue: Create or update a GitHub issue via `gh` CLI.
|
|
161
|
+
*
|
|
162
|
+
* Reporting rule: EXEMPT — always attempts the create; there is no path that
|
|
163
|
+
* succeeds without having tried.
|
|
140
164
|
*/
|
|
141
165
|
'github-issue': (event, config) => {
|
|
142
166
|
const title = config?.title ?? `[${event.template}] ${event.instance}`;
|
|
@@ -162,6 +186,12 @@ const builtInHandlers = {
|
|
|
162
186
|
* every correct completion would ask for a retrospective it already has —
|
|
163
187
|
* and the entry-point skill would offer a menu entry for finished work.
|
|
164
188
|
* Silent rather than announced: nothing is owed, so there is nothing to say.
|
|
189
|
+
*
|
|
190
|
+
* Reporting rule: EXEMPT, and deliberately so (automation-verdicts/AC-3). The
|
|
191
|
+
* no-op fires when `retrospective.md` already exists — that is finding the work
|
|
192
|
+
* *already done*, not finding nothing. Announcing it would ask for a
|
|
193
|
+
* retrospective the instance already has, which is the bug
|
|
194
|
+
* `instance-complete-never-fires` AC-7 fixed. Do not "make this consistent".
|
|
165
195
|
*/
|
|
166
196
|
'retro-pending': (event) => {
|
|
167
197
|
try {
|
|
@@ -189,22 +219,42 @@ const builtInHandlers = {
|
|
|
189
219
|
* arming it was a manual command.
|
|
190
220
|
*
|
|
191
221
|
* Cross-platform Node fs, not a shell script, for the reason recorded on
|
|
192
|
-
* `retro-pending`.
|
|
193
|
-
* roadmap existed, or started without
|
|
194
|
-
*
|
|
222
|
+
* `retro-pending`. Finding no item stays a SUCCESS — an instance created before
|
|
223
|
+
* the roadmap existed, or started without one, is a normal state and must not
|
|
224
|
+
* fail a completion.
|
|
225
|
+
*
|
|
226
|
+
* Reporting rule: APPLIES, and this handler is why the rule exists
|
|
227
|
+
* (automation-verdicts/AC-5). Every outcome prints one line, including "found
|
|
228
|
+
* nothing" — which is the one that cost two instances, because a silent
|
|
229
|
+
* `{ success: true }` reads exactly like a successful move underneath the
|
|
230
|
+
* transition's `✓ Instance is complete`.
|
|
195
231
|
*/
|
|
196
232
|
'roadmap-done': (event) => {
|
|
197
233
|
try {
|
|
198
234
|
// Resolved (cwd-project-root/AC-14). Actions fire from wherever the
|
|
199
|
-
// triggering command ran
|
|
200
|
-
// primary checkout
|
|
201
|
-
// and reports "no item", which this handler treats as success.
|
|
235
|
+
// triggering command ran; `findAllByPromotedTo` searches this working tree
|
|
236
|
+
// and the primary checkout from here.
|
|
202
237
|
const cwd = resolveProjectRoot();
|
|
203
|
-
const
|
|
204
|
-
if (
|
|
238
|
+
const matches = findAllByPromotedTo(cwd, event.instance);
|
|
239
|
+
if (matches.length === 0) {
|
|
240
|
+
// AC-5: name the roots, because "no item" and "looked in the wrong place"
|
|
241
|
+
// are the two explanations and only the roots tell them apart.
|
|
242
|
+
const roots = roadmapRoots(cwd);
|
|
243
|
+
process.stdout.write(`roadmap: no item names "${event.instance}" — nothing to file ` +
|
|
244
|
+
`(searched ${roots.length > 0 ? roots.join(', ') : 'no roadmap root; none found'})\n`);
|
|
205
245
|
return { success: true };
|
|
206
246
|
}
|
|
247
|
+
if (matches.length > 1) {
|
|
248
|
+
// AC-4: two checkouts both claim this instance. Resolve to the most
|
|
249
|
+
// specific (this working tree) but say so — a duplicate `promoted_to` is
|
|
250
|
+
// how `findByPromotedTo` silently strands the other item.
|
|
251
|
+
process.stdout.write(`roadmap: ${matches.length} items name "${event.instance}" ` +
|
|
252
|
+
`(${matches.map((m) => m.file).join(', ')}) — filing the first, ` +
|
|
253
|
+
`the rest need a hand\n`);
|
|
254
|
+
}
|
|
255
|
+
const item = matches[0];
|
|
207
256
|
if (item.status === 'done') {
|
|
257
|
+
process.stdout.write(`roadmap: ${item.filename} already in done/\n`);
|
|
208
258
|
return { success: true };
|
|
209
259
|
}
|
|
210
260
|
moveItem(item, cwd, 'done', isoDate());
|
|
@@ -217,6 +267,9 @@ const builtInHandlers = {
|
|
|
217
267
|
},
|
|
218
268
|
/**
|
|
219
269
|
* doc-update: Append to a configured documentation file.
|
|
270
|
+
*
|
|
271
|
+
* Reporting rule: EXEMPT — always appends. Every early return is an error, not
|
|
272
|
+
* a success-without-doing.
|
|
220
273
|
*/
|
|
221
274
|
'doc-update': (event, config) => {
|
|
222
275
|
const file = config?.file;
|
|
@@ -248,6 +301,20 @@ const builtInHandlers = {
|
|
|
248
301
|
export function registerBuiltIn(name, handler) {
|
|
249
302
|
builtInHandlers[name] = handler;
|
|
250
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* The SHIPPED built-in action ids.
|
|
306
|
+
*
|
|
307
|
+
* Frozen at module load, so ids added later by `registerBuiltIn` (tests,
|
|
308
|
+
* extensions) are excluded — the reporting-rule inventory
|
|
309
|
+
* (automation-verdicts/AC-2) has to be total over what this repo ships, and a
|
|
310
|
+
* test's throwaway handler is neither shipped nor something to write an exemption
|
|
311
|
+
* for.
|
|
312
|
+
*/
|
|
313
|
+
const SHIPPED_BUILT_IN_IDS = Object.freeze(Object.keys(builtInHandlers).sort());
|
|
314
|
+
/** @see SHIPPED_BUILT_IN_IDS */
|
|
315
|
+
export function builtInActionIds() {
|
|
316
|
+
return [...SHIPPED_BUILT_IN_IDS];
|
|
317
|
+
}
|
|
251
318
|
// ---------------------------------------------------------------------------
|
|
252
319
|
// Action matching
|
|
253
320
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAS7D,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,QAAgB;IACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAa;IAC1C,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,sDAAsD,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,qDAAqD,CAAC;IAC/D,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAA4B,CAAC;QACzD,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC,kCAAkC,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,WAAW,CAAC,qCAAqC,CAAC;QAC3D,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,WAAW,CAAC,uCAAuC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,WAAW,CAAC,wCAAwC,CAAC;QAC9D,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,WAAW,CAAC,2CAA2C,CAAC;QACjE,CAAC;QACD,4CAA4C;QAC5C,MAAM,MAAM,GAAG,KAAK,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;QACjE,MAAM,MAAM,GAAG,KAAK,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;QACjE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,WAAW,CAAC,0CAA0C,CAAC;QAChE,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,OAAO,WAAW,CAAC,4CAA4C,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,gCAAiC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,iCAAkC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,eAAe,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,IAAqB,CAAC;AAC/B,CAAC;AAiBD,MAAM,eAAe,GAAmC;IACtD;;;;OAIG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAI,MAAM,EAAE,OAAkB,IAAI,yBAAyB,CAAC;QACzE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtE,yEAAyE;QACzE,0EAA0E;QAC1E,mEAAmE;QACnE,0CAA0C;QAC1C,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACpG,CAAC;QACD,IAAI,CAAC;YACH,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAuB,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QACnF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChC,MAAM,KAAK,GAAI,MAAM,EAAE,KAAgB,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnF,IAAI,CAAC;YACH,sEAAsE;YACtE,kEAAkE;YAClE,2CAA2C;YAC3C,YAAY,CACV,IAAI,EACJ,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,KAAK,CAAC,QAAQ,EAAE,CAAC,EACxF,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAyB,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;YACzC,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC;gBACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7D,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,aAAa,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qBAAqB,KAAK,CAAC,QAAQ,uCAAuC,CAC3E,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAA0B,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,oEAAoE;YACpE,wEAAwE;YACxE,yEAAyE;YACzE,+DAA+D;YAC/D,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,QAAQ,YAAY,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAyB,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,MAAM,EAAE,IAAc,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;QACxE,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,YAAY,KAAK,CAAC,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC;QACxF,IAAI,CAAC;YACH,0EAA0E;YAC1E,iEAAiE;YACjE,6DAA6D;YAC7D,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,MAAM,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;gBACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACzG,CAAC;YACD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,SAAS,CAA6B,CAAC;YAC1E,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAuB,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QACnF,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,OAAuB;IACnE,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;AAClC,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,MAAwB,EAAE,KAAmB;IACvE,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;GAEG;AACH,SAAS,YAAY,CAAC,KAAmB;IACvC,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,KAAK;QACxB,cAAc,EAAE,KAAK,CAAC,QAAQ;QAC9B,WAAW,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;QAC9B,cAAc,EAAE,KAAK,CAAC,QAAQ;KAC/B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,MAAwB,EACxB,KAAmB,EACnB,WAAoB;IAEpB,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QAClC,kBAAkB;QAClB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;QAC7E,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QAClC,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,iEAAiE;QACjE,MAAM,IAAI,GAAG,WAAW,IAAI,kBAAkB,EAAE,CAAC;QACjD,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,oCAAoC;oBACzE,mEAAmE;aACtE,CAAC;QACJ,CAAC;QACD,4EAA4E;QAC5E,6EAA6E;QAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACpC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE;YAC/C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC7B,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAC5F,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC;AAC/E,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,IAAI,CAClB,KAAmB,EACnB,OAA6B,EAC7B,IAAiD;IAEjD,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC;IACrC,MAAM,MAAM,GAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAErD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5E,IAAI,MAAM,EAAE,CAAC;QACX,oDAAoD;QACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0BAA0B;IAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,kDAAkD;QAClD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM;QACR,CAAC;QAED,qEAAqE;QACrE,0EAA0E;QAC1E,uEAAuE;QACvE,gCAAgC;QAChC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yBAAyB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,KAAK,IAAI,QAAQ,IAAI,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"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"}
|
package/dist/roadmap/paths.d.ts
CHANGED
|
@@ -33,6 +33,33 @@ export declare const ITEM_FILENAME_RE: RegExp;
|
|
|
33
33
|
export declare function primaryCheckout(cwd: string): string;
|
|
34
34
|
/** Absolute roadmap root for the primary checkout containing `cwd`. */
|
|
35
35
|
export declare function roadmapRoot(cwd: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Every roadmap root a *lookup* should consider: this working tree first, then
|
|
38
|
+
* the primary checkout. Deduped, so the ordinary single-checkout case is one root.
|
|
39
|
+
*
|
|
40
|
+
* Capture still writes to `roadmapRoot` alone — an item written inside a worktree
|
|
41
|
+
* is stranded on that branch, and for an inbox that is indistinguishable from
|
|
42
|
+
* losing it. Reading is the opposite problem (automation-verdicts/AC-4): an
|
|
43
|
+
* instance finishing on a worktree branch has its item on that branch, while the
|
|
44
|
+
* primary checkout sits on some *other* instance's branch and cannot see it.
|
|
45
|
+
* `roadmap-done` looked only at the primary checkout, found nothing, and reported
|
|
46
|
+
* success — twice in three days, over a clean `✓ Instance is complete`.
|
|
47
|
+
*
|
|
48
|
+
* This working tree comes first because the finishing branch is the more specific
|
|
49
|
+
* answer: an item promoted on this branch is the copy about to be committed.
|
|
50
|
+
*
|
|
51
|
+
* Neither root derives from user input — one is the caller's resolved project
|
|
52
|
+
* root, the other is `dirname(gitCommonDir())` — so there is no traversal vector
|
|
53
|
+
* to contain here. The filter is existence and absoluteness, nothing more; a
|
|
54
|
+
* containment check that cannot fire would be one more guard seen only passing.
|
|
55
|
+
*
|
|
56
|
+
* Deduped by REALPATH, not by string. `gitCommonDir` realpaths its result while
|
|
57
|
+
* `cwd` arrives as given, so on macOS the same directory reaches this function as
|
|
58
|
+
* both `/var/…` and `/private/var/…`. Comparing the strings would leave two
|
|
59
|
+
* entries for one directory in the ordinary single-checkout case — every item
|
|
60
|
+
* found twice, and `roadmap-done`'s duplicate warning firing on every completion.
|
|
61
|
+
*/
|
|
62
|
+
export declare function roadmapRoots(cwd: string): string[];
|
|
36
63
|
/** Absolute path of one status directory. */
|
|
37
64
|
export declare function statusDir(cwd: string, status: RoadmapStatus): string;
|
|
38
65
|
/** One item, as much of it as the layout cares about. */
|
|
@@ -128,11 +155,42 @@ export declare function quoteItemTitle(raw: string): string | null;
|
|
|
128
155
|
*/
|
|
129
156
|
export declare function listStatus(cwd: string, status: RoadmapStatus): RoadmapItem[];
|
|
130
157
|
/**
|
|
131
|
-
*
|
|
158
|
+
* `listStatus` against an explicit roadmap root.
|
|
159
|
+
*
|
|
160
|
+
* Split out so a lookup can walk several roots (`roadmapRoots`) while every
|
|
161
|
+
* existing caller keeps primary-checkout-only semantics unchanged.
|
|
162
|
+
*/
|
|
163
|
+
export declare function listStatusAt(root: string, status: RoadmapStatus): RoadmapItem[];
|
|
164
|
+
/**
|
|
165
|
+
* Every DISTINCT item whose `promoted_to` names `instance`, across every root and
|
|
166
|
+
* status.
|
|
132
167
|
*
|
|
133
|
-
*
|
|
168
|
+
* All five statuses rather than only `in-progress` because an item moved by hand
|
|
134
169
|
* should still be findable — the point of a lookup keyed on `promoted_to` is that
|
|
135
|
-
* it does not depend on the item being where we expect.
|
|
170
|
+
* it does not depend on the item being where we expect. All roots for the reason
|
|
171
|
+
* on `roadmapRoots`.
|
|
172
|
+
*
|
|
173
|
+
* **Deduped by filename, and that is the whole subtlety.** Two roots of one
|
|
174
|
+
* repository normally hold the SAME item: a worktree branched from `main`, or one
|
|
175
|
+
* that has merged `main` back, has its own copy of every committed item. Counting
|
|
176
|
+
* raw matches would make `length > 1` true on every ordinary worktree completion,
|
|
177
|
+
* so `roadmap-done` would warn about a duplicate every single time — noise
|
|
178
|
+
* indistinguishable from the real thing, which is precisely the failure mode this
|
|
179
|
+
* lookup was widened to fix.
|
|
180
|
+
*
|
|
181
|
+
* A real duplicate is two DIFFERENT files naming the same instance. That one
|
|
182
|
+
* strands an item at completion (`findByPromotedTo` returns only the first), and
|
|
183
|
+
* it is worth a line.
|
|
184
|
+
*
|
|
185
|
+
* Returns matches in root order, this working tree first, so `[0]` is the most
|
|
186
|
+
* specific copy — the one on the finishing branch, about to be committed.
|
|
187
|
+
*/
|
|
188
|
+
export declare function findAllByPromotedTo(cwd: string, instance: string): RoadmapItem[];
|
|
189
|
+
/**
|
|
190
|
+
* The item whose `promoted_to` names `instance`, or null.
|
|
191
|
+
*
|
|
192
|
+
* Kept as the one-item shape because both callers want exactly one; the widening
|
|
193
|
+
* to several roots is inside `findAllByPromotedTo` so neither signature changed.
|
|
136
194
|
*/
|
|
137
195
|
export declare function findByPromotedTo(cwd: string, instance: string): RoadmapItem | null;
|
|
138
196
|
/**
|
|
@@ -156,10 +214,27 @@ export declare function writeHistoryEntry(raw: string, status: RoadmapStatus, at
|
|
|
156
214
|
* The write happens before the rename so a failure leaves the item where it was
|
|
157
215
|
* with its old history, rather than moved with no record of the move.
|
|
158
216
|
*
|
|
217
|
+
* The destination is derived from **the item's own roadmap root**, not from
|
|
218
|
+
* `cwd`. Once a lookup can span roots (`roadmapRoots`, automation-verdicts/AC-4),
|
|
219
|
+
* `statusDir(cwd, ...)` would relocate a worktree item into the primary
|
|
220
|
+
* checkout — a deletion on one branch and an untracked file in another tree,
|
|
221
|
+
* which is a worse outcome than the stranding it was meant to fix. An item's
|
|
222
|
+
* root is `<root>/<status>/<file>`, so it is two levels up from `item.file`.
|
|
223
|
+
*
|
|
224
|
+
* `cwd` is kept only as the fallback for the (impossible-in-practice) case of an
|
|
225
|
+
* item path with no status directory above it, and so the signature stays put
|
|
226
|
+
* for existing callers. For them the two agree by construction: their items came
|
|
227
|
+
* from `listStatus(cwd, ...)`.
|
|
228
|
+
*
|
|
159
229
|
* @param at - ISO date (`YYYY-MM-DD`) for the history entry.
|
|
160
230
|
* @returns The new absolute path.
|
|
161
231
|
*/
|
|
162
232
|
export declare function moveItem(item: RoadmapItem, cwd: string, status: RoadmapStatus, at: string): string;
|
|
233
|
+
/**
|
|
234
|
+
* The roadmap root an item currently lives under, or null when its path does not
|
|
235
|
+
* have the expected `<root>/<status>/<file>` shape.
|
|
236
|
+
*/
|
|
237
|
+
export declare function itemRoadmapRoot(item: RoadmapItem): string | null;
|
|
163
238
|
/** Today's date as `YYYY-MM-DD`, the form every roadmap date field uses. */
|
|
164
239
|
export declare function isoDate(now?: Date): string;
|
|
165
240
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/roadmap/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/roadmap/paths.ts"],"names":[],"mappings":"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"}
|
package/dist/roadmap/paths.js
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @module
|
|
14
14
|
*/
|
|
15
|
-
import { existsSync, readFileSync, readdirSync, renameSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
16
|
-
import { basename, dirname, join } from 'node:path';
|
|
15
|
+
import { existsSync, readFileSync, readdirSync, realpathSync, renameSync, writeFileSync, mkdirSync, } from 'node:fs';
|
|
16
|
+
import { basename, dirname, isAbsolute, join } from 'node:path';
|
|
17
17
|
import { parse as parseYaml } from 'yaml';
|
|
18
|
-
import {
|
|
18
|
+
import { primaryWorkingTree } from '../concurrency/common-dir.js';
|
|
19
19
|
/** The five status directories, in lifecycle order. */
|
|
20
20
|
export const ROADMAP_STATUSES = ['inbox', 'backlog', 'in-progress', 'done', 'hold'];
|
|
21
21
|
/** Repo-relative roadmap root. */
|
|
@@ -34,13 +34,59 @@ export const ITEM_FILENAME_RE = /^(\d{8})-([a-z0-9][a-z0-9-]*)\.md$/;
|
|
|
34
34
|
* working tree. Outside a git repo, `cwd` is all there is.
|
|
35
35
|
*/
|
|
36
36
|
export function primaryCheckout(cwd) {
|
|
37
|
-
|
|
38
|
-
return common === null ? cwd : dirname(common);
|
|
37
|
+
return primaryWorkingTree(cwd) ?? cwd;
|
|
39
38
|
}
|
|
40
39
|
/** Absolute roadmap root for the primary checkout containing `cwd`. */
|
|
41
40
|
export function roadmapRoot(cwd) {
|
|
42
41
|
return join(primaryCheckout(cwd), ...ROADMAP_DIR.split('/'));
|
|
43
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Every roadmap root a *lookup* should consider: this working tree first, then
|
|
45
|
+
* the primary checkout. Deduped, so the ordinary single-checkout case is one root.
|
|
46
|
+
*
|
|
47
|
+
* Capture still writes to `roadmapRoot` alone — an item written inside a worktree
|
|
48
|
+
* is stranded on that branch, and for an inbox that is indistinguishable from
|
|
49
|
+
* losing it. Reading is the opposite problem (automation-verdicts/AC-4): an
|
|
50
|
+
* instance finishing on a worktree branch has its item on that branch, while the
|
|
51
|
+
* primary checkout sits on some *other* instance's branch and cannot see it.
|
|
52
|
+
* `roadmap-done` looked only at the primary checkout, found nothing, and reported
|
|
53
|
+
* success — twice in three days, over a clean `✓ Instance is complete`.
|
|
54
|
+
*
|
|
55
|
+
* This working tree comes first because the finishing branch is the more specific
|
|
56
|
+
* answer: an item promoted on this branch is the copy about to be committed.
|
|
57
|
+
*
|
|
58
|
+
* Neither root derives from user input — one is the caller's resolved project
|
|
59
|
+
* root, the other is `dirname(gitCommonDir())` — so there is no traversal vector
|
|
60
|
+
* to contain here. The filter is existence and absoluteness, nothing more; a
|
|
61
|
+
* containment check that cannot fire would be one more guard seen only passing.
|
|
62
|
+
*
|
|
63
|
+
* Deduped by REALPATH, not by string. `gitCommonDir` realpaths its result while
|
|
64
|
+
* `cwd` arrives as given, so on macOS the same directory reaches this function as
|
|
65
|
+
* both `/var/…` and `/private/var/…`. Comparing the strings would leave two
|
|
66
|
+
* entries for one directory in the ordinary single-checkout case — every item
|
|
67
|
+
* found twice, and `roadmap-done`'s duplicate warning firing on every completion.
|
|
68
|
+
*/
|
|
69
|
+
export function roadmapRoots(cwd) {
|
|
70
|
+
const candidates = [join(cwd, ...ROADMAP_DIR.split('/')), roadmapRoot(cwd)];
|
|
71
|
+
const seen = new Set();
|
|
72
|
+
const roots = [];
|
|
73
|
+
for (const root of candidates) {
|
|
74
|
+
if (!isAbsolute(root) || !existsSync(root))
|
|
75
|
+
continue;
|
|
76
|
+
let key;
|
|
77
|
+
try {
|
|
78
|
+
key = realpathSync(root);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
key = root;
|
|
82
|
+
}
|
|
83
|
+
if (seen.has(key))
|
|
84
|
+
continue;
|
|
85
|
+
seen.add(key);
|
|
86
|
+
roots.push(root);
|
|
87
|
+
}
|
|
88
|
+
return roots;
|
|
89
|
+
}
|
|
44
90
|
/** Absolute path of one status directory. */
|
|
45
91
|
export function statusDir(cwd, status) {
|
|
46
92
|
return join(roadmapRoot(cwd), status);
|
|
@@ -224,7 +270,16 @@ export function quoteItemTitle(raw) {
|
|
|
224
270
|
* `operational/packagers.ts` records for the same reason.
|
|
225
271
|
*/
|
|
226
272
|
export function listStatus(cwd, status) {
|
|
227
|
-
|
|
273
|
+
return listStatusAt(roadmapRoot(cwd), status);
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* `listStatus` against an explicit roadmap root.
|
|
277
|
+
*
|
|
278
|
+
* Split out so a lookup can walk several roots (`roadmapRoots`) while every
|
|
279
|
+
* existing caller keeps primary-checkout-only semantics unchanged.
|
|
280
|
+
*/
|
|
281
|
+
export function listStatusAt(root, status) {
|
|
282
|
+
const dir = join(root, status);
|
|
228
283
|
if (!existsSync(dir))
|
|
229
284
|
return [];
|
|
230
285
|
const items = [];
|
|
@@ -238,20 +293,54 @@ export function listStatus(cwd, status) {
|
|
|
238
293
|
return items;
|
|
239
294
|
}
|
|
240
295
|
/**
|
|
241
|
-
*
|
|
296
|
+
* Every DISTINCT item whose `promoted_to` names `instance`, across every root and
|
|
297
|
+
* status.
|
|
242
298
|
*
|
|
243
|
-
*
|
|
299
|
+
* All five statuses rather than only `in-progress` because an item moved by hand
|
|
244
300
|
* should still be findable — the point of a lookup keyed on `promoted_to` is that
|
|
245
|
-
* it does not depend on the item being where we expect.
|
|
301
|
+
* it does not depend on the item being where we expect. All roots for the reason
|
|
302
|
+
* on `roadmapRoots`.
|
|
303
|
+
*
|
|
304
|
+
* **Deduped by filename, and that is the whole subtlety.** Two roots of one
|
|
305
|
+
* repository normally hold the SAME item: a worktree branched from `main`, or one
|
|
306
|
+
* that has merged `main` back, has its own copy of every committed item. Counting
|
|
307
|
+
* raw matches would make `length > 1` true on every ordinary worktree completion,
|
|
308
|
+
* so `roadmap-done` would warn about a duplicate every single time — noise
|
|
309
|
+
* indistinguishable from the real thing, which is precisely the failure mode this
|
|
310
|
+
* lookup was widened to fix.
|
|
311
|
+
*
|
|
312
|
+
* A real duplicate is two DIFFERENT files naming the same instance. That one
|
|
313
|
+
* strands an item at completion (`findByPromotedTo` returns only the first), and
|
|
314
|
+
* it is worth a line.
|
|
315
|
+
*
|
|
316
|
+
* Returns matches in root order, this working tree first, so `[0]` is the most
|
|
317
|
+
* specific copy — the one on the finishing branch, about to be committed.
|
|
246
318
|
*/
|
|
247
|
-
export function
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
319
|
+
export function findAllByPromotedTo(cwd, instance) {
|
|
320
|
+
const matches = [];
|
|
321
|
+
const seen = new Set();
|
|
322
|
+
for (const root of roadmapRoots(cwd)) {
|
|
323
|
+
for (const status of ROADMAP_STATUSES) {
|
|
324
|
+
for (const item of listStatusAt(root, status)) {
|
|
325
|
+
if (item.promotedTo !== instance)
|
|
326
|
+
continue;
|
|
327
|
+
if (seen.has(item.filename))
|
|
328
|
+
continue;
|
|
329
|
+
seen.add(item.filename);
|
|
330
|
+
matches.push(item);
|
|
331
|
+
}
|
|
252
332
|
}
|
|
253
333
|
}
|
|
254
|
-
return
|
|
334
|
+
return matches;
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* The item whose `promoted_to` names `instance`, or null.
|
|
338
|
+
*
|
|
339
|
+
* Kept as the one-item shape because both callers want exactly one; the widening
|
|
340
|
+
* to several roots is inside `findAllByPromotedTo` so neither signature changed.
|
|
341
|
+
*/
|
|
342
|
+
export function findByPromotedTo(cwd, instance) {
|
|
343
|
+
return findAllByPromotedTo(cwd, instance)[0] ?? null;
|
|
255
344
|
}
|
|
256
345
|
/**
|
|
257
346
|
* Append a `{ status, at }` entry to an item's `history` list, textually.
|
|
@@ -296,6 +385,18 @@ export function writeHistoryEntry(raw, status, at) {
|
|
|
296
385
|
* The write happens before the rename so a failure leaves the item where it was
|
|
297
386
|
* with its old history, rather than moved with no record of the move.
|
|
298
387
|
*
|
|
388
|
+
* The destination is derived from **the item's own roadmap root**, not from
|
|
389
|
+
* `cwd`. Once a lookup can span roots (`roadmapRoots`, automation-verdicts/AC-4),
|
|
390
|
+
* `statusDir(cwd, ...)` would relocate a worktree item into the primary
|
|
391
|
+
* checkout — a deletion on one branch and an untracked file in another tree,
|
|
392
|
+
* which is a worse outcome than the stranding it was meant to fix. An item's
|
|
393
|
+
* root is `<root>/<status>/<file>`, so it is two levels up from `item.file`.
|
|
394
|
+
*
|
|
395
|
+
* `cwd` is kept only as the fallback for the (impossible-in-practice) case of an
|
|
396
|
+
* item path with no status directory above it, and so the signature stays put
|
|
397
|
+
* for existing callers. For them the two agree by construction: their items came
|
|
398
|
+
* from `listStatus(cwd, ...)`.
|
|
399
|
+
*
|
|
299
400
|
* @param at - ISO date (`YYYY-MM-DD`) for the history entry.
|
|
300
401
|
* @returns The new absolute path.
|
|
301
402
|
*/
|
|
@@ -304,12 +405,22 @@ export function moveItem(item, cwd, status, at) {
|
|
|
304
405
|
if (updated !== null && updated !== item.raw) {
|
|
305
406
|
writeFileSync(item.file, updated, 'utf8');
|
|
306
407
|
}
|
|
307
|
-
const dir =
|
|
408
|
+
const dir = join(itemRoadmapRoot(item) ?? roadmapRoot(cwd), status);
|
|
308
409
|
mkdirSync(dir, { recursive: true });
|
|
309
410
|
const target = join(dir, item.filename);
|
|
310
411
|
renameSync(item.file, target);
|
|
311
412
|
return target;
|
|
312
413
|
}
|
|
414
|
+
/**
|
|
415
|
+
* The roadmap root an item currently lives under, or null when its path does not
|
|
416
|
+
* have the expected `<root>/<status>/<file>` shape.
|
|
417
|
+
*/
|
|
418
|
+
export function itemRoadmapRoot(item) {
|
|
419
|
+
const statusDirOfItem = dirname(item.file);
|
|
420
|
+
if (basename(statusDirOfItem) !== item.status)
|
|
421
|
+
return null;
|
|
422
|
+
return dirname(statusDirOfItem);
|
|
423
|
+
}
|
|
313
424
|
/** Today's date as `YYYY-MM-DD`, the form every roadmap date field uses. */
|
|
314
425
|
export function isoDate(now = new Date()) {
|
|
315
426
|
return now.toISOString().slice(0, 10);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/roadmap/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/roadmap/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,15 @@ export type SyncConfigResult = {
|
|
|
50
50
|
* issue are not the same exposure even when both are technically public.
|
|
51
51
|
*/
|
|
52
52
|
export declare const DEFAULT_STATUSES: readonly RoadmapStatus[];
|
|
53
|
+
/**
|
|
54
|
+
* Absolute path of a checkout's config file.
|
|
55
|
+
*
|
|
56
|
+
* Exported so a refusal can name the file it read. `notConfiguredMessage` used to say
|
|
57
|
+
* `.aidlc/config.yaml` and stop there, which in a worktree names a file that is not the
|
|
58
|
+
* one consulted — the section is read from the primary checkout. One reader lost an
|
|
59
|
+
* afternoon to that on 2026-09-07 (issue-tracker-in-init/AC-31, AC-32).
|
|
60
|
+
*/
|
|
61
|
+
export declare function syncConfigPath(root: string): string;
|
|
53
62
|
/**
|
|
54
63
|
* Validate a repository coordinate. Shared by the config value and `--repo`, so the two
|
|
55
64
|
* can never diverge.
|
|
@@ -77,6 +86,21 @@ export declare function validateLabel(raw: unknown): {
|
|
|
77
86
|
ok: false;
|
|
78
87
|
error: string;
|
|
79
88
|
};
|
|
89
|
+
/**
|
|
90
|
+
* Validate the eligible-status list.
|
|
91
|
+
*
|
|
92
|
+
* Exported so the `aidlc init` wizard can check its own answer against the reader's rule
|
|
93
|
+
* rather than reimplementing it. The wizard must never write a section this function
|
|
94
|
+
* refuses — a setup command that produces a config its own reader rejects is worse than
|
|
95
|
+
* no setup command (issue-tracker-in-init/AC-9).
|
|
96
|
+
*/
|
|
97
|
+
export declare function validateStatuses(raw: unknown): {
|
|
98
|
+
ok: true;
|
|
99
|
+
statuses: RoadmapStatus[];
|
|
100
|
+
} | {
|
|
101
|
+
ok: false;
|
|
102
|
+
error: string;
|
|
103
|
+
};
|
|
80
104
|
/**
|
|
81
105
|
* Read and validate the `roadmap.sync` section from a checkout's config.
|
|
82
106
|
*
|
|
@@ -90,6 +114,18 @@ export declare function readSyncConfig(primaryCheckoutRoot: string): SyncConfigR
|
|
|
90
114
|
* which is why it goes through the same validator rather than a looser one.
|
|
91
115
|
*/
|
|
92
116
|
export declare function withRepoOverride(config: SyncConfig, repo: string | undefined): SyncConfigResult;
|
|
93
|
-
/**
|
|
94
|
-
|
|
117
|
+
/**
|
|
118
|
+
* The message for a project that has not opted in.
|
|
119
|
+
*
|
|
120
|
+
* Takes the path it read rather than deriving it, because the caller already resolved the
|
|
121
|
+
* primary checkout and deriving it twice is how the two come to disagree. Naming the
|
|
122
|
+
* absolute path is the whole point: on 2026-09-07 this refusal was read as a possible bug
|
|
123
|
+
* precisely because `.aidlc/config.yaml` in a worktree is not the file consulted, and the
|
|
124
|
+
* reader had no way to tell whether they were meant to write the section or whether
|
|
125
|
+
* something had failed to create it. `aidlc init` is named because it now offers to write
|
|
126
|
+
* it (issue-tracker-in-init/AC-31 … AC-33).
|
|
127
|
+
*
|
|
128
|
+
* @param configPath - The absolute path of the file that was read.
|
|
129
|
+
*/
|
|
130
|
+
export declare function notConfiguredMessage(configPath: string): string;
|
|
95
131
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/roadmap/sync/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAGnE,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,uEAAuE;IACvE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/roadmap/sync/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAGnE,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,uEAAuE;IACvE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAAuC,CAAC;AAQ7F;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAuBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAmBpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0BtG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0BrH;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,mBAAmB,EAAE,MAAM,GAAG,gBAAgB,CAiD5E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAK/F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAgB/D"}
|