@sensigo/realm 0.39.0 → 0.40.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 (48) hide show
  1. package/dist/engine/apply-resume.d.ts.map +1 -1
  2. package/dist/engine/apply-resume.js +5 -1
  3. package/dist/engine/apply-resume.js.map +1 -1
  4. package/dist/engine/execution-loop.d.ts.map +1 -1
  5. package/dist/engine/execution-loop.js +8 -3
  6. package/dist/engine/execution-loop.js.map +1 -1
  7. package/dist/engine/run-health.d.ts +1 -1
  8. package/dist/engine/run-health.d.ts.map +1 -1
  9. package/dist/engine/run-health.js +89 -0
  10. package/dist/engine/run-health.js.map +1 -1
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/store/failed-attempt-store.d.ts +9 -1
  16. package/dist/store/failed-attempt-store.d.ts.map +1 -1
  17. package/dist/store/failed-attempt-store.js +12 -1
  18. package/dist/store/failed-attempt-store.js.map +1 -1
  19. package/dist/store/json-file-store.d.ts +19 -2
  20. package/dist/store/json-file-store.d.ts.map +1 -1
  21. package/dist/store/json-file-store.js +57 -5
  22. package/dist/store/json-file-store.js.map +1 -1
  23. package/dist/store/per-run-artifact-store.d.ts +42 -1
  24. package/dist/store/per-run-artifact-store.d.ts.map +1 -1
  25. package/dist/store/trace-buffer-store.d.ts +32 -6
  26. package/dist/store/trace-buffer-store.d.ts.map +1 -1
  27. package/dist/store/trace-buffer-store.js +39 -6
  28. package/dist/store/trace-buffer-store.js.map +1 -1
  29. package/dist/types/response-envelope.d.ts +0 -1
  30. package/dist/types/response-envelope.d.ts.map +1 -1
  31. package/dist/types/run-record.d.ts +78 -0
  32. package/dist/types/run-record.d.ts.map +1 -1
  33. package/dist/types/workflow-definition.d.ts +11 -1
  34. package/dist/types/workflow-definition.d.ts.map +1 -1
  35. package/dist/types/workflow-definition.js +1 -0
  36. package/dist/types/workflow-definition.js.map +1 -1
  37. package/dist/workflow/diagnostics.d.ts +39 -3
  38. package/dist/workflow/diagnostics.d.ts.map +1 -1
  39. package/dist/workflow/diagnostics.js +37 -10
  40. package/dist/workflow/diagnostics.js.map +1 -1
  41. package/dist/workflow/source-positions.d.ts +39 -0
  42. package/dist/workflow/source-positions.d.ts.map +1 -0
  43. package/dist/workflow/source-positions.js +107 -0
  44. package/dist/workflow/source-positions.js.map +1 -0
  45. package/dist/workflow/yaml-loader.d.ts.map +1 -1
  46. package/dist/workflow/yaml-loader.js +334 -124
  47. package/dist/workflow/yaml-loader.js.map +1 -1
  48. package/package.json +1 -1
@@ -13,7 +13,7 @@ export declare const DEFAULT_IDLE_THRESHOLD_MS: number;
13
13
  * renders from.
14
14
  */
15
15
  export interface RunHealthFinding {
16
- kind: 'never_claimed_idle' | 'stale_claim' | 'wedged_gate_sibling' | 'capability_block' | 'terminal_pending_finalizer' | 'terminal_with_stale_gate' | 'gate_corruption' | 'resolved_gate_with_eligible_guard' | 'completed_with_failed_steps' | 'gate_expired_awaiting_drive' | 'structured_output_downgraded';
16
+ kind: 'never_claimed_idle' | 'drive_failing' | 'stale_claim' | 'wedged_gate_sibling' | 'capability_block' | 'terminal_pending_finalizer' | 'terminal_with_stale_gate' | 'gate_corruption' | 'resolved_gate_with_eligible_guard' | 'completed_with_failed_steps' | 'gate_expired_awaiting_drive' | 'structured_output_downgraded';
17
17
  /** The affected step, when the finding is step-scoped. Absent for `never_claimed_idle` — a
18
18
  * run-level observation (no step is claimed at all). */
19
19
  step?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"run-health.d.ts","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"AA2FA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAK1E;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EACA,oBAAoB,GACpB,aAAa,GACb,qBAAqB,GACrB,kBAAkB,GAClB,4BAA4B,GAE5B,0BAA0B,GAC1B,iBAAiB,GACjB,mCAAmC,GAGnC,6BAA6B,GAM7B,6BAA6B,GAQ7B,8BAA8B,CAAC;IACnC;6DACyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;yCAEqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf;;;;4DAIwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;kDAC8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;mEAG+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAoHD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,GAC/E,gBAAgB,EAAE,CAwKpB"}
1
+ {"version":3,"file":"run-health.d.ts","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"AA2FA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAK1E;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EACA,oBAAoB,GACpB,eAAe,GACf,aAAa,GACb,qBAAqB,GACrB,kBAAkB,GAClB,4BAA4B,GAE5B,0BAA0B,GAC1B,iBAAiB,GACjB,mCAAmC,GAGnC,6BAA6B,GAM7B,6BAA6B,GAQ7B,8BAA8B,CAAC;IACnC;6DACyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;yCAEqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf;;;;4DAIwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;kDAC8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;mEAG+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAyMD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,GAC/E,gBAAgB,EAAE,CA8KpB"}
@@ -122,6 +122,89 @@ function findStructuredOutputDowngrades(run) {
122
122
  evidence: { steps },
123
123
  };
124
124
  }
125
+ /**
126
+ * `drive_failing` (issue #401) — the run's last recorded drive attempt failed, and nothing has
127
+ * happened since.
128
+ *
129
+ * WHY THE LAST-EVENT TEST. A drive failure is only news while it is still the latest thing that
130
+ * happened to the run. If a sibling step settled afterwards, or a gate opened, the run moved on and
131
+ * the failure is history — reporting it then would train an operator to ignore the finding, which
132
+ * is how a watchdog dies. So the entry must be strictly newer than every other timestamped event,
133
+ * floored at `created_at` so a fresh run with no evidence still fires (max of an empty set is
134
+ * negative infinity, and without the floor a stale entry predating the run would fire too).
135
+ *
136
+ * The settled-step guard is the second half of the same idea: if the step the failure names has
137
+ * since landed in completed/failed/skipped, the drive that failed was retried and resolved.
138
+ *
139
+ * Record-only by construction — no definition, no I/O — so `list --stuck`, which passes neither,
140
+ * gets this finding for free.
141
+ */
142
+ function findDriveFailing(run, now) {
143
+ const field = run.drive_failures;
144
+ const lastEntry = field?.entries[field.entries.length - 1];
145
+ if (field === undefined || lastEntry === undefined)
146
+ return undefined;
147
+ if (run.terminal_state)
148
+ return undefined;
149
+ const lastAt = new Date(lastEntry.at).getTime();
150
+ const floor = new Date(run.created_at).getTime();
151
+ const gateOpened = run.pending_gate !== undefined ? new Date(run.pending_gate.opened_at).getTime() : -Infinity;
152
+ const lastEvidence = run.evidence.reduce((max, snap) => Math.max(max, new Date(snap.completed_at).getTime()), -Infinity);
153
+ // NOTE the `<=`, and what it costs: a run created and failed inside the SAME MILLISECOND is
154
+ // not reported, because its failure does not sort after its own creation instant. Real drives
155
+ // spend far longer than a millisecond reaching a provider, so this is invisible in practice —
156
+ // but an in-memory test that creates and fails in one tick will see no finding and should
157
+ // separate the two rather than conclude the predicate is broken.
158
+ if (lastAt <= Math.max(gateOpened, lastEvidence, floor))
159
+ return undefined;
160
+ const settled = new Set([...run.completed_steps, ...run.failed_steps, ...run.skipped_steps]);
161
+ if (settled.has(lastEntry.step))
162
+ return undefined;
163
+ const ago = formatAgo(now.getTime() - lastAt);
164
+ // The total suffix appears ONLY when the ring has rolled — otherwise it would repeat a number
165
+ // the entries themselves already carry.
166
+ const rolled = field.total > field.entries.length;
167
+ const suffix = rolled ? `; ${String(field.total)} failures since ${field.first_failed_at}` : '';
168
+ return {
169
+ kind: 'drive_failing',
170
+ step: lastEntry.step,
171
+ reason: `the last drive attempt failed ${ago} (${lastEntry.error_class}): ${lastEntry.message}${suffix}`,
172
+ evidence: {
173
+ step: lastEntry.step,
174
+ error_class: lastEntry.error_class,
175
+ at: lastEntry.at,
176
+ total: field.total,
177
+ first_failed_at: field.first_failed_at,
178
+ // The discriminators reach the operator only if they travel — an operator debugging a
179
+ // 429 storm needs the status and the Retry-After, not just "api_status".
180
+ ...(lastEntry.last_observed_status !== undefined
181
+ ? { last_observed_status: lastEntry.last_observed_status }
182
+ : {}),
183
+ ...(lastEntry.retry_after_observed_ms !== undefined
184
+ ? { retry_after_observed_ms: lastEntry.retry_after_observed_ms }
185
+ : {}),
186
+ ...(lastEntry.declared_per_attempt_ms !== undefined
187
+ ? { declared_per_attempt_ms: lastEntry.declared_per_attempt_ms }
188
+ : {}),
189
+ ...(lastEntry.derived_ceiling_ms !== undefined
190
+ ? { derived_ceiling_ms: lastEntry.derived_ceiling_ms }
191
+ : {}),
192
+ },
193
+ };
194
+ }
195
+ /** Renders an elapsed span the way an operator reads it: "12s ago", "4m ago", "3h ago". */
196
+ function formatAgo(ms) {
197
+ const s = Math.max(0, Math.floor(ms / 1000));
198
+ if (s < 60)
199
+ return `${String(s)}s ago`;
200
+ const m = Math.floor(s / 60);
201
+ if (m < 60)
202
+ return `${String(m)}m ago`;
203
+ const h = Math.floor(m / 60);
204
+ if (h < 24)
205
+ return `${String(h)}h ago`;
206
+ return `${String(Math.floor(h / 24))}d ago`;
207
+ }
125
208
  /**
126
209
  * Classifies a run's health into zero or more typed findings. Pure, read-only, definition-
127
210
  * optional, `now`-injectable. See the module doc above for the full branch-conditioning table
@@ -231,6 +314,12 @@ export function classifyRunHealth(run, opts) {
231
314
  const structuredOutputDowngrade = findStructuredOutputDowngrades(run);
232
315
  if (structuredOutputDowngrade !== undefined)
233
316
  findings.push(structuredOutputDowngrade);
317
+ // issue #401: drive_failing — the run's last drive attempt failed and nothing has happened
318
+ // since. Deliberately NOT exclusive with `never_claimed_idle`: from 24h onward a
319
+ // failed-then-silent run legitimately trips both, and suppressing either would hide a fact.
320
+ const driveFailing = findDriveFailing(run, now);
321
+ if (driveFailing !== undefined)
322
+ findings.push(driveFailing);
234
323
  // issue #291: gate_expired_awaiting_drive — record-fields-only (never the definition), fires
235
324
  // for BOTH an enactable gate AND a finding-only one (expires_at present, on_expiry absent) —
236
325
  // the finding-only payload names its own disposition as 'finding_only' rather than omitting
@@ -1 +1 @@
1
- {"version":3,"file":"run-health.js","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-health.js","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export * from './store/store-interface.js';
7
7
  export { persistsField } from './store/store-fidelity.js';
8
8
  export { JsonFileStore } from './store/json-file-store.js';
9
9
  export type { ReconcileSummary } from './store/json-file-store.js';
10
- export type { PerRunArtifactStore } from './store/per-run-artifact-store.js';
10
+ export type { PerRunArtifactStore, ArtifactDeletionReport, } from './store/per-run-artifact-store.js';
11
11
  export type { OrphanSweepableStore, OrphanArtifact } from './store/orphan-sweepable-store.js';
12
12
  export { atomicWriteFile } from './store/atomic-write.js';
13
13
  export { deleteIfExists, readIfExists, statIfExists, FsIoError, isRetryableArtifactErrno, artifactDeleteFailedError, toArtifactDeleteFailedError, errnoCode, linkNoClobberThenUnlink, } from './store/fs-io.js';
@@ -48,7 +48,7 @@ export type { Requirement, CapabilityBlockInfo } from './engine/capability.js';
48
48
  export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
49
49
  export type { PreconditionResult } from './engine/precondition.js';
50
50
  export type { StepDiagnostics } from './types/run-record.js';
51
- export declare const VERSION = "0.39.0";
51
+ export declare const VERSION = "0.40.0";
52
52
  export type { ToolCallRecord, McpServerConfig } from './types/mcp-types.js';
53
53
  export type { ServiceAdapter, ServiceResponse } from './extensions/service-adapter.js';
54
54
  export type { StepHandler, StepHandlerInputs, StepContext, StepHandlerResult, } from './extensions/step-handler.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,SAAS,EACT,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,gCAAgC,GACjC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,8BAA8B,EAC9B,uCAAuC,GACxC,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EAIvB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAClF,YAAY,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAInE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EACV,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,SAAS,EACT,4BAA4B,EAC5B,iCAAiC,EACjC,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACtF,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,eAAO,MAAM,OAAO,WAAW,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5E,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvF,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACjF,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACjG,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG1F,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAGlG,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,mCAAmC,EACnC,qCAAqC,EACrC,aAAa,EACb,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG5E,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,6CAA6C,CAAC;AACrD,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAG1E,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,+BAA+B,EAC/B,iBAAiB,EACjB,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -43,7 +43,7 @@ export { classifyRunHealth, DEFAULT_IDLE_THRESHOLD_MS } from './engine/run-healt
43
43
  export { computeGateDueState } from './engine/gate-timing.js';
44
44
  export { requirementForStep, unmetCapabilities, findCapabilityBlockedSteps, capabilityWarning, } from './engine/capability.js';
45
45
  export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
46
- export const VERSION = '0.39.0';
46
+ export const VERSION = '0.40.0';
47
47
  export { ExtensionRegistry } from './extensions/registry.js';
48
48
  export { createDefaultRegistry } from './extensions/default-registry.js';
49
49
  export { validateDeploymentManifest, collectManifestSecretRefs, DEPLOYMENT_MANIFEST_JSON_SCHEMA, } from './manifest/deployment-manifest.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { FailedAttemptRecord } from '../observability/failed-attempt-record.js';
2
2
  import type { PerRunArtifactStore } from './per-run-artifact-store.js';
3
3
  import type { OrphanSweepableStore, OrphanArtifact } from './orphan-sweepable-store.js';
4
+ import type { ArtifactDeletionReport } from './per-run-artifact-store.js';
4
5
  /**
5
6
  * Append-and-stop byte ceiling per sidecar (~80+ full ≤3072B records — ample forensics). Approximate
6
7
  * under concurrency: bounded overshoot ≈ concurrent-writers × max-record. Kept lock-free deliberately.
@@ -40,7 +41,14 @@ export declare class FailedAttemptStore implements PerRunArtifactStore, OrphanSw
40
41
  * Idempotent: a missing sidecar (no failed attempts were ever recorded, or a concurrent purge /
41
42
  * double-invocation already removed it) is a no-op, never an error.
42
43
  */
43
- deleteAllForRun(runId: string, _dirEntries?: readonly string[]): Promise<void>;
44
+ deleteAllForRun(runId: string, _dirEntries?: readonly string[]): Promise<ArtifactDeletionReport>;
45
+ /**
46
+ * Issue #189 — the bytes of this run's one sidecar, without deleting it. Absent ⇒ 0;
47
+ * unreachable THROWS (via `statIfExists`), symmetrically with the delete above.
48
+ */
49
+ statAllForRun(runId: string, _dirEntries?: readonly string[]): Promise<{
50
+ bytes: number;
51
+ }>;
44
52
  /**
45
53
  * Returns every `.attempts.jsonl` sidecar whose runId is NOT in `liveRunIds` (issue #163) —
46
54
  * candidate orphans for `realm run gc`'s remediation sweep. Does not apply an age floor or
@@ -1 +1 @@
1
- {"version":3,"file":"failed-attempt-store.d.ts","sourceRoot":"","sources":["../../src/store/failed-attempt-store.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAcxF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,QAAa,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,sGAAsG;IACtG,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB,EAAE,oBAAoB;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,MAAM;IAI3B,iGAAiG;IACjG,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA8B3D;;;;;OAKG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASpF;;;;;;;;OAQG;IACG,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAyB9E"}
1
+ {"version":3,"file":"failed-attempt-store.d.ts","sourceRoot":"","sources":["../../src/store/failed-attempt-store.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAOxF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAQ1E;;;GAGG;AACH,eAAO,MAAM,gCAAgC,QAAa,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,sGAAsG;IACtG,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB,EAAE,oBAAoB;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,MAAM;IAI3B,iGAAiG;IACjG,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA8B3D;;;;;OAKG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAC9B,OAAO,CAAC,sBAAsB,CAAC;IAalC;;;OAGG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/F;;;;;;;;OAQG;IACG,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAyB9E"}
@@ -107,13 +107,24 @@ export class FailedAttemptStore {
107
107
  */
108
108
  async deleteAllForRun(runId, _dirEntries) {
109
109
  const path = this.sidecarPath(runId);
110
+ // Stat-then-delete (issue #189's accounting rule): a sidecar that vanishes between the two
111
+ // still counts as deleted, so the figure is a floor rather than a fiction.
112
+ const bytes = (await statIfExists(path))?.size ?? 0;
110
113
  try {
111
- await deleteIfExists(path);
114
+ const didDelete = await deleteIfExists(path);
115
+ return { bytes_deleted: didDelete ? bytes : 0 };
112
116
  }
113
117
  catch (err) {
114
118
  throw toArtifactDeleteFailedError(runId, 'FailedAttemptStore', [], path, err);
115
119
  }
116
120
  }
121
+ /**
122
+ * Issue #189 — the bytes of this run's one sidecar, without deleting it. Absent ⇒ 0;
123
+ * unreachable THROWS (via `statIfExists`), symmetrically with the delete above.
124
+ */
125
+ async statAllForRun(runId, _dirEntries) {
126
+ return { bytes: (await statIfExists(this.sidecarPath(runId)))?.size ?? 0 };
127
+ }
117
128
  /**
118
129
  * Returns every `.attempts.jsonl` sidecar whose runId is NOT in `liveRunIds` (issue #163) —
119
130
  * candidate orphans for `realm run gc`'s remediation sweep. Does not apply an age floor or
@@ -1 +1 @@
1
- {"version":3,"file":"failed-attempt-store.js","sourceRoot":"","sources":["../../src/store/failed-attempt-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"failed-attempt-store.js","sourceRoot":"","sources":["../../src/store/failed-attempt-store.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { WorkflowDefinition } from '../types/workflow-definition.js';
3
3
  import type { SettlementDelta, SettlementResult } from '../types/settlement.js';
4
4
  import type { RunStore, CreateRunOptions, LoadBearingRunRecordField, StampSealResult } from './store-interface.js';
5
5
  import type { PerRunArtifactStore } from './per-run-artifact-store.js';
6
+ import type { ArtifactDeletionReport } from './per-run-artifact-store.js';
6
7
  /**
7
8
  * Shared `proper-lockfile` retry policy for EVERY lock this store takes — the 4 run-file
8
9
  * critical-section locks (`update`/`claimStep`/`save`/`deleteAllForRun`) and the 3 per-key locks
@@ -212,11 +213,27 @@ export declare class JsonFileStore implements RunStore, PerRunArtifactStore {
212
213
  * `update()`/`claimStep()`), and the run's terminal state is RE-VERIFIED under that lock, not
213
214
  * just at selection time. `RESUMABLE_PHASES ⊂ TERMINAL_PHASES` and `resume.ts` sets
214
215
  * `terminal_state: false`, and `atomicWriteFile` (a temp write + `rename`) recreates a
215
- * deleted target on `rename` — so, unlocked, a concurrent `realm resume` racing a batch purge
216
+ * deleted target on `rename` — so, unlocked, a concurrent `realm run resume` racing a batch purge
216
217
  * could resurrect the run file as a LIVE run with its WAL/sidecar/pointer already gone, while
217
218
  * purge still reported `purged`. Re-checking terminal state under the SAME lock `update()`
218
219
  * uses closes that window: `deleteAllForRun` now unconditionally refuses a non-terminal run.
219
220
  */
220
- deleteAllForRun(runId: string, _dirEntries?: readonly string[]): Promise<void>;
221
+ /**
222
+ * Issue #189 — reports the bytes this store holds for `runId` without touching anything.
223
+ *
224
+ * Deliberately LOCK-FREE and deliberately WITHOUT this class's terminal/drain refusals: it
225
+ * answers a DRY RUN, which must never fail with `RUN_BUSY` where the retired filename scan
226
+ * would happily have printed a number. L6 binds unchanged runs only, so the raciness is inside
227
+ * the contract rather than a hole in it.
228
+ *
229
+ * Counts the run file, plus the idempotency pointer ONLY when the pointer still points back at
230
+ * this run — the same ownership conditional the delete applies. A key repointed to a successor
231
+ * belongs to that successor; counting it here would inflate the preview and red L6 for a reason
232
+ * that has nothing to do with this run.
233
+ */
234
+ statAllForRun(runId: string, _dirEntries?: readonly string[]): Promise<{
235
+ bytes: number;
236
+ }>;
237
+ deleteAllForRun(runId: string, _dirEntries?: readonly string[]): Promise<ArtifactDeletionReport>;
221
238
  }
222
239
  //# sourceMappingURL=json-file-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-file-store.d.ts","sourceRoot":"","sources":["../../src/store/json-file-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-file-store.d.ts","sourceRoot":"","sources":["../../src/store/json-file-store.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ import { hashParams } from './params-hash.js';
16
16
  import { assertSealIntegrity } from './seal-integrity.js';
17
17
  import { decideIdempotencyPolicy } from './idempotency-policy.js';
18
18
  import { atomicWriteFile } from './atomic-write.js';
19
- import { readIfExists, deleteIfExists, toArtifactDeleteFailedError } from './fs-io.js';
19
+ import { statIfExists, readIfExists, deleteIfExists, toArtifactDeleteFailedError, } from './fs-io.js';
20
20
  /**
21
21
  * Shared `proper-lockfile` retry policy for EVERY lock this store takes — the 4 run-file
22
22
  * critical-section locks (`update`/`claimStep`/`save`/`deleteAllForRun`) and the 3 per-key locks
@@ -841,11 +841,52 @@ export class JsonFileStore {
841
841
  * `update()`/`claimStep()`), and the run's terminal state is RE-VERIFIED under that lock, not
842
842
  * just at selection time. `RESUMABLE_PHASES ⊂ TERMINAL_PHASES` and `resume.ts` sets
843
843
  * `terminal_state: false`, and `atomicWriteFile` (a temp write + `rename`) recreates a
844
- * deleted target on `rename` — so, unlocked, a concurrent `realm resume` racing a batch purge
844
+ * deleted target on `rename` — so, unlocked, a concurrent `realm run resume` racing a batch purge
845
845
  * could resurrect the run file as a LIVE run with its WAL/sidecar/pointer already gone, while
846
846
  * purge still reported `purged`. Re-checking terminal state under the SAME lock `update()`
847
847
  * uses closes that window: `deleteAllForRun` now unconditionally refuses a non-terminal run.
848
848
  */
849
+ /**
850
+ * Issue #189 — reports the bytes this store holds for `runId` without touching anything.
851
+ *
852
+ * Deliberately LOCK-FREE and deliberately WITHOUT this class's terminal/drain refusals: it
853
+ * answers a DRY RUN, which must never fail with `RUN_BUSY` where the retired filename scan
854
+ * would happily have printed a number. L6 binds unchanged runs only, so the raciness is inside
855
+ * the contract rather than a hole in it.
856
+ *
857
+ * Counts the run file, plus the idempotency pointer ONLY when the pointer still points back at
858
+ * this run — the same ownership conditional the delete applies. A key repointed to a successor
859
+ * belongs to that successor; counting it here would inflate the preview and red L6 for a reason
860
+ * that has nothing to do with this run.
861
+ */
862
+ async statAllForRun(runId, _dirEntries) {
863
+ const path = this.filePath(runId);
864
+ let record;
865
+ try {
866
+ record = await this.get(runId);
867
+ }
868
+ catch (err) {
869
+ if (err instanceof WorkflowError && err.code === 'STATE_RUN_NOT_FOUND')
870
+ return { bytes: 0 };
871
+ throw err;
872
+ }
873
+ let bytes = (await statIfExists(path))?.size ?? 0;
874
+ if (record.idempotency_key !== undefined) {
875
+ const keyPath = this.keyPath(record.workflow_id, record.idempotency_key);
876
+ let pointer;
877
+ try {
878
+ pointer = await this.readPointer(keyPath);
879
+ }
880
+ catch {
881
+ // A pointer we cannot read is not a pointer we can attribute — the run file's own bytes
882
+ // are still true, and the delete path applies the same ownership test before removing it.
883
+ pointer = undefined;
884
+ }
885
+ if (pointer !== undefined && pointer.run_id === runId)
886
+ bytes += (await statIfExists(keyPath))?.size ?? 0;
887
+ }
888
+ return { bytes };
889
+ }
849
890
  async deleteAllForRun(runId, _dirEntries) {
850
891
  const path = this.filePath(runId);
851
892
  let release;
@@ -868,7 +909,7 @@ export class JsonFileStore {
868
909
  }
869
910
  catch (err) {
870
911
  if (err instanceof WorkflowError && err.code === 'STATE_RUN_NOT_FOUND')
871
- return; // already gone
912
+ return { bytes_deleted: 0 }; // already gone
872
913
  // issue #183: any OTHER failure here means deleteAllForRun cannot even determine what to
873
914
  // delete (or confirm the run file itself is reachable) — wrap it into the SAME aggregate
874
915
  // shape the unlink failures below use, so a caller (e.g. purge) always observes ONE
@@ -896,6 +937,10 @@ export class JsonFileStore {
896
937
  throw this.runBusyError(runId, 'drain_pending');
897
938
  }
898
939
  const deleted = [];
940
+ // Stat-then-delete, per the contract's accounting rule: an artifact that vanishes between
941
+ // the two still counts as deleted. The figure is a floor, and a floor is more honest than
942
+ // reporting nothing and letting an operator read a concurrent purge as "nothing was there".
943
+ let bytes_deleted = 0;
899
944
  // Conditional pointer delete: only when this run actually owns an idempotency key. A
900
945
  // `rerun`/supersede may have repointed the key to a NEWER run since this run was minted —
901
946
  // deleting the pointer unconditionally would destroy the successor's LIVE pointer out from
@@ -928,10 +973,13 @@ export class JsonFileStore {
928
973
  throw toArtifactDeleteFailedError(runId, 'JsonFileStore', deleted, keyPath, err);
929
974
  }
930
975
  if (pointer !== undefined && pointer.run_id === runId) {
976
+ const keyBytes = (await statIfExists(keyPath))?.size ?? 0;
931
977
  try {
932
978
  const didDelete = await deleteIfExists(keyPath);
933
- if (didDelete)
979
+ if (didDelete) {
934
980
  deleted.push(keyPath);
981
+ bytes_deleted += keyBytes;
982
+ }
935
983
  }
936
984
  catch (err) {
937
985
  // Sequential stop-on-first-hard-error: a pointer we cannot delete means we STOP
@@ -949,14 +997,18 @@ export class JsonFileStore {
949
997
  // The run file LAST — it is the crash re-enumeration anchor: a crash mid-purge leaves this
950
998
  // file in place, so the run is found again on the next purge/list pass and retried
951
999
  // idempotently (the pointer, if any, is already gone by then).
1000
+ const runFileBytes = (await statIfExists(path))?.size ?? 0;
952
1001
  try {
953
1002
  const didDelete = await deleteIfExists(path);
954
- if (didDelete)
1003
+ if (didDelete) {
955
1004
  deleted.push(path);
1005
+ bytes_deleted += runFileBytes;
1006
+ }
956
1007
  }
957
1008
  catch (err) {
958
1009
  throw toArtifactDeleteFailedError(runId, 'JsonFileStore', deleted, path, err);
959
1010
  }
1011
+ return { bytes_deleted };
960
1012
  }
961
1013
  finally {
962
1014
  await release();