@senpi/runtime 3.0.6-dev.runtime-phase-2.20260630134451 → 3.0.6-dev.runtime-phase-2.20260630134536

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 (141) hide show
  1. package/dist/actions/action-events.d.ts.map +1 -1
  2. package/dist/actions/action-events.js +39 -5
  3. package/dist/actions/action-events.js.map +1 -1
  4. package/dist/actions/event-derivation.d.ts +2 -0
  5. package/dist/actions/event-derivation.d.ts.map +1 -1
  6. package/dist/actions/event-derivation.js +2 -0
  7. package/dist/actions/event-derivation.js.map +1 -1
  8. package/dist/cli/guide-commands.d.ts.map +1 -1
  9. package/dist/cli/guide-commands.js +61 -0
  10. package/dist/cli/guide-commands.js.map +1 -1
  11. package/dist/cli/senpi-commands.d.ts +14 -0
  12. package/dist/cli/senpi-commands.d.ts.map +1 -1
  13. package/dist/cli/senpi-commands.js +386 -2
  14. package/dist/cli/senpi-commands.js.map +1 -1
  15. package/dist/dsl/events/initial-state.d.ts.map +1 -1
  16. package/dist/dsl/events/initial-state.js +1 -0
  17. package/dist/dsl/events/initial-state.js.map +1 -1
  18. package/dist/dsl/monitor/dsl-failure-events.d.ts +42 -0
  19. package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -0
  20. package/dist/dsl/monitor/dsl-failure-events.js +73 -0
  21. package/dist/dsl/monitor/dsl-failure-events.js.map +1 -0
  22. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  23. package/dist/dsl/monitor/process-one-position.js +46 -37
  24. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  25. package/dist/dsl/plugin/index.d.ts.map +1 -1
  26. package/dist/dsl/plugin/index.js +6 -0
  27. package/dist/dsl/plugin/index.js.map +1 -1
  28. package/dist/health/types.d.ts +14 -0
  29. package/dist/health/types.d.ts.map +1 -1
  30. package/dist/health/types.js.map +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +220 -7
  33. package/dist/index.js.map +1 -1
  34. package/dist/risk/risk-audit-log.d.ts +7 -0
  35. package/dist/risk/risk-audit-log.d.ts.map +1 -1
  36. package/dist/risk/risk-audit-log.js +48 -1
  37. package/dist/risk/risk-audit-log.js.map +1 -1
  38. package/dist/runtime/lifecycle-events.d.ts +43 -0
  39. package/dist/runtime/lifecycle-events.d.ts.map +1 -1
  40. package/dist/runtime/lifecycle-events.js +61 -0
  41. package/dist/runtime/lifecycle-events.js.map +1 -1
  42. package/dist/runtime/runtime-schema.d.ts +63 -9
  43. package/dist/runtime/runtime-schema.d.ts.map +1 -1
  44. package/dist/runtime/runtime-schema.js +8 -1
  45. package/dist/runtime/runtime-schema.js.map +1 -1
  46. package/dist/runtime/runtime.d.ts +8 -0
  47. package/dist/runtime/runtime.d.ts.map +1 -1
  48. package/dist/runtime/runtime.js +104 -5
  49. package/dist/runtime/runtime.js.map +1 -1
  50. package/dist/runtime/supervisor/long-running-supervisor.d.ts +3 -0
  51. package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
  52. package/dist/runtime/supervisor/long-running-supervisor.js +27 -53
  53. package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
  54. package/dist/runtime-api/intake/intake-events.d.ts +44 -0
  55. package/dist/runtime-api/intake/intake-events.d.ts.map +1 -0
  56. package/dist/runtime-api/intake/intake-events.js +131 -0
  57. package/dist/runtime-api/intake/intake-events.js.map +1 -0
  58. package/dist/runtime-api/intake/scanner-launcher.d.ts +2 -0
  59. package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
  60. package/dist/runtime-api/intake/scanner-launcher.js +58 -15
  61. package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
  62. package/dist/runtime-api/intake/scanner-registry.d.ts +3 -0
  63. package/dist/runtime-api/intake/scanner-registry.d.ts.map +1 -1
  64. package/dist/runtime-api/intake/scanner-registry.js +3 -0
  65. package/dist/runtime-api/intake/scanner-registry.js.map +1 -1
  66. package/dist/runtime-api/intake/supervisor-events.d.ts +61 -0
  67. package/dist/runtime-api/intake/supervisor-events.d.ts.map +1 -0
  68. package/dist/runtime-api/intake/supervisor-events.js +173 -0
  69. package/dist/runtime-api/intake/supervisor-events.js.map +1 -0
  70. package/dist/runtime-api/routes/signals.d.ts.map +1 -1
  71. package/dist/runtime-api/routes/signals.js +119 -27
  72. package/dist/runtime-api/routes/signals.js.map +1 -1
  73. package/dist/runtime-api/server.d.ts.map +1 -1
  74. package/dist/runtime-api/server.js +10 -1
  75. package/dist/runtime-api/server.js.map +1 -1
  76. package/dist/scanners/engine/engine.d.ts.map +1 -1
  77. package/dist/scanners/engine/engine.js +3 -0
  78. package/dist/scanners/engine/engine.js.map +1 -1
  79. package/dist/scanners/runtime-module.d.ts.map +1 -1
  80. package/dist/scanners/runtime-module.js +6 -0
  81. package/dist/scanners/runtime-module.js.map +1 -1
  82. package/dist/senpi/client.d.ts.map +1 -1
  83. package/dist/senpi/client.js +50 -5
  84. package/dist/senpi/client.js.map +1 -1
  85. package/dist/state/state-events.d.ts +13 -0
  86. package/dist/state/state-events.d.ts.map +1 -0
  87. package/dist/state/state-events.js +22 -0
  88. package/dist/state/state-events.js.map +1 -0
  89. package/dist/state/state-manager.d.ts.map +1 -1
  90. package/dist/state/state-manager.js +14 -1
  91. package/dist/state/state-manager.js.map +1 -1
  92. package/dist/telemetry/event-builders.d.ts +0 -2
  93. package/dist/telemetry/event-builders.d.ts.map +1 -1
  94. package/dist/telemetry/event-builders.js.map +1 -1
  95. package/dist/telemetry/event-store.d.ts +66 -0
  96. package/dist/telemetry/event-store.d.ts.map +1 -0
  97. package/dist/telemetry/event-store.js +202 -0
  98. package/dist/telemetry/event-store.js.map +1 -0
  99. package/dist/telemetry/identity.d.ts +10 -0
  100. package/dist/telemetry/identity.d.ts.map +1 -1
  101. package/dist/telemetry/identity.js +1 -0
  102. package/dist/telemetry/identity.js.map +1 -1
  103. package/dist/telemetry/metrics.d.ts +137 -15
  104. package/dist/telemetry/metrics.d.ts.map +1 -1
  105. package/dist/telemetry/metrics.js +357 -74
  106. package/dist/telemetry/metrics.js.map +1 -1
  107. package/dist/telemetry/otel-sdk.d.ts +1 -1
  108. package/dist/telemetry/otel-sdk.js +1 -1
  109. package/dist/telemetry/spans/gen-ai.d.ts +4 -0
  110. package/dist/telemetry/spans/gen-ai.d.ts.map +1 -1
  111. package/dist/telemetry/spans/gen-ai.js +9 -0
  112. package/dist/telemetry/spans/gen-ai.js.map +1 -1
  113. package/dist/telemetry/spans/redact-pii.d.ts.map +1 -1
  114. package/dist/telemetry/spans/redact-pii.js +4 -1
  115. package/dist/telemetry/spans/redact-pii.js.map +1 -1
  116. package/dist/telemetry/spans/span-hooks.d.ts +7 -0
  117. package/dist/telemetry/spans/span-hooks.d.ts.map +1 -1
  118. package/dist/telemetry/spans/span-hooks.js +179 -24
  119. package/dist/telemetry/spans/span-hooks.js.map +1 -1
  120. package/dist/telemetry/tool-plane.d.ts +31 -0
  121. package/dist/telemetry/tool-plane.d.ts.map +1 -0
  122. package/dist/telemetry/tool-plane.js +70 -0
  123. package/dist/telemetry/tool-plane.js.map +1 -0
  124. package/dist/telemetry/trace-identity.d.ts.map +1 -1
  125. package/dist/telemetry/trace-identity.js +3 -0
  126. package/dist/telemetry/trace-identity.js.map +1 -1
  127. package/dist/types/dsl/index.d.ts +6 -0
  128. package/dist/types/dsl/index.d.ts.map +1 -1
  129. package/dist/utils/event-catalog.d.ts +237 -0
  130. package/dist/utils/event-catalog.d.ts.map +1 -1
  131. package/dist/utils/event-catalog.js +51 -0
  132. package/dist/utils/event-catalog.js.map +1 -1
  133. package/dist/utils/logger.d.ts +5 -0
  134. package/dist/utils/logger.d.ts.map +1 -1
  135. package/dist/utils/logger.js +24 -22
  136. package/dist/utils/logger.js.map +1 -1
  137. package/dist/utils/wallet-address.d.ts +3 -0
  138. package/dist/utils/wallet-address.d.ts.map +1 -0
  139. package/dist/utils/wallet-address.js +17 -0
  140. package/dist/utils/wallet-address.js.map +1 -0
  141. package/package.json +1 -1
@@ -12,6 +12,7 @@ import { createRiskGuard, createRiskGuardStub } from "./risk-guard.js";
12
12
  import { createStrategyLifecycle } from "./strategy-lifecycle.js";
13
13
  // RiskGuardianService removed — gate decisions are now real-time in checkGate
14
14
  import { createRiskAuditLog } from "../risk/risk-audit-log.js";
15
+ import { createEventStore, registerEventSink, unregisterEventSink, flushEventSink } from "../telemetry/event-store.js";
15
16
  import { createNotificationService } from "./notifications.js";
16
17
  import { resolveStrategyConfig } from "./map-strategies.js";
17
18
  import { mapRuntimeExitToDslConfig } from "./map-exit-config.js";
@@ -31,7 +32,7 @@ import { createActionNotificationSubscriber, isActionLifecycleNotificationsEnabl
31
32
  import { MaxLeverageCache } from "../leverage/max-leverage-cache.js";
32
33
  import { buildStateLayout } from "./state-layout.js";
33
34
  import { createLogger } from "../utils/logger.js";
34
- import { buildScannerSummaryEvent, buildRuntimeStartedEvent, buildRuntimeStoppedEvent, buildRuntimeErrorEvent, } from "./lifecycle-events.js";
35
+ import { buildScannerSummaryEvent, buildRuntimeStartedEvent, buildRuntimeStoppedEvent, buildRuntimeErrorEvent, buildQueueBackpressureEvent, } from "./lifecycle-events.js";
35
36
  import { emitEvent } from "../actions/event-derivation.js";
36
37
  import { createDomainEventSubscriber } from "./domain-events.js";
37
38
  import { PositionIdRegistry, buildRehydrateItems, } from "./position-id-registry.js";
@@ -42,11 +43,21 @@ import { buildIdentity, } from "../telemetry/identity.js";
42
43
  import { runReconcile } from "./reconcile-run.js";
43
44
  import { KeyedMutex } from "../utils/keyed-mutex.js";
44
45
  import { withSpan } from "../telemetry/tracing.js";
46
+ import { registerDslActivePositionsGauge, registerQueueDepthGauge, recordScannerRun, recordSignalQueueWait, recordRuntimeHeartbeat, } from "../telemetry/metrics.js";
45
47
  import { isOtlpEndpointConfigured } from "../telemetry/otel-sdk.js";
46
48
  import { identityTraceAttributes, setTraceIdentityAttributes, } from "../telemetry/trace-identity.js";
47
49
  const logger = createLogger("[senpi-core][runtime]");
48
50
  /** Fixed retry interval for the boot-reconcile loop. */
49
51
  const RECONCILE_RETRY_INTERVAL_MS = 15_000;
52
+ /**
53
+ * Signal-queue depth at which the serial consumer is judged to be falling behind. It processes one
54
+ * signal at a time (each may run an LLM decision), so a backlog this deep means inflow is outpacing
55
+ * processing — a `runtime.queue_backpressure` alert. Hardcoded: the depth a stall shows at is a
56
+ * runtime invariant, not a per-recipe tuning knob.
57
+ */
58
+ const SIGNAL_QUEUE_BACKPRESSURE_THRESHOLD = 10;
59
+ /** Default liveness-heartbeat window (~15 min) when `health.window_seconds` is unset. */
60
+ const DEFAULT_LIVENESS_WINDOW_SECONDS = 900;
50
61
  export class Runtime {
51
62
  config;
52
63
  options;
@@ -60,6 +71,8 @@ export class Runtime {
60
71
  senpi = null;
61
72
  healthStateModule = null;
62
73
  domainEventSubscriber = null;
74
+ /** Wallet under which this runtime's local event sink is registered; cleared on teardown. */
75
+ eventSinkAddress = null;
63
76
  /** Lazy runtime identity builder; stamps per-trace identity at the signal.process seam. */
64
77
  buildTraceIdentity;
65
78
  traceIdentity;
@@ -71,6 +84,12 @@ export class Runtime {
71
84
  signalQueueWait = null;
72
85
  signalConsumerStopped = false;
73
86
  signalConsumerDone = null;
87
+ /** Disposer for this runtime's `runtime.queue_depth` gauge observation; set on start, called on stop. */
88
+ queueDepthGaugeDispose = null;
89
+ /** Disposer for this runtime's `dsl.active_positions` gauge observation; set on start, called on stop. */
90
+ dslActivePositionsGaugeDispose = null;
91
+ /** Interval emitting this runtime's liveness heartbeat; set on start, cleared on stop. */
92
+ livenessHeartbeatTimer = null;
74
93
  runActionsForSignal;
75
94
  strategyConfig;
76
95
  actionRuntimeModule;
@@ -334,6 +353,7 @@ export class Runtime {
334
353
  name: this.config.name,
335
354
  recipeVersion: this.config.version,
336
355
  strategyAddress: this.strategyConfig.address,
356
+ group: this.config.group,
337
357
  bootId: this.runtimeBootId,
338
358
  unresolvedConfig: this.options.unresolvedConfig,
339
359
  });
@@ -363,6 +383,10 @@ export class Runtime {
363
383
  const riskBlock = this.config.risk;
364
384
  const strategyAddress = this.strategyConfig.address;
365
385
  const auditLog = riskBlock ? createRiskAuditLog(stateDir) : undefined;
386
+ // Local domain-event ring. Always on (independent of the OTLP collector) so the agent can query
387
+ // the trade narrative locally; the singleton logger taps it by wallet via this registration.
388
+ registerEventSink(strategyAddress, createEventStore(stateDir, strategyAddress));
389
+ this.eventSinkAddress = strategyAddress;
366
390
  // In-memory strategy-lifecycle tracker: owns the self-pause state that
367
391
  // RiskGuard used to hold and fires the hook + notification on a running→paused
368
392
  // transition. RiskGuard stays stateless and only reports gate evaluations.
@@ -503,6 +527,16 @@ export class Runtime {
503
527
  // share one senpi.run.id.
504
528
  const runId = event.result.runId ?? randomUUID();
505
529
  this.signalQueue.push({ result: event.result, enqueuedAt: Date.now(), runId });
530
+ // Edge-triggered backpressure alarm: depth rises one enqueue at a time, so `=== threshold`
531
+ // fires exactly once as it crosses up and re-arms only after the consumer drains back below.
532
+ if (this.signalQueue.length === SIGNAL_QUEUE_BACKPRESSURE_THRESHOLD) {
533
+ emitEvent(logger, () => buildQueueBackpressureEvent({
534
+ depth: this.signalQueue.length,
535
+ threshold: SIGNAL_QUEUE_BACKPRESSURE_THRESHOLD,
536
+ scannerId: event.result.scannerId,
537
+ address: this.strategyConfig.address,
538
+ }));
539
+ }
506
540
  if (this.signalQueueWait) {
507
541
  const w = this.signalQueueWait;
508
542
  this.signalQueueWait = null;
@@ -521,6 +555,7 @@ export class Runtime {
521
555
  // First-class event log. The build runs inside emitEvent's guard — telemetry never
522
556
  // disturbs the scan path.
523
557
  emitEvent(logger, () => buildScannerSummaryEvent(scannerRunPayload, Date.now()));
558
+ recordScannerRun({ scannerId: event.result.scannerId, outcome: event.result.status });
524
559
  // Forward scanner summary alerts (e.g. watchdog) to notification service
525
560
  const alerts = event.result.summary?.alerts;
526
561
  if (Array.isArray(alerts) && alerts.length > 0) {
@@ -590,7 +625,7 @@ export class Runtime {
590
625
  logger.warn("[runtime] partial-state cleanup error on failed start (ignored)", { cleanupErr });
591
626
  }
592
627
  // Telemetry cleanup (must not leak on a failed boot); the error rethrows.
593
- this.disposeSubscribers();
628
+ await this.disposeSubscribers();
594
629
  throw err;
595
630
  }
596
631
  // First-class event log. Carries the UNRESOLVED config hash (the form `computeConfigHash` uses),
@@ -605,7 +640,50 @@ export class Runtime {
605
640
  actionCount: this.config.actions?.length ?? 0,
606
641
  hasDsl: this.dslPlugin != null,
607
642
  unresolvedConfig: this.options.unresolvedConfig,
643
+ slots: this.strategyConfig.slots,
644
+ tradingRisk: this.strategyConfig.tradingRisk,
645
+ marginPerSlot: this.strategyConfig.marginPerSlot,
646
+ marginPct: this.strategyConfig.marginPct,
647
+ defaultLeverage: this.strategyConfig.defaultLeverage,
608
648
  }));
649
+ // Observable gauge of the serial signal-queue depth — its absence/stall is alertable without a
650
+ // trace or log scan. Reads the live depth at each collection; disposed in stop().
651
+ const walletDim = this.strategyConfig.address.toLowerCase();
652
+ const group = this.config.group;
653
+ this.queueDepthGaugeDispose = registerQueueDepthGauge({
654
+ strategyAddress: walletDim,
655
+ group,
656
+ read: () => this.getSignalQueueDepth(),
657
+ });
658
+ // Liveness heartbeat: a positive tick every window, dimensioned by wallet/group. A dead runtime
659
+ // can't emit a "down" event — only the absence of these ticks detects it. Fire one now so a
660
+ // runtime that dies before its first window still leaves a mark. Unref'd so it never holds the
661
+ // process open; cleared in stop().
662
+ const windowSec = this.config.health?.window_seconds ?? DEFAULT_LIVENESS_WINDOW_SECONDS;
663
+ recordRuntimeHeartbeat({ strategyAddress: walletDim, group });
664
+ this.livenessHeartbeatTimer = setInterval(() => recordRuntimeHeartbeat({ strategyAddress: walletDim, group }), windowSec * 1000);
665
+ this.livenessHeartbeatTimer.unref?.();
666
+ // Observable gauge of active DSL-managed positions, split by exit phase. Only meaningful when this
667
+ // runtime runs the exit engine; counts this wallet's positions live at each collection (no snapshot).
668
+ if (this.dslPlugin) {
669
+ this.dslActivePositionsGaugeDispose = registerDslActivePositionsGauge({
670
+ strategyAddress: walletDim,
671
+ group,
672
+ read: () => {
673
+ let phase1 = 0;
674
+ let phase2 = 0;
675
+ for (const p of this.dslPlugin?.listActivePositions() ?? []) {
676
+ if (p.address?.toLowerCase() !== walletDim)
677
+ continue;
678
+ if (p.phase === 2)
679
+ phase2++;
680
+ else
681
+ phase1++;
682
+ }
683
+ return { phase1, phase2 };
684
+ },
685
+ });
686
+ }
609
687
  }
610
688
  /**
611
689
  * Cancel exchange SLs and archive DSL state for the strategy, then log removal.
@@ -721,8 +799,10 @@ export class Runtime {
721
799
  // Measured from enqueue, but the pre-gate backlog is evicted above before the
722
800
  // span opens, so every signal that reaches here was enqueued after the (one-shot)
723
801
  // reconcile gate resolved — i.e. this is pure FIFO wait, not gate wait.
724
- span.setAttribute("senpi.queue.wait_ms", Date.now() - queuedItem.enqueuedAt);
802
+ const queueWaitMs = Date.now() - queuedItem.enqueuedAt;
803
+ span.setAttribute("senpi.queue.wait_ms", queueWaitMs);
725
804
  span.setAttribute("senpi.queue.depth", this.signalQueue.length);
805
+ recordSignalQueueWait(queueWaitMs / 1000, { scannerId: queuedItem.result.scannerId });
726
806
  try {
727
807
  const usedSlotsByStrategy = await this.stateManager.getUsedSlotsByStrategy([this.strategyConfig.address]);
728
808
  const payload = buildActionScanPayload(queuedItem.result, this.strategyConfig, {
@@ -843,11 +923,18 @@ export class Runtime {
843
923
  * Dispose the domain-event subscriber. Idempotent; shared by stop() and the failed-start
844
924
  * cleanup path in start().
845
925
  */
846
- disposeSubscribers() {
926
+ async disposeSubscribers() {
847
927
  if (this.domainEventSubscriber) {
848
928
  this.domainEventSubscriber.dispose();
849
929
  this.domainEventSubscriber = null;
850
930
  }
931
+ if (this.eventSinkAddress !== null) {
932
+ // Drain the sink's queued fire-and-forget appends before dropping it, so a graceful stop
933
+ // doesn't discard events that were enqueued but not yet written.
934
+ await flushEventSink(this.eventSinkAddress);
935
+ unregisterEventSink(this.eventSinkAddress);
936
+ this.eventSinkAddress = null;
937
+ }
851
938
  }
852
939
  async stop() {
853
940
  if (!this.started)
@@ -864,6 +951,18 @@ export class Runtime {
864
951
  const uptimeMs = Date.now() - (this.startedAt ?? Date.now());
865
952
  // First-class event log. The build runs inside emitEvent's guard — telemetry never blocks shutdown.
866
953
  emitEvent(logger, () => buildRuntimeStoppedEvent(VERSION, uptimeMs, this.strategyConfig.address));
954
+ if (this.queueDepthGaugeDispose) {
955
+ this.queueDepthGaugeDispose();
956
+ this.queueDepthGaugeDispose = null;
957
+ }
958
+ if (this.dslActivePositionsGaugeDispose) {
959
+ this.dslActivePositionsGaugeDispose();
960
+ this.dslActivePositionsGaugeDispose = null;
961
+ }
962
+ if (this.livenessHeartbeatTimer) {
963
+ clearInterval(this.livenessHeartbeatTimer);
964
+ this.livenessHeartbeatTimer = null;
965
+ }
867
966
  this.signalConsumerStopped = true;
868
967
  if (this.signalQueueWait) {
869
968
  const w = this.signalQueueWait;
@@ -893,7 +992,7 @@ export class Runtime {
893
992
  this.senpi = null;
894
993
  }
895
994
  this.healthStateModule = null;
896
- this.disposeSubscribers();
995
+ await this.disposeSubscribers();
897
996
  if (this.bus.removeAllListeners) {
898
997
  this.bus.removeAllListeners();
899
998
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
@@ -99,6 +99,8 @@ export type LongRunningEvent = {
99
99
  signal?: string;
100
100
  durationMs: number;
101
101
  runId: string;
102
+ /** The spawn/start exception when the child never ran (ENOENT, a synchronous spawn throw). */
103
+ error?: unknown;
102
104
  } | {
103
105
  type: "restarting";
104
106
  runId: string;
@@ -112,6 +114,7 @@ export type LongRunningEvent = {
112
114
  type: "recovered";
113
115
  } | {
114
116
  type: "stopped";
117
+ wasDegraded: boolean;
115
118
  } | {
116
119
  type: "silence-killed";
117
120
  pid: number;
@@ -1 +1 @@
1
- {"version":3,"file":"long-running-supervisor.d.ts","sourceRoot":"","sources":["../../../src/runtime/supervisor/long-running-supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"long-running-supervisor.d.ts","sourceRoot":"","sources":["../../../src/runtime/supervisor/long-running-supervisor.ts"],"names":[],"mappings":"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"}
@@ -130,7 +130,9 @@ export class LongRunningSupervisor extends EventEmitter {
130
130
  if (this.runLoopPromise !== null) {
131
131
  await this.runLoopPromise;
132
132
  }
133
- this.safeEmit({ type: "stopped" });
133
+ // Carry the degraded flag so the metric layer can balance the scanner.degraded gauge: stop() does
134
+ // not emit `recovered`, so a teardown while degraded would otherwise leak a permanent +1.
135
+ this.safeEmit({ type: "stopped", wasDegraded: this.status === "degraded" });
134
136
  this.logger.info("LongRunningSupervisor stopped", {
135
137
  supervisorId: this.supervisorId,
136
138
  });
@@ -176,7 +178,9 @@ export class LongRunningSupervisor extends EventEmitter {
176
178
  this.startSilencePoller(child, runId);
177
179
  this.startStableTimer(child);
178
180
  // ── wait for exit ──────────────────────────────────────────────────────
179
- const { exitCode, signal } = await this.waitForExit(child, runId);
181
+ // The exit detail rides the `exited` event emitted inside waitForExit; the loop only needs
182
+ // the uptime below for crash-loop accounting.
183
+ await this.waitForExit(child, runId);
180
184
  this.stopSilencePoller();
181
185
  this.clearStableTimer();
182
186
  if (this.activeChild === child)
@@ -198,17 +202,6 @@ export class LongRunningSupervisor extends EventEmitter {
198
202
  this.recordFailure();
199
203
  }
200
204
  const backoffMs = this.computeBackoff(attempt);
201
- this.logger.info("LongRunningSupervisor child exited, scheduling restart", {
202
- supervisorId: this.supervisorId,
203
- runId,
204
- exitCode,
205
- signal,
206
- uptime,
207
- backoffMs,
208
- attempt,
209
- rapidFailures: this.rapidFailures,
210
- status: this.status,
211
- });
212
205
  this.emitRestarting(runId, backoffMs, attempt);
213
206
  await this.backoff(backoffMs);
214
207
  attempt++;
@@ -230,12 +223,15 @@ export class LongRunningSupervisor extends EventEmitter {
230
223
  });
231
224
  }
232
225
  catch (err) {
233
- const error = errorMessage(err);
234
- this.logger.error("LongRunningSupervisor spawn failed (synchronous)", {
235
- supervisorId: this.supervisorId,
226
+ // A synchronous spawn throw is a zero-duration failed run — surface it as an `exited` carrying
227
+ // the exception, symmetric with the async start-failure path. The loop then restarts as usual.
228
+ this.safeEmit({
229
+ type: "exited",
230
+ pid: -1,
231
+ exitCode: null,
232
+ durationMs: 0,
236
233
  runId,
237
- attempt,
238
- error,
234
+ error: err,
239
235
  });
240
236
  return null;
241
237
  }
@@ -246,13 +242,6 @@ export class LongRunningSupervisor extends EventEmitter {
246
242
  runId,
247
243
  attempt,
248
244
  });
249
- this.logger.info("LongRunningSupervisor spawned child", {
250
- supervisorId: this.supervisorId,
251
- runId,
252
- pid: child.pid,
253
- attempt,
254
- command: this.spec.command,
255
- });
256
245
  }
257
246
  // ── stdio forwarding ───────────────────────────────────────────────────────
258
247
  // Attach line-buffered readers to both streams synchronously (before any
@@ -288,9 +277,11 @@ export class LongRunningSupervisor extends EventEmitter {
288
277
  };
289
278
  attachForwarder(child.stdout, "stdout");
290
279
  attachForwarder(child.stderr, "stderr");
291
- // Log async spawn errors (ENOENT fired via 'error' event).
280
+ // Always-attached 'error' listener: an EventEmitter 'error' with no listener throws, and this
281
+ // covers the window before waitForExit attaches its own. The failure itself is surfaced as the
282
+ // `exited` event (carrying the exception) by waitForExit's onError — this is just a breadcrumb.
292
283
  child.on("error", (err) => {
293
- this.logger.error("LongRunningSupervisor child error event", {
284
+ this.logger.debug("LongRunningSupervisor child 'error' event", {
294
285
  supervisorId: this.supervisorId,
295
286
  runId,
296
287
  pid: child.pid,
@@ -312,7 +303,7 @@ export class LongRunningSupervisor extends EventEmitter {
312
303
  child.removeListener("exit", onExit);
313
304
  child.removeListener("error", onError);
314
305
  };
315
- const onExit = (code, sig) => {
306
+ const onExit = (code, sig, error) => {
316
307
  if (settled)
317
308
  return;
318
309
  settled = true;
@@ -327,14 +318,7 @@ export class LongRunningSupervisor extends EventEmitter {
327
318
  signal,
328
319
  durationMs,
329
320
  runId,
330
- });
331
- this.logger.info("LongRunningSupervisor child exited", {
332
- supervisorId: this.supervisorId,
333
- runId,
334
- pid: child.pid,
335
- exitCode: code,
336
- signal,
337
- durationMs,
321
+ error,
338
322
  });
339
323
  }
340
324
  resolve({ exitCode: code, signal: sig });
@@ -347,13 +331,9 @@ export class LongRunningSupervisor extends EventEmitter {
347
331
  const onError = (err) => {
348
332
  if (settled)
349
333
  return;
350
- this.logger.error("LongRunningSupervisor child failed to start (treating as exit)", {
351
- supervisorId: this.supervisorId,
352
- runId,
353
- pid: child.pid,
354
- error: errorMessage(err),
355
- });
356
- onExit(null, null);
334
+ // Surface the start failure as a zero-info exit carrying the exception — the bridge emits it
335
+ // as `scanner.exited` at warn with the stack, so no separate error log is needed here.
336
+ onExit(null, null, err);
357
337
  };
358
338
  // If the child is already dead (stop() raced the spawn), resolve now.
359
339
  if (child.exitCode !== null || child.signalCode !== null) {
@@ -395,13 +375,6 @@ export class LongRunningSupervisor extends EventEmitter {
395
375
  return; // heartbeat hasn't started yet — don't kill
396
376
  const silenceMs = Date.now() - ts;
397
377
  if (silenceMs >= maxSilenceMs) {
398
- this.logger.warn("LongRunningSupervisor silence threshold exceeded, killing child", {
399
- supervisorId: this.supervisorId,
400
- runId,
401
- pid: child.pid,
402
- silenceMs,
403
- maxSilenceMs,
404
- });
405
378
  // safeEmit is mandatory here: this runs inside a setInterval callback,
406
379
  // so a throwing listener would otherwise be an uncaught exception that
407
380
  // crashes the host — and killChild below would never run.
@@ -513,9 +486,6 @@ export class LongRunningSupervisor extends EventEmitter {
513
486
  if (this.status === "degraded") {
514
487
  this.status = "healthy";
515
488
  this.safeEmit({ type: "recovered" });
516
- this.logger.info("LongRunningSupervisor recovered to healthy", {
517
- supervisorId: this.supervisorId,
518
- });
519
489
  }
520
490
  }
521
491
  }
@@ -531,6 +501,10 @@ export class LongRunningSupervisor extends EventEmitter {
531
501
  reason,
532
502
  rapidFailures: this.rapidFailures,
533
503
  });
504
+ // The `scanner.degraded` event (via the telemetry bridge) is the queryable record; this
505
+ // error-level log additionally fans out the error notifier (Telegram) so a crash-loop pages.
506
+ // Fires once on the healthy→degraded edge (guarded above), so it does not spam. Interim until
507
+ // the scanner-health metric + collector alert supersede the inline page.
534
508
  this.logger.error("LongRunningSupervisor degraded (crash-loop)", {
535
509
  supervisorId: this.supervisorId,
536
510
  reason,