@ai-dossier/cli 0.92.1 → 0.93.0-next.715.1

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.
@@ -0,0 +1,371 @@
1
+ "use strict";
2
+ /**
3
+ * Tracked `cap run` launcher for the sched engine (#1233).
4
+ *
5
+ * `spawnSync` gave the engine no pid until the gate had finished, kept the
6
+ * gate in the engine's process group, and left nothing behind when the engine
7
+ * died mid-gate — so a restarted engine launched a duplicate gate that
8
+ * collided with the orphaned one. This launcher:
9
+ *
10
+ * - starts `ai-dossier cap run <id>` through a tiny `/bin/sh` wrapper in its
11
+ * OWN process group (`detached`), output and exit status going to files in
12
+ * a private run directory (no pipe a descendant can hold open);
13
+ * - records the run in the in-flight registry (`@ai-dossier/sched`
14
+ * `writeInFlight`) BEFORE it starts waiting — pid, start time, worktree,
15
+ * HEAD — so `sched status`, the stale-lease alert and the next engine see it;
16
+ * - waits synchronously (the batch state machine is synchronous) by polling,
17
+ * and on its timeout kills the whole process group;
18
+ * - on entry, ADOPTS a recorded run for the same worktree + capability: a
19
+ * live one is waited for (never duplicated), a finished one is consumed
20
+ * when it ran against the same HEAD; anything else is discarded.
21
+ *
22
+ * It returns the same `SpawnSyncReturns`-shaped result the legacy path does, so
23
+ * verdict resolution (`resolveVerdict` in cap-envelope.ts) is shared. Two
24
+ * deliberate differences from `spawnSync`: output larger than `maxBuffer` is
25
+ * truncated to its TAIL (noted in the diagnostics) instead of failing ENOBUFS,
26
+ * and a timeout kills the gate's whole process group, not just `cap run`.
27
+ */
28
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.ADOPT_FINISHED_MAX_AGE_MS = exports.TRACKED_KILL_GRACE_MS = exports.TRACKED_POLL_MS = void 0;
33
+ exports.runTrackedCapRun = runTrackedCapRun;
34
+ exports.launchTrackedCapRun = launchTrackedCapRun;
35
+ const node_child_process_1 = require("node:child_process");
36
+ const node_fs_1 = __importDefault(require("node:fs"));
37
+ const node_os_1 = __importDefault(require("node:os"));
38
+ const node_path_1 = __importDefault(require("node:path"));
39
+ const sched_1 = require("@ai-dossier/sched");
40
+ const capability_1 = require("./capability");
41
+ /** Poll cadence while waiting for a gate. */
42
+ exports.TRACKED_POLL_MS = 500;
43
+ /** Grace between SIGTERM and SIGKILL to the gate's process group on timeout. */
44
+ exports.TRACKED_KILL_GRACE_MS = 5_000;
45
+ /** Poll cadence inside that grace. */
46
+ const KILL_GRACE_POLL_MS = 100;
47
+ /** A finished-but-unconsumed run older than this is not adopted. */
48
+ exports.ADOPT_FINISHED_MAX_AGE_MS = 24 * 60 * 60 * 1000;
49
+ /** Budget for the `git rev-parse HEAD` identity probe. */
50
+ const GIT_HEAD_TIMEOUT_MS = 10_000;
51
+ /** `sh` exit code for "command not found". */
52
+ const SH_NOT_FOUND = 127;
53
+ /** `sh` reports a signal-killed child as 128 + the signal number. */
54
+ const SH_SIGNAL_EXIT_BASE = 128;
55
+ /**
56
+ * Waits for the launcher's go-file (`$3`), then runs `cap run <id>` and records
57
+ * its exit status atomically. `$1` = the capability id, `$2` = the run
58
+ * directory's `IN_FLIGHT_RUN_FILES.status` path, `$3` = its go-file. The
59
+ * launcher creates the go-file only AFTER the in-flight record is on disk, so
60
+ * a gate never runs unrecorded; a launcher that dies in between leaves a
61
+ * wrapper that gives up after ~10 s without running anything (exit 125, no
62
+ * status — the record then reads as dead and is discarded). All three are
63
+ * positional arguments — never interpolated into the script.
64
+ */
65
+ const WRAPPER_SCRIPT = 'i=0; while [ ! -e "$3" ]; do i=$((i+1)); [ "$i" -gt 200 ] && exit 125; sleep 0.05; done; ' +
66
+ 'ai-dossier cap run "$1"; s=$?; echo "$s" > "$2.tmp" && mv "$2.tmp" "$2"';
67
+ /** Go-file inside a run directory (see {@link WRAPPER_SCRIPT}). */
68
+ const GO_FILE = 'go';
69
+ function sleepSync(ms) {
70
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
71
+ }
72
+ function gitHead(cwd) {
73
+ try {
74
+ const r = (0, node_child_process_1.spawnSync)('git', ['rev-parse', 'HEAD'], {
75
+ cwd,
76
+ encoding: 'utf-8',
77
+ timeout: GIT_HEAD_TIMEOUT_MS,
78
+ });
79
+ const sha = typeof r.stdout === 'string' ? r.stdout.trim() : '';
80
+ return r.status === 0 && /^[0-9a-f]{7,64}$/.test(sha) ? sha : null;
81
+ }
82
+ catch {
83
+ return null;
84
+ }
85
+ }
86
+ /** Last `maxBytes` of a file ('' when absent), and whether it was cut. */
87
+ function readTail(file, maxBytes) {
88
+ let fd;
89
+ try {
90
+ fd = node_fs_1.default.openSync(file, 'r');
91
+ }
92
+ catch {
93
+ return { text: '', truncated: false };
94
+ }
95
+ try {
96
+ const size = node_fs_1.default.fstatSync(fd).size;
97
+ const length = Math.min(size, maxBytes);
98
+ const buf = Buffer.alloc(length);
99
+ const read = node_fs_1.default.readSync(fd, buf, 0, length, size - length);
100
+ return { text: buf.subarray(0, read).toString('utf-8'), truncated: size > maxBytes };
101
+ }
102
+ finally {
103
+ node_fs_1.default.closeSync(fd);
104
+ }
105
+ }
106
+ function signalGroup(pgid, signal) {
107
+ try {
108
+ process.kill(-pgid, signal);
109
+ }
110
+ catch {
111
+ // group already gone
112
+ }
113
+ }
114
+ /** Another live process (not this one) — the launcher of a run we adopted, say. */
115
+ function otherProcessAlive(pid) {
116
+ return Number.isInteger(pid) && pid > 1 && pid !== process.pid && (0, sched_1.pidExists)(pid);
117
+ }
118
+ function errno(message, code) {
119
+ return Object.assign(new Error(message), { code });
120
+ }
121
+ /**
122
+ * Wait for a recorded run to finish (its wrapper wrote a status) or die. At
123
+ * `deadlineMs` the whole process group is killed — but only while
124
+ * `inFlightAlive` still confirms it is OUR gate (identity-checked: a recycled
125
+ * pid never gets a group signal). Returns whether it timed out.
126
+ */
127
+ function waitForRun(record, deadlineMs) {
128
+ const statusFile = node_path_1.default.join(record.run_dir, sched_1.IN_FLIGHT_RUN_FILES.status);
129
+ for (;;) {
130
+ if (node_fs_1.default.existsSync(statusFile))
131
+ return { timedOut: false };
132
+ if (!(0, sched_1.inFlightAlive)(record))
133
+ return { timedOut: false };
134
+ if (Date.now() >= deadlineMs)
135
+ break;
136
+ sleepSync(Math.min(exports.TRACKED_POLL_MS, Math.max(1, deadlineMs - Date.now())));
137
+ }
138
+ if ((0, sched_1.inFlightAlive)(record))
139
+ signalGroup(record.pid, 'SIGTERM');
140
+ const graceEnd = Date.now() + exports.TRACKED_KILL_GRACE_MS;
141
+ while (Date.now() < graceEnd && (0, sched_1.inFlightAlive)(record) && !node_fs_1.default.existsSync(statusFile)) {
142
+ sleepSync(KILL_GRACE_POLL_MS);
143
+ }
144
+ if ((0, sched_1.inFlightAlive)(record))
145
+ signalGroup(record.pid, 'SIGKILL');
146
+ return { timedOut: true };
147
+ }
148
+ /** Build the `spawnSync`-shaped result from a run directory. */
149
+ function collect(record, timedOut, maxBuffer, notes) {
150
+ const dir = record.run_dir;
151
+ const out = readTail(node_path_1.default.join(dir, sched_1.IN_FLIGHT_RUN_FILES.stdout), maxBuffer);
152
+ const err = readTail(node_path_1.default.join(dir, sched_1.IN_FLIGHT_RUN_FILES.stderr), maxBuffer);
153
+ if (out.truncated || err.truncated) {
154
+ notes.push(`output truncated to its last ${maxBuffer} bytes`);
155
+ }
156
+ let code = null;
157
+ try {
158
+ const parsed = Number.parseInt(node_fs_1.default.readFileSync(node_path_1.default.join(dir, sched_1.IN_FLIGHT_RUN_FILES.status), 'utf-8').trim(), 10);
159
+ code = Number.isInteger(parsed) ? parsed : null;
160
+ }
161
+ catch {
162
+ code = null;
163
+ }
164
+ let status = code;
165
+ let signal = null;
166
+ let error;
167
+ if (code !== null && code > SH_SIGNAL_EXIT_BASE) {
168
+ // `$?` of a signal-killed `cap run` — report it the way spawnSync would.
169
+ const name = Object.entries(node_os_1.default.constants.signals).find(([, n]) => n === code - SH_SIGNAL_EXIT_BASE)?.[0];
170
+ if (name !== undefined) {
171
+ status = null;
172
+ signal = name;
173
+ }
174
+ }
175
+ if (timedOut) {
176
+ // Our own deadline fired: ETIMEDOUT exactly like spawnSync, whatever the
177
+ // wrapper managed to record during the kill grace.
178
+ error = errno(`cap run ${record.capability} ETIMEDOUT after ${record.timeout_ms}ms`, 'ETIMEDOUT');
179
+ status = null;
180
+ signal = signal ?? 'SIGTERM';
181
+ }
182
+ else if (code === SH_NOT_FOUND &&
183
+ !node_fs_1.default.existsSync(node_path_1.default.join(dir, sched_1.IN_FLIGHT_RUN_FILES.envelope))) {
184
+ // `sh` could not find `ai-dossier` on PATH — spawnSync's ENOENT.
185
+ error = errno('spawnSync ai-dossier ENOENT', 'ENOENT');
186
+ status = null;
187
+ }
188
+ return {
189
+ pid: record.pid,
190
+ output: [null, out.text, err.text],
191
+ stdout: out.text,
192
+ stderr: err.text,
193
+ status,
194
+ signal,
195
+ ...(error !== undefined ? { error } : {}),
196
+ };
197
+ }
198
+ function trackedResult(record, timedOut, opts, notes, release) {
199
+ const spawned = collect(record, timedOut, opts.maxBuffer, notes);
200
+ return {
201
+ spawned,
202
+ envelopeFile: node_path_1.default.join(record.run_dir, sched_1.IN_FLIGHT_RUN_FILES.envelope),
203
+ notes,
204
+ release,
205
+ };
206
+ }
207
+ /**
208
+ * Remove a record this process did NOT launch — unless its launcher is still
209
+ * alive (a live engine while an operator's `sched resume --batch` waited
210
+ * alongside it): that launcher consumes and cleans up its own run.
211
+ */
212
+ function releaseAdopted(dir, record) {
213
+ if (!otherProcessAlive(record.launcher_pid))
214
+ (0, sched_1.removeInFlight)(dir, record);
215
+ }
216
+ /**
217
+ * The adoption half of {@link runTrackedCapRun}: a result when a recorded run
218
+ * for this worktree + capability supplied the verdict, else null (launch fresh).
219
+ */
220
+ function adoptExisting(existing, capabilityId, worktree, head, opts, notes) {
221
+ const dir = opts.inFlightDir;
222
+ const finished = (0, sched_1.inFlightFinished)(existing);
223
+ const alive = !finished && (0, sched_1.inFlightAlive)(existing);
224
+ if (alive) {
225
+ // Never launch a duplicate next to a live gate (#1233) — wait for it, and
226
+ // say so in the record (the in-tick heartbeat keys on it).
227
+ notes.push(`adopted in-flight ${capabilityId} pid ${existing.pid} started ${existing.started_at} by pid ${existing.launcher_pid}`);
228
+ process.stderr.write(`▶ sched: adopting in-flight ${capabilityId} (pid ${existing.pid}, started ${existing.started_at}) in ${worktree} instead of launching a duplicate\n`);
229
+ try {
230
+ (0, sched_1.writeInFlight)(dir, { ...existing, waiter_pid: process.pid });
231
+ }
232
+ catch {
233
+ // advisory: only the in-tick heartbeat reads waiter_pid
234
+ }
235
+ const { timedOut } = waitForRun(existing, Date.parse(existing.started_at) + existing.timeout_ms);
236
+ if (head !== null && existing.head === head) {
237
+ return trackedResult(existing, timedOut, opts, notes, () => releaseAdopted(dir, existing));
238
+ }
239
+ notes.push(`adopted run was against HEAD ${existing.head ?? 'unknown'}, now ${head ?? 'unknown'} — re-running`);
240
+ releaseAdopted(dir, existing);
241
+ return null;
242
+ }
243
+ if (finished &&
244
+ head !== null &&
245
+ existing.head === head &&
246
+ Date.now() - Date.parse(existing.started_at) < exports.ADOPT_FINISHED_MAX_AGE_MS) {
247
+ notes.push(`adopted finished ${capabilityId} pid ${existing.pid} (started ${existing.started_at}) for the same HEAD`);
248
+ return trackedResult(existing, false, opts, notes, () => releaseAdopted(dir, existing));
249
+ }
250
+ notes.push(`discarded ${finished ? 'stale finished' : 'dead'} in-flight record (pid ${existing.pid}, started ${existing.started_at})`);
251
+ releaseAdopted(dir, existing);
252
+ return null;
253
+ }
254
+ /**
255
+ * Run (or adopt) `ai-dossier cap run <capabilityId>` in `cwd`, tracked under
256
+ * `inFlightDir`. Synchronous; returns once the gate has a verdict, died, or
257
+ * timed out (process group killed).
258
+ */
259
+ function runTrackedCapRun(capabilityId, cwd, opts) {
260
+ const notes = [];
261
+ const worktree = node_path_1.default.resolve(cwd);
262
+ const head = gitHead(worktree);
263
+ const dir = opts.inFlightDir;
264
+ const existing = (0, sched_1.readInFlight)(dir, worktree, capabilityId);
265
+ if (existing !== null) {
266
+ const adopted = adoptExisting(existing, capabilityId, worktree, head, opts, notes);
267
+ if (adopted !== null)
268
+ return adopted;
269
+ }
270
+ const launched = launchTrackedCapRun(capabilityId, worktree, {
271
+ timeoutMs: opts.timeoutMs,
272
+ env: opts.env,
273
+ inFlightDir: dir,
274
+ head,
275
+ });
276
+ if ('error' in launched) {
277
+ return {
278
+ spawned: {
279
+ pid: 0,
280
+ output: [null, '', ''],
281
+ stdout: '',
282
+ stderr: '',
283
+ status: null,
284
+ signal: null,
285
+ error: launched.error,
286
+ },
287
+ envelopeFile: '',
288
+ notes,
289
+ release: () => { },
290
+ };
291
+ }
292
+ const { record } = launched;
293
+ if (launched.note !== undefined)
294
+ notes.push(launched.note);
295
+ const { timedOut } = waitForRun(record, Date.now() + opts.timeoutMs);
296
+ return trackedResult(record, timedOut, opts, notes, () => (0, sched_1.removeInFlight)(dir, record));
297
+ }
298
+ /**
299
+ * Start `cap run <capabilityId>` detached (its own process group) through the
300
+ * status-recording wrapper and record it in the in-flight registry. Returns
301
+ * at once — the caller waits. Exported so a test can stand in for an engine
302
+ * that launched a gate and then died.
303
+ */
304
+ function launchTrackedCapRun(capabilityId, worktree, opts) {
305
+ const dir = opts.inFlightDir;
306
+ (0, sched_1.ensureInFlightDir)(dir);
307
+ const runDir = node_fs_1.default.mkdtempSync(node_path_1.default.join(dir, sched_1.IN_FLIGHT_RUN_DIR_PREFIX));
308
+ const files = {
309
+ status: node_path_1.default.join(runDir, sched_1.IN_FLIGHT_RUN_FILES.status),
310
+ stdout: node_path_1.default.join(runDir, sched_1.IN_FLIGHT_RUN_FILES.stdout),
311
+ stderr: node_path_1.default.join(runDir, sched_1.IN_FLIGHT_RUN_FILES.stderr),
312
+ envelope: node_path_1.default.join(runDir, sched_1.IN_FLIGHT_RUN_FILES.envelope),
313
+ };
314
+ const outFd = node_fs_1.default.openSync(files.stdout, 'w', 0o600);
315
+ const errFd = node_fs_1.default.openSync(files.stderr, 'w', 0o600);
316
+ let pid;
317
+ let spawnError;
318
+ try {
319
+ const child = (0, node_child_process_1.spawn)('/bin/sh', ['-c', WRAPPER_SCRIPT, 'sh', capabilityId, files.status, node_path_1.default.join(runDir, GO_FILE)], {
320
+ cwd: worktree,
321
+ env: { ...(opts.env ?? process.env), [capability_1.CAP_ENVELOPE_FILE_ENV]: files.envelope },
322
+ stdio: ['ignore', outFd, errFd],
323
+ // #1233 (5): its own process group — isolated from signals aimed at the
324
+ // engine's group, and killable as a whole on timeout.
325
+ detached: true,
326
+ });
327
+ // An async spawn failure is reported as an 'error' event; unhandled, it
328
+ // would crash the engine (or its tick worker).
329
+ child.on('error', (err) => {
330
+ spawnError = err;
331
+ });
332
+ child.unref();
333
+ pid = child.pid;
334
+ }
335
+ catch (err) {
336
+ spawnError = err;
337
+ }
338
+ finally {
339
+ node_fs_1.default.closeSync(outFd);
340
+ node_fs_1.default.closeSync(errFd);
341
+ }
342
+ if (pid === undefined) {
343
+ node_fs_1.default.rmSync(runDir, { recursive: true, force: true });
344
+ return { error: spawnError ?? errno('spawn /bin/sh failed: no pid', 'ENOENT') };
345
+ }
346
+ const record = {
347
+ version: 1,
348
+ capability: capabilityId,
349
+ cwd: worktree,
350
+ pid,
351
+ pid_start: (0, sched_1.procStartTime)(pid),
352
+ started_at: new Date().toISOString(),
353
+ timeout_ms: opts.timeoutMs,
354
+ launcher_pid: process.pid,
355
+ run_dir: runDir,
356
+ head: opts.head,
357
+ };
358
+ let note;
359
+ try {
360
+ (0, sched_1.writeInFlight)(dir, record);
361
+ }
362
+ catch (err) {
363
+ // The gate runs untracked: a restart mid-gate could duplicate it. Loud.
364
+ note = `in-flight record not written (${err.message}) — this gate is untracked`;
365
+ process.stderr.write(`⚠ sched: ${capabilityId} pid ${pid}: ${note}\n`);
366
+ }
367
+ // Record on disk (or loudly not) — let the wrapper start `cap run`.
368
+ node_fs_1.default.writeFileSync(node_path_1.default.join(runDir, GO_FILE), '', { mode: 0o600 });
369
+ return note !== undefined ? { record, note } : { record };
370
+ }
371
+ //# sourceMappingURL=cap-run-tracked.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cap-run-tracked.js","sourceRoot":"","sources":["../src/cap-run-tracked.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,26 @@
4
4
  * tested); this file is only argument handling and process wiring.
5
5
  */
6
6
  import type { Command } from 'commander';
7
+ import { type ServiceIo } from '../sched-service';
8
+ interface ServiceOptions {
9
+ project?: string;
10
+ mode?: string;
11
+ autoUpgrade?: boolean;
12
+ alertIssue?: string;
13
+ unitDir?: string;
14
+ repoDir?: string;
15
+ activate?: boolean;
16
+ print?: boolean;
17
+ json?: boolean;
18
+ }
7
19
  /**
8
20
  * `crontab -l`, strictly: `''` only for the verifiable "no crontab for <user>"
9
21
  * case. A missing binary, a permission error or a timeout THROWS — an empty
10
22
  * string there would make install overwrite the user's real crontab.
11
23
  */
12
24
  export declare function readCrontabStrict(): string;
25
+ /** Real process I/O for the supervisor helpers — also used by `sched start`'s unsupervised check (#1233). */
26
+ export declare function serviceIo(opts?: ServiceOptions): ServiceIo;
13
27
  export declare function registerSchedServiceCommands(sched: Command): void;
28
+ export {};
14
29
  //# sourceMappingURL=sched-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sched-service.d.ts","sourceRoot":"","sources":["../../src/commands/sched-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CzC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAyED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAmLjE"}
1
+ {"version":3,"file":"sched-service.d.ts","sourceRoot":"","sources":["../../src/commands/sched-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAKL,KAAK,SAAS,EAQf,MAAM,kBAAkB,CAAC;AAE1B,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAgBD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED,6GAA6G;AAC7G,wBAAgB,SAAS,CAAC,IAAI,GAAE,cAAmB,GAAG,SAAS,CAe9D;AAwDD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAuLjE"}
@@ -39,6 +39,7 @@ var __importStar = (this && this.__importStar) || (function () {
39
39
  })();
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
41
  exports.readCrontabStrict = readCrontabStrict;
42
+ exports.serviceIo = serviceIo;
42
43
  exports.registerSchedServiceCommands = registerSchedServiceCommands;
43
44
  const node_child_process_1 = require("node:child_process");
44
45
  const fs = __importStar(require("node:fs"));
@@ -77,7 +78,8 @@ function readCrontabStrict() {
77
78
  return '';
78
79
  throw new Error(`crontab -l exited ${res.status}: ${stderr || 'no output'}`);
79
80
  }
80
- function realIo(opts) {
81
+ /** Real process I/O for the supervisor helpers — also used by `sched start`'s unsupervised check (#1233). */
82
+ function serviceIo(opts = {}) {
81
83
  return {
82
84
  run,
83
85
  unitDir: opts.unitDir ?? (0, sched_service_1.defaultUnitDir)(),
@@ -168,7 +170,7 @@ function registerSchedServiceCommands(sched) {
168
170
  .action((opts) => {
169
171
  const project = projectOf(opts);
170
172
  const spec = buildSpec(opts, project);
171
- const io = realIo(opts);
173
+ const io = serviceIo(opts);
172
174
  const mode = chooseMode(opts.mode, io);
173
175
  if (opts.print) {
174
176
  console.log(mode === 'systemd' ? (0, sched_service_1.renderSystemdUnit)(spec) : (0, sched_service_1.renderCronBlock)(spec));
@@ -199,7 +201,7 @@ function registerSchedServiceCommands(sched) {
199
201
  .option('--no-activate', 'Only remove files — never call systemctl or crontab')
200
202
  .action((opts) => {
201
203
  const project = projectOf(opts);
202
- const { removed, errors } = (0, sched_service_1.uninstallService)(project, realIo(opts));
204
+ const { removed, errors } = (0, sched_service_1.uninstallService)(project, serviceIo(opts));
203
205
  if (errors.length > 0) {
204
206
  console.error(`✗ [${project}] uninstall incomplete${removed.length ? ` (removed: ${removed.join(', ')})` : ''}`);
205
207
  for (const e of errors)
@@ -218,7 +220,7 @@ function registerSchedServiceCommands(sched) {
218
220
  .option('--json', 'Output as JSON')
219
221
  .action((opts) => {
220
222
  const project = projectOf(opts);
221
- const status = (0, sched_service_1.serviceStatus)(project, realIo(opts));
223
+ const status = (0, sched_service_1.serviceStatus)(project, serviceIo(opts));
222
224
  const lease = new sched_1.SchedStore((0, sched_1.schedStateDir)(project)).engineLeaseStatus();
223
225
  if (opts.json) {
224
226
  console.log(JSON.stringify({ ...status, engine_lease: lease }, null, 2));
@@ -228,6 +230,10 @@ function registerSchedServiceCommands(sched) {
228
230
  console.log(`systemd unit: ${status.systemd.installed ? `installed (${status.systemd.enabled ?? '?'}, ${status.systemd.active ?? '?'})` : 'not installed'}`);
229
231
  console.log(`cron watchdog: ${status.cron.error ? `unknown (${status.cron.error})` : status.cron.installed ? 'installed' : 'not installed'}`);
230
232
  console.log(`engine: ${lease ? `pid ${lease.pid} ${lease.alive ? 'live' : 'STALE'}${lease.updated_at ? `, heartbeat ${lease.updated_at}` : ''}` : 'no lease (not running)'}`);
233
+ // #1233: an engine can be dead while the gate it launched still runs.
234
+ for (const g of (0, sched_1.listInFlight)((0, sched_1.inFlightDir)((0, sched_1.schedStateDir)(project)))) {
235
+ console.log(`gate in flight: ${(0, sched_1.describeInFlight)(g)}`);
236
+ }
231
237
  if (!status.supervised) {
232
238
  console.log('⚠ NOT supervised — a crash or reboot leaves the queue unattended. Run `ai-dossier sched service install`.');
233
239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sched-service.js","sourceRoot":"","sources":["../../src/commands/sched-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sched-service.js","sourceRoot":"","sources":["../../src/commands/sched-service.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@
8
8
  * watching parked PRs, script-based teardown of merged worktrees, and the
9
9
  * cheap-tier report dispatch.
10
10
  */
11
- import type { CapabilityGateResult } from '@ai-dossier/sched';
11
+ import type { CapabilityGateResult, SchedConfig } from '@ai-dossier/sched';
12
+ import { type EngineDeps, Journal, SchedStore } from '@ai-dossier/sched';
12
13
  import type { Command } from 'commander';
13
14
  /**
14
15
  * Batch-worktree `ai-dossier cap run <id>` runner for the per-member
@@ -28,12 +29,26 @@ import type { Command } from 'commander';
28
29
  export declare function createBatchCapabilityRunner(opts?: {
29
30
  /** Overridable so tests can exercise the ETIMEDOUT branch cheaply (mirrors `createBatchSuiteRunner`). */
30
31
  timeoutMs?: number;
32
+ /** #1233: track the gate in the sched state's in-flight registry (adopt, never duplicate). */
33
+ inFlightDir?: string;
31
34
  }): (worktree: string, capabilityId: string) => CapabilityGateResult;
32
35
  /** Supervisor restart request used when the runtime has no `process.execve`. */
33
36
  export declare const UPGRADE_RESTART_EXIT_CODE = 75;
34
37
  type ExecveFn = (file: string, args: string[], env: NodeJS.ProcessEnv) => never;
35
38
  /** Replace this process with the updated CLI, preserving its invocation. */
36
39
  export declare function reexecUpdatedCli(execveOverride?: ExecveFn | null): boolean;
40
+ /**
41
+ * The engine's dependencies for `sched start` — one place, so the inline tick
42
+ * and the tick worker (#1233, `sched-tick-worker.ts`) build identical engines.
43
+ */
44
+ export declare function buildEngineDeps(opts: {
45
+ store: SchedStore;
46
+ journal: Journal;
47
+ anchorRepo: string | undefined;
48
+ /** The config snapshot of the tick in progress (the suite runner reads it per run). */
49
+ getTickConfig: () => SchedConfig;
50
+ repoDir?: string;
51
+ }): EngineDeps;
37
52
  export declare function registerSchedCommand(program: Command): void;
38
53
  export {};
39
54
  //# sourceMappingURL=sched.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sched.d.ts","sourceRoot":"","sources":["../../src/commands/sched.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAKV,oBAAoB,EAQrB,MAAM,mBAAmB,CAAC;AAsF3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDzC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE;IACjD,yGAAyG;IACzG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,oBAAoB,CA4DnE;AA+nED,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAgG5C,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC;AAEhF,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAyB1E;AAobD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB3D"}
1
+ {"version":3,"file":"sched.d.ts","sourceRoot":"","sources":["../../src/commands/sched.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAKV,oBAAoB,EAKpB,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EA0BL,KAAK,UAAU,EAef,OAAO,EAgCP,UAAU,EAaX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6DzC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE;IACjD,yGAAyG;IACzG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,oBAAoB,CAgEnE;AAmpED,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAgG5C,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC;AAEhF,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAyB1E;AAyBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uFAAuF;IACvF,aAAa,EAAE,MAAM,WAAW,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,UAAU,CAmFb;AAgYD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB3D"}