@ai-dossier/sched 0.9.0 → 0.11.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.
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Per-dispatch `runs.jsonl` telemetry for the scheduler (#524).
3
+ *
4
+ * `packages/sched` spawns agents detached and never read their JSON result
5
+ * back — `~/.dossier/runs.jsonl` had zero entries for scheduler-dispatched
6
+ * units, so per-issue cost could not be baselined. This module closes that
7
+ * gap: one entry per completed dispatch (a redispatch/takeover produces
8
+ * another entry, not an update to the first — each is a distinct process
9
+ * with its own tokens/duration), written to the SAME `runs.jsonl` `cli`'s
10
+ * `ai-dossier run` already writes to, using the shared `RunLogEntry` schema
11
+ * from `@ai-dossier/core`.
12
+ *
13
+ * Deliberately not `cli`'s `appendRunLog` (`cli/src/run-log.ts`): `sched`
14
+ * cannot depend on `cli` (the dependency runs the other way). It is gated by
15
+ * its own opt-out instead — see {@link schedTelemetryEnabled}.
16
+ */
17
+ import type { RunLogEntry } from '@ai-dossier/core';
18
+ import { runsLogPath, usageParserFor } from '@ai-dossier/core';
19
+ export { runsLogPath as schedRunsLogPath, usageParserFor };
20
+ /**
21
+ * Whether to write sched dispatch telemetry to `runs.jsonl`. Defaults to
22
+ * **on** — `sched stats` and the RFC-0001 cost gates exist because this data
23
+ * was missing (#524), so an operator who never touched the setting keeps it.
24
+ *
25
+ * A SEPARATE key from the CLI's `auditLog` (ai-dossier#524, decision 2).
26
+ * `auditLog` gates what `ai-dossier run` records about the user's own CLI
27
+ * invocations; honouring it here would silently give an operator who disabled
28
+ * it zero scheduler cost visibility, and ignoring it would just as silently
29
+ * widen a flag whose documented scope is the audit log. Two concerns, two
30
+ * keys, both honest: a disabled `schedTelemetry` makes `sched stats` say so
31
+ * rather than report an empty cohort as if nothing had run.
32
+ *
33
+ * Unreadable or malformed config is treated as "not opted out" — telemetry is
34
+ * the default, and a broken config file must not silently disable it.
35
+ */
36
+ export declare function schedTelemetryEnabled(home?: string): boolean;
37
+ /** Everything `buildSchedRunLogEntry` needs to build one dispatch's entry. */
38
+ export interface SchedRunLogInput {
39
+ /** Scheduler unit id, e.g. `issue:524` or `batch:b1` — the run-log correlation key. */
40
+ unit: string;
41
+ /** The role this dispatch ran as, for the synthetic `dossier` label — `sched:cycle` / `sched:report`. */
42
+ role: string;
43
+ /** Command template's binary (`cmd[0]`) — selects the usage parser. */
44
+ cmd0: string;
45
+ /** Full argv actually spawned (binary + args, prompt excluded — travels on stdin). */
46
+ cmd: readonly string[];
47
+ /**
48
+ * This dispatch's OWN slice of the log file — never the whole file for a
49
+ * unit with prior dispatches. The log is per-unit and append-mode
50
+ * (`createSpawnDeps`), so a caller must read only
51
+ * `[log_offset_at_spawn, EOF)`, e.g. via `readDispatchLog(file, offset)` —
52
+ * passing the whole accumulated file here would parse (or double-count)
53
+ * a prior dispatch's output too. Null when unreadable.
54
+ */
55
+ logContent: string | null;
56
+ /** `SlotEntry.spawned_at` at the start of this dispatch, or null when unknown (pre-#524 slot). */
57
+ spawnedAt: string | null;
58
+ /** Completion time (engine's `now()`), used for `timestamp` and — with `spawnedAt` — `duration_ms`. */
59
+ completedAt: Date;
60
+ /** The tier's configured model, used when the agent's own JSON result did not report one. */
61
+ configuredModel: string | null;
62
+ /** The scheduler's repo working directory (`EngineDeps.repoDir`) — the sched analogue of a CLI invocation's cwd. */
63
+ cwd: string;
64
+ /** Process exit/signal info, when the engine has it — usually not: see the field's own doc. */
65
+ exitCode?: number | null;
66
+ spawnError?: string | null;
67
+ }
68
+ /**
69
+ * Build one `RunLogEntry` for a completed sched dispatch.
70
+ *
71
+ * `input_tokens`/`output_tokens`/cache tokens/cost come from `parseAgentUsage`/
72
+ * `parseOpenCodeUsage` (via `usageParserFor`) — `modelUsage`-sourced, never
73
+ * blended with a top-level `usage` block (the fix for the ~43% fabricated-
74
+ * saving bug, #524). Null when `logContent` is missing or does not parse as
75
+ * the expected agent's result shape — never fabricated, and distinguishable
76
+ * from "no usage reported" only by reading `spawned_command`/`exit_code`
77
+ * alongside it (this function does not synthesize a separate "parse failed"
78
+ * flag: a null log plus a normal exit is itself the signal something
79
+ * upstream lost the output).
80
+ *
81
+ * `exit_code` is null for sched dispatches unless the caller supplies one:
82
+ * children are spawned detached and unref'd (dispatch.ts) so sched can
83
+ * survive its own restarts without owning the agent's lifetime — there is no
84
+ * `'exit'` event to read a real exit code from. This is a known, accepted
85
+ * gap, not a regression this function introduces.
86
+ */
87
+ export declare function buildSchedRunLogEntry(input: SchedRunLogInput): RunLogEntry;
88
+ /**
89
+ * Append one entry to `~/.dossier/runs.jsonl`. Never throws — a telemetry
90
+ * write must not fail the reconcile tick it runs inside. Returns `false` on
91
+ * failure so the caller can journal it (`recordDispatchRunLog` does) rather
92
+ * than the write vanishing with zero operator-visible signal.
93
+ *
94
+ * A no-op returning `true` when {@link schedTelemetryEnabled} is false: the
95
+ * operator opted out, so writing nothing is the SUCCESSFUL outcome, not a
96
+ * failure for the caller to journal as a lost entry.
97
+ */
98
+ export declare function appendSchedRunLog(entry: RunLogEntry, home?: string, onError?: (err: Error) => void): boolean;
99
+ /**
100
+ * Read a dispatch's log file, or null when it does not exist / cannot be
101
+ * read (never throws) — the "0 bytes" pilot symptom (#524) reads as an
102
+ * empty string here, distinct from a missing file, so callers can tell "the
103
+ * agent wrote nothing" from "we couldn't find the log".
104
+ *
105
+ * `offset` (#524) returns only bytes from that position onward — the log is
106
+ * per-unit and append-mode, so a redispatched unit's file holds every prior
107
+ * dispatch's output too; passing `slot.log_offset_at_spawn` here isolates
108
+ * just the dispatch currently being recorded. Default 0 preserves "read the
109
+ * whole file" for a unit's first dispatch (offset unknown / not yet spawned
110
+ * under this scheme).
111
+ */
112
+ export declare function readDispatchLog(logFile: string, offset?: number): string | null;
113
+ //# sourceMappingURL=run-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-log.d.ts","sourceRoot":"","sources":["../src/run-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,cAAc,EAAE,CAAC;AAS3D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAe5D;AA4BD,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;IACb,yGAAyG;IACzG,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kGAAkG;IAClG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uGAAuG;IACvG,WAAW,EAAE,IAAI,CAAC;IAClB,6FAA6F;IAC7F,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oHAAoH;IACpH,GAAG,EAAE,MAAM,CAAC;IACZ,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAWD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,GAAG,WAAW,CA0B1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC7B,OAAO,CAGT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,GAAG,IAAI,CA0C1E"}
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ /**
3
+ * Per-dispatch `runs.jsonl` telemetry for the scheduler (#524).
4
+ *
5
+ * `packages/sched` spawns agents detached and never read their JSON result
6
+ * back — `~/.dossier/runs.jsonl` had zero entries for scheduler-dispatched
7
+ * units, so per-issue cost could not be baselined. This module closes that
8
+ * gap: one entry per completed dispatch (a redispatch/takeover produces
9
+ * another entry, not an update to the first — each is a distinct process
10
+ * with its own tokens/duration), written to the SAME `runs.jsonl` `cli`'s
11
+ * `ai-dossier run` already writes to, using the shared `RunLogEntry` schema
12
+ * from `@ai-dossier/core`.
13
+ *
14
+ * Deliberately not `cli`'s `appendRunLog` (`cli/src/run-log.ts`): `sched`
15
+ * cannot depend on `cli` (the dependency runs the other way). It is gated by
16
+ * its own opt-out instead — see {@link schedTelemetryEnabled}.
17
+ */
18
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ var desc = Object.getOwnPropertyDescriptor(m, k);
21
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
22
+ desc = { enumerable: true, get: function() { return m[k]; } };
23
+ }
24
+ Object.defineProperty(o, k2, desc);
25
+ }) : (function(o, m, k, k2) {
26
+ if (k2 === undefined) k2 = k;
27
+ o[k2] = m[k];
28
+ }));
29
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
30
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
31
+ }) : function(o, v) {
32
+ o["default"] = v;
33
+ });
34
+ var __importStar = (this && this.__importStar) || (function () {
35
+ var ownKeys = function(o) {
36
+ ownKeys = Object.getOwnPropertyNames || function (o) {
37
+ var ar = [];
38
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
39
+ return ar;
40
+ };
41
+ return ownKeys(o);
42
+ };
43
+ return function (mod) {
44
+ if (mod && mod.__esModule) return mod;
45
+ var result = {};
46
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
47
+ __setModuleDefault(result, mod);
48
+ return result;
49
+ };
50
+ })();
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.usageParserFor = exports.schedRunsLogPath = void 0;
53
+ exports.schedTelemetryEnabled = schedTelemetryEnabled;
54
+ exports.buildSchedRunLogEntry = buildSchedRunLogEntry;
55
+ exports.appendSchedRunLog = appendSchedRunLog;
56
+ exports.readDispatchLog = readDispatchLog;
57
+ const fs = __importStar(require("node:fs"));
58
+ const os = __importStar(require("node:os"));
59
+ const path = __importStar(require("node:path"));
60
+ const core_1 = require("@ai-dossier/core");
61
+ Object.defineProperty(exports, "schedRunsLogPath", { enumerable: true, get: function () { return core_1.runsLogPath; } });
62
+ Object.defineProperty(exports, "usageParserFor", { enumerable: true, get: function () { return core_1.usageParserFor; } });
63
+ const journal_1 = require("./journal");
64
+ /**
65
+ * Config key gating sched dispatch telemetry — read from the same
66
+ * `~/.dossier/config.json` the CLI writes (`dossier config schedTelemetry
67
+ * false`), but read directly here because `sched` cannot depend on `cli`.
68
+ */
69
+ const SCHED_TELEMETRY_KEY = 'schedTelemetry';
70
+ /**
71
+ * Whether to write sched dispatch telemetry to `runs.jsonl`. Defaults to
72
+ * **on** — `sched stats` and the RFC-0001 cost gates exist because this data
73
+ * was missing (#524), so an operator who never touched the setting keeps it.
74
+ *
75
+ * A SEPARATE key from the CLI's `auditLog` (ai-dossier#524, decision 2).
76
+ * `auditLog` gates what `ai-dossier run` records about the user's own CLI
77
+ * invocations; honouring it here would silently give an operator who disabled
78
+ * it zero scheduler cost visibility, and ignoring it would just as silently
79
+ * widen a flag whose documented scope is the audit log. Two concerns, two
80
+ * keys, both honest: a disabled `schedTelemetry` makes `sched stats` say so
81
+ * rather than report an empty cohort as if nothing had run.
82
+ *
83
+ * Unreadable or malformed config is treated as "not opted out" — telemetry is
84
+ * the default, and a broken config file must not silently disable it.
85
+ */
86
+ function schedTelemetryEnabled(home) {
87
+ try {
88
+ const configFile = path.join(home ?? os.homedir(), '.dossier', 'config.json');
89
+ const parsed = JSON.parse(fs.readFileSync(configFile, 'utf-8'));
90
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
91
+ return true;
92
+ const value = parsed[SCHED_TELEMETRY_KEY];
93
+ // `'false'` as well as `false`: `dossier config <key> <value>` stores the
94
+ // raw CLI string, so an operator following the documented opt-out writes
95
+ // the string. Accepting only the boolean made the advertised command a
96
+ // silent no-op (#524 review). `cli` coerces at write time now too; this
97
+ // keeps every config file already on disk working.
98
+ return !(value === false || value === 'false');
99
+ }
100
+ catch {
101
+ return true;
102
+ }
103
+ }
104
+ /**
105
+ * Most bytes of a dispatch log read back for usage parsing (#524 review).
106
+ * The log is agent-controlled and unbounded under `stream-json`; this caps
107
+ * what the reconcile tick holds in memory. 32 MiB is far more than any real
108
+ * dispatch's tail needs to reach its `result` event.
109
+ */
110
+ const MAX_DISPATCH_LOG_BYTES = 32 * 1024 * 1024;
111
+ /** `RunLogEntry.dossier` for a sched-dispatched cycle/report agent. */
112
+ function schedDossierLabel(role) {
113
+ return `sched:${role}`;
114
+ }
115
+ // Sentinel values for the CLI-shaped fields a sched dispatch has no real
116
+ // answer for (they describe DOSSIER RESOLUTION, not an agent process) —
117
+ // named here so a reader of `runs.jsonl`/`ai-dossier history` can trace
118
+ // what each one means back to this comment, rather than a bare literal.
119
+ /** `RunLogEntry.resolved_version` — sched dispatches resolve no dossier version. */
120
+ const SCHED_RESOLVED_VERSION = 'n/a';
121
+ /** `RunLogEntry.source` — closest existing enum member; no registry/cache resolution happened. */
122
+ const SCHED_SOURCE = 'local';
123
+ /** `RunLogEntry.verification` — sched dispatches a process, it does not verify a dossier. */
124
+ const SCHED_VERIFICATION = 'skipped';
125
+ /** `RunLogEntry.user` — sched entries are machine-authored, not a human CLI invocation. */
126
+ const SCHED_USER = 'sched';
127
+ /** Whole milliseconds between `spawnedAt` and `completedAt`, or null when unmeasurable. */
128
+ function measureDuration(spawnedAt, completedAt) {
129
+ if (spawnedAt === null)
130
+ return null;
131
+ const started = Date.parse(spawnedAt);
132
+ if (Number.isNaN(started))
133
+ return null; // malformed spawned_at — unmeasurable, not zero
134
+ const elapsed = completedAt.getTime() - started;
135
+ return elapsed >= 0 ? elapsed : null; // negative = clock skew, not a real duration
136
+ }
137
+ /**
138
+ * Build one `RunLogEntry` for a completed sched dispatch.
139
+ *
140
+ * `input_tokens`/`output_tokens`/cache tokens/cost come from `parseAgentUsage`/
141
+ * `parseOpenCodeUsage` (via `usageParserFor`) — `modelUsage`-sourced, never
142
+ * blended with a top-level `usage` block (the fix for the ~43% fabricated-
143
+ * saving bug, #524). Null when `logContent` is missing or does not parse as
144
+ * the expected agent's result shape — never fabricated, and distinguishable
145
+ * from "no usage reported" only by reading `spawned_command`/`exit_code`
146
+ * alongside it (this function does not synthesize a separate "parse failed"
147
+ * flag: a null log plus a normal exit is itself the signal something
148
+ * upstream lost the output).
149
+ *
150
+ * `exit_code` is null for sched dispatches unless the caller supplies one:
151
+ * children are spawned detached and unref'd (dispatch.ts) so sched can
152
+ * survive its own restarts without owning the agent's lifetime — there is no
153
+ * `'exit'` event to read a real exit code from. This is a known, accepted
154
+ * gap, not a regression this function introduces.
155
+ */
156
+ function buildSchedRunLogEntry(input) {
157
+ const usage = (0, core_1.usageParserFor)(input.cmd0)(input.logContent);
158
+ const duration_ms = measureDuration(input.spawnedAt, input.completedAt);
159
+ return {
160
+ timestamp: input.completedAt.toISOString(),
161
+ dossier: schedDossierLabel(input.role),
162
+ resolved_version: SCHED_RESOLVED_VERSION,
163
+ source: SCHED_SOURCE,
164
+ verification: SCHED_VERIFICATION,
165
+ llm: input.cmd0,
166
+ user: SCHED_USER,
167
+ cwd: input.cwd,
168
+ nested: false,
169
+ duration_ms,
170
+ spawned_command: input.cmd.join(' '),
171
+ model: usage?.model ?? input.configuredModel ?? null,
172
+ exit_code: input.exitCode ?? null,
173
+ spawn_error: input.spawnError ?? null,
174
+ input_tokens: usage?.input_tokens ?? null,
175
+ output_tokens: usage?.output_tokens ?? null,
176
+ cache_creation_tokens: usage?.cache_creation_tokens ?? null,
177
+ cache_read_tokens: usage?.cache_read_tokens ?? null,
178
+ total_cost_usd: usage?.total_cost_usd ?? null,
179
+ unit: input.unit,
180
+ };
181
+ }
182
+ /**
183
+ * Append one entry to `~/.dossier/runs.jsonl`. Never throws — a telemetry
184
+ * write must not fail the reconcile tick it runs inside. Returns `false` on
185
+ * failure so the caller can journal it (`recordDispatchRunLog` does) rather
186
+ * than the write vanishing with zero operator-visible signal.
187
+ *
188
+ * A no-op returning `true` when {@link schedTelemetryEnabled} is false: the
189
+ * operator opted out, so writing nothing is the SUCCESSFUL outcome, not a
190
+ * failure for the caller to journal as a lost entry.
191
+ */
192
+ function appendSchedRunLog(entry, home, onError) {
193
+ if (!schedTelemetryEnabled(home))
194
+ return true;
195
+ return (0, journal_1.appendJsonl)((0, core_1.runsLogPath)(home), entry, onError);
196
+ }
197
+ /**
198
+ * Read a dispatch's log file, or null when it does not exist / cannot be
199
+ * read (never throws) — the "0 bytes" pilot symptom (#524) reads as an
200
+ * empty string here, distinct from a missing file, so callers can tell "the
201
+ * agent wrote nothing" from "we couldn't find the log".
202
+ *
203
+ * `offset` (#524) returns only bytes from that position onward — the log is
204
+ * per-unit and append-mode, so a redispatched unit's file holds every prior
205
+ * dispatch's output too; passing `slot.log_offset_at_spawn` here isolates
206
+ * just the dispatch currently being recorded. Default 0 preserves "read the
207
+ * whole file" for a unit's first dispatch (offset unknown / not yet spawned
208
+ * under this scheme).
209
+ */
210
+ function readDispatchLog(logFile, offset = 0) {
211
+ let fd = null;
212
+ try {
213
+ const size = fs.statSync(logFile).size;
214
+ // Bounded read (#524 review). A `stream-json` dispatch's log grows with
215
+ // every turn and tool result, and its size is controlled entirely by the
216
+ // spawned agent — reading it whole inside the reconcile tick would hold
217
+ // several times the file size resident and can OOM the long-lived
218
+ // scheduler. Read at most the last MAX_DISPATCH_LOG_BYTES: the final
219
+ // `result` event lives at the tail, so the primary path is unaffected and
220
+ // only the per-turn fallback degrades to a partial sum.
221
+ const start = Math.max(offset, size - MAX_DISPATCH_LOG_BYTES);
222
+ const length = size - start;
223
+ if (length <= 0)
224
+ return '';
225
+ // Byte offsets, not UTF-16 string indices: `offset` comes from
226
+ // `fs.statSync().size`, and a string index would misalign against any
227
+ // multi-byte UTF-8 content written before it.
228
+ const buffer = Buffer.allocUnsafe(length);
229
+ fd = fs.openSync(logFile, 'r');
230
+ const read = fs.readSync(fd, buffer, 0, length, start);
231
+ const text = buffer.subarray(0, read).toString('utf-8');
232
+ // When the window skipped past `offset`, its first line is almost
233
+ // certainly a partial one — drop it rather than feeding a truncated
234
+ // record to a parser.
235
+ if (start > offset) {
236
+ const firstBreak = text.indexOf('\n');
237
+ return firstBreak === -1 ? '' : text.slice(firstBreak + 1);
238
+ }
239
+ return text;
240
+ }
241
+ catch {
242
+ return null;
243
+ }
244
+ finally {
245
+ if (fd !== null) {
246
+ try {
247
+ fs.closeSync(fd);
248
+ }
249
+ catch {
250
+ // Already closed / invalid fd — nothing left to release.
251
+ }
252
+ }
253
+ }
254
+ }
255
+ //# sourceMappingURL=run-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-log.js","sourceRoot":"","sources":["../src/run-log.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -32,9 +32,13 @@ export declare function createBatch(id: string, members: readonly number[], now:
32
32
  * `last_suspect_dispatch_unit` (null) — no suspect dispatches were tracked
33
33
  * before, so the zero value is exact, not a guess; 1.5.0 (pre-#504) slots
34
34
  * backfill `gen` (0) and `fenced_at` (null) — nothing was fenced before
35
- * fencing existed, so those values are exact too; 1.6.0 (pre-#523) batches
36
- * backfill `worktree` (null) and `ranges` ([]) — no batch was ever dispatched
37
- * before the engine drove batch execution, so those are exact too. The
35
+ * fencing existed, so those values are exact too; 1.6.0 slots backfill
36
+ * `spawned_at` and `log_offset_at_spawn` (both null, pre-#524) — an in-flight
37
+ * dispatch's start time and log position are unknown, not zero, so its
38
+ * duration and dispatch-log boundary are simply unmeasurable until the next
39
+ * spawn — and 1.6.0 batches backfill `worktree` (null) and `ranges` ([],
40
+ * pre-#523), no batch having been dispatched before the engine drove batch
41
+ * execution, so those are exact too. The
38
42
  * inference is entry-status-first, not phase-first: `phase === 'report'` is
39
43
  * exactly the signal #500 proved unreliable for a LIVE report agent (it
40
44
  * drifts to the issue's pre-report milestone under `phase-updated` well
@@ -67,6 +71,8 @@ export declare const CLEARED_SLOT_FIELDS: {
67
71
  last_head: null;
68
72
  gen: number;
69
73
  fenced_at: null;
74
+ spawned_at: null;
75
+ log_offset_at_spawn: null;
70
76
  };
71
77
  export declare function transitionSlot(state: SchedState, slotId: number, to: SlotStatus, patch?: Partial<SlotEntry>, now?: Date): SchedState;
72
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EAEpB,KAAK,WAAW,EAEhB,KAAK,UAAU,EAIf,KAAK,UAAU,EAEf,KAAK,SAAS,EAEd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AA+HjB,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,UAAU,CAY7C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,IAAI,EACT,IAAI,GAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,CAAC,CAAM,GAC5F,UAAU,CAqBZ;AAoKD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAwPvD;AA0BD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;CAY/B,CAAC;AAEF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,KAAK,GAAE,OAAO,CAAC,SAAS,CAAM,EAC9B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAiBZ;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,EACjD,GAAG,GAAE,IAAiB,GACrB,UAAU,CAOZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACjD,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,IAAiB,EAKtB,KAAK,GAAE;IAAE,gBAAgB,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAAO,GACxD;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAwB1C;AAID,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEpF;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW;kBACR,WAAW;kBACX,WAAW;iBACZ,UAAU;CACxB,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EAEpB,KAAK,WAAW,EAEhB,KAAK,UAAU,EAIf,KAAK,UAAU,EAEf,KAAK,SAAS,EAEd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AA+HjB,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,UAAU,CAY7C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,IAAI,EACT,IAAI,GAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,CAAC,CAAM,GAC5F,UAAU,CAqBZ;AAoKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CA6QvD;AA0BD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAe/B,CAAC;AAEF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,KAAK,GAAE,OAAO,CAAC,SAAS,CAAM,EAC9B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAiBZ;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,EACjD,GAAG,GAAE,IAAiB,GACrB,UAAU,CAOZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACjD,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,IAAiB,EAKtB,KAAK,GAAE;IAAE,gBAAgB,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAAO,GACxD;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAwB1C;AAID,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEpF;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW;kBACR,WAAW;kBACX,WAAW;iBACZ,UAAU;CACxB,CAAC"}
package/dist/state.js CHANGED
@@ -344,9 +344,13 @@ function validateBatchRecovery(batch, id) {
344
344
  * `last_suspect_dispatch_unit` (null) — no suspect dispatches were tracked
345
345
  * before, so the zero value is exact, not a guess; 1.5.0 (pre-#504) slots
346
346
  * backfill `gen` (0) and `fenced_at` (null) — nothing was fenced before
347
- * fencing existed, so those values are exact too; 1.6.0 (pre-#523) batches
348
- * backfill `worktree` (null) and `ranges` ([]) — no batch was ever dispatched
349
- * before the engine drove batch execution, so those are exact too. The
347
+ * fencing existed, so those values are exact too; 1.6.0 slots backfill
348
+ * `spawned_at` and `log_offset_at_spawn` (both null, pre-#524) — an in-flight
349
+ * dispatch's start time and log position are unknown, not zero, so its
350
+ * duration and dispatch-log boundary are simply unmeasurable until the next
351
+ * spawn — and 1.6.0 batches backfill `worktree` (null) and `ranges` ([],
352
+ * pre-#523), no batch having been dispatched before the engine drove batch
353
+ * execution, so those are exact too. The
350
354
  * inference is entry-status-first, not phase-first: `phase === 'report'` is
351
355
  * exactly the signal #500 proved unreliable for a LIVE report agent (it
352
356
  * drifts to the issue's pre-report milestone under `phase-updated` well
@@ -477,6 +481,16 @@ function validateState(data) {
477
481
  !isIsoDateString(slot.fenced_at)) {
478
482
  throw new Error(`Slot ${slot.id}: fenced_at must be an ISO date string or null`);
479
483
  }
484
+ if (slot.spawned_at !== null &&
485
+ slot.spawned_at !== undefined &&
486
+ !isIsoDateString(slot.spawned_at)) {
487
+ throw new Error(`Slot ${slot.id}: spawned_at must be an ISO date string or null`);
488
+ }
489
+ if (slot.log_offset_at_spawn !== null &&
490
+ slot.log_offset_at_spawn !== undefined &&
491
+ (!Number.isInteger(slot.log_offset_at_spawn) || slot.log_offset_at_spawn < 0)) {
492
+ throw new Error(`Slot ${slot.id}: log_offset_at_spawn must be a non-negative integer or null`);
493
+ }
480
494
  if (!isIsoDateString(slot.updated_at)) {
481
495
  throw new Error(`Slot ${slot.id}: updated_at must be an ISO date string`);
482
496
  }
@@ -545,6 +559,11 @@ function validateState(data) {
545
559
  // own the unfenced generation and have no takeover pending.
546
560
  gen: slot.gen ?? 0,
547
561
  fenced_at: slot.fenced_at ?? null,
562
+ // Pre-#524 (1.6.0) slots carry no spawned_at/log_offset_at_spawn — their
563
+ // in-flight duration and log boundary (if any) are unknown, not zero, so
564
+ // both backfill to null like fenced_at.
565
+ spawned_at: slot.spawned_at ?? null,
566
+ log_offset_at_spawn: slot.log_offset_at_spawn ?? null,
548
567
  }));
549
568
  const entries = obj.entries.map((entry) => ({
550
569
  ...entry,
@@ -630,6 +649,9 @@ exports.CLEARED_SLOT_FIELDS = {
630
649
  // flight — the next unit assigned here starts unfenced at generation 0.
631
650
  gen: 0,
632
651
  fenced_at: null,
652
+ // #524: a released slot holds no dispatch — its next spawn stamps these fresh.
653
+ spawned_at: null,
654
+ log_offset_at_spawn: null,
633
655
  };
634
656
  function transitionSlot(state, slotId, to, patch = {}, now = new Date()) {
635
657
  const idx = state.slots.findIndex((s) => s.id === slotId);
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}