@ai-dossier/sched 0.10.0 → 0.12.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.
@@ -4,12 +4,19 @@
4
4
  * last-progress timestamp tracked in state.json"; RFC-0001 §C.1 "spawns agent
5
5
  * processes via the existing `run` machinery").
6
6
  *
7
- * The command is a template (default `claude -p --output-format json --model
8
- * {model}` — the same headless invocation `ai-dossier run` builds in
9
- * cli/src/helpers.ts) with `{model}`/`{issue}` placeholders; the prompt
10
- * travels on stdin exactly like the run machinery's headless path. Children
11
- * spawn DETACHED and unref'd: an agent must survive a sched crash (RFC F.10 —
12
- * restart reconciles by pid, it never owns the agent's lifetime).
7
+ * The command is a template (default `claude -p --output-format stream-json
8
+ * --verbose --model {model}` — `ai-dossier run`'s headless invocation in
9
+ * cli/src/helpers.ts uses the one-shot `json` form instead, because it
10
+ * captures stdout in-process from an agent it waits on; a detached dispatch
11
+ * needs incremental output, see {@link DEFAULT_DISPATCH_COMMAND}) with
12
+ * `{model}`/`{issue}` placeholders; the prompt
13
+ * travels on stdin exactly like the run machinery's headless path. Each tier
14
+ * may override the template AND the agent CLI independently (#527,
15
+ * `dispatch.tiers`) — a unit can start on `opencode` for the cheap tiers and
16
+ * be rescued on `claude` at the strong tier; `resolveDispatch` merges the
17
+ * per-tier override with the top-level `command`/`tier_models` shorthand.
18
+ * Children spawn DETACHED and unref'd: an agent must survive a sched crash
19
+ * (RFC F.10 — restart reconciles by pid, it never owns the agent's lifetime).
13
20
  *
14
21
  * All process I/O is injectable (`SpawnDeps`) so tests spawn fake agents, and
15
22
  * the package itself never invokes an LLM — it spawns a process the operator
@@ -18,7 +25,21 @@
18
25
  import { type ModelTier, type SchedConfig } from './types';
19
26
  /** Default tier → model mapping (claude aliases; override in config.json). */
20
27
  export declare const DEFAULT_TIER_MODELS: Readonly<Record<ModelTier, string>>;
21
- /** Default headless agent command template (claude, the run machinery's first choice). */
28
+ /**
29
+ * Default headless agent command template (claude, the run machinery's first choice).
30
+ *
31
+ * **`stream-json`, not `json` (ai-dossier#524).** `--output-format json`
32
+ * buffers the entire session and writes ONE object at process exit, so the
33
+ * dispatch log stays 0 bytes for the whole run and only fills if the agent
34
+ * exits cleanly. The batch pilot's six 0-byte logs are exactly the six units
35
+ * that never reached a detected exit — they were advanced by ground truth
36
+ * (`external-advance`) while their agent was still alive and then killed, so
37
+ * the one-shot write never happened. `stream-json` emits an event per turn,
38
+ * so the log fills as the run proceeds and `parseAgentUsage` can recover
39
+ * per-turn tokens even from a dispatch that was killed mid-flight.
40
+ * `--verbose` is required by claude whenever `-p` is combined with
41
+ * `stream-json`.
42
+ */
22
43
  export declare const DEFAULT_DISPATCH_COMMAND: readonly string[];
23
44
  /** opencode equivalent (the run machinery's second agent, #459). */
24
45
  export declare const OPENCODE_DISPATCH_COMMAND: readonly string[];
@@ -90,6 +111,15 @@ export declare const DEFAULT_BATCH_TAIL_PROMPT_TEMPLATE: string;
90
111
  * batch granularity, never re-implementing or re-shipping anything.
91
112
  */
92
113
  export declare const DEFAULT_BATCH_REPORT_PROMPT_TEMPLATE: string;
114
+ /** Fully-resolved per-tier spawn spec (#527) — see `ResolvedDispatch.tiers`. */
115
+ export interface ResolvedTierDispatch {
116
+ /** Command template for this tier; `{model}`/`{issue}` unresolved until `buildTierCommand`. */
117
+ commandTemplate: readonly string[];
118
+ /** Model id/alias for this tier; null means "no model flag". */
119
+ model: string | null;
120
+ /** Prompt template for this tier; `{issue}` unresolved. */
121
+ prompt: string;
122
+ }
93
123
  /** Fully-resolved dispatch settings the engine runs with. */
94
124
  export interface ResolvedDispatch {
95
125
  /** Command template with `{model}`/`{issue}` placeholders. */
@@ -108,6 +138,15 @@ export interface ResolvedDispatch {
108
138
  batchReportPrompt: string;
109
139
  /** Model per tier; null means "no model flag" (the command's `--model {model}` pair drops). */
110
140
  tierModels: Record<ModelTier, string | null>;
141
+ /**
142
+ * Per-tier resolved spawn spec (#527) — the mixed agent-CLI escalation
143
+ * ladder. Every tier is fully resolved here: an explicit `dispatch.tiers`
144
+ * entry wins per-field, falling back to `command`/`tierModels`/`prompt`
145
+ * (the shorthand) for any field it leaves unset. `commandTemplate` still
146
+ * carries `{issue}`/`{model}` placeholders — `buildTierCommand` performs
147
+ * the substitution once `issue` is known.
148
+ */
149
+ tiers: Record<ModelTier, ResolvedTierDispatch>;
111
150
  /** Global stall timeout — the fallback used when the in-flight phase has no entry in `phaseStallTimeoutMs` (#495). */
112
151
  stallTimeoutMs: number;
113
152
  /**
@@ -158,11 +197,40 @@ export declare function stallTimeoutForPhase(dispatch: ResolvedDispatch, phase:
158
197
  export declare function stallTimeoutForSlot(dispatch: ResolvedDispatch, phase: string | null, fencedAt: string | null): number;
159
198
  /**
160
199
  * Build the concrete agent argv for one dispatch: substitute `{issue}` and
161
- * `{model}`. When the tier's model is null, the `{model}` item AND its
162
- * immediately-preceding flag (e.g. `--model`) drop together — a command never
163
- * carries a flag whose value is missing.
200
+ * `{model}` into `template` for a single resolved model. When `model` is
201
+ * null, the `{model}` item AND its immediately-preceding flag (e.g.
202
+ * `--model`) drop together — a command never carries a flag whose value is
203
+ * missing.
204
+ */
205
+ export declare function buildCommandForModel(template: readonly string[], model: string | null, issue: number): string[];
206
+ /**
207
+ * Build the concrete agent argv for one dispatch: substitute `{issue}` and
208
+ * `{model}`, looking the model up by `tier`. Kept for back-compat (a public
209
+ * export) — `buildTierCommand` is the #527 replacement callers should use
210
+ * when a `ResolvedDispatch` is available, since it also picks the tier's own
211
+ * command template, not just its model.
164
212
  */
165
213
  export declare function buildAgentCommand(template: readonly string[], tier: ModelTier, issue: number, tierModels: Readonly<Record<ModelTier, string | null>>): string[];
214
+ /**
215
+ * Build the concrete agent argv for one dispatch using the tier's fully
216
+ * resolved spawn spec (#527) — its own command template (falling back to the
217
+ * global `command` when unset) and its own model. This is what makes the
218
+ * escalation ladder mix agent CLIs: `resolved.tiers[tier].commandTemplate`
219
+ * already reflects any `dispatch.tiers[tier].command` override.
220
+ */
221
+ export declare function buildTierCommand(resolved: Pick<ResolvedDispatch, 'tiers'>, tier: ModelTier, issue: number): string[];
222
+ /** A tier's resolved argv + model for one dispatch — kept together so a spawn call and its journal entry can never disagree (#527 review). */
223
+ export interface TierSpawn {
224
+ cmd: string[];
225
+ model: string | null;
226
+ }
227
+ /** Resolve a tier's argv AND model together for one dispatch — the single call every spawn site should use instead of separately calling `buildTierCommand` and reading `tiers[tier].model`. */
228
+ export declare function resolveTierSpawn(resolved: Pick<ResolvedDispatch, 'tiers'>, tier: ModelTier, issue: number): TierSpawn;
229
+ /** A `TierSpawn` as `spawned`/`redispatched`/`fix-dispatched` journal fields — `model` omitted when the tier has none, matching every other optional journal field's convention. */
230
+ export declare function journalCmdModelFields(spawn: TierSpawn): {
231
+ cmd: string;
232
+ model?: string;
233
+ };
166
234
  /**
167
235
  * What a takeover agent is told about the run it inherited (#504).
168
236
  *
@@ -247,6 +315,20 @@ export interface SpawnDeps {
247
315
  }
248
316
  /** `issue:464` → `issue-464` (filesystem-safe unit ids for log file names). */
249
317
  export declare function unitLogName(unit: string): string;
318
+ /**
319
+ * Path to a unit's dispatch log (`<runsDir>/<unitLogName>.log`) — the single
320
+ * definition shared by `spawnAndRecord` (which stats it for
321
+ * `log_offset_at_spawn`, #524) and `recordDispatchRunLog` (which reads it),
322
+ * so the two can never compute different paths for the same unit.
323
+ */
324
+ export declare function dispatchLogPath(runsDir: string, unit: string): string;
325
+ /**
326
+ * Byte size of `file`, or 0 when it does not exist yet (#524: the log's
327
+ * append boundary right before a spawn — `log_offset_at_spawn`). Any other
328
+ * read error also degrades to 0 rather than throwing, since a spawn must
329
+ * never fail over a stat call on a debug log.
330
+ */
331
+ export declare function fileSizeOrZero(file: string): number;
250
332
  /** Poll cadence bounds for `sleep`'s stop-check interval (engine loop). */
251
333
  export declare const STOP_POLL_MIN_MS = 100;
252
334
  export declare const STOP_POLL_MAX_MS = 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
package/dist/dispatch.js CHANGED
@@ -5,12 +5,19 @@
5
5
  * last-progress timestamp tracked in state.json"; RFC-0001 §C.1 "spawns agent
6
6
  * processes via the existing `run` machinery").
7
7
  *
8
- * The command is a template (default `claude -p --output-format json --model
9
- * {model}` — the same headless invocation `ai-dossier run` builds in
10
- * cli/src/helpers.ts) with `{model}`/`{issue}` placeholders; the prompt
11
- * travels on stdin exactly like the run machinery's headless path. Children
12
- * spawn DETACHED and unref'd: an agent must survive a sched crash (RFC F.10 —
13
- * restart reconciles by pid, it never owns the agent's lifetime).
8
+ * The command is a template (default `claude -p --output-format stream-json
9
+ * --verbose --model {model}` — `ai-dossier run`'s headless invocation in
10
+ * cli/src/helpers.ts uses the one-shot `json` form instead, because it
11
+ * captures stdout in-process from an agent it waits on; a detached dispatch
12
+ * needs incremental output, see {@link DEFAULT_DISPATCH_COMMAND}) with
13
+ * `{model}`/`{issue}` placeholders; the prompt
14
+ * travels on stdin exactly like the run machinery's headless path. Each tier
15
+ * may override the template AND the agent CLI independently (#527,
16
+ * `dispatch.tiers`) — a unit can start on `opencode` for the cheap tiers and
17
+ * be rescued on `claude` at the strong tier; `resolveDispatch` merges the
18
+ * per-tier override with the top-level `command`/`tier_models` shorthand.
19
+ * Children spawn DETACHED and unref'd: an agent must survive a sched crash
20
+ * (RFC F.10 — restart reconciles by pid, it never owns the agent's lifetime).
14
21
  *
15
22
  * All process I/O is injectable (`SpawnDeps`) so tests spawn fake agents, and
16
23
  * the package itself never invokes an LLM — it spawns a process the operator
@@ -54,7 +61,11 @@ exports.STOP_POLL_MAX_MS = exports.STOP_POLL_MIN_MS = exports.DEFAULT_BATCH_REPO
54
61
  exports.resolveDispatch = resolveDispatch;
55
62
  exports.stallTimeoutForPhase = stallTimeoutForPhase;
56
63
  exports.stallTimeoutForSlot = stallTimeoutForSlot;
64
+ exports.buildCommandForModel = buildCommandForModel;
57
65
  exports.buildAgentCommand = buildAgentCommand;
66
+ exports.buildTierCommand = buildTierCommand;
67
+ exports.resolveTierSpawn = resolveTierSpawn;
68
+ exports.journalCmdModelFields = journalCmdModelFields;
58
69
  exports.takeoverInstruction = takeoverInstruction;
59
70
  exports.buildPrompt = buildPrompt;
60
71
  exports.buildReportPrompt = buildReportPrompt;
@@ -65,11 +76,14 @@ exports.buildBatchReportPrompt = buildBatchReportPrompt;
65
76
  exports.escalateTier = escalateTier;
66
77
  exports.reportTierFor = reportTierFor;
67
78
  exports.unitLogName = unitLogName;
79
+ exports.dispatchLogPath = dispatchLogPath;
80
+ exports.fileSizeOrZero = fileSizeOrZero;
68
81
  exports.procStartTime = procStartTime;
69
82
  exports.createSpawnDeps = createSpawnDeps;
70
83
  const node_child_process_1 = require("node:child_process");
71
84
  const fs = __importStar(require("node:fs"));
72
85
  const path = __importStar(require("node:path"));
86
+ const core_1 = require("@ai-dossier/core");
73
87
  const project_1 = require("./project");
74
88
  const types_1 = require("./types");
75
89
  /** Default tier → model mapping (claude aliases; override in config.json). */
@@ -78,12 +92,27 @@ exports.DEFAULT_TIER_MODELS = {
78
92
  mid: 'sonnet',
79
93
  strong: 'opus',
80
94
  };
81
- /** Default headless agent command template (claude, the run machinery's first choice). */
95
+ /**
96
+ * Default headless agent command template (claude, the run machinery's first choice).
97
+ *
98
+ * **`stream-json`, not `json` (ai-dossier#524).** `--output-format json`
99
+ * buffers the entire session and writes ONE object at process exit, so the
100
+ * dispatch log stays 0 bytes for the whole run and only fills if the agent
101
+ * exits cleanly. The batch pilot's six 0-byte logs are exactly the six units
102
+ * that never reached a detected exit — they were advanced by ground truth
103
+ * (`external-advance`) while their agent was still alive and then killed, so
104
+ * the one-shot write never happened. `stream-json` emits an event per turn,
105
+ * so the log fills as the run proceeds and `parseAgentUsage` can recover
106
+ * per-turn tokens even from a dispatch that was killed mid-flight.
107
+ * `--verbose` is required by claude whenever `-p` is combined with
108
+ * `stream-json`.
109
+ */
82
110
  exports.DEFAULT_DISPATCH_COMMAND = [
83
111
  'claude',
84
112
  '-p',
85
113
  '--output-format',
86
- 'json',
114
+ 'stream-json',
115
+ '--verbose',
87
116
  '--model',
88
117
  '{model}',
89
118
  ];
@@ -251,17 +280,24 @@ function resolveDispatch(config) {
251
280
  mid: dispatch.tier_models?.mid ?? exports.DEFAULT_TIER_MODELS.mid,
252
281
  strong: dispatch.tier_models?.strong ?? exports.DEFAULT_TIER_MODELS.strong,
253
282
  };
283
+ const command = dispatch.command ?? [...exports.DEFAULT_DISPATCH_COMMAND];
284
+ const prompt = withSupersessionCheckpoint(dispatch.prompt ?? exports.DEFAULT_PROMPT_TEMPLATE);
285
+ const tiers = Object.fromEntries(types_1.TIER_ORDER.map((tier) => [
286
+ tier,
287
+ resolveTierDispatch(dispatch.tiers?.[tier], tier, command, tierModels, prompt),
288
+ ]));
254
289
  return {
255
- command: dispatch.command ?? [...exports.DEFAULT_DISPATCH_COMMAND],
290
+ command,
256
291
  // Wrapped here, not only on the constant: a configured prompt is still a cycle
257
292
  // agent that can be superseded mid-run.
258
- prompt: withSupersessionCheckpoint(dispatch.prompt ?? exports.DEFAULT_PROMPT_TEMPLATE),
293
+ prompt,
259
294
  reportPrompt: dispatch.report_prompt ?? exports.DEFAULT_REPORT_PROMPT_TEMPLATE,
260
295
  fixPrompt: dispatch.fix_prompt ?? exports.DEFAULT_FIX_PROMPT_TEMPLATE,
261
296
  memberPrompt: dispatch.member_prompt ?? exports.DEFAULT_MEMBER_PROMPT_TEMPLATE,
262
297
  batchTailPrompt: dispatch.batch_tail_prompt ?? exports.DEFAULT_BATCH_TAIL_PROMPT_TEMPLATE,
263
298
  batchReportPrompt: dispatch.batch_report_prompt ?? exports.DEFAULT_BATCH_REPORT_PROMPT_TEMPLATE,
264
299
  tierModels,
300
+ tiers,
265
301
  stallTimeoutMs: config.stall_timeout_ms ?? types_1.DEFAULT_STALL_TIMEOUT_MS,
266
302
  phaseStallTimeoutMs: resolvePhaseStallTimeouts(config),
267
303
  reconcileIntervalMs: config.reconcile_interval_ms ?? types_1.DEFAULT_RECONCILE_INTERVAL_MS,
@@ -269,6 +305,23 @@ function resolveDispatch(config) {
269
305
  fenceTakeoverTimeoutMs: dispatch.fence_takeover_timeout_ms ?? types_1.DEFAULT_FENCE_TAKEOVER_TIMEOUT_MS,
270
306
  };
271
307
  }
308
+ /**
309
+ * Resolve one tier's spawn spec (#527): an explicit `dispatch.tiers[tier]`
310
+ * entry wins per-field; any field it leaves unset falls back to the
311
+ * shorthand (`command`/`tierModels[tier]`/`prompt`) — the "migrate
312
+ * transparently" path for pre-#527 configs, which set no `tiers` at all.
313
+ */
314
+ function resolveTierDispatch(spec, tier, fallbackCommand, fallbackTierModels, fallbackPrompt) {
315
+ return {
316
+ commandTemplate: spec?.command ?? fallbackCommand,
317
+ model: spec?.model ?? fallbackTierModels[tier],
318
+ // An explicit override gets the checkpoint too — `fallbackPrompt` already
319
+ // carries it (resolveDispatch wraps the top-level prompt once), so a
320
+ // tier-specific override must not skip the safety instruction just
321
+ // because it bypassed the fallback.
322
+ prompt: spec?.prompt !== undefined ? withSupersessionCheckpoint(spec.prompt) : fallbackPrompt,
323
+ };
324
+ }
272
325
  /**
273
326
  * Merge the built-in per-phase stall defaults with operator config (#495).
274
327
  * A built-in default (`implement`, 90 min) is a FLOOR against the resolved
@@ -322,12 +375,12 @@ function stallTimeoutForSlot(dispatch, phase, fencedAt) {
322
375
  }
323
376
  /**
324
377
  * Build the concrete agent argv for one dispatch: substitute `{issue}` and
325
- * `{model}`. When the tier's model is null, the `{model}` item AND its
326
- * immediately-preceding flag (e.g. `--model`) drop together — a command never
327
- * carries a flag whose value is missing.
378
+ * `{model}` into `template` for a single resolved model. When `model` is
379
+ * null, the `{model}` item AND its immediately-preceding flag (e.g.
380
+ * `--model`) drop together — a command never carries a flag whose value is
381
+ * missing.
328
382
  */
329
- function buildAgentCommand(template, tier, issue, tierModels) {
330
- const model = tierModels[tier] ?? null;
383
+ function buildCommandForModel(template, model, issue) {
331
384
  const argv = [];
332
385
  for (const item of template) {
333
386
  if (item === '{model}') {
@@ -344,6 +397,35 @@ function buildAgentCommand(template, tier, issue, tierModels) {
344
397
  }
345
398
  return argv;
346
399
  }
400
+ /**
401
+ * Build the concrete agent argv for one dispatch: substitute `{issue}` and
402
+ * `{model}`, looking the model up by `tier`. Kept for back-compat (a public
403
+ * export) — `buildTierCommand` is the #527 replacement callers should use
404
+ * when a `ResolvedDispatch` is available, since it also picks the tier's own
405
+ * command template, not just its model.
406
+ */
407
+ function buildAgentCommand(template, tier, issue, tierModels) {
408
+ return buildCommandForModel(template, tierModels[tier] ?? null, issue);
409
+ }
410
+ /**
411
+ * Build the concrete agent argv for one dispatch using the tier's fully
412
+ * resolved spawn spec (#527) — its own command template (falling back to the
413
+ * global `command` when unset) and its own model. This is what makes the
414
+ * escalation ladder mix agent CLIs: `resolved.tiers[tier].commandTemplate`
415
+ * already reflects any `dispatch.tiers[tier].command` override.
416
+ */
417
+ function buildTierCommand(resolved, tier, issue) {
418
+ const tierDispatch = resolved.tiers[tier];
419
+ return buildCommandForModel(tierDispatch.commandTemplate, tierDispatch.model, issue);
420
+ }
421
+ /** Resolve a tier's argv AND model together for one dispatch — the single call every spawn site should use instead of separately calling `buildTierCommand` and reading `tiers[tier].model`. */
422
+ function resolveTierSpawn(resolved, tier, issue) {
423
+ return { cmd: buildTierCommand(resolved, tier, issue), model: resolved.tiers[tier].model };
424
+ }
425
+ /** A `TierSpawn` as `spawned`/`redispatched`/`fix-dispatched` journal fields — `model` omitted when the tier has none, matching every other optional journal field's convention. */
426
+ function journalCmdModelFields(spawn) {
427
+ return { cmd: spawn.cmd.join(' '), ...(spawn.model !== null ? { model: spawn.model } : {}) };
428
+ }
347
429
  /**
348
430
  * What a takeover agent is told about the run it inherited (#504).
349
431
  *
@@ -476,6 +558,39 @@ function reportTierFor(recoveries) {
476
558
  function unitLogName(unit) {
477
559
  return (0, project_1.sanitizeSlug)(unit);
478
560
  }
561
+ /**
562
+ * Path to a unit's dispatch log (`<runsDir>/<unitLogName>.log`) — the single
563
+ * definition shared by `spawnAndRecord` (which stats it for
564
+ * `log_offset_at_spawn`, #524) and `recordDispatchRunLog` (which reads it),
565
+ * so the two can never compute different paths for the same unit.
566
+ */
567
+ function dispatchLogPath(runsDir, unit) {
568
+ return path.join(runsDir, `${unitLogName(unit)}.log`);
569
+ }
570
+ /**
571
+ * Byte size of `file`, or 0 when it does not exist yet (#524: the log's
572
+ * append boundary right before a spawn — `log_offset_at_spawn`). Any other
573
+ * read error also degrades to 0 rather than throwing, since a spawn must
574
+ * never fail over a stat call on a debug log.
575
+ */
576
+ function fileSizeOrZero(file) {
577
+ try {
578
+ return fs.statSync(file).size;
579
+ }
580
+ catch (err) {
581
+ // ENOENT genuinely means "no prior bytes". Any OTHER stat error against a
582
+ // log that may already hold a previous dispatch's output silently
583
+ // re-enables the corruption the offset exists to prevent (claude:
584
+ // a prior dispatch's result attributed to this one; opencode: doubled
585
+ // tokens), so say so rather than degrading in silence.
586
+ const code = err.code;
587
+ if (code !== 'ENOENT') {
588
+ process.stderr.write(`⚠ sched: could not stat dispatch log ${file} (${code}); recording from offset 0 ` +
589
+ `may include a prior dispatch's output\n`);
590
+ }
591
+ return 0;
592
+ }
593
+ }
479
594
  /** Poll cadence bounds for `sleep`'s stop-check interval (engine loop). */
480
595
  exports.STOP_POLL_MIN_MS = 100;
481
596
  exports.STOP_POLL_MAX_MS = 1000;
@@ -530,8 +645,32 @@ function createSpawnDeps(cwd) {
530
645
  return {
531
646
  spawn(cmd, prompt, logFile) {
532
647
  fs.mkdirSync(path.dirname(logFile), { recursive: true, mode: 0o700 });
648
+ // Append, not truncate: `logFile` is per-UNIT (dispatchLogPath), so a
649
+ // redispatch's output lands after any prior dispatch's in the SAME
650
+ // file. `engine.ts`'s `recordDispatchRunLog` (#524) relies on
651
+ // `SlotEntry.log_offset_at_spawn` — stamped from this file's size right
652
+ // before this spawn — to read only the current dispatch's own slice.
533
653
  const out = fs.openSync(logFile, 'a', 0o600);
534
654
  try {
655
+ // #524: a log must never be 0 bytes for a unit that ran. The agent's
656
+ // own first write can be seconds (claude) or minutes away, and an
657
+ // agent killed before it writes anything would otherwise leave an
658
+ // empty file indistinguishable from "never spawned". This preamble
659
+ // makes the dispatch self-describing from t=0 and marks the boundary
660
+ // `log_offset_at_spawn` points at. Every parser in
661
+ // `@ai-dossier/core`'s agent-usage skips this `type`, so it never
662
+ // counts as agent output. Best-effort: a telemetry marker must not
663
+ // stop a dispatch, so a failed write is swallowed.
664
+ try {
665
+ fs.writeSync(out, `${JSON.stringify({ type: core_1.SCHED_DISPATCH_EVENT, ts: new Date().toISOString(), cmd })}\n`);
666
+ }
667
+ catch (err) {
668
+ // The fd opened fine, so the spawn below will NOT surface this — and
669
+ // a failed preamble write (ENOSPC, EDQUOT, EIO) leaves exactly the
670
+ // 0-byte log the preamble exists to prevent. Warn, matching
671
+ // `Journal.append`'s convention, rather than failing the dispatch.
672
+ process.stderr.write(`⚠ sched: could not write dispatch preamble to ${logFile}: ${err.message}\n`);
673
+ }
535
674
  const child = (0, node_child_process_1.spawn)(cmd[0], cmd.slice(1), {
536
675
  ...(cwd ? { cwd } : {}),
537
676
  detached: true,
@@ -548,6 +687,19 @@ function createSpawnDeps(cwd) {
548
687
  child.stdin.write(prompt);
549
688
  child.stdin.end();
550
689
  }
690
+ // A second marker once the pid is known: `events.jsonl` keys
691
+ // everything on pid/slot, and without this a log slice can only be
692
+ // matched to its journal record by timestamp. Parsers skip it by
693
+ // `type`, same as the preamble.
694
+ if (child.pid !== undefined) {
695
+ try {
696
+ fs.writeSync(out, `${JSON.stringify({ type: core_1.SCHED_DISPATCH_EVENT, event: 'spawned', pid: child.pid, ts: new Date().toISOString() })}\n`);
697
+ }
698
+ catch {
699
+ // Best-effort correlation aid; the preamble already guaranteed
700
+ // the log is non-empty, and its catch above warns on real trouble.
701
+ }
702
+ }
551
703
  child.unref();
552
704
  if (child.pid === undefined) {
553
705
  throw new Error(`failed to spawn '${cmd[0]}' — is it on PATH? (command: ${cmd.join(' ')})`);
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -85,6 +85,14 @@ export interface EngineDeps {
85
85
  * existed, journaling `fence-failed` so the gap is visible rather than silent.
86
86
  */
87
87
  fencer?: RunFencer;
88
+ /**
89
+ * Home directory `runs.jsonl` telemetry (#524) is written under —
90
+ * `<homeDir>/.dossier/runs.jsonl`, the same file `cli`'s `ai-dossier run`
91
+ * writes to. Optional and defaults to `os.homedir()` (via
92
+ * `appendSchedRunLog`'s own default) when absent — override ONLY for
93
+ * tests, so they never touch the real machine's `~/.dossier`.
94
+ */
95
+ homeDir?: string;
88
96
  /**
89
97
  * Exec for batch git/milestone-CLI operations (#523) — worktree claim, member
90
98
  * commit-range recording, milestone posting, PR watch. Optional, and required
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAQL,KAAK,SAAS,EAKf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EACL,KAAK,WAAW,EAMjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAe,KAAK,OAAO,EAAa,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC,OAAO,EAML,KAAK,WAAW,EAOjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACtC;;;;OAIG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC9C;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;CACzD;AAED,qDAAqD;AACrD,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,sDAAsD;IACtD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gFAAgF;IAChF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,6GAA6G;IAC7G,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,uHAAuH;IACvH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qFAAqF;IACrF,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2FAA2F;IAC3F,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uEAAuE;IACvE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAm3CD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAoEtE;AAeD;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAC3B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,OAAO,EACzB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GACpC,OAAO,CAAC,IAAI,CAAC,CAcf"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAWL,KAAK,SAAS,EAKf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EACL,KAAK,WAAW,EAMjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAe,KAAK,OAAO,EAAa,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAWxC,OAAO,EAML,KAAK,WAAW,EAOjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACtC;;;;OAIG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC9C;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;CACzD;AAED,qDAAqD;AACrD,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,sDAAsD;IACtD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gFAAgF;IAChF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,6GAA6G;IAC7G,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,uHAAuH;IACvH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qFAAqF;IACrF,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2FAA2F;IAC3F,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uEAAuE;IACvE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAohDD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAoEtE;AAeD;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAC3B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,OAAO,EACzB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GACpC,OAAO,CAAC,IAAI,CAAC,CAcf"}