@rasensio/aidlc 1.22.0 → 1.23.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/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/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/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoLpC;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyBpD"}
|
package/dist/commands/start.js
CHANGED
|
@@ -30,6 +30,7 @@ import { loadTemplates, resolveTemplate, phasesForScope, } from '../core/templat
|
|
|
30
30
|
import { saveSnapshot, createInstanceDir } from '../state/snapshot-store.js';
|
|
31
31
|
import { emit, loadActionsConfig } from '../events/event-bus.js';
|
|
32
32
|
import { openClaimStore } from '../concurrency/claim-store.js';
|
|
33
|
+
import { primaryWorkingTree } from '../concurrency/common-dir.js';
|
|
33
34
|
import { openRegistry, RegistryConflictError } from '../concurrency/registry.js';
|
|
34
35
|
import { detectConcurrency, loadConcurrencyConfig } from '../concurrency/detect.js';
|
|
35
36
|
import { resolveSessionIdentity } from '../concurrency/session-id.js';
|
|
@@ -266,7 +267,19 @@ async function runStart(templateArg, opts) {
|
|
|
266
267
|
const timeoutMinutes = loadClaimTimeoutMinutes(projectRoot);
|
|
267
268
|
const claimStore = openClaimStore(projectRoot, timeoutMinutes);
|
|
268
269
|
const session = resolveSessionIdentity(projectRoot);
|
|
269
|
-
const detection = detectConcurrency(claimStore, session.id, timeoutMinutes, projectRoot
|
|
270
|
+
const detection = detectConcurrency(claimStore, session.id, timeoutMinutes, projectRoot,
|
|
271
|
+
// `openClaimStore` has already resolved the common dir, so this costs nothing
|
|
272
|
+
// extra and keeps detect.ts free of a git subprocess (its NFR-1).
|
|
273
|
+
primaryWorkingTree(projectRoot));
|
|
274
|
+
/*
|
|
275
|
+
* Live claims that cannot collide are reported, not gated on
|
|
276
|
+
* (automation-verdicts/AC-9). Printed before the gate so it appears whether or
|
|
277
|
+
* not a gate follows — the point is that this is information, not a decision.
|
|
278
|
+
*/
|
|
279
|
+
for (const other of detection.elsewhere) {
|
|
280
|
+
process.stdout.write(`note: ${other.instance} is also in flight (session ${other.session}) in ${other.dir} — ` +
|
|
281
|
+
`separate working directory, nothing to collide on.\n`);
|
|
282
|
+
}
|
|
270
283
|
let choice = null;
|
|
271
284
|
if (opts.worktree)
|
|
272
285
|
choice = 'worktree';
|
|
@@ -279,6 +292,23 @@ async function runStart(templateArg, opts) {
|
|
|
279
292
|
return;
|
|
280
293
|
}
|
|
281
294
|
}
|
|
295
|
+
else if (concurrencyConfig.mode === 'forbid' && detection.elsewhere.length > 0) {
|
|
296
|
+
/*
|
|
297
|
+
* AC-12: `forbid` is unchanged — it still hard-stops on ANY live claim,
|
|
298
|
+
* sharing a working directory or not. Someone choosing a hard stop is
|
|
299
|
+
* choosing it for reasons this change does not second-guess, and the
|
|
300
|
+
* cost-attribution half of concurrency (overlapping claim windows making
|
|
301
|
+
* usage unattributable) is not fixed by comparing directories.
|
|
302
|
+
*
|
|
303
|
+
* Needs its own branch because `concurrencyGate` only runs when `busy`, and
|
|
304
|
+
* a non-sharing claim never sets `busy`.
|
|
305
|
+
*/
|
|
306
|
+
process.stderr.write(`Another session is live in this repository: ` +
|
|
307
|
+
`${detection.elsewhere.map((h) => `${h.instance} (${h.dir})`).join(', ')}\n` +
|
|
308
|
+
`concurrency.mode is 'forbid' — come back when the other instance is done.\n`);
|
|
309
|
+
process.exitCode = 1;
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
282
312
|
// Registry entry is the cross-worktree creation arbiter (AC-24): exactly
|
|
283
313
|
// one of two racing `aidlc start` calls succeeds. Also makes the instance
|
|
284
314
|
// visible to other worktrees while unmerged (AC-15).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,19 @@
|
|
|
14
14
|
* of the path it was reached through (e.g. macOS /var → /private/var).
|
|
15
15
|
*/
|
|
16
16
|
export declare function gitCommonDir(cwd: string): string | null;
|
|
17
|
+
/**
|
|
18
|
+
* The primary checkout's working tree for `cwd`, or null outside a git repo.
|
|
19
|
+
*
|
|
20
|
+
* All worktrees share one common dir — the primary checkout's `.git` — so its
|
|
21
|
+
* parent is the primary working tree.
|
|
22
|
+
*
|
|
23
|
+
* Lives here rather than in `roadmap/paths.ts` (which had the only copy) because
|
|
24
|
+
* the concurrency gate needs it too, to tell "this claim was recorded from the
|
|
25
|
+
* primary checkout" from "this claim was recorded somewhere that cannot collide
|
|
26
|
+
* with me" (automation-verdicts/AC-8). One resolution path, per this module's
|
|
27
|
+
* own DD1.
|
|
28
|
+
*/
|
|
29
|
+
export declare function primaryWorkingTree(cwd: string): string | null;
|
|
17
30
|
/**
|
|
18
31
|
* Resolve the writable coordination root `<common-dir>/aidlc/`, creating it
|
|
19
32
|
* on first use. Returns null outside a git repo (AC-5) or when the common
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-dir.d.ts","sourceRoot":"","sources":["../../src/concurrency/common-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBvD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW3D;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAmBrD"}
|
|
1
|
+
{"version":3,"file":"common-dir.d.ts","sourceRoot":"","sources":["../../src/concurrency/common-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW3D;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAmBrD"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* resolution path (design DD1).
|
|
10
10
|
*/
|
|
11
11
|
import { accessSync, constants, existsSync, mkdirSync, realpathSync } from 'node:fs';
|
|
12
|
-
import { isAbsolute, join, resolve } from 'node:path';
|
|
12
|
+
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
13
13
|
import { execFileSync } from 'node:child_process';
|
|
14
14
|
/**
|
|
15
15
|
* Resolve the git common dir for `cwd`, or null outside a git repo (AC-5).
|
|
@@ -35,6 +35,22 @@ export function gitCommonDir(cwd) {
|
|
|
35
35
|
return null;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* The primary checkout's working tree for `cwd`, or null outside a git repo.
|
|
40
|
+
*
|
|
41
|
+
* All worktrees share one common dir — the primary checkout's `.git` — so its
|
|
42
|
+
* parent is the primary working tree.
|
|
43
|
+
*
|
|
44
|
+
* Lives here rather than in `roadmap/paths.ts` (which had the only copy) because
|
|
45
|
+
* the concurrency gate needs it too, to tell "this claim was recorded from the
|
|
46
|
+
* primary checkout" from "this claim was recorded somewhere that cannot collide
|
|
47
|
+
* with me" (automation-verdicts/AC-8). One resolution path, per this module's
|
|
48
|
+
* own DD1.
|
|
49
|
+
*/
|
|
50
|
+
export function primaryWorkingTree(cwd) {
|
|
51
|
+
const common = gitCommonDir(cwd);
|
|
52
|
+
return common === null ? null : dirname(common);
|
|
53
|
+
}
|
|
38
54
|
/**
|
|
39
55
|
* Resolve the writable coordination root `<common-dir>/aidlc/`, creating it
|
|
40
56
|
* on first use. Returns null outside a git repo (AC-5) or when the common
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-dir.js","sourceRoot":"","sources":["../../src/concurrency/common-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"common-dir.js","sourceRoot":"","sources":["../../src/concurrency/common-dir.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,33 @@ export declare function loadConcurrencyConfig(projectRoot: string): ConcurrencyC
|
|
|
18
18
|
* Detect other live sessions holding claims in this repository (AC-7).
|
|
19
19
|
* Staleness is `claim_timeout_minutes` — the one existing knob, no
|
|
20
20
|
* parallel threshold (idea decision 4).
|
|
21
|
+
*
|
|
22
|
+
* Splits live claims by whether they SHARE this session's working directory
|
|
23
|
+
* (automation-verdicts/AC-8). The gate exists because two sessions in one
|
|
24
|
+
* checkout collide on git — one's `git add -A` stages what the other left on
|
|
25
|
+
* disk, and creating a branch in place yanks the other session off its own. A
|
|
26
|
+
* session in its own worktree, on its own branch, can do none of that.
|
|
27
|
+
*
|
|
28
|
+
* Before this, the check asked "is another session live?" while meaning "does
|
|
29
|
+
* another session share my working directory?", and it got the one worktree
|
|
30
|
+
* comparison it had backwards: it excluded claims recorded from THIS path and
|
|
31
|
+
* blocked claims recorded from OTHER paths — so taking the gate's own
|
|
32
|
+
* recommendation (option 1, "start in a separate worktree") made every later
|
|
33
|
+
* start in the primary checkout hit the same block, and offered a worktree it
|
|
34
|
+
* did not need. Observed 2026-09-03 while releasing `single-clack-prompt-seam`,
|
|
35
|
+
* where none of the three offered options fit and the instance was created by
|
|
36
|
+
* hand.
|
|
37
|
+
*
|
|
38
|
+
* @param primaryRoot - The primary checkout's working tree, or null/undefined
|
|
39
|
+
* when the caller does not know. A claim with no `worktree_path` was recorded
|
|
40
|
+
* from the primary checkout; without knowing where that is we cannot rule out
|
|
41
|
+
* that it is here, so it is treated as sharing. That is the fail-safe
|
|
42
|
+
* direction and it is exactly today's behaviour.
|
|
43
|
+
*
|
|
44
|
+
* Passed in rather than resolved here to keep NFR-1: this function stays pure
|
|
45
|
+
* reads — one directory listing plus YAML parses — and adds no git subprocess.
|
|
46
|
+
* `openClaimStore` has already paid for one `git rev-parse` by the time this
|
|
47
|
+
* runs, so the caller has the answer for free.
|
|
21
48
|
*/
|
|
22
|
-
export declare function detectConcurrency(store: ClaimStore, ownSessionId: string, timeoutMinutes: number, projectRoot: string, now?: Date): Detection;
|
|
49
|
+
export declare function detectConcurrency(store: ClaimStore, ownSessionId: string, timeoutMinutes: number, projectRoot: string, primaryRoot?: string | null, now?: Date): Detection;
|
|
23
50
|
//# sourceMappingURL=detect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/concurrency/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAuB,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzF,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAqB5E;AAED
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/concurrency/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAuB,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzF,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAqB5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,GAAG,GAAE,IAAiB,GACrB,SAAS,CAmDX"}
|
|
@@ -41,19 +41,83 @@ export function loadConcurrencyConfig(projectRoot) {
|
|
|
41
41
|
* Detect other live sessions holding claims in this repository (AC-7).
|
|
42
42
|
* Staleness is `claim_timeout_minutes` — the one existing knob, no
|
|
43
43
|
* parallel threshold (idea decision 4).
|
|
44
|
+
*
|
|
45
|
+
* Splits live claims by whether they SHARE this session's working directory
|
|
46
|
+
* (automation-verdicts/AC-8). The gate exists because two sessions in one
|
|
47
|
+
* checkout collide on git — one's `git add -A` stages what the other left on
|
|
48
|
+
* disk, and creating a branch in place yanks the other session off its own. A
|
|
49
|
+
* session in its own worktree, on its own branch, can do none of that.
|
|
50
|
+
*
|
|
51
|
+
* Before this, the check asked "is another session live?" while meaning "does
|
|
52
|
+
* another session share my working directory?", and it got the one worktree
|
|
53
|
+
* comparison it had backwards: it excluded claims recorded from THIS path and
|
|
54
|
+
* blocked claims recorded from OTHER paths — so taking the gate's own
|
|
55
|
+
* recommendation (option 1, "start in a separate worktree") made every later
|
|
56
|
+
* start in the primary checkout hit the same block, and offered a worktree it
|
|
57
|
+
* did not need. Observed 2026-09-03 while releasing `single-clack-prompt-seam`,
|
|
58
|
+
* where none of the three offered options fit and the instance was created by
|
|
59
|
+
* hand.
|
|
60
|
+
*
|
|
61
|
+
* @param primaryRoot - The primary checkout's working tree, or null/undefined
|
|
62
|
+
* when the caller does not know. A claim with no `worktree_path` was recorded
|
|
63
|
+
* from the primary checkout; without knowing where that is we cannot rule out
|
|
64
|
+
* that it is here, so it is treated as sharing. That is the fail-safe
|
|
65
|
+
* direction and it is exactly today's behaviour.
|
|
66
|
+
*
|
|
67
|
+
* Passed in rather than resolved here to keep NFR-1: this function stays pure
|
|
68
|
+
* reads — one directory listing plus YAML parses — and adds no git subprocess.
|
|
69
|
+
* `openClaimStore` has already paid for one `git rev-parse` by the time this
|
|
70
|
+
* runs, so the caller has the answer for free.
|
|
44
71
|
*/
|
|
45
|
-
export function detectConcurrency(store, ownSessionId, timeoutMinutes, projectRoot, now = new Date()) {
|
|
72
|
+
export function detectConcurrency(store, ownSessionId, timeoutMinutes, projectRoot, primaryRoot, now = new Date()) {
|
|
46
73
|
const holders = [];
|
|
74
|
+
const elsewhere = [];
|
|
47
75
|
const here = resolve(projectRoot);
|
|
76
|
+
const primary = primaryRoot ? resolve(primaryRoot) : null;
|
|
48
77
|
for (const [instance, claim] of store.list()) {
|
|
49
78
|
if (claim.session === ownSessionId)
|
|
50
79
|
continue;
|
|
51
|
-
if (claim.worktree_path && resolve(claim.worktree_path) === here)
|
|
52
|
-
continue;
|
|
53
80
|
if (isStale(claim, timeoutMinutes, now))
|
|
54
81
|
continue;
|
|
55
|
-
|
|
82
|
+
/*
|
|
83
|
+
* Own-worktree exclusion (design F2) — KEPT, deliberately, even though the
|
|
84
|
+
* sharing test below would otherwise classify it as a collision.
|
|
85
|
+
*
|
|
86
|
+
* A claim recorded from this exact working directory is almost certainly this
|
|
87
|
+
* session's own earlier one. Without `AIDLC_SESSION_ID` every invocation
|
|
88
|
+
* resolves a fresh synthetic `agent-<uuid>`, so the session-id check above
|
|
89
|
+
* does not recognise it, and dropping this line would make a session block on
|
|
90
|
+
* itself the moment it ran a second command in its own worktree.
|
|
91
|
+
*
|
|
92
|
+
* This does leave F2's original hole: two genuinely different sessions cd'd
|
|
93
|
+
* into the same worktree are not detected. That hole predates this change and
|
|
94
|
+
* closing it is a session-identity problem, not a working-directory one — the
|
|
95
|
+
* `no worktree_path` case below is the collision this gate was actually built
|
|
96
|
+
* for, and it still blocks.
|
|
97
|
+
*/
|
|
98
|
+
if (claim.worktree_path && resolve(claim.worktree_path) === here)
|
|
99
|
+
continue;
|
|
100
|
+
/*
|
|
101
|
+
* A claim's working directory is its `worktree_path` when it has one, and the
|
|
102
|
+
* primary checkout otherwise.
|
|
103
|
+
*
|
|
104
|
+
* AC-11: a `worktree_path` naming a directory that no longer exists is a
|
|
105
|
+
* claim on the primary checkout again — the worktree was removed and the
|
|
106
|
+
* claim outlived it. `existsSync` rather than `git worktree list`, both to
|
|
107
|
+
* keep NFR-1 and because `orphanedClaims` in claim-store.ts already
|
|
108
|
+
* establishes existence as this module's test for the same question.
|
|
109
|
+
*/
|
|
110
|
+
const recorded = claim.worktree_path ? resolve(claim.worktree_path) : null;
|
|
111
|
+
const claimDir = recorded !== null && existsSync(recorded) ? recorded : primary;
|
|
112
|
+
// claimDir === null means "the primary checkout, wherever that is" and we do
|
|
113
|
+
// not know — assume it could be here (fail safe).
|
|
114
|
+
if (claimDir === null || claimDir === here) {
|
|
115
|
+
holders.push({ instance, session: claim.session });
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
elsewhere.push({ instance, session: claim.session, dir: claimDir });
|
|
119
|
+
}
|
|
56
120
|
}
|
|
57
|
-
return { busy: holders.length > 0, holders };
|
|
121
|
+
return { busy: holders.length > 0, holders, elsewhere };
|
|
58
122
|
}
|
|
59
123
|
//# sourceMappingURL=detect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/concurrency/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAA0C,MAAM,YAAY,CAAC;AAEzF,uEAAuE;AACvE,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAEjD,CAAC;QACT,MAAM,KAAK,GAAG,MAAM,EAAE,WAAW,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,mBAAmB,CAAC;QACvC,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;YAChF,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAC/B,MAAM,YAAY,GAChB,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE;YACxE,CAAC,CAAC,KAAK,CAAC,YAAY;YACpB,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/concurrency/detect.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,10 +30,30 @@ export interface ConcurrencyConfig {
|
|
|
30
30
|
export declare const DEFAULT_CONCURRENCY: ConcurrencyConfig;
|
|
31
31
|
/** Result of concurrency detection (AC-7). */
|
|
32
32
|
export interface Detection {
|
|
33
|
+
/** A blocking holder exists — i.e. `holders` is non-empty. */
|
|
33
34
|
busy: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Live claims that SHARE this session's working directory. These are the ones
|
|
37
|
+
* worth blocking on: two sessions in one checkout collide on git, not on state.
|
|
38
|
+
*/
|
|
34
39
|
holders: Array<{
|
|
35
40
|
instance: string;
|
|
36
41
|
session: string;
|
|
37
42
|
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Live claims held from a DIFFERENT working directory — another worktree, or the
|
|
45
|
+
* primary checkout while this session is in a worktree
|
|
46
|
+
* (automation-verdicts/AC-9).
|
|
47
|
+
*
|
|
48
|
+
* They cannot collide, so they gate nothing. Reported rather than dropped:
|
|
49
|
+
* knowing another instance is in flight is useful even when it cannot
|
|
50
|
+
* interfere, and discarding them silently would be the same silent-verdict
|
|
51
|
+
* mistake in a new place.
|
|
52
|
+
*/
|
|
53
|
+
elsewhere: Array<{
|
|
54
|
+
instance: string;
|
|
55
|
+
session: string;
|
|
56
|
+
dir: string;
|
|
57
|
+
}>;
|
|
38
58
|
}
|
|
39
59
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/concurrency/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,gFAAgF;AAChF,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC;IAChC,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,gBAAgB,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,EAAE,iBAGjC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/concurrency/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,gFAAgF;AAChF,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC;IAChC,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,gBAAgB,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,EAAE,iBAGjC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,SAAS;IACxB,8DAA8D;IAC9D,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD;;;;;;;;;OASG;IACH,SAAS,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE"}
|
|
@@ -39,6 +39,8 @@ export type BuiltInHandler = (event: EventPayload, config: Record<string, unknow
|
|
|
39
39
|
* Register a custom built-in action handler (for testing / extensibility).
|
|
40
40
|
*/
|
|
41
41
|
export declare function registerBuiltIn(name: string, handler: BuiltInHandler): void;
|
|
42
|
+
/** @see SHIPPED_BUILT_IN_IDS */
|
|
43
|
+
export declare function builtInActionIds(): string[];
|
|
42
44
|
/**
|
|
43
45
|
* Emit a lifecycle event, matching and executing enabled actions.
|
|
44
46
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACZ,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAM1B;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM9E;AAkDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAyB3E;AAMD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACxC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACZ,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAM1B;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM9E;AAkDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAyB3E;AAMD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACxC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAoM1C;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE3E;AAaD,gCAAgC;AAChC,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAwFD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,cAAc,CA6ChB"}
|
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":"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"}
|
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rasensio/aidlc",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.0",
|
|
4
4
|
"description": "AI Development Lifecycle Framework — structured lifecycle guidance for AI coding agents across platforms",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cli.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"commander": "15.0.0",
|
|
25
25
|
"picomatch": "4.0.5",
|
|
26
26
|
"yaml": "2.9.0",
|
|
27
|
-
"@rasensio/aidlc-content": "1.
|
|
27
|
+
"@rasensio/aidlc-content": "1.23.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "22.15.32",
|