instar 1.3.566 → 1.3.568

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.
@@ -1 +1 @@
1
- {"version":3,"file":"uncaughtExceptionPolicy.d.ts","sourceRoot":"","sources":["../../src/core/uncaughtExceptionPolicy.ts"],"names":[],"mappings":"AA2CA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIxD;AAyBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQ/D;AAED,gFAAgF;AAChF,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD"}
1
+ {"version":3,"file":"uncaughtExceptionPolicy.d.ts","sourceRoot":"","sources":["../../src/core/uncaughtExceptionPolicy.ts"],"names":[],"mappings":"AA6DA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIxD;AAyBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQ/D;AAED,gFAAgF;AAChF,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD"}
@@ -39,6 +39,24 @@ const NON_FATAL_UNCAUGHT_PATTERNS = [
39
39
  // This is a crash backstop ONLY — it does not change lease/standby behavior;
40
40
  // it stops a standby write from taking the process down.
41
41
  'StateManager is read-only',
42
+ // Network-class outbound failures (transient upstream/peer outage). A failed
43
+ // outbound fetch — the multi-machine lease-wire peer broadcast, a Slack
44
+ // connect/reconnect, any HTTP call — is ISOLATED by nature: the call has
45
+ // already unwound and SQLite, HTTP, and the other subsystems are intact. The
46
+ // owning subsystem retries/self-heals (lease-wire re-broadcasts; the socket
47
+ // reconnects with backoff). Crashing the whole agent on a transient network
48
+ // blip is strictly worse than logging + continuing — it was the cause of the
49
+ // 2026-06-15 crash-during-API-instability (an uncaught `fetch failed` took the
50
+ // server down mid-outage). The first-seen-stack logging below still surfaces
51
+ // the un-guarded callsite so the real missing `.catch` gets fixed; this is the
52
+ // crash backstop, NOT a license to skip the catch. (CMT-1548)
53
+ 'fetch failed', // undici / Node global fetch network failure
54
+ 'ECONNREFUSED',
55
+ 'ECONNRESET',
56
+ 'ETIMEDOUT',
57
+ 'ENOTFOUND',
58
+ 'EAI_AGAIN',
59
+ 'socket hang up',
42
60
  ];
43
61
  /**
44
62
  * True when an uncaught exception is a known isolated/recoverable error that the
@@ -1 +1 @@
1
- {"version":3,"file":"uncaughtExceptionPolicy.js","sourceRoot":"","sources":["../../src/core/uncaughtExceptionPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,2BAA2B,GAAG;IAClC,0EAA0E;IAC1E,8EAA8E;IAC9E,wCAAwC;IACxC,iBAAiB;IACjB,uBAAuB;IACvB,4BAA4B;IAC5B,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,uBAAuB;IACvB,6EAA6E;IAC7E,sEAAsE;IACtE,8EAA8E;IAC9E,uEAAuE;IACvE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,gFAAgF;IAChF,6EAA6E;IAC7E,yDAAyD;IACzD,2BAA2B;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC7C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,0EAA0E;IAC1E,+EAA+E;IAC/E,IAAI,kBAAkB,CAAC,IAAI,IAAI,kBAAkB;QAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC9E,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kCAAkC;IAChD,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"uncaughtExceptionPolicy.js","sourceRoot":"","sources":["../../src/core/uncaughtExceptionPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,2BAA2B,GAAG;IAClC,0EAA0E;IAC1E,8EAA8E;IAC9E,wCAAwC;IACxC,iBAAiB;IACjB,uBAAuB;IACvB,4BAA4B;IAC5B,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,uBAAuB;IACvB,6EAA6E;IAC7E,sEAAsE;IACtE,8EAA8E;IAC9E,uEAAuE;IACvE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,gFAAgF;IAChF,6EAA6E;IAC7E,yDAAyD;IACzD,2BAA2B;IAC3B,6EAA6E;IAC7E,wEAAwE;IACxE,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,8DAA8D;IAC9D,cAAc,EAAW,6CAA6C;IACtE,cAAc;IACd,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,gBAAgB;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC7C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,0EAA0E;IAC1E,+EAA+E;IAC/E,IAAI,kBAAkB,CAAC,IAAI,IAAI,kBAAkB;QAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC9E,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kCAAkC;IAChD,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC7B,CAAC"}
@@ -120,6 +120,8 @@ export declare class ServerSupervisor extends EventEmitter {
120
120
  private lastHealthy;
121
121
  private startupGraceMs;
122
122
  private spawnedAt;
123
+ private firstSpawnedAt;
124
+ private readonly graceCeilingMultiplier;
123
125
  private retryCooldownMs;
124
126
  private maxRetriesExhaustedAt;
125
127
  private consecutiveFailures;
@@ -287,6 +289,13 @@ export declare class ServerSupervisor extends EventEmitter {
287
289
  private spawnServer;
288
290
  private isServerSessionAlive;
289
291
  private startHealthChecks;
292
+ /**
293
+ * One health-check tick — extracted from the setInterval callback so a single
294
+ * tick can be driven directly in unit tests (Fix A/B/C, supervisor-respawn-
295
+ * guarantee) and so the wiring-integrity test can assert the loop probes
296
+ * isServerSessionAlive() before honoring any startup-grace early-return.
297
+ */
298
+ private runHealthTick;
290
299
  private stopHealthChecks;
291
300
  private checkHealth;
292
301
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ServerSupervisor.d.ts","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerSupervisor.d.ts","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,16 @@ export class ServerSupervisor extends EventEmitter {
111
111
  // separately; this grace makes restarts safe in the meantime.)
112
112
  startupGraceMs = 600_000;
113
113
  spawnedAt = 0;
114
+ // Fix C (supervisor-respawn-guarantee): wall-clock of the FIRST spawn in the
115
+ // current not-yet-healthy episode. `spawnedAt` can be repeatedly reset to now
116
+ // by sleep/wake handling, which re-arms the startup-grace window indefinitely;
117
+ // `firstSpawnedAt` is NOT reset by those handlers, so it anchors an absolute
118
+ // ceiling on cumulative grace (startupGraceMs * graceCeilingMultiplier). Past
119
+ // the ceiling, failures are acted on normally even if `spawnedAt` was just
120
+ // reset — a server that has never gone healthy after 3× the grace window is
121
+ // hung, not booting. Cleared on the first healthy tick.
122
+ firstSpawnedAt = 0;
123
+ graceCeilingMultiplier = 3;
114
124
  retryCooldownMs = 5 * 60_000; // 5 minutes cooldown after max retries exhausted
115
125
  maxRetriesExhaustedAt = 0;
116
126
  consecutiveFailures = 0; // Hysteresis: require 2 consecutive failures before marking unhealthy
@@ -972,121 +982,201 @@ export class ServerSupervisor extends EventEmitter {
972
982
  // that still cause health check failures during the transition.
973
983
  this.sleepWakeDetector = new SleepWakeDetector({ driftThresholdMs: 15_000 });
974
984
  this.sleepWakeDetector.on('wake', (event) => {
975
- console.log(`[Supervisor] SleepWakeDetector: wake after ~${event.sleepDurationSeconds}s. Resetting failure counters.`);
985
+ // Fix B (supervisor-respawn-guarantee): the same load guard the gap-based
986
+ // check uses. SleepWakeDetector infers a wake from a monotonic-clock drift,
987
+ // which CPU starvation can also produce. Always reset the (possibly stale)
988
+ // failure counters, but only re-arm the startup-grace window (`spawnedAt =
989
+ // now`) when the box is NOT starved — otherwise a starvation false-wake
990
+ // would pin the supervisor in grace and suppress Fix A's recovery of a
991
+ // genuinely-dead server.
992
+ const loadPerCore = this.loadRatioProvider();
993
+ const starved = loadPerCore > this.maxLoadRatio;
994
+ console.log(`[Supervisor] SleepWakeDetector: wake after ~${event.sleepDurationSeconds}s (load ratio ${loadPerCore.toFixed(2)}). Resetting failure counters${starved ? ' (CPU-starved — NOT re-arming startup grace)' : ''}.`);
976
995
  this.restartAttempts = 0;
977
996
  this.maxRetriesExhaustedAt = 0;
978
997
  this.consecutiveFailures = 0;
979
998
  this.totalFailures = 0;
980
999
  this.totalFailureWindowStart = 0;
981
- this.spawnedAt = Date.now();
982
- this.wakeTransitionUntil = Date.now() + this.wakeTransitionMs;
1000
+ if (!starved) {
1001
+ this.spawnedAt = Date.now();
1002
+ this.firstSpawnedAt = this.spawnedAt; // fresh episode — re-anchor Fix C ceiling (see gap-check)
1003
+ this.wakeTransitionUntil = Date.now() + this.wakeTransitionMs;
1004
+ }
983
1005
  });
984
1006
  this.sleepWakeDetector.start();
985
1007
  }
986
- this.healthCheckInterval = setInterval(async () => {
987
- const now = Date.now();
988
- // Sleep/wake detection: if the gap between health checks is much larger than
989
- // the poll interval, the machine was likely suspended (e.g., lid close after
990
- // an auto-update restart). Reset failure counters so brief wake cycles don't
991
- // exhaust restart attempts before the machine is fully awake.
992
- if (this.lastHealthCheckAt > 0 && (now - this.lastHealthCheckAt) > this.sleepWakeGapMs) {
993
- const gapSec = Math.round((now - this.lastHealthCheckAt) / 1000);
1008
+ this.healthCheckInterval = setInterval(() => { void this.runHealthTick(); }, 10_000); // Check every 10 seconds
1009
+ }
1010
+ /**
1011
+ * One health-check tick extracted from the setInterval callback so a single
1012
+ * tick can be driven directly in unit tests (Fix A/B/C, supervisor-respawn-
1013
+ * guarantee) and so the wiring-integrity test can assert the loop probes
1014
+ * isServerSessionAlive() before honoring any startup-grace early-return.
1015
+ */
1016
+ async runHealthTick() {
1017
+ const now = Date.now();
1018
+ // Sleep/wake detection: if the gap between health checks is much larger than
1019
+ // the poll interval, the machine was likely suspended (e.g., lid close after
1020
+ // an auto-update restart). Reset failure counters so brief wake cycles don't
1021
+ // exhaust restart attempts before the machine is fully awake.
1022
+ if (this.lastHealthCheckAt > 0 && (now - this.lastHealthCheckAt) > this.sleepWakeGapMs) {
1023
+ const gapSec = Math.round((now - this.lastHealthCheckAt) / 1000);
1024
+ // Fix B (supervisor-respawn-guarantee): a large inter-tick gap is NOT
1025
+ // necessarily a machine suspend. Under sustained CPU starvation the event
1026
+ // loop stalls for minutes, so 10s ticks arrive 300-980s apart — and the
1027
+ // unconditional `spawnedAt = now` below would pin the supervisor in
1028
+ // startup-grace forever (the 2026-06-14 trap), suppressing recovery of a
1029
+ // server that has actually crashed. Consult system load (the same signal
1030
+ // SleepWakeDetector and the CPU-starvation defer already use): if the box
1031
+ // is starved, classify the gap as a STALLED EVENT LOOP, not a suspend —
1032
+ // reset the failure counters (safe; they may be stale) but do NOT reset
1033
+ // `spawnedAt`, so the grace window is not re-armed and Fix A below can act
1034
+ // on a genuinely-missing server on this very tick.
1035
+ const loadPerCore = this.loadRatioProvider();
1036
+ const starvedGap = loadPerCore > this.maxLoadRatio;
1037
+ if (starvedGap) {
1038
+ console.log(`[Supervisor] Large health-check gap (${gapSec}s) under CPU starvation (load ratio ${loadPerCore.toFixed(2)} > ${this.maxLoadRatio}) — classifying as a stalled event loop, NOT sleep/wake. Resetting failure counters but NOT re-arming startup grace.`);
1039
+ this.restartAttempts = 0;
1040
+ this.maxRetriesExhaustedAt = 0;
1041
+ this.consecutiveFailures = 0;
1042
+ this.totalFailures = 0;
1043
+ this.totalFailureWindowStart = 0;
1044
+ // Deliberately NOT resetting spawnedAt / firstSpawnedAt — see Fix B above.
1045
+ }
1046
+ else {
994
1047
  console.log(`[Supervisor] Sleep/wake detected (${gapSec}s gap). Resetting failure counters.`);
995
1048
  this.restartAttempts = 0;
996
1049
  this.maxRetriesExhaustedAt = 0;
997
1050
  this.consecutiveFailures = 0;
998
1051
  this.totalFailures = 0;
999
1052
  this.totalFailureWindowStart = 0;
1000
- // Give the server the full startup grace period from wake time
1053
+ // Give the server the full startup grace period from wake time. A
1054
+ // genuine suspend/wake is a fresh boot episode, so re-anchor the Fix C
1055
+ // grace ceiling too (firstSpawnedAt = now) — otherwise a long sleep
1056
+ // would make the wall-clock ceiling fire immediately on the post-wake
1057
+ // boot and deny a legitimately slow wake its grace.
1001
1058
  this.spawnedAt = now;
1059
+ this.firstSpawnedAt = now;
1002
1060
  this.wakeTransitionUntil = now + this.wakeTransitionMs;
1003
1061
  }
1004
- this.lastHealthCheckAt = now;
1005
- // Agent hard-sleep: when intentionally slept, the server is down BY DESIGN.
1006
- // Skip all health/respawn logic and only watch for a wake-request. This is
1007
- // the single change to the loop's control flow a pure short-circuit that is
1008
- // a no-op unless a sleep-request was honored (slept === false otherwise).
1009
- if (this.slept) {
1010
- this.checkWakeRequest();
1011
- return;
1012
- }
1013
- // During startup grace period: probe health optimistically but don't act on failures.
1014
- // This allows `lastHealthy` to update as soon as the server is responsive, so
1015
- // TelegramLifeline can forward messages immediately instead of queuing them for
1016
- // the entire grace period. Failures are ignored the server is still booting.
1017
- if (this.spawnedAt > 0 && (now - this.spawnedAt) < this.startupGraceMs) {
1018
- this.checkRestartRequest();
1019
- // Optimistic health probe update lastHealthy on success, ignore failures
1020
- try {
1021
- const alive = await this.checkHealth();
1022
- if (alive) {
1023
- this.lastHealthy = Date.now();
1024
- if (!this.isRunning) {
1025
- this.isRunning = true;
1026
- this.emit('serverUp');
1027
- }
1062
+ }
1063
+ this.lastHealthCheckAt = now;
1064
+ // Agent hard-sleep: when intentionally slept, the server is down BY DESIGN.
1065
+ // Skip all health/respawn logic and only watch for a wake-request. This is
1066
+ // the single change to the loop's control flow a pure short-circuit that is
1067
+ // a no-op unless a sleep-request was honored (slept === false otherwise).
1068
+ if (this.slept) {
1069
+ this.checkWakeRequest();
1070
+ return;
1071
+ }
1072
+ // Fix A (supervisor-respawn-guarantee) MISSING-SESSION OVERRIDE (primary,
1073
+ // load-bearing). A startup grace period is a promise about a process that
1074
+ // EXISTS and is booting; it must never apply to a process that does not
1075
+ // exist. A missing server tmux session is unambiguous death — not subject
1076
+ // to sleep/wake or load interpretation. Probe it BEFORE the startup-grace
1077
+ // early-return below, so a crashed server is respawned on the very next 10s
1078
+ // tick regardless of any spawnedAt reset that pinned us in grace (the exact
1079
+ // 2026-06-14 trap that left the server dead for ~2h). A normally-booting
1080
+ // server DOES have a live tmux session (created synchronously at spawn; the
1081
+ // HTTP listener binds later), so this never fights a legitimate boot — it
1082
+ // only fires when the process is genuinely gone. handleUnhealthy() carries
1083
+ // the full circuit-breaker / restart-attempt / cooldown accounting, so a
1084
+ // genuine crash-loop still trips the breaker rather than hot-spinning.
1085
+ if (!this.isServerSessionAlive()) {
1086
+ console.log('[Supervisor] Server tmux session is GONE — overriding startup grace and respawning (a missing process is unambiguous death, not a boot).');
1087
+ this.handleUnhealthy();
1088
+ return;
1089
+ }
1090
+ // Fix C (supervisor-respawn-guarantee) — ABSOLUTE GRACE CEILING
1091
+ // (belt-and-suspenders). Anchor the first spawn of this not-yet-healthy
1092
+ // episode so repeated `spawnedAt` resets can never extend the
1093
+ // ignore-failures window beyond startupGraceMs × graceCeilingMultiplier of
1094
+ // real wall-clock. A server whose session is alive but has NEVER answered
1095
+ // /health after 3× the grace window is hung, not booting — past the ceiling
1096
+ // we fall through to act on failures normally.
1097
+ if (this.spawnedAt > 0 && this.firstSpawnedAt === 0) {
1098
+ this.firstSpawnedAt = this.spawnedAt;
1099
+ }
1100
+ const graceCeilingExceeded = this.firstSpawnedAt > 0 &&
1101
+ (now - this.firstSpawnedAt) >= this.startupGraceMs * this.graceCeilingMultiplier;
1102
+ // During startup grace period: probe health optimistically but don't act on failures.
1103
+ // This allows `lastHealthy` to update as soon as the server is responsive, so
1104
+ // TelegramLifeline can forward messages immediately instead of queuing them for
1105
+ // the entire grace period. Failures are ignored — the server is still booting.
1106
+ if (!graceCeilingExceeded && this.spawnedAt > 0 && (now - this.spawnedAt) < this.startupGraceMs) {
1107
+ this.checkRestartRequest();
1108
+ // Optimistic health probe — update lastHealthy on success, ignore failures
1109
+ try {
1110
+ const alive = await this.checkHealth();
1111
+ if (alive) {
1112
+ this.lastHealthy = Date.now();
1113
+ this.firstSpawnedAt = 0; // Fix C: episode resolved healthy — re-anchor next episode
1114
+ if (!this.isRunning) {
1115
+ this.isRunning = true;
1116
+ this.emit('serverUp');
1028
1117
  }
1029
1118
  }
1030
- catch { /* expected during boot — ignore */ }
1031
- return;
1032
1119
  }
1033
- try {
1034
- const healthy = await this.checkHealth();
1035
- if (healthy) {
1036
- if (!this.isRunning) {
1037
- if (this.maintenanceWaitStartedAt > 0) {
1038
- // Recovering from planned restart — quiet recovery, no notification
1039
- const elapsedMs = Date.now() - this.maintenanceWaitStartedAt;
1040
- console.log(`[Supervisor] Server recovered after planned restart (${Math.round(elapsedMs / 1000)}s downtime)`);
1041
- this.maintenanceWaitStartedAt = 0;
1042
- this.clearPlannedExitMarker();
1043
- // Still replay queued messages (important!) but skip serverDown notification
1044
- this.emit('serverUp');
1045
- // Signal the lifeline to self-restart so it picks up new code
1046
- if (this.pendingUpdateVersion) {
1047
- console.log(`[Supervisor] Update to v${this.pendingUpdateVersion} applied — signaling lifeline self-restart`);
1048
- this.emit('updateApplied', this.pendingUpdateVersion);
1049
- this.pendingUpdateVersion = null;
1050
- }
1051
- }
1052
- else {
1053
- this.emit('serverUp');
1120
+ catch { /* expected during boot — ignore */ }
1121
+ return;
1122
+ }
1123
+ try {
1124
+ const healthy = await this.checkHealth();
1125
+ if (healthy) {
1126
+ if (!this.isRunning) {
1127
+ if (this.maintenanceWaitStartedAt > 0) {
1128
+ // Recovering from planned restart — quiet recovery, no notification
1129
+ const elapsedMs = Date.now() - this.maintenanceWaitStartedAt;
1130
+ console.log(`[Supervisor] Server recovered after planned restart (${Math.round(elapsedMs / 1000)}s downtime)`);
1131
+ this.maintenanceWaitStartedAt = 0;
1132
+ this.clearPlannedExitMarker();
1133
+ // Still replay queued messages (important!) but skip serverDown notification
1134
+ this.emit('serverUp');
1135
+ // Signal the lifeline to self-restart so it picks up new code
1136
+ if (this.pendingUpdateVersion) {
1137
+ console.log(`[Supervisor] Update to v${this.pendingUpdateVersion} applied — signaling lifeline self-restart`);
1138
+ this.emit('updateApplied', this.pendingUpdateVersion);
1139
+ this.pendingUpdateVersion = null;
1054
1140
  }
1055
1141
  }
1056
- this.isRunning = true;
1057
- this.lastHealthy = Date.now();
1058
- this.restartAttempts = 0;
1059
- this.consecutiveFailures = 0;
1060
- this.consecutiveBindFailures = 0;
1061
- // F-6: notify any pending Remediator restart-requested entries
1062
- // that the planned restart has completed. Idempotent.
1063
- this.notifyPendingRemediatorRequestsOnHealthy();
1064
- // If circuit breaker was tripped and we recovered, reset it
1065
- if (this.circuitBroken) {
1066
- console.log('[Supervisor] Server recovered after circuit breaker — resetting');
1067
- this.resetCircuitBreaker();
1142
+ else {
1143
+ this.emit('serverUp');
1068
1144
  }
1069
1145
  }
1070
- else {
1071
- this.consecutiveFailures++;
1072
- if (this.consecutiveFailures >= this.unhealthyThreshold) {
1073
- this.evaluateUnhealthyServer();
1074
- }
1146
+ this.isRunning = true;
1147
+ this.lastHealthy = Date.now();
1148
+ this.restartAttempts = 0;
1149
+ this.consecutiveFailures = 0;
1150
+ this.consecutiveBindFailures = 0;
1151
+ this.firstSpawnedAt = 0; // Fix C: episode resolved healthy — re-anchor next episode
1152
+ // F-6: notify any pending Remediator restart-requested entries
1153
+ // that the planned restart has completed. Idempotent.
1154
+ this.notifyPendingRemediatorRequestsOnHealthy();
1155
+ // If circuit breaker was tripped and we recovered, reset it
1156
+ if (this.circuitBroken) {
1157
+ console.log('[Supervisor] Server recovered after circuit breaker — resetting');
1158
+ this.resetCircuitBreaker();
1075
1159
  }
1076
1160
  }
1077
- catch {
1161
+ else {
1078
1162
  this.consecutiveFailures++;
1079
1163
  if (this.consecutiveFailures >= this.unhealthyThreshold) {
1080
1164
  this.evaluateUnhealthyServer();
1081
1165
  }
1082
1166
  }
1083
- // Check for restart requests from the server (e.g., auto-updater)
1084
- this.checkRestartRequest();
1085
- // Check for debug restart requests from doctor sessions
1086
- this.checkDebugRestartRequest();
1087
- // Agent hard-sleep: honor a sleep-request written by the live SleepController
1088
- this.checkSleepRequest();
1089
- }, 10_000); // Check every 10 seconds
1167
+ }
1168
+ catch {
1169
+ this.consecutiveFailures++;
1170
+ if (this.consecutiveFailures >= this.unhealthyThreshold) {
1171
+ this.evaluateUnhealthyServer();
1172
+ }
1173
+ }
1174
+ // Check for restart requests from the server (e.g., auto-updater)
1175
+ this.checkRestartRequest();
1176
+ // Check for debug restart requests from doctor sessions
1177
+ this.checkDebugRestartRequest();
1178
+ // Agent hard-sleep: honor a sleep-request written by the live SleepController
1179
+ this.checkSleepRequest();
1090
1180
  }
1091
1181
  stopHealthChecks() {
1092
1182
  if (this.healthCheckInterval) {
@@ -1 +1 @@
1
- {"version":3,"file":"ServerSupervisor.js","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerSupervisor.js","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.566",
3
+ "version": "1.3.568",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-06-14T23:38:52.194Z",
5
- "instarVersion": "1.3.566",
4
+ "generatedAt": "2026-06-15T03:41:03.300Z",
5
+ "instarVersion": "1.3.568",
6
6
  "entryCount": 201,
7
7
  "entries": {
8
8
  "hook:session-start": {
@@ -0,0 +1,39 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What Changed
7
+
8
+ Hardened the in-process **server supervisor** (`src/lifeline/ServerSupervisor.ts`) so a genuinely-dead server is always respawned, even under sustained CPU starvation. This closes a real ~2h outage class (2026-06-14): on a heavily-loaded box the supervisor's 10s health loop stalls for minutes, and it misread every large inter-tick gap as a machine sleep/wake — resetting `spawnedAt = now`, which re-armed the startup-grace window where health failures (including the unambiguous signal that the server's tmux session no longer exists) are deliberately ignored. The server stayed dead until a human messaged.
9
+
10
+ Three layered fixes, all in the health-check tick:
11
+
12
+ - **Fix A (load-bearing) — missing-session override.** Before honoring any startup-grace early-return, the tick now probes `isServerSessionAlive()`. A missing server tmux session is unambiguous death, not a boot, and is respawned on the very next tick regardless of any `spawnedAt` reset — routed through the existing `handleUnhealthy()` so the circuit breaker still bounds a genuine crash-loop. A normally-booting server has a live tmux session (created synchronously at spawn; HTTP binds later), so this never fights a real boot.
13
+ - **Fix B — load-aware gap detection.** A large inter-tick gap is only treated as sleep/wake when the box is NOT CPU-starved. Under starvation (`loadRatio > 1.5`, the same signal the CPU-starvation defer already uses) the gap is classified as a stalled event loop: failure counters reset, but the startup-grace window is NOT re-armed. The same guard is applied to the `SleepWakeDetector` wake handler. A real low-load suspend still re-arms grace exactly as before.
14
+ - **Fix C — absolute grace ceiling.** A new `firstSpawnedAt` anchor (never reset by sleep/wake handling) caps cumulative startup grace at `startupGraceMs × 3`. A server whose session is alive but has never answered `/health` past the ceiling is hung, not booting, and its failures are acted on normally.
15
+
16
+ The inline `setInterval` callback was extracted verbatim into `runHealthTick()` so a single tick is unit-testable and a wiring-integrity test can assert the loop probes session liveness on every tick.
17
+
18
+ audience: agent-only
19
+ maturity: stable
20
+
21
+ Net #1 (a subsystem uncaught exception crashing the whole process) and net #3 (the launchd fleet watchdog) are tracked follow-ups in the spec §6. Net #3's live root cause was additionally found and fixed in production this session (the `ai.instar.watchdog` launchd job was loaded from a reaped temp-dir plist → exit 127); the durable source fix is tracked in FU-2. <!-- tracked: CMT-1540 -->
22
+
23
+ ## What to Tell Your User
24
+
25
+ Nothing to announce proactively. If asked about server reliability: when my server process genuinely dies, the supervisor now respawns it within one health tick (~10s) instead of being fooled by CPU load into thinking the machine went to sleep and waiting indefinitely. The recovery decision is now grounded in an objective fact — does the server process actually exist? — rather than a sleep/wake guess that could be wrong on a busy machine. Normal slow boots are still given the full startup grace, so this never restarts a server mid-boot.
26
+
27
+ ## Summary of New Capabilities
28
+
29
+ No new user-facing capability — a reliability hardening of the existing crash-recovery supervisor.
30
+
31
+ | Change | Effect |
32
+ |--------|--------|
33
+ | Missing-session override (Fix A) | A dead server tmux session is respawned on the next ~10s tick, even during startup grace |
34
+ | Load-aware gap detection (Fix B) | A CPU-starvation event-loop stall is no longer misread as sleep/wake; grace is not falsely re-armed |
35
+ | Absolute grace ceiling (Fix C) | Repeated `spawnedAt` resets can no longer suppress recovery beyond 3× the grace window |
36
+
37
+ ## Evidence
38
+
39
+ Reliability fix; pinned by `tests/unit/server-supervisor-respawn-guarantee.test.ts` (10) driving the real extracted `runHealthTick()` and `SleepWakeDetector` wake handler: missing-session-during-grace → respawn (the exact 2026-06-14 trap), missing-session-during-false-wake → respawn, starved-gap → `spawnedAt` not reset, low-load-gap → re-armed, grace-ceiling broken → failures acted on, in-grace booting server still protected (Fix A no boot regression), `firstSpawnedAt` cleared on healthy, and a wiring-integrity assertion that the tick probes `isServerSessionAlive()` every tick. The full existing supervisor/lifeline suite (63 tests across 8 files) still passes. `npx tsc --noEmit` clean.
@@ -0,0 +1,22 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What Changed
7
+
8
+ Fixed a robustness gap where a transient network failure could crash the whole agent server. The top-level uncaught-exception handler crashes by default and only log-and-continues for a tight allowlist of known-isolated errors (HTTP double-response races, the Slack reconnect race, standby read-only writes). Network-class failures weren't on that list — so on 2026-06-15, during an API/network rough patch, an uncaught `fetch failed` (the multi-machine lease-wire broadcasting to an offline peer) took the server down (it auto-restarted ~50s later). Network-class tokens (`fetch failed`, `ECONNREFUSED`, `ECONNRESET`, `ETIMEDOUT`, `ENOTFOUND`, `EAI_AGAIN`, `socket hang up`) are now on the recoverable allowlist, so an isolated outbound-fetch failure degrades (log + continue) instead of crashing. The handler logic is untouched; any unrecognized error still crashes (the safe default), and the first-seen-stack logging still surfaces the un-guarded callsite so the real missing `.catch` gets fixed.
9
+
10
+ ## What to Tell Your User
11
+
12
+ Nothing they need to do. The practical effect is fewer unexpected restarts: during a brief internet/API/peer-machine outage, the agent now rides it out and keeps serving instead of restarting itself over a failed background network call.
13
+
14
+ ## Summary of New Capabilities
15
+
16
+ - The crash safety net treats transient network-class failures (`fetch failed` and common connection error codes) as recoverable — log-and-continue, not crash — while keeping the safe default (crash) for every unrecognized error.
17
+
18
+ ## Evidence
19
+
20
+ - Unit tests: `tests/unit/uncaughtExceptionPolicy.test.ts` — 11/11 pass, including the new network-class positive cases (incl. undici `TypeError('fetch failed')`) and boundary cases proving `assertion failed` / `migration failed` / sqlite / undefined-property errors still crash.
21
+ - Root cause in logs: `logs/server.log` 2026-06-15T01:50:28Z `[FATAL] Uncaught exception — closing databases before crash: fetch failed`, preceded by `[lease-wire] broadcast to m_4cbc… became unreachable: fetch failed`.
22
+ - Side-effects review + independent adversarial second pass (concur): `upgrades/side-effects/cmt1548-uncaught-fetch-degrade.md`.
@@ -0,0 +1,99 @@
1
+ # Side-Effects Review — network-class uncaught exceptions degrade, not crash (CMT-1548)
2
+
3
+ **Version / slug:** `cmt1548-uncaught-fetch-degrade`
4
+ **Date:** `2026-06-15`
5
+ **Author:** `Echo (instar-dev agent)`
6
+ **Second-pass reviewer:** `adversarial reviewer subagent (see §Second-pass)`
7
+
8
+ ## Summary of the change
9
+
10
+ The server's top-level `process.on('uncaughtException')` handler (`src/commands/server.ts`) crashes by default and only log-and-continues for errors whose message matches `NON_FATAL_UNCAUGHT_PATTERNS` in `src/core/uncaughtExceptionPolicy.ts`. That allowlist already covers HTTP double-response races, the Slack `Sent before connected` reconnect race, and standby read-only writes — but NOT network-class failures. On 2026-06-15 a transient `fetch failed` (the multi-machine lease-wire broadcasting to an offline peer, during an upstream/API outage) hit the handler as an uncaught exception and crashed the whole server (it auto-restarted ~50s later). This change adds network-class tokens (`fetch failed`, `ECONNREFUSED`, `ECONNRESET`, `ETIMEDOUT`, `ENOTFOUND`, `EAI_AGAIN`, `socket hang up`) to the allowlist, with a justification comment, plus unit tests on both sides of the boundary. Files: `src/core/uncaughtExceptionPolicy.ts` (+8 patterns +comment), `tests/unit/uncaughtExceptionPolicy.test.ts` (+1 positive block, +2 negative boundary cases). Handler logic untouched.
11
+
12
+ ## Decision-point inventory
13
+
14
+ - `isNonFatalUncaught() recoverable-vs-fatal boundary` (`src/core/uncaughtExceptionPolicy.ts`) — **modify** — extends the existing recoverable allowlist with network-class tokens. Default for any unmatched error stays crash (the safe default).
15
+
16
+ ---
17
+
18
+ ## 1. Over-block
19
+
20
+ In this context "over-block" = **suppressing an uncaught error that SHOULD have crashed** (false-recoverable). The risk: an error whose message merely *contains* a network token (e.g. a programming bug whose message happens to include "socket hang up") is now suppressed and the process keeps running in a possibly-degraded state instead of crashing clean.
21
+
22
+ Concrete shapes considered: `'fetch failed'` and the `E*` codes are emitted by Node/undici for genuine network failures only — they are not substrings of common logic-bug messages. `'socket hang up'` and `'ECONNRESET'` are the broadest; both are still network-transport phrases, not general-purpose words. The boundary test asserts `'assertion failed'` / `'migration failed'` stay fatal (a bare "failed" is NOT matched — we match specific tokens). Residual risk is low and is the deliberate trade: a transient network blip must not crash the agent, and the first-seen-stack log surfaces any wrongly-suppressed origin for follow-up.
23
+
24
+ ---
25
+
26
+ ## 2. Under-block
27
+
28
+ "Under-block" = **still crashing on something that was recoverable**. A network failure surfaced with a message outside this token set (e.g. a custom wrapper that rethrows "upstream unavailable" without the underlying code) would still crash. That is acceptable — the allowlist is intentionally tight; we add tokens as real crashes prove them recoverable rather than matching a broad "any network-ish word." The belt-and-suspenders follow-up (a `.catch` at the lease-wire broadcast + slack reconnect fetch paths) is the primary fix; this policy entry is the backstop.
29
+
30
+ ---
31
+
32
+ ## 3. Level-of-abstraction fit
33
+
34
+ Correct layer. This is the process-level last-resort crash backstop — the established home for "this isolated error must not take the whole agent down." It is intentionally a low-level substring detector defaulting to the SAFE direction (crash on anything unrecognized). It does not replace the proper fix (guard the originating fetch with `.catch`); it prevents a missing-catch from escalating a transient outage into a crash-loop. A higher-level gate is not appropriate for a synchronous uncaught-exception handler.
35
+
36
+ ---
37
+
38
+ ## 4. Signal vs authority compliance
39
+
40
+ **Required reference:** docs/signal-vs-authority.md
41
+
42
+ - [x] Yes — but the logic is the EXISTING, blessed crash-backstop pattern, and it fails toward the safe default (crash) for anything unmatched.
43
+
44
+ This entry extends an established allowlist whose whole design is: recognized-isolated → continue; everything else → crash. It holds "crash vs continue" authority, but with the conservative default (unknown ⇒ crash). It is not a new brittle detector owning block-authority over user input; it is the same precedent already shipping for HTTP races, Slack reconnects, and standby writes. The first-seen-stack diagnostic preserves the path to fixing the real missing-catch. No reshaping needed; the design matches the existing pattern exactly.
45
+
46
+ ---
47
+
48
+ ## 5. Interactions
49
+
50
+ - **Shadowing:** runs only inside the top-level `uncaughtException` handler; no ordering against other checks. A matched error returns before `closeAllSqlite()` + `process.exit(1)`. No other check is shadowed.
51
+ - **Double-fire:** none — a single uncaught exception is handled once.
52
+ - **Races:** none — the policy is a pure substring function over the error message; no shared state. (`shouldLogStackForUncaught`'s dedup set is unchanged.)
53
+ - **Feedback loops:** the change REDUCES a feedback loop — it stops the boot→transient-fetch-fail→FATAL→respawn→… crash-loop on a sustained outage.
54
+
55
+ ---
56
+
57
+ ## 6. External surfaces
58
+
59
+ Fleet-wide runtime behavior change: every instar server will now log-and-continue (instead of crash+respawn) on an uncaught network-class error. User-visible effect is strictly positive (fewer unexpected restarts during upstream/network outages). No change to response formats, ledgers, databases, or any persistent state. No external system (Telegram/Slack/GitHub/Cloudflare) is called differently. No timing dependence. **Operator surface:** none — this change adds no operator-facing action.
60
+
61
+ ---
62
+
63
+ ## 6b. Operator-surface quality (Operator-Surface Quality standard)
64
+
65
+ No operator surface — not applicable. This change touches no dashboard renderer, approval page, or grant/revoke/secret-drop form.
66
+
67
+ ---
68
+
69
+ ## 7. Multi-machine posture (Cross-Machine Coherence)
70
+
71
+ **machine-local BY DESIGN** — the crash handler is per-process; each machine's server runs its own `uncaughtException` handler, and that is correct (a crash decision is inherently about the local process). There is no cross-machine state to replicate. Note the *motivating* failure was a multi-machine path (the lease-wire peer broadcast to an offline peer threw the uncaught `fetch failed`), so the benefit accrues most on multi-machine installs — but the fix itself is correctly per-process. Emits no user-facing notices (no one-voice gating needed). Holds no durable state (nothing strands on topic transfer). Generates no URLs.
72
+
73
+ ---
74
+
75
+ ## 8. Rollback cost
76
+
77
+ Pure code change — revert the two files and ship as the next patch. No data migration, no persistent state, no agent-state repair, no user-visible regression during the rollback window. Reversible by removing the added patterns; the allowlist returns to its prior behavior immediately on the reverted build.
78
+
79
+ ---
80
+
81
+ ## Conclusion
82
+
83
+ A tight, additive, well-precedented fix to the existing crash-backstop allowlist that resolves a real fleet-wide failure mode (a transient network error crashing the whole server during an outage). The review surfaced one genuine residual risk — over-suppression of a non-network error whose message coincidentally contains a network token — mitigated by keeping the token set specific (boundary test proves a bare "failed" is not matched) and by the first-seen-stack diagnostic that surfaces any wrongly-suppressed origin. Clear to ship as a Tier-1 change.
84
+
85
+ ---
86
+
87
+ ## Second-pass review (if required)
88
+
89
+ **Reviewer:** adversarial reviewer subagent
90
+ **Independent read of the artifact: concur**
91
+
92
+ Independently verified the test green (11/11 via `vitest run`). Decisive adversarial check: every genuinely-fatal Node/TS error family — OOM (`JavaScript heap out of memory`), `SQLITE_CORRUPT` / `database is locked` / `database is closed`, `EMFILE` / `ENOSPC`, `EPIPE`, `Maximum call stack size exceeded`, and the classic `Cannot read properties of undefined` — all still CRASH, because the network-transport tokens are disjoint from those messages (confirmed by direct substring testing). The `E*` codes are SCREAMING_SNAKE and never appear inside ordinary logic-bug prose, so the `includes` matcher is safe. The only over-suppression constructible (`fetch failed` hiding a non-transient TLS/DNS `.cause`, or a contrived property literally named `'ECONNRESET'`) is either implausible or genuinely isolated-and-recoverable per the handler's contract, with the first-seen-stack diagnostic still surfacing the origin. The boundary tests (`assertion failed`/`migration failed` stay fatal) are load-bearing and correctly prove no bare-`failed` overreach. Clear to ship.
93
+
94
+ ---
95
+
96
+ ## Evidence pointers
97
+
98
+ - Unit test: `tests/unit/uncaughtExceptionPolicy.test.ts` — 11/11 pass (verified locally via `vitest run`), incl. the new network-class positive block and the `assertion failed`/`migration failed` negative boundary cases.
99
+ - Root-cause log evidence: `logs/server.log` 2026-06-15T01:50:28Z `[FATAL] Uncaught exception — closing databases before crash: fetch failed`, preceded by `[lease-wire] broadcast to m_4cbc... became unreachable: fetch failed`.
@@ -0,0 +1,61 @@
1
+ # Side-Effects Review — Supervisor Respawn Guarantee (net #2)
2
+
3
+ **Version / slug:** `supervisor-respawn-guarantee`
4
+ **Date:** `2026-06-14`
5
+ **Author:** `echo`
6
+ **Second-pass reviewer:** `independent reviewer — Concur with the review (2026-06-14)`
7
+
8
+ > Second-pass verdict: **Concur.** Verified no double-spawn (5s first backoff < 10s tick; `spawnServer` kills any lingering session; circuit breaker bounds a crash-loop), no boot regression (`spawnServer` creates the tmux session synchronously via `execFileSync` before the loop arms, so a booting server always has a live session), correct ordering after the slept short-circuit and planned-restart suppression, stale `spawnedAt` does not corrupt the `lastHealthy < spawnedAt` bind-failure tracker, and `firstSpawnedAt` is anchored/cleared on all healthy paths. One non-blocking edge raised — a long hard-sleep while `firstSpawnedAt` is anchored could make the wall-clock ceiling fire immediately on the post-wake boot — **hardened in response:** a genuine (low-load) suspend/wake now re-anchors `firstSpawnedAt = now` in both the gap-check and the `SleepWakeDetector` wake handler (a real wake is a fresh boot episode), with two added regression assertions.
9
+
10
+ ## Summary of the change
11
+
12
+ `src/lifeline/ServerSupervisor.ts` — the in-process net that detects a dead server and respawns it. Three fixes, all in the 10s health-check loop, closing the 2026-06-14 ~2h outage where a CPU-starved box made the supervisor misread its own stalled event loop as a machine sleep/wake, reset `spawnedAt = now`, and pin itself in the startup-grace branch where health failures (including a vanished server tmux session) are ignored.
13
+
14
+ - **Fix A (load-bearing):** at the top of each tick, before the startup-grace early-return, probe `isServerSessionAlive()`. A missing session is unambiguous death → call `handleUnhealthy()` immediately (subject to its existing circuit-breaker / restart-attempt accounting), regardless of any grace pin.
15
+ - **Fix B:** make the gap-based sleep/wake detection (and the `SleepWakeDetector` `'wake'` handler) load-aware. A large inter-tick gap while `loadRatioProvider() > maxLoadRatio` (1.5) is classified as a stalled event loop, not a suspend — failure counters reset (safe) but `spawnedAt` is NOT reset (grace not re-armed). A low-load gap still re-arms grace (real-suspend behavior preserved).
16
+ - **Fix C:** an absolute grace ceiling — `firstSpawnedAt` anchors the first spawn of the current not-yet-healthy episode (never reset by sleep/wake handlers); cumulative grace is capped at `startupGraceMs × 3`. Cleared on the first healthy tick.
17
+
18
+ Refactor: the inline `setInterval` callback was extracted verbatim into `private async runHealthTick()` so a single tick can be unit-driven and the wiring-integrity test can assert the loop probes session liveness.
19
+
20
+ ## Decision-point inventory
21
+
22
+ - `ServerSupervisor.runHealthTick` missing-session override (Fix A) — **add** — respawn-vs-wait decision now grounded in "does the tmux session exist?" before grace.
23
+ - `ServerSupervisor.runHealthTick` gap classification (Fix B) — **modify** — sleep/wake-vs-stalled-loop decision now consults load.
24
+ - `SleepWakeDetector 'wake'` handler `spawnedAt` reset (Fix B) — **modify** — same load guard.
25
+ - `ServerSupervisor.runHealthTick` grace early-return (Fix C) — **modify** — adds the absolute ceiling term.
26
+
27
+ ---
28
+
29
+ ## 1. Over-block
30
+
31
+ No outbound/inbound message block surface. The analogous "over-action" risk is **respawning a server that should have been left alone** (a false positive). Fix A only acts when the tmux session is genuinely absent; a normally-booting server has a live session (created synchronously at spawn; HTTP binds later), so a real boot is never killed — covered by the regression test "alive booting session is still given full grace." Fix B is strictly *less* aggressive than the prior code (it withholds a `spawnedAt` reset; it never adds a kill). Fix C only fires after 3× the (already generous 10-min) grace with the session never having gone healthy — a genuinely hung boot, not a slow one.
32
+
33
+ ## 2. Under-block
34
+
35
+ The "under-action" risk is **a dead server that still isn't respawned**. Remaining gaps, explicitly: (a) Fix A respawns only when the *server tmux session* is missing — a server process that is alive-but-wedged is still handled by the pre-existing `evaluateUnhealthyServer` path (unchanged), with its CPU-starvation defer; this PR does not change that path. (b) This is net #2 only — net #1 (a subsystem uncaught exception crashing the whole process) and net #3 (the fleet watchdog / launchd-level backstop) are tracked follow-ups in the spec §6 (FU-1, FU-2). <!-- tracked: CMT-1540 --> Net #3 was additionally found and fixed LIVE on the echo laptop this session (its launchd job was loaded from a reaped temp-dir plist → exit 127); the durable source fix is tracked in FU-2.
36
+
37
+ ## 3. Level-of-abstraction fit
38
+
39
+ Correct layer. The supervisor legitimately holds respawn **authority**; this change makes that authority *more reliable* by grounding the decision in an objective fact (session exists?) rather than a fragile inference (did the machine sleep?). It reuses the existing low-level primitives (`isServerSessionAlive`, `handleUnhealthy`, `loadRatioProvider`, `maxLoadRatio`) rather than re-implementing them — Fix B uses the *same* load signal the CPU-starvation defer and `SleepWakeDetector` already use. No new gate is introduced; no redundant config knob added (reused `maxLoadRatio = DEFAULT_MAX_LOAD_RATIO = 1.5`, which is exactly the spec's named `cpuStarvationLoadPerCore` default — a deliberate DRY decision vs. the spec's suggested new knob, since the value and signal are identical).
40
+
41
+ ## 4. Signal vs authority compliance
42
+
43
+ Compliant. Per `docs/signal-vs-authority.md`: the heuristic (sleep/wake inference) is *demoted* to where it is safe — leniency for an *existing* slow process — and can never suppress recovery of a *missing* process. The authoritative respawn decision is moved onto a non-heuristic structural fact (tmux session existence). This is the correct direction: replace willpower/heuristic with structure. No brittle check is given new blocking authority.
44
+
45
+ ## 5. Interactions
46
+
47
+ - **Does not shadow / is not shadowed:** Fix A runs *before* the grace early-return and `return`s on a missing session, so the rest of the tick is skipped on that path (intended — respawn is scheduled). The existing non-grace `evaluateUnhealthyServer` missing-session branch is unchanged and still covers the alive-but-unresponsive case.
48
+ - **Double-fire / hot-spin:** Fix A routes through `handleUnhealthy()`, which carries the full circuit-breaker, restart-attempt cap, cooldown, and planned-restart suppression. During the post-`handleUnhealthy` backoff (first attempt 5s < 10s tick) the session re-appears before the next tick, so no double-spawn; a genuine crash-loop trips the breaker exactly as today. Planned-restart / legacy-restart / slept-marker short-circuits all still precede or are honored by `handleUnhealthy`.
49
+ - **Counter resets:** Fix B still resets failure counters on a starved gap (safe — they may be stale); it only withholds the `spawnedAt`/grace re-arm. Fix C clears `firstSpawnedAt` on both healthy paths (grace optimistic-probe success and the main healthy branch).
50
+
51
+ ## 6. External surfaces
52
+
53
+ No API route, no message, no cross-agent surface, no schema change. Pure in-process lifeline behavior. Adds console log lines on the new branches (forensic only). No dependency on conversation state. The only timing dependency is system load (`os.loadavg()`), already used elsewhere and injectable in tests.
54
+
55
+ ## 7. Multi-machine posture (Cross-Machine Coherence)
56
+
57
+ **Machine-local BY DESIGN.** The `ServerSupervisor` supervises THIS machine's server process; each machine runs its own supervisor and respawns its own server. There is no shared state, no replication, and no cross-machine read — a server's liveness is inherently a per-machine fact. Nothing here is user-facing (no one-voice gating needed), nothing is durable state that could strand on a topic transfer, and no URL is generated. This is the correct posture, not a silent single-machine assumption.
58
+
59
+ ## 8. Rollback cost
60
+
61
+ Low. Pure code change in one file + one new test file; no migration, no state schema, no config default change. Back-out = revert the commit and ship a patch release; the supervisor reverts to prior behavior with no data repair. The extracted `runHealthTick()` is behavior-identical to the prior inline callback, so even a partial revert is clean. The change only makes recovery *more* likely to fire, so the failure mode of a bug here is bounded by the pre-existing circuit breaker.