@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.
Files changed (36) hide show
  1. package/dist/autopilot/driver.d.ts +23 -2
  2. package/dist/autopilot/driver.d.ts.map +1 -1
  3. package/dist/autopilot/driver.js +211 -23
  4. package/dist/autopilot/driver.js.map +1 -1
  5. package/dist/autopilot/presets.d.ts +32 -1
  6. package/dist/autopilot/presets.d.ts.map +1 -1
  7. package/dist/autopilot/presets.js +21 -1
  8. package/dist/autopilot/presets.js.map +1 -1
  9. package/dist/autopilot/questions.d.ts +13 -7
  10. package/dist/autopilot/questions.d.ts.map +1 -1
  11. package/dist/autopilot/questions.js +62 -7
  12. package/dist/autopilot/questions.js.map +1 -1
  13. package/dist/autopilot/run.d.ts +11 -1
  14. package/dist/autopilot/run.d.ts.map +1 -1
  15. package/dist/autopilot/run.js +18 -2
  16. package/dist/autopilot/run.js.map +1 -1
  17. package/dist/autopilot/state.d.ts +20 -1
  18. package/dist/autopilot/state.d.ts.map +1 -1
  19. package/dist/autopilot/state.js.map +1 -1
  20. package/dist/autopilot/stops.d.ts +62 -0
  21. package/dist/autopilot/stops.d.ts.map +1 -0
  22. package/dist/autopilot/stops.js +98 -0
  23. package/dist/autopilot/stops.js.map +1 -0
  24. package/dist/autopilot/team.d.ts +4 -1
  25. package/dist/autopilot/team.d.ts.map +1 -1
  26. package/dist/autopilot/team.js +14 -1
  27. package/dist/autopilot/team.js.map +1 -1
  28. package/dist/commands/autopilot.d.ts +27 -1
  29. package/dist/commands/autopilot.d.ts.map +1 -1
  30. package/dist/commands/autopilot.js +120 -10
  31. package/dist/commands/autopilot.js.map +1 -1
  32. package/dist/commands/init.js +3 -3
  33. package/dist/commands/init.js.map +1 -1
  34. package/dist/setup/work-mode.d.ts +1 -1
  35. package/dist/setup/work-mode.d.ts.map +1 -1
  36. 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":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/autopilot/driver.ts"],"names":[],"mappings":"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"}
@@ -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
- export function agentPrompt(item) {
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 = { AIDLC_UNATTENDED: '1', AIDLC_AGENT: ctx.config?.agent_platform ?? 'claude-code' };
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
- /** A pull request someone merged by hand is not autopilot's to merge again (AC-13). */
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
- if (droppedIfMerged(ctx, state, item, view, budget))
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
- if (Array.isArray(release) && release.length > 0) {
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${release?.length ? ', released' : ''} and closed`);
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 = Math.min(2, Math.max(1, ctx.config?.max_parallel ?? 2));
552
+ const max = buildSlots(ctx);
403
553
  const template = ctx.config?.template ?? 'quick-feature';
404
- let building = state.items.filter((i) => i.step === 'building').length;
554
+ let busy = building(state);
405
555
  const tried = new Set();
406
- while (building < max && (budget?.remaining ?? 1) > 0) {
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
- building++;
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;;;;;;;;GAQG;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,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"}
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"}