@sensigo/realm-cli 0.33.0 → 0.35.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 (61) hide show
  1. package/dist/agent/gate/gate-expiry-timer.d.ts +19 -0
  2. package/dist/agent/gate/gate-expiry-timer.d.ts.map +1 -0
  3. package/dist/agent/gate/gate-expiry-timer.js +83 -0
  4. package/dist/agent/gate/gate-expiry-timer.js.map +1 -0
  5. package/dist/agent/gate/slack-gate-notifier.d.ts +24 -2
  6. package/dist/agent/gate/slack-gate-notifier.d.ts.map +1 -1
  7. package/dist/agent/gate/slack-gate-notifier.js +101 -8
  8. package/dist/agent/gate/slack-gate-notifier.js.map +1 -1
  9. package/dist/agent/mcp/mcp-extensions.d.ts +8 -1
  10. package/dist/agent/mcp/mcp-extensions.d.ts.map +1 -1
  11. package/dist/agent/providers/anthropic-provider.d.ts +31 -0
  12. package/dist/agent/providers/anthropic-provider.d.ts.map +1 -1
  13. package/dist/agent/providers/anthropic-provider.js +169 -25
  14. package/dist/agent/providers/anthropic-provider.js.map +1 -1
  15. package/dist/agent/providers/llm-provider.d.ts +17 -0
  16. package/dist/agent/providers/llm-provider.d.ts.map +1 -1
  17. package/dist/agent/providers/llm-provider.js +16 -0
  18. package/dist/agent/providers/llm-provider.js.map +1 -1
  19. package/dist/agent/run-agent.d.ts.map +1 -1
  20. package/dist/agent/run-agent.js +141 -4
  21. package/dist/agent/run-agent.js.map +1 -1
  22. package/dist/commands/abandon.d.ts.map +1 -1
  23. package/dist/commands/abandon.js +4 -1
  24. package/dist/commands/abandon.js.map +1 -1
  25. package/dist/commands/drain.d.ts +24 -0
  26. package/dist/commands/drain.d.ts.map +1 -1
  27. package/dist/commands/drain.js +152 -12
  28. package/dist/commands/drain.js.map +1 -1
  29. package/dist/commands/gc.d.ts +67 -6
  30. package/dist/commands/gc.d.ts.map +1 -1
  31. package/dist/commands/gc.js +280 -86
  32. package/dist/commands/gc.js.map +1 -1
  33. package/dist/commands/init.d.ts.map +1 -1
  34. package/dist/commands/init.js +1 -0
  35. package/dist/commands/init.js.map +1 -1
  36. package/dist/commands/inspect.d.ts.map +1 -1
  37. package/dist/commands/inspect.js +26 -1
  38. package/dist/commands/inspect.js.map +1 -1
  39. package/dist/commands/list.d.ts.map +1 -1
  40. package/dist/commands/list.js +40 -3
  41. package/dist/commands/list.js.map +1 -1
  42. package/dist/commands/listen.d.ts +32 -2
  43. package/dist/commands/listen.d.ts.map +1 -1
  44. package/dist/commands/listen.js +100 -0
  45. package/dist/commands/listen.js.map +1 -1
  46. package/dist/commands/reclaim.d.ts.map +1 -1
  47. package/dist/commands/reclaim.js +8 -0
  48. package/dist/commands/reclaim.js.map +1 -1
  49. package/dist/commands/resume.d.ts.map +1 -1
  50. package/dist/commands/resume.js.map +1 -1
  51. package/dist/commands/run.d.ts.map +1 -1
  52. package/dist/commands/run.js +17 -1
  53. package/dist/commands/run.js.map +1 -1
  54. package/dist/commands/validate.d.ts.map +1 -1
  55. package/dist/commands/validate.js +72 -2
  56. package/dist/commands/validate.js.map +1 -1
  57. package/dist/index.js +1 -1
  58. package/dist/store/replay-store.d.ts.map +1 -1
  59. package/dist/store/replay-store.js +1 -2
  60. package/dist/store/replay-store.js.map +1 -1
  61. package/package.json +7 -6
@@ -1,5 +1,6 @@
1
- // gc command — sweep orphaned atomic-write temps (issue #160) AND run-less orphaned WAL/sidecar
2
- // artifacts (issue #163). One operator command, two independent sweeps, same flags.
1
+ // gc command — sweep orphaned atomic-write temps (issue #160), run-less orphaned WAL/sidecar
2
+ // artifacts (issue #163), AND (--heal, opt-in) grandfathered stale run_phase records (issue #293).
3
+ // One operator command, three independent, composable passes.
3
4
  //
4
5
  // --- Sweep 1: atomic-write temps (issue #160, Phase 1: .tmp only) ---
5
6
  // atomicWriteFile (packages/core/src/store/atomic-write.ts) writes a unique sibling temp
@@ -29,6 +30,23 @@
29
30
  // `.lock` reaping is deliberately split to #164 (deferred — proper-lockfile self-heals a live-path
30
31
  // lock; only a purged-target's lock lingers, which is negligible). Neither is this command's job
31
32
  // yet — see the report footer.
33
+ //
34
+ // --- Pass 3: grandfathered stale-phase heal (issue #293, opt-in via --heal) ---
35
+ // `run_phase` is a DERIVED, render-only field (issue #279 increment 2, PR-C's disposal rule) —
36
+ // every store write (`update()`, `save()`) re-derives it from the record's own authoritative
37
+ // fields and persists the FRESH value as a side effect, discarding whatever the caller passed.
38
+ // The #282 fix (a reordering of `deriveRunPhase` itself) corrected what a NEW write derives, but
39
+ // never touched records that were written by an OLDER binary and have sat untouched since — their
40
+ // on-disk `run_phase` can still disagree with what `deriveRunPhase` would compute for them today.
41
+ // Correctness never depended on this: every live read path derives fresh (`get_run_state`, `list
42
+ // --status`, the engine's own eligibility checks) — a stale PERSISTED value is cosmetic residue,
43
+ // visible only to someone reading the raw JSON file directly. `--heal` is a one-shot population
44
+ // shrink, not a correctness fix: for each mismatched record, it writes the record back UNMODIFIED
45
+ // through `RunStore.update()` — the store's own write tail heals `run_phase` (plus `version` and
46
+ // `updated_at`, its other two side effects) as an ordinary consequence of a normal write, exactly
47
+ // as it would if any other legitimate writer touched that record next. Canon: kube's
48
+ // storage-version-migrator does the identical read-then-write-back-unmodified trick to migrate
49
+ // encryption-at-rest/API versions across a whole etcd population with zero bespoke migration code.
32
50
  import { readdir, lstat, unlink, stat } from 'node:fs/promises';
33
51
  import { join, basename } from 'node:path';
34
52
  import { Command } from 'commander';
@@ -310,6 +328,65 @@ function buildGcResurrectGuard(runStore, runId) {
310
328
  });
311
329
  };
312
330
  }
331
+ /**
332
+ * For every run record whose persisted `run_phase` disagrees with `deriveRunPhase(record)`,
333
+ * writes the record back UNMODIFIED through `store.update()` — the store's own versioned write
334
+ * tail heals the phase (plus `version`/`updated_at`) as its ordinary side effect; this function
335
+ * never constructs or mutates a single field itself (the store-literal forensics stance: the only
336
+ * thing that ever changes a persisted record is the store's own write path, never a bespoke gc
337
+ * rewrite). Records already matching are never even passed to `update()` — untouched, byte-for-
338
+ * byte, verified in tests.
339
+ *
340
+ * `store.list()`'s fail-closed contract (issue #132/#183: `JSON.parse` uncaught on a corrupt
341
+ * file) is INHERITED here deliberately, uncaught — a single unparseable run file aborts the
342
+ * WHOLE heal pass rather than silently healing a partial, possibly-wrong population. No
343
+ * per-file try/catch salvage: see the module's own report footer / CHANGELOG for why this is
344
+ * accepted, not worked around.
345
+ *
346
+ * No age gate (unlike the other two sweeps): healing is a no-op rewrite of a record already on
347
+ * disk, safe at any age — there is no in-flight-write window to guard against the way there is
348
+ * for a `.tmp` or a fresh WAL.
349
+ */
350
+ export async function sweepStalePhases(store, options) {
351
+ const records = await store.list();
352
+ const result = {
353
+ healed: [],
354
+ would_heal: [],
355
+ skipped_conflict: [],
356
+ failed: [],
357
+ };
358
+ for (const record of records) {
359
+ const derivedPhase = options.deriveRunPhase(record);
360
+ if (record.run_phase === derivedPhase)
361
+ continue; // matching — never touched, not even read-only.
362
+ const entry = {
363
+ id: record.id,
364
+ persisted_phase: record.run_phase,
365
+ derived_phase: derivedPhase,
366
+ };
367
+ if (!options.force) {
368
+ result.would_heal.push(entry);
369
+ continue;
370
+ }
371
+ try {
372
+ await store.update(record); // UNMODIFIED — the write tail is the entire mechanism.
373
+ result.healed.push(entry);
374
+ }
375
+ catch (err) {
376
+ if (err instanceof WorkflowError &&
377
+ (err.code === 'STATE_SNAPSHOT_MISMATCH' || err.code === 'STATE_RUN_BUSY')) {
378
+ result.skipped_conflict.push(entry);
379
+ }
380
+ else {
381
+ result.failed.push({
382
+ id: record.id,
383
+ error: err instanceof Error ? err.message : String(err),
384
+ });
385
+ }
386
+ }
387
+ }
388
+ return result;
389
+ }
313
390
  /** Best-effort total bytes for a known list of paths — reporting-only, never gates reaping.
314
391
  * Called against a fresh dry-run preview, so the paths are still on disk when stat'd. */
315
392
  async function statPathBytes(paths) {
@@ -347,28 +424,32 @@ const NOT_REAPED_FOOTER = 'gc does NOT yet reap orphaned .lock dirs (deferred
347
424
  * `undefined` only if the temp-only sweep somehow bypassed the orphan sweep entirely (never
348
425
  * happens in the real CLI action — always one or the other).
349
426
  */
350
- function printGcReport(result, previewBytes, dryRun, artifactResult, artifactSweepError) {
351
- const nothingToReport = result.reaped.length === 0 && result.already_gone.length === 0 && result.failed.length === 0;
352
- if (nothingToReport) {
353
- console.log('No orphaned .tmp files found to reap.');
354
- }
355
- else if (dryRun) {
356
- console.log(`${result.reaped.length} orphaned .tmp file(s) WOULD be reaped (${formatBytes(previewBytes)} to free):`);
357
- for (const p of result.reaped)
358
- console.log(` • ${p}`);
359
- if (result.already_gone.length > 0) {
360
- console.log(`(${result.already_gone.length} candidate(s) already vanished on their own.)`);
427
+ function printGcReport(result, previewBytes, dryRun, artifactResult, artifactSweepError, healResult, healSweepError) {
428
+ // --- temp-file section (issue #160) only when the --older-than pass actually ran; a
429
+ // --heal-only invocation never touches this section at all (never even "nothing found"). ---
430
+ if (result !== undefined) {
431
+ const nothingToReport = result.reaped.length === 0 && result.already_gone.length === 0 && result.failed.length === 0;
432
+ if (nothingToReport) {
433
+ console.log('No orphaned .tmp files found to reap.');
434
+ }
435
+ else if (dryRun) {
436
+ console.log(`${result.reaped.length} orphaned .tmp file(s) WOULD be reaped (${formatBytes(previewBytes)} to free):`);
437
+ for (const p of result.reaped)
438
+ console.log(` • ${p}`);
439
+ if (result.already_gone.length > 0) {
440
+ console.log(`(${result.already_gone.length} candidate(s) already vanished on their own.)`);
441
+ }
442
+ }
443
+ else {
444
+ console.log(`Reaped ${result.reaped.length} orphaned .tmp file(s) (${formatBytes(previewBytes)} freed). ` +
445
+ `${result.already_gone.length} already gone, ${result.failed.length} failed.`);
446
+ }
447
+ for (const f of result.failed) {
448
+ console.error(` ✗ ${f.path}: ${f.error}`);
449
+ }
450
+ if (dryRun && !nothingToReport) {
451
+ console.log('\nRe-run with --force to actually delete.');
361
452
  }
362
- }
363
- else {
364
- console.log(`Reaped ${result.reaped.length} orphaned .tmp file(s) (${formatBytes(previewBytes)} freed). ` +
365
- `${result.already_gone.length} already gone, ${result.failed.length} failed.`);
366
- }
367
- for (const f of result.failed) {
368
- console.error(` ✗ ${f.path}: ${f.error}`);
369
- }
370
- if (dryRun && !nothingToReport) {
371
- console.log('\nRe-run with --force to actually delete.');
372
453
  }
373
454
  // --- orphan-artifacts section (issue #163) ---
374
455
  if (artifactSweepError !== undefined) {
@@ -411,43 +492,111 @@ function printGcReport(result, previewBytes, dryRun, artifactResult, artifactSwe
411
492
  console.log('Re-run with --force to actually delete.');
412
493
  }
413
494
  }
495
+ // --- stale-phase heal section (issue #293) — only when --heal was requested. ---
496
+ if (healSweepError !== undefined) {
497
+ console.error(`\n✗ stale-phase heal sweep ABORTED (healed nothing from it): ${healSweepError}`);
498
+ }
499
+ else if (healResult !== undefined) {
500
+ const nothingToReportHeal = healResult.healed.length === 0 &&
501
+ healResult.would_heal.length === 0 &&
502
+ healResult.skipped_conflict.length === 0 &&
503
+ healResult.failed.length === 0;
504
+ if (nothingToReportHeal) {
505
+ console.log('\nNo stale-phase records found to heal.');
506
+ }
507
+ else if (dryRun) {
508
+ console.log(`\n${healResult.would_heal.length} stale-phase record(s) WOULD be healed:`);
509
+ for (const e of healResult.would_heal) {
510
+ console.log(` • ${e.id}: persisted '${e.persisted_phase}' → derived '${e.derived_phase}'`);
511
+ }
512
+ }
513
+ else {
514
+ console.log(`\nHealed ${healResult.healed.length} stale-phase record(s). ` +
515
+ `${healResult.skipped_conflict.length} skipped (concurrent writer), ${healResult.failed.length} failed.`);
516
+ for (const e of healResult.healed) {
517
+ console.log(` • ${e.id}: persisted '${e.persisted_phase}' → derived '${e.derived_phase}'`);
518
+ }
519
+ }
520
+ // A concurrent writer's own write ALSO heals the phase — benign, exit-code-neutral, never
521
+ // `failed` (mirrors the orphan-artifact sweep's own `resurrected` bucket precedent above).
522
+ if (healResult.skipped_conflict.length > 0) {
523
+ console.log(`(${healResult.skipped_conflict.length} record(s) skipped — a concurrent writer already ` +
524
+ `touched them, which heals them too.)`);
525
+ for (const e of healResult.skipped_conflict) {
526
+ console.log(` • ${e.id} (skipped — concurrent write)`);
527
+ }
528
+ }
529
+ for (const f of healResult.failed) {
530
+ console.error(` ✗ ${f.id}: ${f.error}`);
531
+ }
532
+ if (dryRun && !nothingToReportHeal) {
533
+ console.log('Re-run with --force to actually heal.');
534
+ }
535
+ }
414
536
  console.log(`\n${NOT_REAPED_FOOTER}`);
415
537
  }
416
538
  /** gc's exit code: non-zero iff gc could not complete a sweep it attempted (issue #163
417
- * exit-code correction). A failed unlink in EITHER sweep, OR an aborted orphan sweep
418
- * (enumeration failed `artifactSweepError` set), is a failure. Merely *finding* reapable
419
- * residue is NOT that holds in both dry-run and `--force`, so this one helper decides both
420
- * branches' exit code instead of each re-deriving its own (inline) predicate. */
421
- export function gcExitCode(tempResult, artifactResult, artifactSweepError) {
422
- const anyFailure = tempResult.failed.length > 0 ||
539
+ * exit-code correction; extended, issue #293, for the opt-in heal pass). A failed unlink/write in
540
+ * ANY attempted pass, OR an aborted orphan/heal sweep (enumeration/`list()` failed
541
+ * `artifactSweepError`/`healSweepError` set), is a failure. Merely *finding* reapable or
542
+ * healable residue is NOT that holds in both dry-run and `--force`, so this one helper decides
543
+ * every branch's exit code instead of each re-deriving its own (inline) predicate. A pass that
544
+ * never ran (its result param is `undefined`, its error param is `undefined`) contributes no
545
+ * failure — exactly the same "absence is not a failure" reading `artifactResult: undefined`
546
+ * already relies on. */
547
+ export function gcExitCode(tempResult, artifactResult, artifactSweepError, healResult, healSweepError) {
548
+ const anyFailure = (tempResult?.failed.length ?? 0) > 0 ||
423
549
  (artifactResult?.failed.length ?? 0) > 0 ||
424
- artifactSweepError !== undefined;
550
+ artifactSweepError !== undefined ||
551
+ (healResult?.failed.length ?? 0) > 0 ||
552
+ healSweepError !== undefined;
425
553
  return anyFailure ? 1 : 0;
426
554
  }
427
555
  export const gcCommand = new Command('gc')
428
- .description('Sweep orphaned atomic-write .tmp files and run-less orphaned WAL/sidecar artifacts (dry-run by default)')
429
- .requiredOption('--older-than <duration>', 'Reap residue idle at least this long (minimum 1h; e.g. 1h, 6h, 30d)')
430
- .option('--force', 'Actually delete (without this, gc only reports what WOULD be reaped)')
556
+ .description('Sweep orphaned atomic-write .tmp files, run-less orphaned WAL/sidecar artifacts, and ' +
557
+ '(--heal) grandfathered stale-phase records (dry-run by default)')
558
+ .option('--older-than <duration>', 'Reap residue idle at least this long (minimum 1h; e.g. 1h, 6h, 30d) — required unless ' +
559
+ '--heal is the only pass requested')
560
+ .option('--force', 'Actually delete/rewrite (without this, gc only reports what WOULD change)')
561
+ .option('--heal', 'One-shot pass (issue #293): rewrite records whose persisted run_phase disagrees with the ' +
562
+ 'derived phase — safe at any age, no --older-than floor applies to this pass')
431
563
  .action(async (opts) => {
432
- let olderThanMs;
433
- try {
434
- olderThanMs = parseDuration(opts.olderThan);
435
- }
436
- catch (err) {
437
- console.error(err instanceof Error ? err.message : String(err));
564
+ // [issue #293] --older-than demoted from a Commander requiredOption to a plain option so
565
+ // `gc --heal` alone can run without it — but it is STILL required unless --heal is the only
566
+ // pass requested, so bare `gc` (neither flag) must still refuse exactly as it always has.
567
+ // Commander's own requiredOption error text ("error: required option '--older-than
568
+ // <duration>' not specified") is reproduced verbatim here since demoting the flag loses its
569
+ // automatic enforcement.
570
+ if (opts.heal !== true && opts.olderThan === undefined) {
571
+ console.error("error: required option '--older-than <duration>' not specified");
438
572
  process.exit(1);
439
573
  return;
440
574
  }
441
- // Defense-in-depth over sweepOrphans's/sweepOrphanArtifacts's own floor checks — reject
442
- // before touching the filesystem at all, with a CLI-friendly message naming the flag the
443
- // operator just typed.
444
- if (olderThanMs < FLOOR_MS) {
445
- console.error(`--older-than must be at least 1h (got '${opts.olderThan}'). gc refuses to reap crash ` +
446
- `residue younger than that, even with --force.`);
447
- process.exit(1);
448
- return;
575
+ let olderThanMs;
576
+ if (opts.olderThan !== undefined) {
577
+ try {
578
+ olderThanMs = parseDuration(opts.olderThan);
579
+ }
580
+ catch (err) {
581
+ console.error(err instanceof Error ? err.message : String(err));
582
+ process.exit(1);
583
+ return;
584
+ }
585
+ // Defense-in-depth over sweepOrphans's/sweepOrphanArtifacts's own floor checks — reject
586
+ // before touching the filesystem at all, with a CLI-friendly message naming the flag the
587
+ // operator just typed. Does NOT apply to --heal (see sweepStalePhases's own doc: healing a
588
+ // record already on disk is safe at any age).
589
+ if (olderThanMs < FLOOR_MS) {
590
+ console.error(`--older-than must be at least 1h (got '${opts.olderThan}'). gc refuses to reap crash ` +
591
+ `residue younger than that, even with --force.`);
592
+ process.exit(1);
593
+ return;
594
+ }
449
595
  }
450
- const { JsonFileStore, FailedAttemptStore } = await import('@sensigo/realm');
596
+ // deriveRunPhase destructured from the SAME existing dynamic import as JsonFileStore/
597
+ // FailedAttemptStore — gc.ts's top-level `@sensigo/realm` VALUE import (line 36) stays
598
+ // byte-unchanged; only this dynamic import widens.
599
+ const { JsonFileStore, FailedAttemptStore, deriveRunPhase } = await import('@sensigo/realm');
451
600
  const { JsonTraceBufferStore } = await import('@sensigo/realm-mcp');
452
601
  const runStore = new JsonFileStore();
453
602
  const runsDir = runStore.runsDirPath;
@@ -456,59 +605,104 @@ export const gcCommand = new Command('gc')
456
605
  const orphanSweepableStores = [traceBufferStore, failedAttemptStore];
457
606
  const now = new Date();
458
607
  try {
459
- // Always preview first this NEVER mutates, in either mode because it is the only
460
- // reliable moment to `stat()` the candidates for the report's byte total: a force-mode
461
- // reap deletes the files before sweepOrphans returns, so statting them afterward is
462
- // impossible. The preview and the (optional) real pass share the same olderThanMs/now, so
463
- // the candidate set is consistent bar a narrow, benign concurrent-activity window — which
464
- // already_gone exists to absorb.
465
- const preview = await sweepOrphans(runsDir, { olderThanMs, dryRun: true, now });
466
- const bytes = await statPathBytes(preview.reaped);
467
- // issue #163: FAIL-CLOSED. A `listRunIds()` (or a store's `listOrphans()`) failure aborts
468
- // ONLY the orphan-artifact sweep, loudly — it must NEVER fabricate an empty `liveRunIds`,
469
- // which would make every live run's artifacts look orphaned and reap them. The temp sweep
470
- // above is fully independent of this and is completely unaffected either way.
608
+ // --- Pass 1+2 preview (temp files + orphan artifacts)only when --older-than was given.
609
+ // Composition rule: --older-than gates passes 1+2; --heal gates pass 3; either, both, or
610
+ // (checked above) neither-is-an-error. Byte-identical to the pre-#293 behavior whenever
611
+ // --heal is absent. ---
612
+ let preview;
613
+ let bytes = 0;
471
614
  let artifactPreview;
472
615
  let artifactSweepError;
473
- try {
474
- const liveRunIds = await runStore.listRunIds();
475
- artifactPreview = await sweepOrphanArtifacts(orphanSweepableStores, liveRunIds, {
476
- olderThanMs,
477
- dryRun: true,
478
- now,
479
- }, runStore);
616
+ if (olderThanMs !== undefined) {
617
+ // Always preview first — this NEVER mutates, in either mode — because it is the only
618
+ // reliable moment to `stat()` the candidates for the report's byte total: a force-mode
619
+ // reap deletes the files before sweepOrphans returns, so statting them afterward is
620
+ // impossible. The preview and the (optional) real pass share the same olderThanMs/now, so
621
+ // the candidate set is consistent bar a narrow, benign concurrent-activity window — which
622
+ // already_gone exists to absorb.
623
+ preview = await sweepOrphans(runsDir, { olderThanMs, dryRun: true, now });
624
+ bytes = await statPathBytes(preview.reaped);
625
+ // issue #163: FAIL-CLOSED. A `listRunIds()` (or a store's `listOrphans()`) failure
626
+ // aborts ONLY the orphan-artifact sweep, loudly — it must NEVER fabricate an empty
627
+ // `liveRunIds`, which would make every live run's artifacts look orphaned and reap them.
628
+ // The temp sweep above is fully independent of this and is completely unaffected either
629
+ // way.
630
+ try {
631
+ const liveRunIds = await runStore.listRunIds();
632
+ artifactPreview = await sweepOrphanArtifacts(orphanSweepableStores, liveRunIds, {
633
+ olderThanMs,
634
+ dryRun: true,
635
+ now,
636
+ }, runStore);
637
+ }
638
+ catch (err) {
639
+ artifactSweepError = err instanceof Error ? err.message : String(err);
640
+ }
480
641
  }
481
- catch (err) {
482
- artifactSweepError = err instanceof Error ? err.message : String(err);
642
+ // --- Pass 3 (issue #293) — only when --heal was given. No preview/force double-call the
643
+ // way passes 1+2 need (that split exists purely for the byte-total report, which heal has
644
+ // no equivalent of) — one call per invocation, dry-run or force. This dry-run-only preview
645
+ // call is gated on `opts.force !== true` specifically SO IT NEVER RUNS in force mode — the
646
+ // force branch below (a) already makes its OWN call with `force: true`, and (b) is the one
647
+ // that actually matters for a real heal, so a discarded `force: false` call here would be
648
+ // pure waste (an extra `list()` I/O pass, correction-291-293). Reaching the force branch's
649
+ // own `healSweepError === undefined` guard, `healSweepError` is vacuously undefined —
650
+ // nothing above can have set it once this call never runs.
651
+ let healPreview;
652
+ let healSweepError;
653
+ if (opts.heal === true && opts.force !== true) {
654
+ try {
655
+ healPreview = await sweepStalePhases(runStore, { force: false, deriveRunPhase });
656
+ }
657
+ catch (err) {
658
+ healSweepError = err instanceof Error ? err.message : String(err);
659
+ }
483
660
  }
484
661
  if (opts.force !== true) {
485
- printGcReport(preview, bytes, true, artifactPreview, artifactSweepError);
486
- if (gcExitCode(preview, artifactPreview, artifactSweepError) !== 0) {
662
+ printGcReport(preview, bytes, true, artifactPreview, artifactSweepError, healPreview, healSweepError);
663
+ if (gcExitCode(preview, artifactPreview, artifactSweepError, healPreview, healSweepError) !==
664
+ 0) {
487
665
  process.exit(1);
488
666
  }
489
667
  return;
490
668
  }
491
- const result = await sweepOrphans(runsDir, { olderThanMs, dryRun: false, now });
669
+ let result;
492
670
  let artifactResult;
493
- if (artifactSweepError === undefined) {
494
- // The preview above already proved listRunIds()/listOrphans() succeed re-read for the
495
- // real pass (a fresh liveRunIds, since force mode is a separate call; a run created or
496
- // completed between the preview and here is a benign, narrow race exactly the same
497
- // shape the temp sweep's own preview/force split already accepts).
671
+ if (olderThanMs !== undefined) {
672
+ result = await sweepOrphans(runsDir, { olderThanMs, dryRun: false, now });
673
+ if (artifactSweepError === undefined) {
674
+ // The preview above already proved listRunIds()/listOrphans() succeedre-read for
675
+ // the real pass (a fresh liveRunIds, since force mode is a separate call; a run
676
+ // created or completed between the preview and here is a benign, narrow race — exactly
677
+ // the same shape the temp sweep's own preview/force split already accepts).
678
+ try {
679
+ const liveRunIds = await runStore.listRunIds();
680
+ artifactResult = await sweepOrphanArtifacts(orphanSweepableStores, liveRunIds, {
681
+ olderThanMs,
682
+ dryRun: false,
683
+ now,
684
+ }, runStore);
685
+ }
686
+ catch (err) {
687
+ artifactSweepError = err instanceof Error ? err.message : String(err);
688
+ }
689
+ }
690
+ }
691
+ let healResult;
692
+ // `healSweepError === undefined` is vacuously true on entry here (force mode never runs the
693
+ // dry-run-only preview call above) — kept as the guard anyway: it's still the correct
694
+ // condition in spirit (never attempt the real heal if an earlier heal-pass error is already
695
+ // known) and costs nothing to leave in place.
696
+ if (opts.heal === true && healSweepError === undefined) {
498
697
  try {
499
- const liveRunIds = await runStore.listRunIds();
500
- artifactResult = await sweepOrphanArtifacts(orphanSweepableStores, liveRunIds, {
501
- olderThanMs,
502
- dryRun: false,
503
- now,
504
- }, runStore);
698
+ healResult = await sweepStalePhases(runStore, { force: true, deriveRunPhase });
505
699
  }
506
700
  catch (err) {
507
- artifactSweepError = err instanceof Error ? err.message : String(err);
701
+ healSweepError = err instanceof Error ? err.message : String(err);
508
702
  }
509
703
  }
510
- printGcReport(result, bytes, false, artifactResult, artifactSweepError);
511
- if (gcExitCode(result, artifactResult, artifactSweepError) !== 0) {
704
+ printGcReport(result, bytes, false, artifactResult, artifactSweepError, healResult, healSweepError);
705
+ if (gcExitCode(result, artifactResult, artifactSweepError, healResult, healSweepError) !== 0) {
512
706
  process.exit(1);
513
707
  }
514
708
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwIjF;AAED,eAAO,MAAM,WAAW,SAqBpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyIjF;AAED,eAAO,MAAM,WAAW,SAqBpB,CAAC"}
@@ -29,6 +29,7 @@ steps:
29
29
  execution: agent
30
30
  input_schema:
31
31
  type: object
32
+ additionalProperties: false
32
33
  required: [result]
33
34
  properties:
34
35
  result:
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,KAAK,EACV,QAAQ,EAER,iBAAiB,EAMlB,MAAM,gBAAgB,CAAC;AAqLxB;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,iBAAiB,EAChC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACpD,OAAO,CAAC,MAAM,CAAC,CA4PjB;AAED,eAAO,MAAM,cAAc,SAsBvB,CAAC"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,OAAO,KAAK,EACV,QAAQ,EAER,iBAAiB,EAMlB,MAAM,gBAAgB,CAAC;AA0LxB;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,iBAAiB,EAChC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACpD,OAAO,CAAC,MAAM,CAAC,CAiRjB;AAED,eAAO,MAAM,cAAc,SAsBvB,CAAC"}
@@ -6,7 +6,7 @@
6
6
  // import, no createRequire), never the extensions loader.
7
7
  import chalk from 'chalk';
8
8
  import { Command } from 'commander';
9
- import { classifyRunHealth, deriveDefaultedSteps, deriveRunPhase } from '@sensigo/realm';
9
+ import { classifyRunHealth, deriveDefaultedSteps, deriveRunPhase, computeGateDueState, } from '@sensigo/realm';
10
10
  // issue #221 correction: the CLI's first command→command import (sanctioned — harmless
11
11
  // module-level Command construction; `listCommand` is a standalone Commander object never
12
12
  // auto-registered anywhere by being imported). Reused so inspect's never_claimed_idle age
@@ -43,6 +43,11 @@ function formatSkipDetail(detail) {
43
43
  // doesn't red `npm run build` under this exhaustive switch's strict-TS check.
44
44
  case 'gate_cancelled_by_abort':
45
45
  return 'gate_cancelled_by_abort';
46
+ // issue #291: a gate's OWN step, aborted by applyExpireGate on enforce-clock expiry —
47
+ // distinct from gate_cancelled_by_abort (a DIFFERENT step's handler-abort cancelling this
48
+ // gate).
49
+ case 'gate_expired':
50
+ return `gate_expired (gate_id: ${detail.gate_id})`;
46
51
  }
47
52
  }
48
53
  /**
@@ -216,6 +221,26 @@ export async function inspectRun(runId, store, workflowStore, options) {
216
221
  }
217
222
  lines.push(`Created: ${run.created_at}`);
218
223
  lines.push(`Updated: ${run.updated_at}`);
224
+ // issue #291 (Deliverable 7): an open gate's due/overdue state — off the SAME shared
225
+ // computeGateDueState derivation list/get_run_state also read from. The EXPIRED fact ITSELF is
226
+ // additionally (and independently) disclosed via the gate_expired_awaiting_drive run-health
227
+ // finding below (the generic finding-render loop already covers it); this line's own job is
228
+ // the reminder due/overdue annotation, which [B1] deliberately keeps OUT of run-health.
229
+ if (derivedPhase === 'gate_waiting' && run.pending_gate !== undefined) {
230
+ const gate = run.pending_gate;
231
+ const due = computeGateDueState(gate, new Date());
232
+ let gateLine = `Gate: ${gate.step_name} (opened ${formatGateAge(gate.opened_at)} ago)`;
233
+ if (due.expired) {
234
+ gateLine += ` — EXPIRED ${formatGateAge(gate.expires_at)} ago`;
235
+ }
236
+ if (due.next_reminder_due_at !== undefined) {
237
+ const overdueReminder = new Date(due.next_reminder_due_at).getTime() <= Date.now();
238
+ gateLine += overdueReminder
239
+ ? `, reminder overdue (was due ${formatGateAge(due.next_reminder_due_at)} ago)`
240
+ : `, reminder due in ${formatGateAge(new Date().toISOString(), new Date(due.next_reminder_due_at))}`;
241
+ }
242
+ lines.push(gateLine);
243
+ }
219
244
  // issue #221: typed run-health findings — the SAME shared classifyRunHealth predicate the three
220
245
  // READ surfaces (get_run_state, list --stuck, inspect) derive from. Definition-aware when
221
246
  // resolved above (adds eligible_steps evidence to any never_claimed_idle finding); tolerates