instar 1.3.632 → 1.3.634

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 (82) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +59 -4
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +18 -1
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/FeedbackManager.d.ts +9 -0
  8. package/dist/core/FeedbackManager.d.ts.map +1 -1
  9. package/dist/core/FeedbackManager.js +54 -7
  10. package/dist/core/FeedbackManager.js.map +1 -1
  11. package/dist/core/LeaseCoordinator.d.ts +7 -0
  12. package/dist/core/LeaseCoordinator.d.ts.map +1 -1
  13. package/dist/core/LeaseCoordinator.js +9 -0
  14. package/dist/core/LeaseCoordinator.js.map +1 -1
  15. package/dist/core/MachinePoolRegistry.d.ts +8 -0
  16. package/dist/core/MachinePoolRegistry.d.ts.map +1 -1
  17. package/dist/core/MachinePoolRegistry.js +1 -0
  18. package/dist/core/MachinePoolRegistry.js.map +1 -1
  19. package/dist/core/MultiMachineCoordinator.d.ts +69 -0
  20. package/dist/core/MultiMachineCoordinator.d.ts.map +1 -1
  21. package/dist/core/MultiMachineCoordinator.js +183 -0
  22. package/dist/core/MultiMachineCoordinator.js.map +1 -1
  23. package/dist/core/churnBreaker.d.ts +68 -0
  24. package/dist/core/churnBreaker.d.ts.map +1 -0
  25. package/dist/core/churnBreaker.js +98 -0
  26. package/dist/core/churnBreaker.js.map +1 -0
  27. package/dist/core/clockSkewAlarm.d.ts +61 -0
  28. package/dist/core/clockSkewAlarm.d.ts.map +1 -0
  29. package/dist/core/clockSkewAlarm.js +68 -0
  30. package/dist/core/clockSkewAlarm.js.map +1 -0
  31. package/dist/core/configCoherence.d.ts +39 -0
  32. package/dist/core/configCoherence.d.ts.map +1 -0
  33. package/dist/core/configCoherence.js +52 -0
  34. package/dist/core/configCoherence.js.map +1 -0
  35. package/dist/core/feedbackBackoff.d.ts +58 -0
  36. package/dist/core/feedbackBackoff.d.ts.map +1 -0
  37. package/dist/core/feedbackBackoff.js +81 -0
  38. package/dist/core/feedbackBackoff.js.map +1 -0
  39. package/dist/core/leaseLiveness.d.ts +42 -0
  40. package/dist/core/leaseLiveness.d.ts.map +1 -0
  41. package/dist/core/leaseLiveness.js +34 -0
  42. package/dist/core/leaseLiveness.js.map +1 -0
  43. package/dist/core/pollIntent.d.ts +65 -0
  44. package/dist/core/pollIntent.d.ts.map +1 -0
  45. package/dist/core/pollIntent.js +112 -0
  46. package/dist/core/pollIntent.js.map +1 -0
  47. package/dist/core/pollerCount.d.ts +61 -0
  48. package/dist/core/pollerCount.d.ts.map +1 -0
  49. package/dist/core/pollerCount.js +62 -0
  50. package/dist/core/pollerCount.js.map +1 -0
  51. package/dist/core/types.d.ts +57 -1
  52. package/dist/core/types.d.ts.map +1 -1
  53. package/dist/core/types.js.map +1 -1
  54. package/dist/lifeline/TelegramLifeline.d.ts +18 -0
  55. package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
  56. package/dist/lifeline/TelegramLifeline.js +99 -0
  57. package/dist/lifeline/TelegramLifeline.js.map +1 -1
  58. package/dist/lifeline/pollDecision.d.ts +47 -0
  59. package/dist/lifeline/pollDecision.d.ts.map +1 -0
  60. package/dist/lifeline/pollDecision.js +50 -0
  61. package/dist/lifeline/pollDecision.js.map +1 -0
  62. package/dist/server/routes.d.ts.map +1 -1
  63. package/dist/server/routes.js +17 -0
  64. package/dist/server/routes.js.map +1 -1
  65. package/package.json +1 -1
  66. package/src/data/builtin-manifest.json +48 -48
  67. package/upgrades/1.3.634.md +59 -0
  68. package/upgrades/eli16/feedback-429-backoff.eli16.md +47 -0
  69. package/upgrades/side-effects/feedback-429-backoff.md +71 -0
  70. package/upgrades/side-effects/mm-lease-poll-robustness-b1-lifeline-consumer.md +43 -0
  71. package/upgrades/side-effects/mm-lease-poll-robustness-b1-poll-decision.md +38 -0
  72. package/upgrades/side-effects/mm-lease-poll-robustness-b1-poll-intent-producer.md +37 -0
  73. package/upgrades/side-effects/mm-lease-poll-robustness-b2-churn-breaker.md +42 -0
  74. package/upgrades/side-effects/mm-lease-poll-robustness-b3-renew-timer.md +43 -0
  75. package/upgrades/side-effects/mm-lease-poll-robustness-b4-clockskew-alarm-core.md +25 -0
  76. package/upgrades/side-effects/mm-lease-poll-robustness-b4-d9-freeze-vs-skew.md +71 -0
  77. package/upgrades/side-effects/mm-lease-poll-robustness-b4-skew-immune-liveness.md +41 -0
  78. package/upgrades/side-effects/mm-lease-poll-robustness-b5-poller-count-route.md +24 -0
  79. package/upgrades/side-effects/mm-lease-poll-robustness-b5-poller-count.md +38 -0
  80. package/upgrades/side-effects/mm-lease-poll-robustness-b5-pollingactive-heartbeat.md +38 -0
  81. package/upgrades/side-effects/mm-lease-poll-robustness-ci-housekeeping.md +17 -0
  82. package/upgrades/side-effects/mm-lease-poll-robustness-config-coherence.md +23 -0
@@ -58,6 +58,13 @@ export interface CoordinatorConfig {
58
58
  stateDir: string;
59
59
  /** Multi-machine config from config.json */
60
60
  multiMachine?: MultiMachineConfig;
61
+ /**
62
+ * developmentAgent dark-feature gate (B3 — multimachine-lease-poll-robustness).
63
+ * When a leaseSelfHeal sub-feature OMITS its `enabled` flag, the coordinator
64
+ * resolves it `enabled ?? !!developmentAgent` (live on a dev agent, dark on the
65
+ * fleet). Threaded from the server's top-level `config.developmentAgent`.
66
+ */
67
+ developmentAgent?: boolean;
61
68
  }
62
69
  export interface CoordinatorEvents {
63
70
  /** Emitted when this machine should promote to awake */
@@ -95,6 +102,26 @@ export declare class MultiMachineCoordinator extends EventEmitter {
95
102
  */
96
103
  private readonly hbWriteEpisode;
97
104
  private heartbeatCheckTimer;
105
+ /**
106
+ * B3 (multimachine-lease-poll-robustness) — dedicated renew timer (TTL/2),
107
+ * decoupled from the slow heartbeat-check timer so a held lease never lapses
108
+ * between renewals. Null unless resilientRenew resolves on (dev-gate) AND a
109
+ * leaseCoordinator is attached.
110
+ */
111
+ private leaseRenewTimer;
112
+ private leaseRenewing;
113
+ private leaseRenewStartLogged;
114
+ /**
115
+ * B2 (multimachine-lease-poll-robustness, Decision 8) — the lease flap
116
+ * circuit-breaker. Lazily built when the churnDetector gate resolves on.
117
+ */
118
+ private churnBreaker;
119
+ /**
120
+ * B1 (multimachine-lease-poll-robustness, Decision 5) — a per-PROCESS boot id
121
+ * stamped into the poll-intent file so the lifeline can tell a current intent
122
+ * from one left by a prior incarnation of this server.
123
+ */
124
+ private readonly bootId;
98
125
  /** Integrated-Being v1 — tracks whether we've already emitted the
99
126
  * per-machine-ledger warning this boot. Spec §Multi-machine. */
100
127
  private integratedBeingWarningEmitted;
@@ -238,6 +265,48 @@ export declare class MultiMachineCoordinator extends EventEmitter {
238
265
  * sync debouncer pushes the new epoch durably.
239
266
  */
240
267
  attachLeaseCoordinator(lc: LeaseCoordinator): void;
268
+ /**
269
+ * B2 — the churn breaker, gated by `leaseSelfHeal.churnDetector` (OMIT `enabled`
270
+ * ⇒ developmentAgent gate). Returns null when off. Uses the monotonic clock so a
271
+ * wall-clock step can't fake or mask a flap.
272
+ */
273
+ private getChurnBreaker;
274
+ /**
275
+ * B1 — resolve the pollFollowsLease gate. OMIT `enabled` ⇒ developmentAgent
276
+ * gate. When on, the server writes its lease-derived poll intent to the
277
+ * cross-process file so the lifeline can follow the lease at runtime.
278
+ */
279
+ private pollFollowsLeaseEnabled;
280
+ /**
281
+ * B1 — write the lease-derived poll intent for the lifeline. No-op when the gate
282
+ * is off. Guarded: a write failure is logged once, never thrown into the
283
+ * caller's hot path (the intent file is advisory; a missed write degrades to the
284
+ * lifeline's "no current opinion" → hold, the safe direction).
285
+ */
286
+ private writeLeasePollIntent;
287
+ /**
288
+ * B3 — resolve the resilientRenew gate. OMITTED `enabled` ⇒ developmentAgent
289
+ * gate (live-on-dev / dark-on-fleet); an explicit boolean wins. Read live so a
290
+ * config flip applies on the next renew tick without a restart.
291
+ */
292
+ private resilientRenewEnabled;
293
+ /** B3 — the renew cadence, clamped so it is always comfortably under the TTL. */
294
+ private renewIntervalMs;
295
+ /**
296
+ * B3 — start the dedicated renew timer. No-op unless a leaseCoordinator is
297
+ * attached AND resilientRenew resolves on. Keeps the held lease fresh (renew =
298
+ * same epoch) so it never lapses between the slow heartbeat ticks → the
299
+ * epoch-climb stops. Pure timing: it only renews a lease THIS machine already
300
+ * holds; it never acquires, never relaxes the monotonic self-fence.
301
+ */
302
+ private startLeaseRenewTimer;
303
+ /**
304
+ * B3 — one renew tick. Renews ONLY when this machine currently holds the lease
305
+ * (same-epoch refresh); a non-holder is left entirely to tickLease's acquire
306
+ * path. Re-entrancy-guarded and bounded by withTickTimeout so a hung broadcast
307
+ * can't wedge the timer.
308
+ */
309
+ private leaseRenewTick;
241
310
  /** Whether this machine structurally holds the lease (false if none attached). */
242
311
  holdsLease(): boolean;
243
312
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MultiMachineCoordinator.d.ts","sourceRoot":"","sources":["../../src/core/MultiMachineCoordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiMachineCoordinator.d.ts","sourceRoot":"","sources":["../../src/core/MultiMachineCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAErG,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,8FAA8F;IAC9F,eAAe,EAAE,OAAO,GAAG,WAAW,GAAG,gBAAgB,CAAC;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACrF,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAsBD,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yDAAyD;IACzD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,6BAA6B;IAC7B,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1D;AAID,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,mBAAmB,CAA+C;IAC1E;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0D;IACzF,OAAO,CAAC,mBAAmB,CAA+C;IAC1E;;;;;OAKG;IACH,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,qBAAqB,CAAkB;IAC/C;;;OAGG;IACH,OAAO,CAAC,YAAY,CAA6B;IACjD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4D;IACnF;qEACiE;IACjE,OAAO,CAAC,6BAA6B,CAAkB;IACvD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,YAAY,CAAkB;IACtC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB,CAAuF;IAE/G;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,uFAAuF;IACvF,OAAO,CAAC,yBAAyB,CAAkB;gBAEvC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB;IAc1D,uDAAuD;IACvD,IAAI,OAAO,IAAI,OAAO,CAA0B;IAEhD,mCAAmC;IACnC,IAAI,IAAI,IAAI,WAAW,CAAuB;IAE9C,yDAAyD;IACzD,IAAI,QAAQ,IAAI,eAAe,GAAG,IAAI,CAA2B;IAEjE,2DAA2D;IAC3D,IAAI,OAAO,IAAI,OAAO,CAAmC;IAEzD;;;;;;;;;;;;OAYG;IACH,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IAO9B,uFAAuF;IACvF,OAAO,CAAC,kBAAkB;IAI1B,0DAA0D;IAC1D,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAED,kDAAkD;IAClD,IAAI,QAAQ;;;;;MAOX;IAID;;;OAGG;IACH,KAAK,IAAI,WAAW;IAuGpB;;OAEG;IACH;;;;OAIG;IACH,OAAO,CAAC,sCAAsC;IAiB9C,IAAI,IAAI,IAAI;IA2BZ;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA0CpC;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgCrC;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAoB/B;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI;IAIlD;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAavB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAK7B,iFAAiF;IACjF,OAAO,CAAC,eAAe;IAKvB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;YACW,cAAc;IAoB5B,kFAAkF;IAClF,UAAU,IAAI,OAAO;IAIrB;;;;;;;;;OASG;IACH,QAAQ,IAAI,OAAO;IAInB;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;;OAKG;IACH,aAAa,IAAI,sBAAsB;IAsCvC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BtC;;;;;;OAMG;IACG,qBAAqB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzE;;;OAGG;YACW,SAAS;IAkDvB,wEAAwE;IACxE,OAAO,CAAC,oBAAoB;IAoD5B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;;;;;OAMG;YACW,aAAa;IA6C3B;;;;;;;;OAQG;IACH,OAAO,CAAC,+BAA+B;IAoBvC;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,0BAA0B;IAgExC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,qBAAqB;IA4B7B,2FAA2F;IAC3F,OAAO,CAAC,SAAS;IAIjB,8FAA8F;IAC9F,OAAO,KAAK,eAAe,GAS1B;IAED;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAgDvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CA+B7B"}
@@ -21,6 +21,9 @@ import { SecurityLog } from './SecurityLog.js';
21
21
  import { NonceStore } from './NonceStore.js';
22
22
  import { SEAMLESSNESS_PROTOCOL_VERSION } from './seamlessnessConfig.js';
23
23
  import { FailureEpisodeLatch } from './FailureEpisodeLatch.js';
24
+ import { ChurnBreaker } from './churnBreaker.js';
25
+ import { writePollIntent } from './pollIntent.js';
26
+ import { resolveDevAgentGate } from './devAgentGate.js';
24
27
  import { DegradationReporter } from '../monitoring/DegradationReporter.js';
25
28
  // ── Constants ────────────────────────────────────────────────────────
26
29
  const HEARTBEAT_WRITE_INTERVAL_MS = 2 * 60_000; // Write heartbeat every 2 min
@@ -29,6 +32,15 @@ const TICK_WATCHDOG_INTERVAL_MS = 60_000; // F1b — independent tick-stall watc
29
32
  const DEFAULT_FAILOVER_TIMEOUT_MS = 15 * 60_000; // 15 min before failover
30
33
  /** Cross-Machine Coherence — default active lease-PULL cadence over the tunnel. */
31
34
  const DEFAULT_LEASE_PULL_INTERVAL_MS = 5_000;
35
+ /**
36
+ * B3 (multimachine-lease-poll-robustness) — the dedicated renew timer fires at
37
+ * `clamp(leaseTtlMs × RENEW_SAFETY_FACTOR, [MIN, MAX])` so a holder renews (same
38
+ * epoch) BEFORE its lease lapses, instead of re-acquiring at epoch+1 on the slow
39
+ * heartbeat tick. Default TTL 60s → 30s renew cadence (well under TTL).
40
+ */
41
+ const RENEW_SAFETY_FACTOR = 0.5;
42
+ const MIN_RENEW_INTERVAL_MS = 5_000;
43
+ const MAX_RENEW_INTERVAL_MS = 60_000;
32
44
  // ── Coordinator ──────────────────────────────────────────────────────
33
45
  export class MultiMachineCoordinator extends EventEmitter {
34
46
  identityManager;
@@ -56,6 +68,26 @@ export class MultiMachineCoordinator extends EventEmitter {
56
68
  */
57
69
  hbWriteEpisode = new FailureEpisodeLatch({ signalAfterMs: 6 * 60_000 });
58
70
  heartbeatCheckTimer = null;
71
+ /**
72
+ * B3 (multimachine-lease-poll-robustness) — dedicated renew timer (TTL/2),
73
+ * decoupled from the slow heartbeat-check timer so a held lease never lapses
74
+ * between renewals. Null unless resilientRenew resolves on (dev-gate) AND a
75
+ * leaseCoordinator is attached.
76
+ */
77
+ leaseRenewTimer = null;
78
+ leaseRenewing = false;
79
+ leaseRenewStartLogged = false;
80
+ /**
81
+ * B2 (multimachine-lease-poll-robustness, Decision 8) — the lease flap
82
+ * circuit-breaker. Lazily built when the churnDetector gate resolves on.
83
+ */
84
+ churnBreaker = null;
85
+ /**
86
+ * B1 (multimachine-lease-poll-robustness, Decision 5) — a per-PROCESS boot id
87
+ * stamped into the poll-intent file so the lifeline can tell a current intent
88
+ * from one left by a prior incarnation of this server.
89
+ */
90
+ bootId = `${process.pid}-${process.hrtime.bigint().toString(36)}`;
59
91
  /** Integrated-Being v1 — tracks whether we've already emitted the
60
92
  * per-machine-ledger warning this boot. Spec §Multi-machine. */
61
93
  integratedBeingWarningEmitted = false;
@@ -327,6 +359,10 @@ export class MultiMachineCoordinator extends EventEmitter {
327
359
  clearTimeout(this.leasePullTimer);
328
360
  this.leasePullTimer = null;
329
361
  }
362
+ if (this.leaseRenewTimer) {
363
+ clearInterval(this.leaseRenewTimer);
364
+ this.leaseRenewTimer = null;
365
+ }
330
366
  this.nonceStore.destroy();
331
367
  }
332
368
  // ── Role Transitions ─────────────────────────────────────────────
@@ -433,6 +469,122 @@ export class MultiMachineCoordinator extends EventEmitter {
433
469
  attachLeaseCoordinator(lc) {
434
470
  this.leaseCoordinator = lc;
435
471
  }
472
+ /**
473
+ * B2 — the churn breaker, gated by `leaseSelfHeal.churnDetector` (OMIT `enabled`
474
+ * ⇒ developmentAgent gate). Returns null when off. Uses the monotonic clock so a
475
+ * wall-clock step can't fake or mask a flap.
476
+ */
477
+ getChurnBreaker() {
478
+ const c = this.config.multiMachine?.leaseSelfHeal?.churnDetector;
479
+ const enabled = resolveDevAgentGate(c?.enabled, this.config);
480
+ if (!enabled) {
481
+ this.churnBreaker = null;
482
+ return null;
483
+ }
484
+ if (!this.churnBreaker) {
485
+ this.churnBreaker = new ChurnBreaker({ maxFlipsPerWindow: c?.maxFlipsPerWindow, windowMs: c?.windowMs, maxLatchesPerHour: c?.maxLatchesPerHour }, () => this.monoNowMs());
486
+ }
487
+ return this.churnBreaker;
488
+ }
489
+ /**
490
+ * B1 — resolve the pollFollowsLease gate. OMIT `enabled` ⇒ developmentAgent
491
+ * gate. When on, the server writes its lease-derived poll intent to the
492
+ * cross-process file so the lifeline can follow the lease at runtime.
493
+ */
494
+ pollFollowsLeaseEnabled() {
495
+ const m = this.config.multiMachine;
496
+ return resolveDevAgentGate(m?.pollFollowsLease?.enabled, this.config);
497
+ }
498
+ /**
499
+ * B1 — write the lease-derived poll intent for the lifeline. No-op when the gate
500
+ * is off. Guarded: a write failure is logged once, never thrown into the
501
+ * caller's hot path (the intent file is advisory; a missed write degrades to the
502
+ * lifeline's "no current opinion" → hold, the safe direction).
503
+ */
504
+ writeLeasePollIntent(shouldPoll, role) {
505
+ if (!this.pollFollowsLeaseEnabled() || !this.leaseCoordinator)
506
+ return;
507
+ try {
508
+ writePollIntent(this.config.stateDir, {
509
+ shouldPoll,
510
+ leaseEpoch: this.leaseCoordinator.currentEpoch(),
511
+ role: role === 'awake' ? 'awake' : 'standby',
512
+ serverPid: process.pid,
513
+ bootId: this.bootId,
514
+ ts: Date.now(),
515
+ });
516
+ }
517
+ catch (err) {
518
+ console.log(`[MultiMachine] [poll-intent] write failed (non-fatal): ${err.message}`);
519
+ }
520
+ }
521
+ /**
522
+ * B3 — resolve the resilientRenew gate. OMITTED `enabled` ⇒ developmentAgent
523
+ * gate (live-on-dev / dark-on-fleet); an explicit boolean wins. Read live so a
524
+ * config flip applies on the next renew tick without a restart.
525
+ */
526
+ resilientRenewEnabled() {
527
+ const explicit = this.config.multiMachine?.leaseSelfHeal?.resilientRenew?.enabled;
528
+ return resolveDevAgentGate(explicit, this.config);
529
+ }
530
+ /** B3 — the renew cadence, clamped so it is always comfortably under the TTL. */
531
+ renewIntervalMs() {
532
+ const ttl = this.leaseCoordinator?.ttlMs ?? MAX_RENEW_INTERVAL_MS * 2;
533
+ return Math.max(MIN_RENEW_INTERVAL_MS, Math.min(MAX_RENEW_INTERVAL_MS, Math.round(ttl * RENEW_SAFETY_FACTOR)));
534
+ }
535
+ /**
536
+ * B3 — start the dedicated renew timer. No-op unless a leaseCoordinator is
537
+ * attached AND resilientRenew resolves on. Keeps the held lease fresh (renew =
538
+ * same epoch) so it never lapses between the slow heartbeat ticks → the
539
+ * epoch-climb stops. Pure timing: it only renews a lease THIS machine already
540
+ * holds; it never acquires, never relaxes the monotonic self-fence.
541
+ */
542
+ startLeaseRenewTimer() {
543
+ if (this.leaseRenewTimer) {
544
+ clearInterval(this.leaseRenewTimer);
545
+ this.leaseRenewTimer = null;
546
+ }
547
+ if (!this.leaseCoordinator || !this.resilientRenewEnabled())
548
+ return;
549
+ const interval = this.renewIntervalMs();
550
+ if (!this.leaseRenewStartLogged) {
551
+ console.log(`[MultiMachine] lease renew timer armed (every ${interval}ms; TTL ${this.leaseCoordinator.ttlMs}ms) — B3 resilient renew`);
552
+ this.leaseRenewStartLogged = true;
553
+ }
554
+ this.leaseRenewTimer = setInterval(() => { void this.leaseRenewTick(); }, interval);
555
+ if (this.leaseRenewTimer.unref)
556
+ this.leaseRenewTimer.unref();
557
+ }
558
+ /**
559
+ * B3 — one renew tick. Renews ONLY when this machine currently holds the lease
560
+ * (same-epoch refresh); a non-holder is left entirely to tickLease's acquire
561
+ * path. Re-entrancy-guarded and bounded by withTickTimeout so a hung broadcast
562
+ * can't wedge the timer.
563
+ */
564
+ async leaseRenewTick() {
565
+ if (this.leaseRenewing || !this.leaseCoordinator)
566
+ return;
567
+ // A muted/observe-only machine NEVER renews — same rule tickLease's
568
+ // observe-only branch enforces. Without this, a machine that booted
569
+ // observe-only while still NAMED in a persisted prior lease (the F3
570
+ // silent-standby zombie) would have its lease renewed/re-broadcast here for
571
+ // up to ~TTL, fighting the silent-standby-relinquish self-heal. (2nd-pass.)
572
+ if (this.isLeaseObserveOnly)
573
+ return;
574
+ // Only a current holder renews. A lapsed/non-holder is acquireIfEligible's job.
575
+ if (!this.leaseCoordinator.holdsLease())
576
+ return;
577
+ this.leaseRenewing = true;
578
+ try {
579
+ await this.withTickTimeout('lease-renew', () => this.leaseCoordinator.renew());
580
+ }
581
+ catch (err) {
582
+ console.log(`[MultiMachine] lease renew tick error (non-fatal): ${err.message}`);
583
+ }
584
+ finally {
585
+ this.leaseRenewing = false;
586
+ }
587
+ }
436
588
  /** Whether this machine structurally holds the lease (false if none attached). */
437
589
  holdsLease() {
438
590
  return this.leaseCoordinator?.holdsLease() ?? this._role === 'awake';
@@ -544,6 +696,13 @@ export class MultiMachineCoordinator extends EventEmitter {
544
696
  // standby learns of a takeover it was never pushed; a holder learns of a
545
697
  // same-epoch contender). No-op when the transport can't pull (git-only mesh).
546
698
  this.startLeasePullLoop();
699
+ // B3 — keep the held lease fresh (renew before it lapses) so the epoch stops
700
+ // climbing. No-op unless resilientRenew resolves on (dev-gate).
701
+ this.startLeaseRenewTimer();
702
+ // B1 — at boot the role isn't yet reconciled; publish the SAFE default
703
+ // (shouldPoll:false / mute) so a stale prior-boot {shouldPoll:true} can't
704
+ // resurrect a poller before the first reconcile decides the real role.
705
+ this.writeLeasePollIntent(false, 'standby');
547
706
  }
548
707
  /**
549
708
  * Acquire the lease on an explicit yield from the outgoing holder (planned
@@ -568,6 +727,9 @@ export class MultiMachineCoordinator extends EventEmitter {
568
727
  return;
569
728
  this.leaseTicking = true;
570
729
  this.leaseTickStartMonoMs = this.monoNowMs(); // F1b — for the watchdog's ceiling-gated guard reset
730
+ // B2 — advance the churn breaker so a settled system auto-resets the latch
731
+ // after a calm window (no-op when the churnDetector gate is off).
732
+ this.getChurnBreaker()?.tick();
571
733
  try {
572
734
  if (this.isLeaseObserveOnly) {
573
735
  // F3 (silentStandbyRelinquish, DARK) — LEVEL-TRIGGERED: a silent standby
@@ -644,6 +806,27 @@ export class MultiMachineCoordinator extends EventEmitter {
644
806
  else
645
807
  this.emit('demote');
646
808
  console.log(`[MultiMachine] Lease reconcile → ${desired} (${reason})`);
809
+ // B1 — publish the lease-derived poll intent for the lifeline (shouldPoll =
810
+ // awake). No-op unless pollFollowsLease resolves on. Nothing consumes it yet
811
+ // (the lifeline reconcile loop is the next increment), so this is a safe,
812
+ // observe-only producer — it cannot change ingress.
813
+ this.writeLeasePollIntent(holds, desired);
814
+ // B2 — feed the flap circuit-breaker on every REAL role transition (this is
815
+ // past the `desired === this._role` early-return, so it counts only true
816
+ // flips). Observe/dry-run: log the would-latch; applying the deterministic
817
+ // role is the live graduation (dryRun:false).
818
+ const breaker = this.getChurnBreaker();
819
+ if (breaker) {
820
+ const v = breaker.recordFlip();
821
+ if (v.latched) {
822
+ const pref = this.config.multiMachine?.leaseSelfHeal?.preferredAwakeMachineId;
823
+ const wouldRole = breaker.latchedRole(!!pref && pref === this._identity.machineId);
824
+ const dryRun = this.config.multiMachine?.leaseSelfHeal?.churnDetector?.dryRun !== false;
825
+ console.log(`[MultiMachine] [churn] breaker LATCHED — flips=${v.flipsInWindow}, latchesThisHour=${v.latchesInHour}` +
826
+ `${v.exhausted ? ' (EXHAUSTED — operator attention)' : ''} — ` +
827
+ `${dryRun ? `would hold role '${wouldRole}' (dry-run)` : `holding role '${wouldRole}'`}`);
828
+ }
829
+ }
647
830
  }
648
831
  // ── Cross-Machine Coherence: active lease PULL ───────────────────
649
832
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MultiMachineCoordinator.js","sourceRoot":"","sources":["../../src/core/MultiMachineCoordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiMachineCoordinator.js","sourceRoot":"","sources":["../../src/core/MultiMachineCoordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * B2 (multimachine-lease-poll-robustness, Decision 8) — the lease flap
3
+ * circuit-breaker. Implements the `leaseSelfHeal.churnDetector` config that ships
4
+ * today as DEAD config (a type + defaults with ZERO consumers).
5
+ *
6
+ * When the awake/standby role flips more than `maxFlipsPerWindow` times within
7
+ * `windowMs`, the breaker LATCHES: the machine stops contending and holds a
8
+ * DETERMINISTIC role (the `preferredAwakeMachineId` machine → awake, every other
9
+ * machine → standby) so the resting state is exactly-one-awake, never a random
10
+ * mid-flap snapshot (which on a 2-machine pair is a coin-flip → 25% both-standby
11
+ * silence / 25% both-awake dual-poll). It auto-resets after a calm `windowMs`.
12
+ *
13
+ * "Guard bypass carries its own cap" — a breaker that re-latches more than
14
+ * `maxLatchesPerHour` is itself an incident: it stops auto-resetting (stays
15
+ * latched) and surfaces a HIGH signal, rather than self-resetting forever.
16
+ *
17
+ * Pure + deterministic (clock injected) so the lifecycle is fully unit-testable.
18
+ * SIGNAL only at this layer — it returns a verdict; the coordinator decides what
19
+ * to do with it (and ships it dark/dry-run first).
20
+ */
21
+ export interface ChurnBreakerConfig {
22
+ /** Flips within windowMs that trip the breaker. Default 4. */
23
+ maxFlipsPerWindow: number;
24
+ /** Rolling window for the flip count AND the calm-reset interval. Default 600000 (10m). */
25
+ windowMs: number;
26
+ /** Latches within the trailing hour that exhaust the breaker (then no auto-reset). Default 3. */
27
+ maxLatchesPerHour: number;
28
+ }
29
+ export declare const DEFAULT_CHURN_CONFIG: ChurnBreakerConfig;
30
+ export interface ChurnVerdict {
31
+ /** Is the breaker currently latched (machine should stop contending)? */
32
+ latched: boolean;
33
+ /** Has the breaker exhausted its latch budget (stays latched, raise HIGH attention)? */
34
+ exhausted: boolean;
35
+ /** Flip count in the current window (for observability). */
36
+ flipsInWindow: number;
37
+ /** Latch count in the trailing hour (for observability). */
38
+ latchesInHour: number;
39
+ }
40
+ export declare class ChurnBreaker {
41
+ private readonly cfg;
42
+ private readonly now;
43
+ private flips;
44
+ private latches;
45
+ private latched;
46
+ private exhausted;
47
+ private lastFlipAt;
48
+ constructor(cfg: Partial<ChurnBreakerConfig>, now: () => number);
49
+ private prune;
50
+ /** Record a role transition. Returns the breaker verdict AFTER this flip. */
51
+ recordFlip(): ChurnVerdict;
52
+ /**
53
+ * Tick WITHOUT a flip — checks auto-reset. The breaker auto-resets once a full
54
+ * `windowMs` has elapsed with NO new flip (a calm window), UNLESS it is
55
+ * exhausted (then it stays latched until the operator clears it). Call this on
56
+ * the coordinator's heartbeat tick so a settled system un-latches on its own.
57
+ */
58
+ tick(): ChurnVerdict;
59
+ private verdict;
60
+ /**
61
+ * The DETERMINISTIC role this machine should hold while latched. Never a
62
+ * mid-flap snapshot: the preferred-awake machine holds awake, everyone else
63
+ * holds standby → exactly-one-awake resting state. Returns null when not
64
+ * latched (the lease decides normally).
65
+ */
66
+ latchedRole(isPreferredAwake: boolean): 'awake' | 'standby' | null;
67
+ }
68
+ //# sourceMappingURL=churnBreaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"churnBreaker.d.ts","sourceRoot":"","sources":["../../src/core/churnBreaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IACjB,iGAAiG;IACjG,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,oBAAoB,EAAE,kBAIlC,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,SAAS,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;CACvB;AAID,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAK;gBAEX,GAAG,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,MAAM;IAS/D,OAAO,CAAC,KAAK;IAOb,6EAA6E;IAC7E,UAAU,IAAI,YAAY;IAa1B;;;;;OAKG;IACH,IAAI,IAAI,YAAY;IASpB,OAAO,CAAC,OAAO;IAUf;;;;;OAKG;IACH,WAAW,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI;CAInE"}