instar 1.3.201 → 1.3.202
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.
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +25 -10
- package/dist/commands/server.js.map +1 -1
- package/dist/core/FeatureRegistry.d.ts.map +1 -1
- package/dist/core/FeatureRegistry.js +6 -0
- package/dist/core/FeatureRegistry.js.map +1 -1
- package/dist/core/LeaseCoordinator.d.ts +40 -0
- package/dist/core/LeaseCoordinator.d.ts.map +1 -1
- package/dist/core/LeaseCoordinator.js +54 -0
- package/dist/core/LeaseCoordinator.js.map +1 -1
- package/dist/core/LocalLeaseStore.d.ts +11 -0
- package/dist/core/LocalLeaseStore.d.ts.map +1 -1
- package/dist/core/LocalLeaseStore.js +18 -0
- package/dist/core/LocalLeaseStore.js.map +1 -1
- package/dist/core/MultiMachineCoordinator.d.ts +35 -0
- package/dist/core/MultiMachineCoordinator.d.ts.map +1 -1
- package/dist/core/MultiMachineCoordinator.js +94 -0
- package/dist/core/MultiMachineCoordinator.js.map +1 -1
- package/dist/core/SqliteRegistry.d.ts +59 -0
- package/dist/core/SqliteRegistry.d.ts.map +1 -0
- package/dist/core/SqliteRegistry.js +97 -0
- package/dist/core/SqliteRegistry.js.map +1 -0
- package/dist/core/StopGateDb.d.ts +2 -0
- package/dist/core/StopGateDb.d.ts.map +1 -1
- package/dist/core/StopGateDb.js +22 -0
- package/dist/core/StopGateDb.js.map +1 -1
- package/dist/memory/SemanticMemory.d.ts.map +1 -1
- package/dist/memory/SemanticMemory.js +8 -0
- package/dist/memory/SemanticMemory.js.map +1 -1
- package/dist/memory/TopicMemory.d.ts.map +1 -1
- package/dist/memory/TopicMemory.js +7 -0
- package/dist/memory/TopicMemory.js.map +1 -1
- package/dist/messaging/MessageProcessingLedger.d.ts.map +1 -1
- package/dist/messaging/MessageProcessingLedger.js +7 -0
- package/dist/messaging/MessageProcessingLedger.js.map +1 -1
- package/dist/messaging/imessage/NativeBackend.d.ts.map +1 -1
- package/dist/messaging/imessage/NativeBackend.js +6 -0
- package/dist/messaging/imessage/NativeBackend.js.map +1 -1
- package/dist/messaging/pending-relay-store.d.ts.map +1 -1
- package/dist/messaging/pending-relay-store.js +6 -0
- package/dist/messaging/pending-relay-store.js.map +1 -1
- package/dist/monitoring/CorrectionLedger.d.ts.map +1 -1
- package/dist/monitoring/CorrectionLedger.js +6 -0
- package/dist/monitoring/CorrectionLedger.js.map +1 -1
- package/dist/monitoring/FailureLedger.d.ts.map +1 -1
- package/dist/monitoring/FailureLedger.js +6 -0
- package/dist/monitoring/FailureLedger.js.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.d.ts.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.js +6 -0
- package/dist/monitoring/FeatureMetricsLedger.js.map +1 -1
- package/dist/monitoring/FrameworkIssueLedger.d.ts.map +1 -1
- package/dist/monitoring/FrameworkIssueLedger.js +6 -0
- package/dist/monitoring/FrameworkIssueLedger.js.map +1 -1
- package/dist/monitoring/RevertDetector.d.ts.map +1 -1
- package/dist/monitoring/RevertDetector.js +7 -1
- package/dist/monitoring/RevertDetector.js.map +1 -1
- package/dist/monitoring/TokenLedger.d.ts.map +1 -1
- package/dist/monitoring/TokenLedger.js +8 -0
- package/dist/monitoring/TokenLedger.js.map +1 -1
- package/dist/providers/uxConfirm/PreferenceStore.d.ts +1 -0
- package/dist/providers/uxConfirm/PreferenceStore.d.ts.map +1 -1
- package/dist/providers/uxConfirm/PreferenceStore.js +13 -0
- package/dist/providers/uxConfirm/PreferenceStore.js.map +1 -1
- package/dist/threadline/SpawnLedger.d.ts +1 -0
- package/dist/threadline/SpawnLedger.d.ts.map +1 -1
- package/dist/threadline/SpawnLedger.js +13 -0
- package/dist/threadline/SpawnLedger.js.map +1 -1
- package/dist/threadline/relay/RegistryStore.d.ts.map +1 -1
- package/dist/threadline/relay/RegistryStore.js +6 -0
- package/dist/threadline/relay/RegistryStore.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +5 -5
- package/src/templates/scripts/convergence-check.sh +49 -0
- package/upgrades/1.3.202.md +65 -0
- package/upgrades/side-effects/evo003-revertdetector-git-arg.md +106 -0
- package/upgrades/side-effects/git-less-lease-convergence.md +31 -0
- package/upgrades/side-effects/sqlite-close-on-exit-registry.md +27 -0
- package/upgrades/side-effects/time-awareness-component4-reporting-nudge.md +20 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureRegistry.d.ts","sourceRoot":"","sources":["../../src/core/FeatureRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"FeatureRegistry.d.ts","sourceRoot":"","sources":["../../src/core/FeatureRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import fs from 'node:fs';
|
|
15
15
|
import path from 'node:path';
|
|
16
16
|
import crypto from 'node:crypto';
|
|
17
|
+
import { registerSqliteHandle } from './SqliteRegistry.js';
|
|
17
18
|
/** Max declines before a feature goes permanently quiet (server-enforced) */
|
|
18
19
|
const MAX_DECLINES = 3;
|
|
19
20
|
// ── Valid Transitions ────────────────────────────────────────────────
|
|
@@ -61,6 +62,11 @@ export class FeatureRegistry {
|
|
|
61
62
|
this.db.pragma('journal_mode = WAL');
|
|
62
63
|
this.db.pragma('busy_timeout = 5000');
|
|
63
64
|
this.createSchema();
|
|
65
|
+
// Close-on-exit registry (SqliteRegistry.ts) — closed once at shutdown.
|
|
66
|
+
registerSqliteHandle(() => { try {
|
|
67
|
+
this.db?.close();
|
|
68
|
+
}
|
|
69
|
+
catch { /* already closed */ } });
|
|
64
70
|
}
|
|
65
71
|
/**
|
|
66
72
|
* Close the database cleanly.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureRegistry.js","sourceRoot":"","sources":["../../src/core/FeatureRegistry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FeatureRegistry.js","sourceRoot":"","sources":["../../src/core/FeatureRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,14 @@ export interface LeaseStore {
|
|
|
51
51
|
* confirms over the tunnel instead and may no-op this.
|
|
52
52
|
*/
|
|
53
53
|
refresh(lease: LeaseRecord): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Force the local self-lease to read as expired (git-less relinquish, spec
|
|
56
|
+
* §Problem A). Used by LeaseCoordinator.relinquish() to break a same-epoch
|
|
57
|
+
* contested tie WITHOUT lowering the epoch floor. Optional: only the git-less
|
|
58
|
+
* LocalLeaseStore implements it; a git-substrate store resolves contention via
|
|
59
|
+
* CAS instead, so this is a no-op there.
|
|
60
|
+
*/
|
|
61
|
+
forceLocalExpiry?(): void;
|
|
54
62
|
}
|
|
55
63
|
/** Optional low-latency tunnel transport for the lease. */
|
|
56
64
|
export interface LeaseTransport {
|
|
@@ -172,6 +180,38 @@ export declare class LeaseCoordinator {
|
|
|
172
180
|
* observed() — receive-only — does not), so a holder serves its own current lease.
|
|
173
181
|
*/
|
|
174
182
|
currentLease(): LeaseRecord | null;
|
|
183
|
+
/**
|
|
184
|
+
* Relinquish this machine's claim to break a same-epoch contested tie (spec
|
|
185
|
+
* §Problem A — the deterministic loser, lower-`machineId` LOSES is FALSE: the
|
|
186
|
+
* lower machineId WINS, the higher relinquishes). Two effects, both required
|
|
187
|
+
* for convergence:
|
|
188
|
+
* (a) clears `selfIssued` AND forces the local store's persisted self-lease to
|
|
189
|
+
* read as expired — so we stop being a "live holder at epoch N": the
|
|
190
|
+
* winner's `canAcquire()` no longer returns `held-by-live-peer` (it can
|
|
191
|
+
* now advance to N+1) and our `holdsLease()` returns false (we reconcile
|
|
192
|
+
* to standby);
|
|
193
|
+
* (b) we then ADOPT the winner's N+1 lease via the strict-`>` tunnel fold in
|
|
194
|
+
* effectiveView() (N+1 > N), so currentHolder() names the winner.
|
|
195
|
+
* Idempotent. The caller (MultiMachineCoordinator's contested branch) latches
|
|
196
|
+
* this ONE-SHOT per contested episode so we do not re-clear+re-acquire every
|
|
197
|
+
* tick (which would re-introduce the leapfrog). The epoch FLOOR is preserved
|
|
198
|
+
* (forceLocalExpiry keeps the committed epoch) so a replayed stale lease can't
|
|
199
|
+
* win after we relinquish.
|
|
200
|
+
*/
|
|
201
|
+
relinquish(): void;
|
|
202
|
+
/**
|
|
203
|
+
* Force a ONE-TIME epoch advance to resolve a same-epoch contested tie (spec
|
|
204
|
+
* §Problem A — the WINNER side, lower `machineId`). Unlike acquireIfEligible(),
|
|
205
|
+
* which RENEWS the same epoch when we already hold it, this builds the NEXT
|
|
206
|
+
* epoch (N+1) and CAS-writes it, establishing a strictly-higher signed lease
|
|
207
|
+
* that the contested peer (the loser, having relinquished) adopts via the
|
|
208
|
+
* strict-`>` tunnel fold. The caller latches this ONE-SHOT per contested
|
|
209
|
+
* episode (NOT per tick), so it is a tie-resolution, never a per-tick bump →
|
|
210
|
+
* no leapfrog. Routes through the SAME casWrite/broadcast/sign path as a normal
|
|
211
|
+
* acquisition. Returns true if the advance landed (or we already hold a
|
|
212
|
+
* strictly-higher epoch). Idempotent against a peer that advanced first.
|
|
213
|
+
*/
|
|
214
|
+
advanceEpochForContestedWin(): Promise<boolean>;
|
|
175
215
|
/**
|
|
176
216
|
* Whether the attached transport can actively PULL peer leases (Cross-Machine
|
|
177
217
|
* Coherence). False on a git-only mesh — the standby pull loop is then a no-op.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeaseCoordinator.d.ts","sourceRoot":"","sources":["../../src/core/LeaseCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,IAAI,IAAI;QAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE;YAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC1G;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LeaseCoordinator.d.ts","sourceRoot":"","sources":["../../src/core/LeaseCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,IAAI,IAAI;QAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE;YAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC1G;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;IACrC;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,IAAI,CAAC;CAC3B;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,iFAAiF;IACjF,QAAQ,IAAI;QAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IACrF,wDAAwD;IACxD,WAAW,IAAI,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjF,+EAA+E;IAC/E,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,wEAAwE;IACxE,mBAAmB,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,kGAAkG;IAClG,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,kBAAkB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5F,8EAA8E;IAC9E,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,6FAA6F;IAC7F,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAc;IACjC,OAAO,CAAC,YAAY,CAAK;IACzB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAA4B;gBAElC,IAAI,EAAE,oBAAoB;IAMtC,OAAO,CAAC,GAAG;IAGX;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAGnB,OAAO,CAAC,GAAG;IAGX,OAAO,CAAC,SAAS;IAIjB,IAAI,aAAa,IAAI,MAAM,CAE1B;IACD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAkCrB,6EAA6E;IAC7E,UAAU,IAAI,OAAO;IAerB,+DAA+D;IAC/D,YAAY,IAAI,MAAM;IAItB,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B;;;;;;OAMG;IACH,YAAY,IAAI,WAAW,GAAG,IAAI;IAIlC;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,IAAI,IAAI;IAMlB;;;;;;;;;;;OAWG;IACG,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBrD;;;OAGG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;OAKG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;;OAKG;IACH,iBAAiB,IAAI,WAAW,GAAG,IAAI;IAIvC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IA6C3C;;;;;;;;;;;;OAYG;IACG,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BpE;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;YA2CjB,SAAS;IAUvB,OAAO,CAAC,SAAS;IAOjB;;;;OAIG;IACH,yBAAyB,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI;CAc5D"}
|
|
@@ -152,6 +152,60 @@ export class LeaseCoordinator {
|
|
|
152
152
|
currentLease() {
|
|
153
153
|
return this.effectiveView().lease;
|
|
154
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Relinquish this machine's claim to break a same-epoch contested tie (spec
|
|
157
|
+
* §Problem A — the deterministic loser, lower-`machineId` LOSES is FALSE: the
|
|
158
|
+
* lower machineId WINS, the higher relinquishes). Two effects, both required
|
|
159
|
+
* for convergence:
|
|
160
|
+
* (a) clears `selfIssued` AND forces the local store's persisted self-lease to
|
|
161
|
+
* read as expired — so we stop being a "live holder at epoch N": the
|
|
162
|
+
* winner's `canAcquire()` no longer returns `held-by-live-peer` (it can
|
|
163
|
+
* now advance to N+1) and our `holdsLease()` returns false (we reconcile
|
|
164
|
+
* to standby);
|
|
165
|
+
* (b) we then ADOPT the winner's N+1 lease via the strict-`>` tunnel fold in
|
|
166
|
+
* effectiveView() (N+1 > N), so currentHolder() names the winner.
|
|
167
|
+
* Idempotent. The caller (MultiMachineCoordinator's contested branch) latches
|
|
168
|
+
* this ONE-SHOT per contested episode so we do not re-clear+re-acquire every
|
|
169
|
+
* tick (which would re-introduce the leapfrog). The epoch FLOOR is preserved
|
|
170
|
+
* (forceLocalExpiry keeps the committed epoch) so a replayed stale lease can't
|
|
171
|
+
* win after we relinquish.
|
|
172
|
+
*/
|
|
173
|
+
relinquish() {
|
|
174
|
+
this.selfIssued = null;
|
|
175
|
+
this.d.store.forceLocalExpiry?.();
|
|
176
|
+
this.log('relinquished self-lease (contested tie-break loser) — winner may now advance to N+1');
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Force a ONE-TIME epoch advance to resolve a same-epoch contested tie (spec
|
|
180
|
+
* §Problem A — the WINNER side, lower `machineId`). Unlike acquireIfEligible(),
|
|
181
|
+
* which RENEWS the same epoch when we already hold it, this builds the NEXT
|
|
182
|
+
* epoch (N+1) and CAS-writes it, establishing a strictly-higher signed lease
|
|
183
|
+
* that the contested peer (the loser, having relinquished) adopts via the
|
|
184
|
+
* strict-`>` tunnel fold. The caller latches this ONE-SHOT per contested
|
|
185
|
+
* episode (NOT per tick), so it is a tie-resolution, never a per-tick bump →
|
|
186
|
+
* no leapfrog. Routes through the SAME casWrite/broadcast/sign path as a normal
|
|
187
|
+
* acquisition. Returns true if the advance landed (or we already hold a
|
|
188
|
+
* strictly-higher epoch). Idempotent against a peer that advanced first.
|
|
189
|
+
*/
|
|
190
|
+
async advanceEpochForContestedWin() {
|
|
191
|
+
const view = this.effectiveView();
|
|
192
|
+
// buildAcquisition writes currentEpoch+1; currentEpoch is max(self@N, peer@N)=N.
|
|
193
|
+
const candidate = this.fl.buildAcquisition(view.lease, this.now(), this.nextNonce());
|
|
194
|
+
const res = this.d.store.casWrite(candidate);
|
|
195
|
+
if (res.ok) {
|
|
196
|
+
this.selfIssued = candidate;
|
|
197
|
+
await this.broadcast(candidate);
|
|
198
|
+
this.markRenewOk();
|
|
199
|
+
this.emitEpoch(candidate.epoch);
|
|
200
|
+
this.log(`advanced to epoch ${candidate.epoch} to resolve contested same-epoch tie (winner)`);
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
// CAS lost — a strictly-higher epoch already exists (a peer advanced first);
|
|
204
|
+
// adopt it. Either way the same-epoch tie is broken.
|
|
205
|
+
this.emitEpoch(res.observed.epoch);
|
|
206
|
+
this.log(`contested-win advance lost CAS to epoch ${res.observed.epoch} — adopting the higher lease`);
|
|
207
|
+
return res.observed.lease?.holder === this.selfMachineId;
|
|
208
|
+
}
|
|
155
209
|
/**
|
|
156
210
|
* Whether the attached transport can actively PULL peer leases (Cross-Machine
|
|
157
211
|
* Coherence). False on a git-only mesh — the standby pull loop is then a no-op.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeaseCoordinator.js","sourceRoot":"","sources":["../../src/core/LeaseCoordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LeaseCoordinator.js","sourceRoot":"","sources":["../../src/core/LeaseCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,5 +51,16 @@ export declare class LocalLeaseStore implements LeaseStore {
|
|
|
51
51
|
};
|
|
52
52
|
};
|
|
53
53
|
refresh(lease: LeaseRecord): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Relinquish THIS machine's local self-lease to break a same-epoch contested
|
|
56
|
+
* tie (spec §Problem A). The deterministic loser forces its persisted lease to
|
|
57
|
+
* read as EXPIRED — so it stops being a "live holder at epoch N" (the winner's
|
|
58
|
+
* canAcquire() unblocks; holdsLease() returns false) — while KEEPING the
|
|
59
|
+
* committed epoch as the CAS/replay floor. (Clearing to epoch 0 would drop the
|
|
60
|
+
* floor and let a replayed stale lease win; expiring-in-place preserves it.)
|
|
61
|
+
* The winner then advances to N+1, which the loser adopts via the strict-`>`
|
|
62
|
+
* tunnel fold in effectiveView(). No-op if there is no local lease.
|
|
63
|
+
*/
|
|
64
|
+
forceLocalExpiry(): void;
|
|
54
65
|
}
|
|
55
66
|
//# sourceMappingURL=LocalLeaseStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalLeaseStore.d.ts","sourceRoot":"","sources":["../../src/core/LocalLeaseStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAsB;IACxC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAS;gBAEX,IAAI,EAAE,mBAAmB;IAIrC,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,IAAI;IAmBZ,OAAO,CAAC,OAAO;IAaf,IAAI,IAAI;QAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAKpD,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE;YAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAezG,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"LocalLeaseStore.d.ts","sourceRoot":"","sources":["../../src/core/LocalLeaseStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAsB;IACxC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAS;gBAEX,IAAI,EAAE,mBAAmB;IAIrC,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,IAAI;IAmBZ,OAAO,CAAC,OAAO;IAaf,IAAI,IAAI;QAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAKpD,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE;YAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAezG,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAYpC;;;;;;;;;OASG;IACH,gBAAgB,IAAI,IAAI;CAOzB"}
|
|
@@ -99,5 +99,23 @@ export class LocalLeaseStore {
|
|
|
99
99
|
this.persist(lease); // same epoch, fresh expiry + nonce
|
|
100
100
|
return true;
|
|
101
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Relinquish THIS machine's local self-lease to break a same-epoch contested
|
|
104
|
+
* tie (spec §Problem A). The deterministic loser forces its persisted lease to
|
|
105
|
+
* read as EXPIRED — so it stops being a "live holder at epoch N" (the winner's
|
|
106
|
+
* canAcquire() unblocks; holdsLease() returns false) — while KEEPING the
|
|
107
|
+
* committed epoch as the CAS/replay floor. (Clearing to epoch 0 would drop the
|
|
108
|
+
* floor and let a replayed stale lease win; expiring-in-place preserves it.)
|
|
109
|
+
* The winner then advances to N+1, which the loser adopts via the strict-`>`
|
|
110
|
+
* tunnel fold in effectiveView(). No-op if there is no local lease.
|
|
111
|
+
*/
|
|
112
|
+
forceLocalExpiry() {
|
|
113
|
+
this.load();
|
|
114
|
+
if (!this.cached)
|
|
115
|
+
return;
|
|
116
|
+
const expired = { ...this.cached, expiresAt: new Date(0).toISOString() };
|
|
117
|
+
this.persist(expired); // keep epoch + holder as the floor; expiresAt deep-past
|
|
118
|
+
this.log(`local self-lease forced expired (epoch ${expired.epoch} retained as floor) → relinquished`);
|
|
119
|
+
}
|
|
102
120
|
}
|
|
103
121
|
//# sourceMappingURL=LocalLeaseStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalLeaseStore.js","sourceRoot":"","sources":["../../src/core/LocalLeaseStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LocalLeaseStore.js","sourceRoot":"","sources":["../../src/core/LocalLeaseStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,6 +84,18 @@ export declare class MultiMachineCoordinator extends EventEmitter {
|
|
|
84
84
|
private leasePulling;
|
|
85
85
|
private leasePullContested;
|
|
86
86
|
private leasePullStopped;
|
|
87
|
+
/**
|
|
88
|
+
* Cross-Machine Coherence §Problem A — the active CONTESTED-RESOLUTION state.
|
|
89
|
+
* When a same-epoch contested split-brain is detected (a git-less LocalLeaseStore
|
|
90
|
+
* leapfrog), a deterministic tie-break (lower machineId wins) drives a ONE-SHOT
|
|
91
|
+
* resolution per episode: the loser relinquishes, the winner advances once to
|
|
92
|
+
* N+1. `key` is the unordered {machineIdA, machineIdB} pair (epoch-independent,
|
|
93
|
+
* so it SURVIVES the leapfrog where the epoch changes each tick); `resolved`
|
|
94
|
+
* latches the one-shot (no per-tick re-relinquish/re-advance churn); `cycles`
|
|
95
|
+
* counts pull ticks the episode persisted; `escalated` dedupes the bounded
|
|
96
|
+
* K-cycle escalation. Cleared on the falling edge (contested resolved).
|
|
97
|
+
*/
|
|
98
|
+
private contestedEpisode;
|
|
87
99
|
constructor(state: StateManager, config: CoordinatorConfig);
|
|
88
100
|
/** Whether multi-machine is enabled (has identity). */
|
|
89
101
|
get enabled(): boolean;
|
|
@@ -226,6 +238,29 @@ export declare class MultiMachineCoordinator extends EventEmitter {
|
|
|
226
238
|
* item is a separate, deduped escalation path). Clears on the falling edge.
|
|
227
239
|
*/
|
|
228
240
|
private surfacePullDiscoveredSplitBrain;
|
|
241
|
+
/**
|
|
242
|
+
* §Problem A — RESOLVE a same-epoch contested split-brain (the git-less
|
|
243
|
+
* LocalLeaseStore leapfrog) to a single holder. surfacePullDiscoveredSplitBrain
|
|
244
|
+
* only DETECTS + latches the dashboard signal; this ACTS:
|
|
245
|
+
*
|
|
246
|
+
* 1. Deterministic tie-break — the lexicographically LOWER `machineId` WINS.
|
|
247
|
+
* Both machines compute the SAME winner, so exactly one relinquishes and
|
|
248
|
+
* exactly one advances (no coordination needed).
|
|
249
|
+
* 2. LOSER relinquishes ONCE (clears selfIssued + forces local expiry →
|
|
250
|
+
* stops being a live holder@N, reconciles to standby).
|
|
251
|
+
* 3. WINNER advances ONCE to N+1 (a strictly-higher signed lease the loser
|
|
252
|
+
* then adopts via effectiveView()'s strict-`>` tunnel fold → single holder).
|
|
253
|
+
*
|
|
254
|
+
* Both actions are LATCHED one-shot per contested episode (keyed on the
|
|
255
|
+
* epoch-independent {self,peer} pair), so they fire ONCE, not every ~5s tick —
|
|
256
|
+
* a per-tick relinquish/advance would re-introduce the very leapfrog this fixes.
|
|
257
|
+
* If the episode persists past K cycles (the resolution genuinely failed — a
|
|
258
|
+
* stuck/partitioned peer), emit ONE deduped escalation with a DETERMINISTIC
|
|
259
|
+
* recommendation (demote the tie-break loser). Distinct from the
|
|
260
|
+
* unresolvable-PARTITION path (checkForUnresolvableSplit); this is the
|
|
261
|
+
* same-epoch-CONTESTED path. Cleared on the falling edge.
|
|
262
|
+
*/
|
|
263
|
+
private resolveContestedSplitBrain;
|
|
229
264
|
/**
|
|
230
265
|
* Start periodic heartbeat writes (awake machine only).
|
|
231
266
|
*/
|
|
@@ -1 +1 @@
|
|
|
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;AAE9D,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;CAC3B;AAYD,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;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,OAAO,CAAC,mBAAmB,CAA+C;IAC1E;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;
|
|
1
|
+
{"version":3,"file":"MultiMachineCoordinator.d.ts","sourceRoot":"","sources":["../../src/core/MultiMachineCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,18 @@ export class MultiMachineCoordinator extends EventEmitter {
|
|
|
62
62
|
leasePulling = false;
|
|
63
63
|
leasePullContested = false;
|
|
64
64
|
leasePullStopped = false;
|
|
65
|
+
/**
|
|
66
|
+
* Cross-Machine Coherence §Problem A — the active CONTESTED-RESOLUTION state.
|
|
67
|
+
* When a same-epoch contested split-brain is detected (a git-less LocalLeaseStore
|
|
68
|
+
* leapfrog), a deterministic tie-break (lower machineId wins) drives a ONE-SHOT
|
|
69
|
+
* resolution per episode: the loser relinquishes, the winner advances once to
|
|
70
|
+
* N+1. `key` is the unordered {machineIdA, machineIdB} pair (epoch-independent,
|
|
71
|
+
* so it SURVIVES the leapfrog where the epoch changes each tick); `resolved`
|
|
72
|
+
* latches the one-shot (no per-tick re-relinquish/re-advance churn); `cycles`
|
|
73
|
+
* counts pull ticks the episode persisted; `escalated` dedupes the bounded
|
|
74
|
+
* K-cycle escalation. Cleared on the falling edge (contested resolved).
|
|
75
|
+
*/
|
|
76
|
+
contestedEpisode = null;
|
|
65
77
|
constructor(state, config) {
|
|
66
78
|
super();
|
|
67
79
|
this.state = state;
|
|
@@ -553,6 +565,9 @@ export class MultiMachineCoordinator extends EventEmitter {
|
|
|
553
565
|
if (this.leaseCoordinator.observedPeerLease()) {
|
|
554
566
|
this.reconcileRoleToLease('lease-pull');
|
|
555
567
|
this.surfacePullDiscoveredSplitBrain();
|
|
568
|
+
// §Problem A — ACT on a same-epoch contested tie (not just surface it):
|
|
569
|
+
// deterministic tie-break → loser relinquishes / winner advances once.
|
|
570
|
+
await this.resolveContestedSplitBrain();
|
|
556
571
|
}
|
|
557
572
|
}
|
|
558
573
|
catch {
|
|
@@ -591,6 +606,85 @@ export class MultiMachineCoordinator extends EventEmitter {
|
|
|
591
606
|
console.log('[MultiMachine] lease-pull: contested lease cleared');
|
|
592
607
|
}
|
|
593
608
|
}
|
|
609
|
+
/**
|
|
610
|
+
* §Problem A — RESOLVE a same-epoch contested split-brain (the git-less
|
|
611
|
+
* LocalLeaseStore leapfrog) to a single holder. surfacePullDiscoveredSplitBrain
|
|
612
|
+
* only DETECTS + latches the dashboard signal; this ACTS:
|
|
613
|
+
*
|
|
614
|
+
* 1. Deterministic tie-break — the lexicographically LOWER `machineId` WINS.
|
|
615
|
+
* Both machines compute the SAME winner, so exactly one relinquishes and
|
|
616
|
+
* exactly one advances (no coordination needed).
|
|
617
|
+
* 2. LOSER relinquishes ONCE (clears selfIssued + forces local expiry →
|
|
618
|
+
* stops being a live holder@N, reconciles to standby).
|
|
619
|
+
* 3. WINNER advances ONCE to N+1 (a strictly-higher signed lease the loser
|
|
620
|
+
* then adopts via effectiveView()'s strict-`>` tunnel fold → single holder).
|
|
621
|
+
*
|
|
622
|
+
* Both actions are LATCHED one-shot per contested episode (keyed on the
|
|
623
|
+
* epoch-independent {self,peer} pair), so they fire ONCE, not every ~5s tick —
|
|
624
|
+
* a per-tick relinquish/advance would re-introduce the very leapfrog this fixes.
|
|
625
|
+
* If the episode persists past K cycles (the resolution genuinely failed — a
|
|
626
|
+
* stuck/partitioned peer), emit ONE deduped escalation with a DETERMINISTIC
|
|
627
|
+
* recommendation (demote the tie-break loser). Distinct from the
|
|
628
|
+
* unresolvable-PARTITION path (checkForUnresolvableSplit); this is the
|
|
629
|
+
* same-epoch-CONTESTED path. Cleared on the falling edge.
|
|
630
|
+
*/
|
|
631
|
+
async resolveContestedSplitBrain() {
|
|
632
|
+
if (!this.leaseCoordinator || !this._identity)
|
|
633
|
+
return;
|
|
634
|
+
const ESCALATE_AFTER_CYCLES = 5;
|
|
635
|
+
const self = this._identity.machineId;
|
|
636
|
+
const peer = this.leaseCoordinator.observedPeerLease();
|
|
637
|
+
const weHold = this.leaseCoordinator.holdsLease();
|
|
638
|
+
const ourEpoch = this.leaseCoordinator.currentEpoch();
|
|
639
|
+
// A genuine same-epoch contested tie: we still hold AND a peer claims a
|
|
640
|
+
// different-holder lease at our epoch (or higher-but-equal after a leapfrog).
|
|
641
|
+
const contested = !!(weHold && peer && peer.holder && peer.holder !== self && peer.epoch >= ourEpoch);
|
|
642
|
+
if (!contested) {
|
|
643
|
+
// Falling edge — the tie resolved (we adopted the winner, or it cleared).
|
|
644
|
+
// Drop the episode so a future contested tie starts a fresh latch.
|
|
645
|
+
this.contestedEpisode = null;
|
|
646
|
+
return;
|
|
647
|
+
}
|
|
648
|
+
const peerHolder = peer.holder;
|
|
649
|
+
const episodeKey = [self, peerHolder].sort().join('~'); // epoch-INDEPENDENT
|
|
650
|
+
if (!this.contestedEpisode || this.contestedEpisode.key !== episodeKey) {
|
|
651
|
+
this.contestedEpisode = { key: episodeKey, cycles: 0, resolved: false, escalated: false };
|
|
652
|
+
}
|
|
653
|
+
const ep = this.contestedEpisode;
|
|
654
|
+
ep.cycles++;
|
|
655
|
+
const winner = self < peerHolder ? self : peerHolder; // lower machineId WINS
|
|
656
|
+
const loser = self < peerHolder ? peerHolder : self;
|
|
657
|
+
const iAmWinner = winner === self;
|
|
658
|
+
if (!ep.resolved) {
|
|
659
|
+
if (iAmWinner) {
|
|
660
|
+
await this.leaseCoordinator.advanceEpochForContestedWin();
|
|
661
|
+
console.log(`[MultiMachine] contested tie-break: WON vs ${peerHolder} at epoch ${ourEpoch} ` +
|
|
662
|
+
`— advanced once to N+1 to break the same-epoch split`);
|
|
663
|
+
}
|
|
664
|
+
else {
|
|
665
|
+
this.leaseCoordinator.relinquish();
|
|
666
|
+
this.reconcileRoleToLease('contested-relinquish');
|
|
667
|
+
console.log(`[MultiMachine] contested tie-break: YIELDED to ${winner} at epoch ${ourEpoch} ` +
|
|
668
|
+
`— relinquished self-lease (will adopt the winner's N+1)`);
|
|
669
|
+
}
|
|
670
|
+
ep.resolved = true; // one-shot latch — no per-tick churn (no re-leapfrog)
|
|
671
|
+
}
|
|
672
|
+
// Bounded escalation: the resolution did NOT converge after K cycles → a
|
|
673
|
+
// genuinely stuck/partitioned peer. Surface ONCE, deduped per episode, with a
|
|
674
|
+
// DETERMINISTIC recommendation (never a raw Y/N the operator could mis-answer).
|
|
675
|
+
if (ep.cycles >= ESCALATE_AFTER_CYCLES && !ep.escalated) {
|
|
676
|
+
ep.escalated = true;
|
|
677
|
+
this.emit('splitBrainEscalation', {
|
|
678
|
+
episodeKey,
|
|
679
|
+
winner,
|
|
680
|
+
loser,
|
|
681
|
+
recommendation: `demote ${loser}`,
|
|
682
|
+
reason: `same-epoch contested split-brain persisted ${ep.cycles} pull cycles without converging`,
|
|
683
|
+
});
|
|
684
|
+
console.warn(`[MultiMachine] contested split-brain UNRESOLVED after ${ep.cycles} cycles — ` +
|
|
685
|
+
`recommend demoting ${loser} (episode ${episodeKey})`);
|
|
686
|
+
}
|
|
687
|
+
}
|
|
594
688
|
// ── Private ──────────────────────────────────────────────────────
|
|
595
689
|
/**
|
|
596
690
|
* Start periodic heartbeat writes (awake machine only).
|