@rasensio/aidlc 1.61.0 → 1.62.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/autopilot/driver.d.ts +23 -2
- package/dist/autopilot/driver.d.ts.map +1 -1
- package/dist/autopilot/driver.js +211 -23
- package/dist/autopilot/driver.js.map +1 -1
- package/dist/autopilot/presets.d.ts +32 -1
- package/dist/autopilot/presets.d.ts.map +1 -1
- package/dist/autopilot/presets.js +21 -1
- package/dist/autopilot/presets.js.map +1 -1
- package/dist/autopilot/questions.d.ts +13 -7
- package/dist/autopilot/questions.d.ts.map +1 -1
- package/dist/autopilot/questions.js +62 -7
- package/dist/autopilot/questions.js.map +1 -1
- package/dist/autopilot/run.d.ts +11 -1
- package/dist/autopilot/run.d.ts.map +1 -1
- package/dist/autopilot/run.js +18 -2
- package/dist/autopilot/run.js.map +1 -1
- package/dist/autopilot/state.d.ts +20 -1
- package/dist/autopilot/state.d.ts.map +1 -1
- package/dist/autopilot/state.js.map +1 -1
- package/dist/autopilot/stops.d.ts +62 -0
- package/dist/autopilot/stops.d.ts.map +1 -0
- package/dist/autopilot/stops.js +98 -0
- package/dist/autopilot/stops.js.map +1 -0
- package/dist/autopilot/team.d.ts +4 -1
- package/dist/autopilot/team.d.ts.map +1 -1
- package/dist/autopilot/team.js +14 -1
- package/dist/autopilot/team.js.map +1 -1
- package/dist/commands/autopilot.d.ts +27 -1
- package/dist/commands/autopilot.d.ts.map +1 -1
- package/dist/commands/autopilot.js +120 -10
- package/dist/commands/autopilot.js.map +1 -1
- package/dist/commands/init.js +3 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/setup/work-mode.d.ts +1 -1
- package/dist/setup/work-mode.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* A sequencer, not an agent: the backlog order is `aidlc roadmap next`, the work
|
|
8
8
|
* is an agent following the unattended rule, the release is the configured
|
|
9
9
|
* release command. It decides nothing a person has not already decided, and
|
|
10
|
-
* stops itself on the rules below
|
|
10
|
+
* stops itself on the rules below — including where a person asked it to wait:
|
|
11
|
+
* after a paused phase, and at the pull request (autopilot-stop-controls).
|
|
11
12
|
*
|
|
12
13
|
* Every effect goes through `ctx` so the whole loop runs in tests with no git
|
|
13
14
|
* remote, no GitHub and no agent.
|
|
@@ -15,6 +16,7 @@
|
|
|
15
16
|
* @module
|
|
16
17
|
*/
|
|
17
18
|
import type { AutopilotConfig, AutopilotItem, AutopilotPaths, AutopilotState } from './state.js';
|
|
19
|
+
import { type PausePhase, type Stops } from './stops.js';
|
|
18
20
|
export interface RunResult {
|
|
19
21
|
status: number;
|
|
20
22
|
stdout: string;
|
|
@@ -66,9 +68,13 @@ export interface Budget {
|
|
|
66
68
|
export declare const CONFLICT_FIX_LIMIT = 2;
|
|
67
69
|
export declare class RateLimited extends Error {
|
|
68
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* @param pauses - `AIDLC_PAUSE_AFTER` as the agent will see it. Empty adds nothing,
|
|
73
|
+
* so an item with no pauses gets the prompt it always did.
|
|
74
|
+
*/
|
|
69
75
|
export declare function agentPrompt(item: {
|
|
70
76
|
name: string;
|
|
71
|
-
}): string;
|
|
77
|
+
}, pauses?: string): string;
|
|
72
78
|
export declare function fixPrompt(item: {
|
|
73
79
|
name: string;
|
|
74
80
|
pr: number | null;
|
|
@@ -77,6 +83,8 @@ export declare function conflictPrompt(item: {
|
|
|
77
83
|
name: string;
|
|
78
84
|
pr: number | null;
|
|
79
85
|
}): string;
|
|
86
|
+
/** The stops an item is held to: those recorded when it started (autopilot-stop-controls/AC-6). */
|
|
87
|
+
export declare function itemStops(item: AutopilotItem): Stops;
|
|
80
88
|
/**
|
|
81
89
|
* Return every item whose failure is resumable to the step it failed in, and
|
|
82
90
|
* clear the error. Called when a run starts: asking to run is asking to retry
|
|
@@ -89,6 +97,19 @@ export declare function resumeFailed(state: AutopilotState): string[];
|
|
|
89
97
|
* removed item, or null when none has that name (AC-18).
|
|
90
98
|
*/
|
|
91
99
|
export declare function forgetItem(state: AutopilotState, name: string): AutopilotItem | null;
|
|
100
|
+
export type ApproveOutcome = {
|
|
101
|
+
ok: true;
|
|
102
|
+
item: AutopilotItem;
|
|
103
|
+
phase: PausePhase;
|
|
104
|
+
} | {
|
|
105
|
+
ok: false;
|
|
106
|
+
reason: string;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Approve the phase an item is waiting on. Touches only autopilot's own state; the
|
|
110
|
+
* next pass carries the item on (autopilot-stop-controls/AC-16, AC-17).
|
|
111
|
+
*/
|
|
112
|
+
export declare function approveItem(state: AutopilotState, name: string): ApproveOutcome;
|
|
92
113
|
/** One pass. Returns the new state; the caller saves it (not in a dry run). */
|
|
93
114
|
export declare function tick(ctx: DriverCtx, state: AutopilotState, budget?: Budget): AutopilotState;
|
|
94
115
|
export declare function statusLines(ctx: Pick<DriverCtx, 'fs' | 'paths' | 'now'>, state: AutopilotState): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/autopilot/driver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/autopilot/driver.ts"],"names":[],"mappings":"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"}
|
package/dist/autopilot/driver.js
CHANGED
|
@@ -7,13 +7,15 @@
|
|
|
7
7
|
* A sequencer, not an agent: the backlog order is `aidlc roadmap next`, the work
|
|
8
8
|
* is an agent following the unattended rule, the release is the configured
|
|
9
9
|
* release command. It decides nothing a person has not already decided, and
|
|
10
|
-
* stops itself on the rules below
|
|
10
|
+
* stops itself on the rules below — including where a person asked it to wait:
|
|
11
|
+
* after a paused phase, and at the pull request (autopilot-stop-controls).
|
|
11
12
|
*
|
|
12
13
|
* Every effect goes through `ctx` so the whole loop runs in tests with no git
|
|
13
14
|
* remote, no GitHub and no agent.
|
|
14
15
|
*
|
|
15
16
|
* @module
|
|
16
17
|
*/
|
|
18
|
+
import { LEGACY_STOPS, pauseEnv, pendingReview, stopsInForce } from './stops.js';
|
|
17
19
|
const RATE_LIMIT_RE = /rate limit|\b429\b|secondary rate/i;
|
|
18
20
|
const BACKOFF_FIRST_MS = 5 * 60 * 1000;
|
|
19
21
|
const BACKOFF_MAX_MS = 2 * 60 * 60 * 1000;
|
|
@@ -47,11 +49,19 @@ function makeIO(ctx) {
|
|
|
47
49
|
return { call, cli };
|
|
48
50
|
}
|
|
49
51
|
const fail = (r) => (r.stderr || r.stdout || `exit ${r.status}`).trim().split('\n').slice(-1)[0];
|
|
50
|
-
|
|
52
|
+
/**
|
|
53
|
+
* @param pauses - `AIDLC_PAUSE_AFTER` as the agent will see it. Empty adds nothing,
|
|
54
|
+
* so an item with no pauses gets the prompt it always did.
|
|
55
|
+
*/
|
|
56
|
+
export function agentPrompt(item, pauses = '') {
|
|
51
57
|
return (`You are running unattended (AIDLC_UNATTENDED=1). Follow .aidlc/resources/rules/unattended.md. ` +
|
|
52
58
|
`Continue the AIDLC instance "${item.name}" in this worktree with the aidlc-continue skill, through ` +
|
|
53
59
|
`every phase up to the release boundary: complete testing, write the deployment record's release ` +
|
|
54
|
-
`plan, commit on this branch, and stop. Do not push, open a pull request, merge or release.`
|
|
60
|
+
`plan, commit on this branch, and stop. Do not push, open a pull request, merge or release.` +
|
|
61
|
+
(pauses
|
|
62
|
+
? ` AIDLC_PAUSE_AFTER=${pauses}: when one of those phases completes, stop there instead — that is ` +
|
|
63
|
+
`the rule's review boundary: commit, release your claim, and stop.`
|
|
64
|
+
: ''));
|
|
55
65
|
}
|
|
56
66
|
export function fixPrompt(item, failing) {
|
|
57
67
|
return (`You are running unattended (AIDLC_UNATTENDED=1). Follow .aidlc/resources/rules/unattended.md. ` +
|
|
@@ -80,10 +90,24 @@ function failItem(item, error, resume) {
|
|
|
80
90
|
function dequeue(state, item) {
|
|
81
91
|
state.queue = state.queue.filter((n) => n !== item.name);
|
|
82
92
|
}
|
|
93
|
+
/** At most two at once, whatever the config says. */
|
|
94
|
+
const buildSlots = (ctx) => Math.min(2, Math.max(1, ctx.config?.max_parallel ?? 2));
|
|
95
|
+
/** Only a building item holds a slot; one waiting for a person does not (autopilot-stop-controls/AC-15). */
|
|
96
|
+
const building = (state) => state.items.filter((i) => i.step === 'building').length;
|
|
97
|
+
/** The stops an item is held to: those recorded when it started (autopilot-stop-controls/AC-6). */
|
|
98
|
+
export function itemStops(item) {
|
|
99
|
+
return item.stops ?? LEGACY_STOPS;
|
|
100
|
+
}
|
|
101
|
+
const itemPauses = (item) => pauseEnv(itemStops(item), item.approved ?? []);
|
|
83
102
|
function launchAgent(ctx, item, prompt) {
|
|
84
103
|
const command = ctx.config?.agent_command ?? [];
|
|
85
104
|
const argv = command.map((a) => (a === '{prompt}' ? prompt : a));
|
|
86
|
-
const env = {
|
|
105
|
+
const env = {
|
|
106
|
+
AIDLC_UNATTENDED: '1',
|
|
107
|
+
AIDLC_AGENT: ctx.config?.agent_platform ?? 'claude-code',
|
|
108
|
+
// Where the unattended rule's review boundaries are (autopilot-stop-controls/AC-11).
|
|
109
|
+
AIDLC_PAUSE_AFTER: itemPauses(item),
|
|
110
|
+
};
|
|
87
111
|
if (ctx.dryRun) {
|
|
88
112
|
ctx.say(`[dry-run] (in ${item.worktree}) launch agent: ${argv[0]} … (${argv.length} args)`);
|
|
89
113
|
return;
|
|
@@ -118,6 +142,26 @@ function currentPhase(ctx, item) {
|
|
|
118
142
|
const yaml = ctx.fs.read(`${item.worktree}/.aidlc/state/${item.name}/instance.yaml`) ?? '';
|
|
119
143
|
return /^current_phase:\s*(\S+)/m.exec(yaml)?.[1] ?? null;
|
|
120
144
|
}
|
|
145
|
+
/** A phase file's own top-level status, not an artifact's indented one. */
|
|
146
|
+
const COMPLETE_RE = /^status:\s*complete\s*$/m;
|
|
147
|
+
function phaseComplete(ctx, item, phase) {
|
|
148
|
+
return COMPLETE_RE.test(ctx.fs.read(`${item.worktree}/.aidlc/state/${item.name}/phase-${phase}.yaml`) ?? '');
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Wait for a person when a paused phase is complete and unapproved. Judged from the
|
|
152
|
+
* phase files, not from where the agent stopped, so an agent that ran past a pause
|
|
153
|
+
* still cannot reach a pull request (autopilot-stop-controls/AC-13).
|
|
154
|
+
*/
|
|
155
|
+
function awaitIfPaused(ctx, item) {
|
|
156
|
+
const phase = pendingReview(itemStops(item), item.approved ?? [], (p) => phaseComplete(ctx, item, p));
|
|
157
|
+
if (phase === null)
|
|
158
|
+
return false;
|
|
159
|
+
item.step = 'awaiting-review';
|
|
160
|
+
item.review = phase;
|
|
161
|
+
item.pid = null;
|
|
162
|
+
ctx.say(`${item.name}: paused after ${phase} for your review — \`aidlc autopilot approve ${item.name}\` carries it on`);
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
121
165
|
function advanceBuilding(ctx, io, state, item, budget) {
|
|
122
166
|
if (item.pid && ctx.isAlive(item.pid)) {
|
|
123
167
|
const cap = ctx.config?.cost_cap_usd;
|
|
@@ -143,11 +187,37 @@ function advanceBuilding(ctx, io, state, item, budget) {
|
|
|
143
187
|
drop(state, item, budget);
|
|
144
188
|
return;
|
|
145
189
|
}
|
|
190
|
+
if (awaitIfPaused(ctx, item))
|
|
191
|
+
return;
|
|
146
192
|
const phase = currentPhase(ctx, item);
|
|
147
193
|
if (phase !== 'deployment') {
|
|
148
194
|
park(ctx, io, state, item, `agent exited before the release boundary (phase ${phase ?? 'unknown'})`, budget);
|
|
149
195
|
return;
|
|
150
196
|
}
|
|
197
|
+
openPullRequest(ctx, io, item);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* The pass after `aidlc autopilot approve`: wait again at the next completed pause,
|
|
201
|
+
* open the pull request when the agent is already at deployment, or relaunch it to
|
|
202
|
+
* carry on (autopilot-stop-controls/AC-18).
|
|
203
|
+
*/
|
|
204
|
+
function advanceApproved(ctx, io, state, item) {
|
|
205
|
+
if (awaitIfPaused(ctx, item))
|
|
206
|
+
return;
|
|
207
|
+
if (currentPhase(ctx, item) === 'deployment') {
|
|
208
|
+
item.step = 'building';
|
|
209
|
+
openPullRequest(ctx, io, item);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
// A relaunch is a build like any other: it waits for a slot, ahead of new items,
|
|
213
|
+
// since this pass serves it before `startBuilds` runs.
|
|
214
|
+
if (building(state) >= buildSlots(ctx))
|
|
215
|
+
return;
|
|
216
|
+
item.step = 'building';
|
|
217
|
+
ctx.say(`${item.name}: approved — relaunching the agent to carry on`);
|
|
218
|
+
launchAgent(ctx, item, agentPrompt(item, itemPauses(item)));
|
|
219
|
+
}
|
|
220
|
+
function openPullRequest(ctx, io, item) {
|
|
151
221
|
const push = io.call('git', ['push', '-u', 'origin', item.branch], { cwd: item.worktree });
|
|
152
222
|
if (push.status !== 0) {
|
|
153
223
|
failItem(item, `push failed: ${fail(push)}`, 'building');
|
|
@@ -177,7 +247,11 @@ function prView(ctx, io, item) {
|
|
|
177
247
|
return null;
|
|
178
248
|
}
|
|
179
249
|
}
|
|
180
|
-
/**
|
|
250
|
+
/**
|
|
251
|
+
* A pull request someone merged by hand is not autopilot's to merge again (AC-13).
|
|
252
|
+
* Only for an item autopilot was to merge itself; one stopped at its pull request is
|
|
253
|
+
* closed out instead (autopilot-stop-controls/AC-26).
|
|
254
|
+
*/
|
|
181
255
|
function droppedIfMerged(ctx, state, item, view, budget) {
|
|
182
256
|
if (view?.state !== 'MERGED')
|
|
183
257
|
return false;
|
|
@@ -185,6 +259,80 @@ function droppedIfMerged(ctx, state, item, view, budget) {
|
|
|
185
259
|
drop(state, item, budget);
|
|
186
260
|
return true;
|
|
187
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* For an item stopped at its pull request, a person's answer: merged closes the
|
|
264
|
+
* instance out, closed without merging stops tracking it. True when the item has
|
|
265
|
+
* left this step (autopilot-stop-controls/AC-21, AC-24).
|
|
266
|
+
*/
|
|
267
|
+
function answeredByPerson(ctx, io, state, item, view, budget) {
|
|
268
|
+
if (view?.state === 'MERGED') {
|
|
269
|
+
closeOut(ctx, io, state, item, budget);
|
|
270
|
+
return true;
|
|
271
|
+
}
|
|
272
|
+
if (view?.state === 'CLOSED') {
|
|
273
|
+
ctx.say(`${item.name}: pull request #${item.pr} was closed without merging — no longer tracked`);
|
|
274
|
+
drop(state, item, budget);
|
|
275
|
+
return true;
|
|
276
|
+
}
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Close the instance after a person merged its pull request: no merge and no
|
|
281
|
+
* release, only the close-out an autopilot merge ends with (autopilot-stop-controls/AC-21..AC-23).
|
|
282
|
+
*/
|
|
283
|
+
function closeOut(ctx, io, state, item, budget) {
|
|
284
|
+
const branch = io.call('git', ['rev-parse', '--abbrev-ref', 'HEAD'], { cwd: ctx.repo });
|
|
285
|
+
if (branch.stdout.trim() !== 'main' && !ctx.dryRun) {
|
|
286
|
+
// The merge is done; trying again next pass loses nothing, and an `error` here
|
|
287
|
+
// could only be cleared by `forget`, which skips the close-out altogether.
|
|
288
|
+
ctx.say(`${item.name}: merged — closing it out waits for the primary checkout to be on main (it is on ${branch.stdout.trim()})`);
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
const pull = io.call('git', ['pull', '--rebase', '--autostash'], { cwd: ctx.repo });
|
|
292
|
+
if (pull.status !== 0) {
|
|
293
|
+
failItem(item, `pull failed: ${fail(pull)}`);
|
|
294
|
+
ctx.say(`${item.name}: ${item.error}`);
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
// Closed by hand already: nothing to transition, and a second close-out commit
|
|
298
|
+
// would fail on an empty index (autopilot-stop-controls/AC-22).
|
|
299
|
+
if (COMPLETE_RE.test(ctx.fs.read(`${ctx.repo}/.aidlc/state/${item.name}/phase-deployment.yaml`) ?? '')) {
|
|
300
|
+
ctx.say(`${item.name}: pull request #${item.pr} merged, and already closed on main — no longer tracked`);
|
|
301
|
+
drop(state, item, budget);
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
for (const [label, step] of closeSteps(ctx, io, item)) {
|
|
305
|
+
const r = step();
|
|
306
|
+
if (r.status !== 0) {
|
|
307
|
+
failItem(item, `${label} failed: ${fail(r)}`);
|
|
308
|
+
ctx.say(`${item.name}: ${item.error}`);
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
ctx.say(`${item.name}: pull request #${item.pr} merged by you, and closed`);
|
|
313
|
+
drop(state, item, budget);
|
|
314
|
+
}
|
|
315
|
+
/** Close the instance on main. Shared by both close-outs so they cannot drift. */
|
|
316
|
+
function closeSteps(ctx, io, item) {
|
|
317
|
+
return [
|
|
318
|
+
[
|
|
319
|
+
'close',
|
|
320
|
+
() => {
|
|
321
|
+
if (!markDeploymentComplete(ctx, item.name))
|
|
322
|
+
return { status: 1, stdout: '', stderr: 'no phase-deployment.yaml on main' };
|
|
323
|
+
return io.cli(['transition', item.name]);
|
|
324
|
+
},
|
|
325
|
+
],
|
|
326
|
+
['stage-close', () => io.call('git', ['add', '.aidlc'], { cwd: ctx.repo })],
|
|
327
|
+
['commit-close', () => io.call('git', ['commit', '-q', '-m', `chore(aidlc): close out ${item.name} (autopilot)`], { cwd: ctx.repo })],
|
|
328
|
+
['push-close', () => io.call('git', ['push', 'origin', 'main'], { cwd: ctx.repo })],
|
|
329
|
+
];
|
|
330
|
+
}
|
|
331
|
+
/** Waiting for a person to merge: only their answer moves it (autopilot-stop-controls/AC-19). */
|
|
332
|
+
function advanceAwaitingMerge(ctx, io, state, item, budget) {
|
|
333
|
+
// Silent otherwise: a "still waiting" line would repeat every pass.
|
|
334
|
+
answeredByPerson(ctx, io, state, item, prView(ctx, io, item), budget);
|
|
335
|
+
}
|
|
188
336
|
/**
|
|
189
337
|
* The branch conflicts with main: hand it back to the agent, twice at most,
|
|
190
338
|
* then park it (autopilot-merge-lane-stalls-on-conflicts/AC-10, AC-11).
|
|
@@ -244,7 +392,9 @@ function upToDateWithMain(ctx, io, state, item, resume, budget) {
|
|
|
244
392
|
}
|
|
245
393
|
function advancePr(ctx, io, state, item, budget) {
|
|
246
394
|
const view = prView(ctx, io, item);
|
|
247
|
-
|
|
395
|
+
const atPr = itemStops(item).stop_at === 'pr';
|
|
396
|
+
// A person merging before CI finishes is still the merge the stop asked for.
|
|
397
|
+
if (atPr ? answeredByPerson(ctx, io, state, item, view, budget) : droppedIfMerged(ctx, state, item, view, budget))
|
|
248
398
|
return;
|
|
249
399
|
const r = io.call('gh', ['pr', 'checks', String(item.pr), '--json', 'name,bucket'], { cwd: ctx.repo });
|
|
250
400
|
let checks = [];
|
|
@@ -269,6 +419,11 @@ function advancePr(ctx, io, state, item, budget) {
|
|
|
269
419
|
return;
|
|
270
420
|
const failing = checks.filter((c) => c.bucket === 'fail' || c.bucket === 'cancel').map((c) => c.name);
|
|
271
421
|
if (failing.length === 0) {
|
|
422
|
+
if (atPr) {
|
|
423
|
+
item.step = 'awaiting-merge';
|
|
424
|
+
ctx.say(`${item.name}: CI green — pull request #${item.pr} waits for you to merge it`);
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
272
427
|
item.step = 'queued';
|
|
273
428
|
if (!state.queue.includes(item.name))
|
|
274
429
|
state.queue.push(item.name);
|
|
@@ -351,18 +506,13 @@ function serveQueue(ctx, io, state, budget) {
|
|
|
351
506
|
],
|
|
352
507
|
['pull', () => io.call('git', ['pull', '--rebase', '--autostash'], { cwd: ctx.repo })],
|
|
353
508
|
];
|
|
354
|
-
// Merge only when no release command is configured (autopilot-on-demand/AC-17, AC-18)
|
|
355
|
-
|
|
509
|
+
// Merge only when no release command is configured (autopilot-on-demand/AC-17, AC-18),
|
|
510
|
+
// or when the item stops at the merge (autopilot-stop-controls/AC-25).
|
|
511
|
+
const releases = Array.isArray(release) && release.length > 0 && itemStops(item).stop_at === 'release';
|
|
512
|
+
if (releases) {
|
|
356
513
|
steps.push(['release', () => io.call(release[0], release.slice(1), { cwd: ctx.repo })]);
|
|
357
514
|
}
|
|
358
|
-
steps.push(
|
|
359
|
-
'close',
|
|
360
|
-
() => {
|
|
361
|
-
if (!markDeploymentComplete(ctx, item.name))
|
|
362
|
-
return { status: 1, stdout: '', stderr: 'no phase-deployment.yaml on main' };
|
|
363
|
-
return io.cli(['transition', item.name]);
|
|
364
|
-
},
|
|
365
|
-
], ['stage-close', () => io.call('git', ['add', '.aidlc'], { cwd: ctx.repo })], ['commit-close', () => io.call('git', ['commit', '-q', '-m', `chore(aidlc): close out ${item.name} (autopilot)`], { cwd: ctx.repo })], ['push-close', () => io.call('git', ['push', 'origin', 'main'], { cwd: ctx.repo })]);
|
|
515
|
+
steps.push(...closeSteps(ctx, io, item));
|
|
366
516
|
for (const [label, step] of steps) {
|
|
367
517
|
const r = step();
|
|
368
518
|
if (r.status !== 0) {
|
|
@@ -373,7 +523,7 @@ function serveQueue(ctx, io, state, budget) {
|
|
|
373
523
|
return;
|
|
374
524
|
}
|
|
375
525
|
}
|
|
376
|
-
ctx.say(`${item.name}: merged${
|
|
526
|
+
ctx.say(`${item.name}: merged${releases ? ', released' : ''} and closed`);
|
|
377
527
|
drop(state, item, budget);
|
|
378
528
|
}
|
|
379
529
|
/**
|
|
@@ -399,11 +549,11 @@ function startBuilds(ctx, io, state, budget) {
|
|
|
399
549
|
ctx.say('not starting builds: no agent command configured — run `aidlc autopilot setup`');
|
|
400
550
|
return;
|
|
401
551
|
}
|
|
402
|
-
const max =
|
|
552
|
+
const max = buildSlots(ctx);
|
|
403
553
|
const template = ctx.config?.template ?? 'quick-feature';
|
|
404
|
-
let
|
|
554
|
+
let busy = building(state);
|
|
405
555
|
const tried = new Set();
|
|
406
|
-
while (
|
|
556
|
+
while (busy < max && (budget?.remaining ?? 1) > 0) {
|
|
407
557
|
const r = io.cli(['roadmap', 'next', '--json']);
|
|
408
558
|
let next = null;
|
|
409
559
|
try {
|
|
@@ -449,12 +599,14 @@ function startBuilds(ctx, io, state, budget) {
|
|
|
449
599
|
pr: null,
|
|
450
600
|
pid: null,
|
|
451
601
|
started_at: new Date(ctx.now()).toISOString(),
|
|
602
|
+
// Held to these until it leaves, whatever later runs say (autopilot-stop-controls/AC-6).
|
|
603
|
+
stops: stopsInForce(ctx.config),
|
|
452
604
|
};
|
|
453
|
-
launchAgent(ctx, item, agentPrompt(item));
|
|
605
|
+
launchAgent(ctx, item, agentPrompt(item, itemPauses(item)));
|
|
454
606
|
if (ctx.dryRun)
|
|
455
607
|
return;
|
|
456
608
|
state.items.push(item);
|
|
457
|
-
|
|
609
|
+
busy++;
|
|
458
610
|
if (budget) {
|
|
459
611
|
budget.onStart(name);
|
|
460
612
|
if (budget.remaining !== null)
|
|
@@ -495,6 +647,26 @@ export function forgetItem(state, name) {
|
|
|
495
647
|
state.queue = state.queue.filter((n) => n !== name);
|
|
496
648
|
return item;
|
|
497
649
|
}
|
|
650
|
+
/**
|
|
651
|
+
* Approve the phase an item is waiting on. Touches only autopilot's own state; the
|
|
652
|
+
* next pass carries the item on (autopilot-stop-controls/AC-16, AC-17).
|
|
653
|
+
*/
|
|
654
|
+
export function approveItem(state, name) {
|
|
655
|
+
const item = state.items.find((i) => i.name === name);
|
|
656
|
+
if (item === undefined) {
|
|
657
|
+
return { ok: false, reason: `autopilot is not tracking "${name}" — \`aidlc autopilot status\` lists what it tracks` };
|
|
658
|
+
}
|
|
659
|
+
if (item.step === 'awaiting-merge') {
|
|
660
|
+
return { ok: false, reason: `${name} is waiting for you to merge pull request #${item.pr} — merging it is the approval` };
|
|
661
|
+
}
|
|
662
|
+
if (item.step !== 'awaiting-review' || item.review === undefined) {
|
|
663
|
+
return { ok: false, reason: `${name} is not waiting for a review (it is ${item.step})` };
|
|
664
|
+
}
|
|
665
|
+
const phase = item.review;
|
|
666
|
+
item.approved = [...new Set([...(item.approved ?? []), phase])];
|
|
667
|
+
item.step = 'approved';
|
|
668
|
+
return { ok: true, item, phase };
|
|
669
|
+
}
|
|
498
670
|
/** One pass. Returns the new state; the caller saves it (not in a dry run). */
|
|
499
671
|
export function tick(ctx, state, budget) {
|
|
500
672
|
if (ctx.fs.exists(ctx.paths.stop)) {
|
|
@@ -508,10 +680,15 @@ export function tick(ctx, state, budget) {
|
|
|
508
680
|
const io = makeIO(ctx);
|
|
509
681
|
try {
|
|
510
682
|
for (const item of [...state.items]) {
|
|
683
|
+
// `awaiting-review` is passed over: nothing to read until a person approves.
|
|
511
684
|
if (item.step === 'building')
|
|
512
685
|
advanceBuilding(ctx, io, state, item, budget);
|
|
686
|
+
else if (item.step === 'approved')
|
|
687
|
+
advanceApproved(ctx, io, state, item);
|
|
513
688
|
else if (item.step === 'pr-open')
|
|
514
689
|
advancePr(ctx, io, state, item, budget);
|
|
690
|
+
else if (item.step === 'awaiting-merge')
|
|
691
|
+
advanceAwaitingMerge(ctx, io, state, item, budget);
|
|
515
692
|
}
|
|
516
693
|
serveQueue(ctx, io, state, budget);
|
|
517
694
|
startBuilds(ctx, io, state, budget);
|
|
@@ -528,6 +705,17 @@ export function tick(ctx, state, budget) {
|
|
|
528
705
|
state.last_tick = new Date(ctx.now()).toISOString();
|
|
529
706
|
return state;
|
|
530
707
|
}
|
|
708
|
+
/** What a person is being waited on for, in words (autopilot-stop-controls/AC-14, AC-20). */
|
|
709
|
+
function waitingFor(i) {
|
|
710
|
+
if (i.step === 'awaiting-review') {
|
|
711
|
+
return ` — waiting for your review after ${i.review ?? 'a phase'} in ${i.worktree}; approve with \`aidlc autopilot approve ${i.name}\``;
|
|
712
|
+
}
|
|
713
|
+
if (i.step === 'approved')
|
|
714
|
+
return ` — ${i.review ?? 'phase'} approved; carries on at the next pass with a free build slot`;
|
|
715
|
+
if (i.step === 'awaiting-merge')
|
|
716
|
+
return ` — waiting for you to merge pull request #${i.pr}`;
|
|
717
|
+
return '';
|
|
718
|
+
}
|
|
531
719
|
export function statusLines(ctx, state) {
|
|
532
720
|
const lines = [];
|
|
533
721
|
if (ctx.fs.exists(ctx.paths.stop))
|
|
@@ -540,7 +728,7 @@ export function statusLines(ctx, state) {
|
|
|
540
728
|
lines.push('no items in flight');
|
|
541
729
|
for (const i of state.items) {
|
|
542
730
|
lines.push(`${i.name}: ${i.step}${i.pr ? ` PR #${i.pr}` : ''} — CI failures ${i.ci_failures ?? 0}` +
|
|
543
|
-
`${i.error ? ` — last error: ${i.error}` : ''}`);
|
|
731
|
+
`${waitingFor(i)}${i.error ? ` — last error: ${i.error}` : ''}`);
|
|
544
732
|
}
|
|
545
733
|
if (state.queue.length > 0)
|
|
546
734
|
lines.push(`merge queue: ${state.queue.join(' → ')}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/autopilot/driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/autopilot/driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The choices `aidlc autopilot setup` offers (autopilot-on-demand/AC-10..AC-13
|
|
2
|
+
* The choices `aidlc autopilot setup` offers (autopilot-on-demand/AC-10..AC-13,
|
|
3
|
+
* autopilot-stop-controls/AC-7).
|
|
3
4
|
*
|
|
4
5
|
* The agent preset is the one that matters: it decides what an unattended agent
|
|
5
6
|
* may do on this machine. Every option is visible text the user picks, and the
|
|
@@ -38,6 +39,36 @@ export declare const COST_CAP_CHOICES: readonly [{
|
|
|
38
39
|
readonly label: "No cap";
|
|
39
40
|
readonly hint: "an item is never stopped for cost";
|
|
40
41
|
}];
|
|
42
|
+
/**
|
|
43
|
+
* Where an item waits for a person (autopilot-stop-controls/AC-7). The recommended
|
|
44
|
+
* answers are the defaults the roadmap item asked for: nothing reaches main unread.
|
|
45
|
+
* A value is the `--pause-after` flag text, so a flag and a pick parse the same way.
|
|
46
|
+
*/
|
|
47
|
+
export declare const PAUSE_CHOICES: readonly [{
|
|
48
|
+
readonly value: "requirements,design";
|
|
49
|
+
readonly label: "After requirements and after design (recommended)";
|
|
50
|
+
readonly hint: "you read each and run `aidlc autopilot approve <item>`";
|
|
51
|
+
}, {
|
|
52
|
+
readonly value: "design";
|
|
53
|
+
readonly label: "After design only";
|
|
54
|
+
}, {
|
|
55
|
+
readonly value: "none";
|
|
56
|
+
readonly label: "No pauses";
|
|
57
|
+
readonly hint: "the agent builds straight through to the pull request";
|
|
58
|
+
}];
|
|
59
|
+
export declare const STOP_AT_CHOICES: readonly [{
|
|
60
|
+
readonly value: "pr";
|
|
61
|
+
readonly label: "Open the pull request and wait for you to merge it (recommended)";
|
|
62
|
+
readonly hint: "autopilot never merges or releases";
|
|
63
|
+
}, {
|
|
64
|
+
readonly value: "merge";
|
|
65
|
+
readonly label: "Merge when CI passes — no release";
|
|
66
|
+
readonly hint: "you release when you choose";
|
|
67
|
+
}, {
|
|
68
|
+
readonly value: "release";
|
|
69
|
+
readonly label: "Merge and run the release step below";
|
|
70
|
+
readonly hint: "no review at any point";
|
|
71
|
+
}];
|
|
41
72
|
export interface ReleasePreset {
|
|
42
73
|
id: string;
|
|
43
74
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/autopilot/presets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/autopilot/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AASD,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EA0B/C,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;EAGnB,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;EAKnB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;EAQhB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;EAIlB,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC1B;AAED,sFAAsF;AACtF,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE,CAiBnE;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE/D"}
|