instar 1.3.1122 → 1.3.1123
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/core/MultiMachineCoordinator.d.ts +23 -0
- package/dist/core/MultiMachineCoordinator.d.ts.map +1 -1
- package/dist/core/MultiMachineCoordinator.js +67 -12
- package/dist/core/MultiMachineCoordinator.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +3 -3
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/upgrades/1.3.1123.md +95 -0
- package/upgrades/side-effects/lease-poll-intent-republish.md +163 -0
|
@@ -157,6 +157,13 @@ export declare class MultiMachineCoordinator extends EventEmitter {
|
|
|
157
157
|
* from one left by a prior incarnation of this server.
|
|
158
158
|
*/
|
|
159
159
|
private readonly bootId;
|
|
160
|
+
/**
|
|
161
|
+
* B1 — throttle state for the per-reconcile poll-intent republish. `key` is the
|
|
162
|
+
* last SUCCESSFULLY written `shouldPoll|role|leaseEpoch`; the timestamp is when
|
|
163
|
+
* that write landed. See `publishLeasePollIntent`.
|
|
164
|
+
*/
|
|
165
|
+
private lastPollIntentKey;
|
|
166
|
+
private lastPollIntentWriteMs;
|
|
160
167
|
/** Integrated-Being v1 — tracks whether we've already emitted the
|
|
161
168
|
* per-machine-ledger warning this boot. Spec §Multi-machine. */
|
|
162
169
|
private integratedBeingWarningEmitted;
|
|
@@ -407,8 +414,24 @@ export declare class MultiMachineCoordinator extends EventEmitter {
|
|
|
407
414
|
* is off. Guarded: a write failure is logged once, never thrown into the
|
|
408
415
|
* caller's hot path (the intent file is advisory; a missed write degrades to the
|
|
409
416
|
* lifeline's "no current opinion" → hold, the safe direction).
|
|
417
|
+
*
|
|
418
|
+
* Returns true only when a record was actually written, so the throttling
|
|
419
|
+
* wrapper never records a skip-window off a failed write. EVERY successful
|
|
420
|
+
* write updates the throttle state here (not in the wrapper) so a direct
|
|
421
|
+
* caller — e.g. the boot default in `initializeLease` — can never leave the
|
|
422
|
+
* cached key describing something other than what is actually on disk.
|
|
410
423
|
*/
|
|
411
424
|
private writeLeasePollIntent;
|
|
425
|
+
/**
|
|
426
|
+
* B1 — republish the lease-derived poll intent from `reconcileRoleToLease`,
|
|
427
|
+
* throttled. Writes when the intent CHANGES (shouldPoll / role / lease epoch) or
|
|
428
|
+
* when the last successful write is older than `POLL_INTENT_REFRESH_MS`, so a
|
|
429
|
+
* steady role stays comfortably inside the consumer's staleness bound without a
|
|
430
|
+
* file write on every lease tick. The throttle state is recorded by
|
|
431
|
+
* `writeLeasePollIntent` on a write that actually landed — a failed write
|
|
432
|
+
* retries on the next reconcile rather than being treated as delivered.
|
|
433
|
+
*/
|
|
434
|
+
private publishLeasePollIntent;
|
|
412
435
|
/**
|
|
413
436
|
* B3 — resolve the resilientRenew gate. OMITTED `enabled` ⇒ developmentAgent
|
|
414
437
|
* gate (live-on-dev / dark-on-fleet); an explicit boolean wins. Read live so a
|
|
@@ -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;AAI3C,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;AAa9D,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,8GAA8G;IAC9G,eAAe,EAAE,OAAO,GAAG,WAAW,GAAG,gBAAgB,CAAC;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kFAAkF;IAClF,uBAAuB,EAAE,YAAY,GAAG,gBAAgB,GAAG,aAAa,CAAC;IACzE;;;;;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;IACzB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;QACxC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"MultiMachineCoordinator.d.ts","sourceRoot":"","sources":["../../src/core/MultiMachineCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,13 @@ const DEFAULT_LEASE_PULL_INTERVAL_MS = 5_000;
|
|
|
48
48
|
const RENEW_SAFETY_FACTOR = 0.5;
|
|
49
49
|
const MIN_RENEW_INTERVAL_MS = 5_000;
|
|
50
50
|
const MAX_RENEW_INTERVAL_MS = 60_000;
|
|
51
|
+
/**
|
|
52
|
+
* B1 — how often an UNCHANGED lease-derived poll intent is rewritten so its `ts`
|
|
53
|
+
* stays inside the consumer's staleness bound (TelegramLifeline reads it with
|
|
54
|
+
* `maxStaleMs: 90_000`; past that the record is treated as "no current opinion").
|
|
55
|
+
* 30s leaves a 3× margin while keeping the write off every lease tick.
|
|
56
|
+
*/
|
|
57
|
+
const POLL_INTENT_REFRESH_MS = 30_000;
|
|
51
58
|
// ── Coordinator ──────────────────────────────────────────────────────
|
|
52
59
|
export class MultiMachineCoordinator extends EventEmitter {
|
|
53
60
|
identityManager;
|
|
@@ -95,6 +102,13 @@ export class MultiMachineCoordinator extends EventEmitter {
|
|
|
95
102
|
* from one left by a prior incarnation of this server.
|
|
96
103
|
*/
|
|
97
104
|
bootId = `${process.pid}-${process.hrtime.bigint().toString(36)}`;
|
|
105
|
+
/**
|
|
106
|
+
* B1 — throttle state for the per-reconcile poll-intent republish. `key` is the
|
|
107
|
+
* last SUCCESSFULLY written `shouldPoll|role|leaseEpoch`; the timestamp is when
|
|
108
|
+
* that write landed. See `publishLeasePollIntent`.
|
|
109
|
+
*/
|
|
110
|
+
lastPollIntentKey = null;
|
|
111
|
+
lastPollIntentWriteMs = 0;
|
|
98
112
|
/** Integrated-Being v1 — tracks whether we've already emitted the
|
|
99
113
|
* per-machine-ledger warning this boot. Spec §Multi-machine. */
|
|
100
114
|
integratedBeingWarningEmitted = false;
|
|
@@ -718,24 +732,54 @@ export class MultiMachineCoordinator extends EventEmitter {
|
|
|
718
732
|
* is off. Guarded: a write failure is logged once, never thrown into the
|
|
719
733
|
* caller's hot path (the intent file is advisory; a missed write degrades to the
|
|
720
734
|
* lifeline's "no current opinion" → hold, the safe direction).
|
|
735
|
+
*
|
|
736
|
+
* Returns true only when a record was actually written, so the throttling
|
|
737
|
+
* wrapper never records a skip-window off a failed write. EVERY successful
|
|
738
|
+
* write updates the throttle state here (not in the wrapper) so a direct
|
|
739
|
+
* caller — e.g. the boot default in `initializeLease` — can never leave the
|
|
740
|
+
* cached key describing something other than what is actually on disk.
|
|
721
741
|
*/
|
|
722
742
|
writeLeasePollIntent(shouldPoll, role) {
|
|
723
743
|
if (!this.pollFollowsLeaseEnabled() || !this.leaseCoordinator)
|
|
724
|
-
return;
|
|
744
|
+
return false;
|
|
745
|
+
const normalizedRole = role === 'awake' ? 'awake' : 'standby';
|
|
746
|
+
const epoch = this.leaseCoordinator.currentEpoch();
|
|
725
747
|
try {
|
|
726
748
|
writePollIntent(this.config.stateDir, {
|
|
727
749
|
shouldPoll,
|
|
728
|
-
leaseEpoch:
|
|
729
|
-
role:
|
|
750
|
+
leaseEpoch: epoch,
|
|
751
|
+
role: normalizedRole,
|
|
730
752
|
serverPid: process.pid,
|
|
731
753
|
bootId: this.bootId,
|
|
732
754
|
ts: Date.now(),
|
|
733
755
|
});
|
|
756
|
+
this.lastPollIntentKey = `${shouldPoll}|${normalizedRole}|${epoch}`;
|
|
757
|
+
this.lastPollIntentWriteMs = Date.now();
|
|
758
|
+
return true;
|
|
734
759
|
}
|
|
735
760
|
catch (err) {
|
|
736
761
|
console.log(`[MultiMachine] [poll-intent] write failed (non-fatal): ${err.message}`);
|
|
762
|
+
return false;
|
|
737
763
|
}
|
|
738
764
|
}
|
|
765
|
+
/**
|
|
766
|
+
* B1 — republish the lease-derived poll intent from `reconcileRoleToLease`,
|
|
767
|
+
* throttled. Writes when the intent CHANGES (shouldPoll / role / lease epoch) or
|
|
768
|
+
* when the last successful write is older than `POLL_INTENT_REFRESH_MS`, so a
|
|
769
|
+
* steady role stays comfortably inside the consumer's staleness bound without a
|
|
770
|
+
* file write on every lease tick. The throttle state is recorded by
|
|
771
|
+
* `writeLeasePollIntent` on a write that actually landed — a failed write
|
|
772
|
+
* retries on the next reconcile rather than being treated as delivered.
|
|
773
|
+
*/
|
|
774
|
+
publishLeasePollIntent(shouldPoll, role) {
|
|
775
|
+
if (!this.pollFollowsLeaseEnabled() || !this.leaseCoordinator)
|
|
776
|
+
return;
|
|
777
|
+
const key = `${shouldPoll}|${role === 'awake' ? 'awake' : 'standby'}|${this.leaseCoordinator.currentEpoch()}`;
|
|
778
|
+
const unchanged = key === this.lastPollIntentKey;
|
|
779
|
+
if (unchanged && Date.now() - this.lastPollIntentWriteMs < POLL_INTENT_REFRESH_MS)
|
|
780
|
+
return;
|
|
781
|
+
this.writeLeasePollIntent(shouldPoll, role);
|
|
782
|
+
}
|
|
739
783
|
/**
|
|
740
784
|
* B3 — resolve the resilientRenew gate. OMITTED `enabled` ⇒ developmentAgent
|
|
741
785
|
* gate (live-on-dev / dark-on-fleet); an explicit boolean wins. Read live so a
|
|
@@ -977,6 +1021,14 @@ export class MultiMachineCoordinator extends EventEmitter {
|
|
|
977
1021
|
// two-machine mesh, 2026-05-28). Read-only, so it runs before EVERY branch below: the
|
|
978
1022
|
// observe-only and defer-preferred decisions read the same lease view and benefit equally.
|
|
979
1023
|
this.leaseCoordinator.primeFromDurable();
|
|
1024
|
+
// B1 — publish the SAFE default (shouldPoll:false / mute) BEFORE any branch
|
|
1025
|
+
// below reconciles, so a stale prior-boot {shouldPoll:true} can't resurrect a
|
|
1026
|
+
// poller in the window before the real role is known. This MUST precede the
|
|
1027
|
+
// reconcile: written afterwards it overwrites the decision it was meant to
|
|
1028
|
+
// stand in for, which is exactly what it used to do — every branch here ends
|
|
1029
|
+
// in `reconcileRoleToLease`, so the tail write clobbered the truth and left a
|
|
1030
|
+
// lease HOLDER published as `standby / do-not-poll`.
|
|
1031
|
+
this.writeLeasePollIntent(false, 'standby');
|
|
980
1032
|
if (this.isLeaseObserveOnly) {
|
|
981
1033
|
// Silent standby: do NOT acquire — only observe the primary's lease.
|
|
982
1034
|
this.reconcileRoleToLease('lease-init-observe-only');
|
|
@@ -997,10 +1049,6 @@ export class MultiMachineCoordinator extends EventEmitter {
|
|
|
997
1049
|
// B3 — keep the held lease fresh (renew before it lapses) so the epoch stops
|
|
998
1050
|
// climbing. No-op unless resilientRenew resolves on (dev-gate).
|
|
999
1051
|
this.startLeaseRenewTimer();
|
|
1000
|
-
// B1 — at boot the role isn't yet reconciled; publish the SAFE default
|
|
1001
|
-
// (shouldPoll:false / mute) so a stale prior-boot {shouldPoll:true} can't
|
|
1002
|
-
// resurrect a poller before the first reconcile decides the real role.
|
|
1003
|
-
this.writeLeasePollIntent(false, 'standby');
|
|
1004
1052
|
}
|
|
1005
1053
|
/**
|
|
1006
1054
|
* Acquire the lease on an explicit yield from the outgoing holder (planned
|
|
@@ -1109,6 +1157,18 @@ export class MultiMachineCoordinator extends EventEmitter {
|
|
|
1109
1157
|
return;
|
|
1110
1158
|
const holds = this.leaseCoordinator.holdsLease();
|
|
1111
1159
|
const desired = holds ? 'awake' : 'standby';
|
|
1160
|
+
// B1 — publish the lease-derived poll intent on EVERY reconcile, ABOVE the
|
|
1161
|
+
// no-transition early-return. `_role` is restored from the machine registry at
|
|
1162
|
+
// startup, so a machine that was already awake before a restart re-enters
|
|
1163
|
+
// reconcile with `desired === this._role` and returns here. Publishing below
|
|
1164
|
+
// the early-return therefore left `initializeLease()`'s safe boot default
|
|
1165
|
+
// ({shouldPoll:false, role:'standby'}) standing as the PERMANENT published
|
|
1166
|
+
// intent for a machine that actually holds the lease — the lifeline then
|
|
1167
|
+
// either fought for the poll (dry-run: 409 conflict loop) or muted the
|
|
1168
|
+
// rightful holder (live). Publishing here also refreshes `ts` inside the
|
|
1169
|
+
// consumer's staleness bound (TelegramLifeline: maxStaleMs 90_000), so a
|
|
1170
|
+
// steady role reads as a live opinion instead of decaying to "no opinion".
|
|
1171
|
+
this.publishLeasePollIntent(holds, desired);
|
|
1112
1172
|
if (desired === this._role)
|
|
1113
1173
|
return;
|
|
1114
1174
|
const oldRole = this._role;
|
|
@@ -1134,11 +1194,6 @@ export class MultiMachineCoordinator extends EventEmitter {
|
|
|
1134
1194
|
else
|
|
1135
1195
|
this.emit('demote');
|
|
1136
1196
|
console.log(`[MultiMachine] Lease reconcile → ${desired} (${reason})`);
|
|
1137
|
-
// B1 — publish the lease-derived poll intent for the lifeline (shouldPoll =
|
|
1138
|
-
// awake). No-op unless pollFollowsLease resolves on. Nothing consumes it yet
|
|
1139
|
-
// (the lifeline reconcile loop is the next increment), so this is a safe,
|
|
1140
|
-
// observe-only producer — it cannot change ingress.
|
|
1141
|
-
this.writeLeasePollIntent(holds, desired);
|
|
1142
1197
|
// B2 — feed the flap circuit-breaker on every REAL role transition (this is
|
|
1143
1198
|
// past the `desired === this._role` early-return, so it counts only true
|
|
1144
1199
|
// flips). Observe/dry-run: log the would-latch; applying the deterministic
|
|
@@ -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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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "5413a0c6ef9ba2bda876b509d1c0bfebe450da3708cd5a5d627d6cb836012d58",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1123",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/canonical-migration-contracts.json",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "36e5e2951dd264e4bcf902140ad747054856f4f5fd1fa32b33a2269a199b93e3",
|
|
3
3
|
"registrySha256": "5413a0c6ef9ba2bda876b509d1c0bfebe450da3708cd5a5d627d6cb836012d58",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1123"
|
|
5
5
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-08-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-08-04T02:06:29.978Z",
|
|
5
|
+
"instarVersion": "1.3.1123",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -1618,7 +1618,7 @@
|
|
|
1618
1618
|
"type": "subsystem",
|
|
1619
1619
|
"domain": "coordination",
|
|
1620
1620
|
"sourcePath": "src/core/MultiMachineCoordinator.ts",
|
|
1621
|
-
"contentHash": "
|
|
1621
|
+
"contentHash": "d7aa8bf43b24118b16d89a61c838e4b8a4de72c876ea5167738b20155797fde6",
|
|
1622
1622
|
"since": "2025-01-01"
|
|
1623
1623
|
},
|
|
1624
1624
|
"subsystem:backup-manager": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "5413a0c6ef9ba2bda876b509d1c0bfebe450da3708cd5a5d627d6cb836012d58",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1123",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/canonical-migration-contracts.json",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "36e5e2951dd264e4bcf902140ad747054856f4f5fd1fa32b33a2269a199b93e3",
|
|
3
3
|
"registrySha256": "5413a0c6ef9ba2bda876b509d1c0bfebe450da3708cd5a5d627d6cb836012d58",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1123"
|
|
5
5
|
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
On a multi-machine agent, the server publishes a small record telling its
|
|
9
|
+
Lifeline process whether THIS machine should own the Telegram poll. That record
|
|
10
|
+
was only rewritten when the machine's role actually changed. Because a machine's
|
|
11
|
+
role is restored from the machine registry at startup, a machine that was
|
|
12
|
+
already `awake` before a restart comes back, reconciles, finds nothing changed,
|
|
13
|
+
and returns early — leaving the cautious boot default (`standby` /
|
|
14
|
+
`shouldPoll:false`) standing permanently on the machine that genuinely holds the
|
|
15
|
+
fenced lease. A second failure rode along: written only on transitions, the
|
|
16
|
+
record aged past the Lifeline's 90-second freshness bound on a steady role and
|
|
17
|
+
was discarded as "no current opinion".
|
|
18
|
+
|
|
19
|
+
A second, independent defect in the same path is fixed with it. The "safe boot
|
|
20
|
+
default" (`standby` / `shouldPoll:false`) was written at the END of
|
|
21
|
+
`initializeLease()` — but every branch above it already ends in a role
|
|
22
|
+
reconcile, so the default did not stand in for an unmade decision, it
|
|
23
|
+
OVERWROTE the decision made three lines earlier. On its own that is enough to
|
|
24
|
+
leave a lease HOLDER published as `standby / do-not-poll` for the life of the
|
|
25
|
+
process. The default write now precedes the branch, matching the ordering its
|
|
26
|
+
own comment describes.
|
|
27
|
+
|
|
28
|
+
The lease-derived poll intent is now published on every role reconcile rather
|
|
29
|
+
than only on a transition, so it always reflects `holdsLease()` and stays inside
|
|
30
|
+
the consumer's freshness bound. An unchanged intent is rewritten at most once
|
|
31
|
+
every 30 seconds (a 3× margin under the 90-second bound); a changed role or a
|
|
32
|
+
moved lease epoch publishes immediately. A write that fails no longer records a
|
|
33
|
+
skip-window, so it is retried on the next reconcile instead of being treated as
|
|
34
|
+
delivered.
|
|
35
|
+
|
|
36
|
+
Everything that should happen only on a genuine role change still happens only
|
|
37
|
+
on a genuine role change — the `role_transition` audit entry, the
|
|
38
|
+
promote/demote events, and the flap circuit-breaker were deliberately left
|
|
39
|
+
below the early-return.
|
|
40
|
+
|
|
41
|
+
## What to Tell Your User
|
|
42
|
+
|
|
43
|
+
- **The machine in charge no longer tells itself it is the standby:** "When I
|
|
44
|
+
run on more than one machine, the one holding the badge now reports that
|
|
45
|
+
correctly to its own messenger instead of leaving a startup placeholder in
|
|
46
|
+
place."
|
|
47
|
+
- **Why this mattered:** "With the placeholder standing, my messenger either
|
|
48
|
+
fought the other machine for the Telegram line — colliding, deciding it was
|
|
49
|
+
stuck, and restarting roughly every ten minutes — or, with the follow-the-lease
|
|
50
|
+
behaviour switched on, muted the machine that was supposed to be answering."
|
|
51
|
+
- **Nothing changes on a single-machine setup:** "A single machine is always the
|
|
52
|
+
one in charge, so there was never a second poller to collide with."
|
|
53
|
+
|
|
54
|
+
## Summary of New Capabilities
|
|
55
|
+
|
|
56
|
+
| Capability | How to Use |
|
|
57
|
+
|---|---|
|
|
58
|
+
| The poll intent reflects the live fenced lease rather than a boot placeholder | Automatic — no configuration. Applies wherever `multiMachine.pollFollowsLease` resolves on |
|
|
59
|
+
| The poll intent stays inside the consumer's freshness bound on a steady role | Automatic — an unchanged record is refreshed every 30s; a changed one publishes immediately |
|
|
60
|
+
| A failed intent write is retried rather than recorded as delivered | Automatic — the throttle window only advances on a write that actually landed |
|
|
61
|
+
|
|
62
|
+
## Evidence
|
|
63
|
+
|
|
64
|
+
Measured live on a two-machine agent (v1.3.1122) before the fix: `/health →
|
|
65
|
+
multiMachine.syncStatus` reported `role:awake, holdsLease:true,
|
|
66
|
+
leaseEpoch:21302` in the same second that `state/telegram-poll-intent.json`
|
|
67
|
+
reported `role:standby, shouldPoll:false` at that same epoch. Sampling the
|
|
68
|
+
record at 10-second intervals showed its age climbing 84.5s → 155.0s across an
|
|
69
|
+
80-second window with no rewrite — past the consumer's 90s bound. Downstream on
|
|
70
|
+
that agent: 812 × `Telegram 409 Conflict — another bot instance is polling`,
|
|
71
|
+
260 × `TelegramLifeline.selfRestart: conflict409Stuck`, and a server restart
|
|
72
|
+
roughly every ten minutes for about eight hours.
|
|
73
|
+
|
|
74
|
+
New unit coverage in
|
|
75
|
+
`tests/unit/MultiMachineCoordinator-pollIntentRepublish.test.ts` (10 tests):
|
|
76
|
+
holder-with-no-transition publishes `shouldPoll:true` (the regression),
|
|
77
|
+
non-holder publishes `shouldPoll:false`, steady-role refresh past the window
|
|
78
|
+
with throttling inside it, a failed write retried on the next reconcile,
|
|
79
|
+
immediate publish on a lease-epoch change, no write when the gate is explicitly
|
|
80
|
+
off, transition-only side effects still firing on a real change and NOT firing
|
|
81
|
+
on a steady role, plus two tests that run the REAL boot path with a live
|
|
82
|
+
FencedLease/LeaseCoordinator — a machine that acquires ends up published as
|
|
83
|
+
`awake / shouldPoll:true`, and a machine on the observe-only branch that never
|
|
84
|
+
acquires is left muted. Verified as a control that 7 of the 10 fail against
|
|
85
|
+
`origin/main` — the headline regression failing with `expected null not to be
|
|
86
|
+
null` (no record written at all) rather than a missing-symbol error; the 3 that
|
|
87
|
+
pass pre-fix are the gate-off, real-transition, and never-acquires guards, which
|
|
88
|
+
are expected to hold either way.
|
|
89
|
+
|
|
90
|
+
The second defect was found BY the real-boot-path test, not by reading: with
|
|
91
|
+
only the early-return fixed, that test failed with the on-disk record reading
|
|
92
|
+
`{shouldPoll:false, role:'standby'}` while the in-process throttle key read
|
|
93
|
+
`true|awake|1` — the correct value had been written and then overwritten by the
|
|
94
|
+
boot default. Shipping the early-return fix alone would have produced a green
|
|
95
|
+
stubbed suite and an unchanged production failure.
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Side-Effects Review — lease-derived poll intent is republished on every reconcile
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `lease-poll-intent-republish`
|
|
4
|
+
**Date:** `2026-08-03`
|
|
5
|
+
**Author:** `echo`
|
|
6
|
+
**Second-pass reviewer:** `not required` (see §Second-pass — no block/allow surface added; the change is confined to a signal producer)
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
`MultiMachineCoordinator.reconcileRoleToLease()` published the lease-derived poll intent (`state/telegram-poll-intent.json`) only on a genuine role TRANSITION, because the `writeLeasePollIntent(holds, desired)` call sat below the `if (desired === this._role) return;` early-return. `_role` is restored from the machine registry at startup, so a machine that was already `awake` before a restart re-enters reconcile with `desired === this._role`, returns early, and never replaces `initializeLease()`'s safe boot default `{shouldPoll:false, role:'standby'}`. The published intent for a machine that genuinely holds the lease therefore stayed `standby / do-not-poll` permanently. A second failure mode rode along: because the record was written only on transitions, on a steady role its `ts` aged past the consumer's `maxStaleMs: 90_000` bound and `effectivePollIntent` degraded it to "no current opinion".
|
|
11
|
+
|
|
12
|
+
This change moves the publish ABOVE the early-return so it runs on every reconcile, and adds a throttling wrapper (`publishLeasePollIntent`) that writes when the intent changes (`shouldPoll | role | leaseEpoch`) or when the last SUCCESSFUL write is older than `POLL_INTENT_REFRESH_MS` (30s — a 3× margin inside the consumer's 90s bound). `writeLeasePollIntent` now returns whether a record actually landed, so a failed write never records a skip-window.
|
|
13
|
+
|
|
14
|
+
**A SECOND defect was found while building the real-boot-path test, and is fixed here too.** `initializeLease()` wrote its "safe boot default" (`writeLeasePollIntent(false, 'standby')`) at the very END of the method — but every branch above it already ends in `reconcileRoleToLease(...)`. The default therefore did not stand in for an unmade decision; it OVERWROTE the decision that had just been made three lines earlier. Its own comment ("at boot the role isn't yet reconciled … before the first reconcile decides the real role") describes the intended ordering, which the code did not have. On its own this defect is sufficient to leave a lease HOLDER published as `standby / do-not-poll` for the life of the process, so fixing only the early-return would have produced a change that passes a stubbed unit test and still fails in production. The default write is moved to before the branch.
|
|
15
|
+
|
|
16
|
+
Files touched: `src/core/MultiMachineCoordinator.ts`, `tests/unit/MultiMachineCoordinator-pollIntentRepublish.test.ts` (new).
|
|
17
|
+
|
|
18
|
+
## Decision-point inventory
|
|
19
|
+
|
|
20
|
+
- `MultiMachineCoordinator.reconcileRoleToLease` (poll-intent publish) — **modify** — publishes on every reconcile instead of transitions only; the transition-only side effects below the early-return are untouched.
|
|
21
|
+
- `MultiMachineCoordinator.initializeLease` (safe boot default) — **modify** — the default write moves from after the acquire/reconcile branch to before it. Same value written, same purpose; the ordering now matches the stated intent.
|
|
22
|
+
- `MultiMachineCoordinator.writeLeasePollIntent` — **modify** — now returns `boolean` (write landed) instead of `void`, and records the throttle state on every successful write. No behavioral change to what it writes.
|
|
23
|
+
- `MultiMachineCoordinator.publishLeasePollIntent` — **add** — throttling wrapper, no decision authority.
|
|
24
|
+
- `TelegramLifeline.reconcilePolling` (the CONSUMER, which owns the start/stop authority) — **pass-through** — unmodified. It keeps its own freshness gate, dead-writer gate, operator override, debounce, and the `pollFollowsLease.dryRun` gate.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 1. Over-block
|
|
29
|
+
|
|
30
|
+
**No block/allow surface — over-block not applicable.** This change writes an advisory record. It has no reject path. The only actor that acts on the record is `TelegramLifeline.reconcilePolling`, which is unmodified.
|
|
31
|
+
|
|
32
|
+
The nearest analogue worth stating: the change can now cause the lifeline to STOP polling on a machine where, pre-change, it would have kept polling — but only when the machine genuinely does not hold the lease AND `pollFollowsLease.dryRun` is explicitly `false`. That is the intended contract, not an over-block: the record now reports the fenced lease truthfully instead of reporting a stale boot default.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Under-block
|
|
37
|
+
|
|
38
|
+
**No block/allow surface — under-block not applicable.**
|
|
39
|
+
|
|
40
|
+
Failure modes this change does NOT address, stated explicitly so they are not assumed fixed:
|
|
41
|
+
|
|
42
|
+
- **A lifeline whose 409 counter never resets.** The production incident that surfaced this defect also showed `conflict409Stuck` firing after a single 409 in a fresh boot cycle, because the boot path starts polling (stale-connection flush → `Telegram polling active`) before the first `reconcilePolling` tick can mute it. Fixing the publisher removes the CAUSE of the dual-poll on a correctly-leased pair, but a lifeline that starts polling at boot and only reconciles 15s later still has a window. Not in scope here and not claimed fixed. <!-- tracked: ATT-poll-intent-standby-forever-20260803 -->
|
|
43
|
+
- **`nobodyPollingRecovery` shipping in dryRun.** If the lease is held by a machine that is down, nothing currently actuates a recovery. Unchanged by this. <!-- tracked: ATT-poll-intent-standby-forever-20260803 -->
|
|
44
|
+
- **A machine whose `_role` and the fenced lease disagree for a reason other than the missing republish.** This change makes the PUBLISHED record follow `holdsLease()` directly, so it is now independent of `_role` drift — but it does not repair `_role` itself.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 3. Level-of-abstraction fit
|
|
49
|
+
|
|
50
|
+
Right layer. The coordinator is the only component that owns the fenced lease, so it is the only component that can answer "should this machine own the Telegram poll?". The record is the existing, purpose-built IPC surface between the server (which knows the lease) and the lifeline (which owns the socket), and it already carries the integrity fields (`serverPid`, `bootId`, `ts`) the consumer needs.
|
|
51
|
+
|
|
52
|
+
A lower layer (the lifeline asking Telegram, or reading the lease file itself) would duplicate lease parsing in a second process and reintroduce exactly the split-truth this record exists to prevent. A higher layer (a new arbiter service) is unwarranted for a one-boolean handoff.
|
|
53
|
+
|
|
54
|
+
No smarter gate exists that this should feed instead — the consumer IS the gate, and it already receives this signal.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 4. Signal vs authority compliance
|
|
59
|
+
|
|
60
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
61
|
+
|
|
62
|
+
- [x] **No — this change produces a signal consumed by an existing smart gate.**
|
|
63
|
+
|
|
64
|
+
The coordinator is a detector here: it reports a fact it alone holds (do I hold the fenced lease, at which epoch). It gains no blocking power from this change. The authority over polling remains `decidePollAction` inside `TelegramLifeline`, which combines this signal with the operator override (`pollOverride` / `telegramPolling:false`), the local 409 observation, the start debounce, and the `peerPresumedGone` conservatism — and is itself gated behind `pollFollowsLease.dryRun`.
|
|
65
|
+
|
|
66
|
+
The defect being fixed is, in signal-vs-authority terms, a detector reporting a value it never measured: the safe boot default is a placeholder standing in for an unmeasured role, and it was being consumed as though it were a measurement. Making the detector report the measured value is the compliant direction.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 4b. Judgment-point check (Judgment Within Floors standard)
|
|
71
|
+
|
|
72
|
+
No new heuristic at a competing-signals decision point. The published value is a direct, deterministic read of a single authoritative signal — `leaseCoordinator.holdsLease()` — not a weighing of competing signals. The place where signals genuinely compete (lease intent vs local 409 vs operator override vs debounce) is `decidePollAction`, which is unchanged.
|
|
73
|
+
|
|
74
|
+
The only new constant, `POLL_INTENT_REFRESH_MS`, is a write-amplification throttle, not a decision threshold: it never changes WHAT is published, only how often an unchanged value is rewritten, and it is derived from the consumer's existing `maxStaleMs` bound (30s vs 90s) rather than tuned.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 5. Interactions
|
|
79
|
+
|
|
80
|
+
- **Shadowing:** the publish now runs BEFORE the early-return, so it executes on strictly more paths than before. It cannot shadow anything — it writes a file and returns; no control flow depends on its result. Nothing that previously ran still fails to run. The reverse shadowing is what the second defect WAS: the boot default shadowed the reconcile's decision by writing after it. Moving it before the branch removes that, and the "does NOT acquire ⇒ left muted" test is the control proving the safe default still wins on the branch where no decision is made.
|
|
81
|
+
- **Throttle vs direct writers:** the throttle cache is now updated inside `writeLeasePollIntent` rather than in the wrapper, so a direct caller (the boot default) can never leave the cached key describing something other than what is on disk. Without this, the boot default would write `standby` while the cache still read `awake`, and the next reconcile would consider itself unchanged and skip the correcting write for up to 30s — the exact interaction that made the first draft of the real-boot-path test fail.
|
|
82
|
+
- **Double-fire:** on a genuine transition the publish runs once (from the new call above the early-return); the old call below the early-return was REMOVED, so there is no double write. Verified by the transition test asserting one write plus one `roleChange`/`promote` pair.
|
|
83
|
+
- **Races:** `writePollIntent` is atomic (tmp + rename), so the lifeline never reads a torn record — unchanged. The reconcile is single-threaded per process and already guarded by `leaseTicking`. The throttle fields are process-local and only mutated inside reconcile.
|
|
84
|
+
- **Feedback loops:** the record feeds the lifeline, which starts/stops polling, which changes the local 409 observation, which feeds `decidePollAction`. This change does not add a loop — it makes the existing one's input correct. The relevant risk (a machine flipping poll on/off repeatedly) is bounded by the existing start-debounce and by `POLL_INTENT_REFRESH_MS` throttling of unchanged values; a genuine flip publishes immediately, which is required for correctness (a lagging record is what caused the incident).
|
|
85
|
+
- **Churn breaker (B2):** deliberately left below the early-return so it still counts only true flips. Covered by the "does NOT re-fire transition-only side effects when the role is steady" test.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 6. External surfaces
|
|
90
|
+
|
|
91
|
+
- **Other agents on the same machine:** none — the record is per-agent under that agent's `stateDir`.
|
|
92
|
+
- **Other users of the install base:** the change is inert unless `pollFollowsLease` resolves on. It ships dev-gated; on the fleet the guard resolves off and `writeLeasePollIntent` returns early, writing nothing. No fleet-visible change on this commit.
|
|
93
|
+
- **External systems:** no direct calls. Indirectly, on an agent with `pollFollowsLease.dryRun:false`, Telegram sees one long-poll instead of two competing ones — which is the intended end state and strictly fewer 409s.
|
|
94
|
+
- **Persistent state:** `state/telegram-poll-intent.json` only. Same schema, same fields, same atomic write. Written more often (bounded to once per 30s per unchanged value). No migration: the record is regenerated at runtime and readers already tolerate a missing/stale/corrupt file by treating it as "no opinion".
|
|
95
|
+
- **Timing / runtime conditions:** the throttle uses wall-clock `Date.now()`. A backwards clock step could delay a refresh by up to the step size; the consumer's response to a too-old record is "no opinion → hold", the safe direction, so a clock anomaly degrades to today's behavior rather than to a wrong action.
|
|
96
|
+
- **Operator surface (Mobile-Complete Operator Actions):** no operator-facing action added or changed. The existing levers (`pollOverride`, `telegramPolling`) are untouched.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 6b. Operator-surface quality
|
|
101
|
+
|
|
102
|
+
**Not applicable** — this change touches no dashboard renderer, approval surface, notification body, or operator-facing markup. No operator-facing text is added or modified.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
107
|
+
|
|
108
|
+
**Machine-local BY DESIGN.** The record answers a question that MUST differ per machine: "should THIS machine own the Telegram poll?" Exactly one machine may answer yes at a time, so replicating the record would be actively wrong — a replicated `shouldPoll:true` landing on a standby is precisely the dual-poll failure the fenced lease exists to prevent. The cross-machine coordination is carried by the fenced lease itself (already replicated via `LeaseCoordinator` / the mesh transports), and the record is the machine-local projection of that shared truth into a sibling process.
|
|
109
|
+
|
|
110
|
+
- **User-facing notices:** none emitted. No one-voice gating needed.
|
|
111
|
+
- **Durable state on topic transfer:** the record is not topic-scoped and holds no per-topic state, so it cannot strand on a transfer. It is regenerated from the lease on the next reconcile on whichever machine holds it.
|
|
112
|
+
- **Generated URLs:** none.
|
|
113
|
+
|
|
114
|
+
Worth naming explicitly: this defect is itself a multi-machine defect that a single-machine install can never surface (a single machine short-circuits to `awake` and there is no second poller to conflict with). The evidence for this review came from a live two-machine pair, which is the graduation gate the parent spec names for B1/B5.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 8. Rollback cost
|
|
119
|
+
|
|
120
|
+
- **Hot-fix release:** revert the commit and ship as the next patch. One function plus one constant plus two fields.
|
|
121
|
+
- **Data migration:** none. The record is advisory and regenerated at runtime; readers already treat missing/stale as "no opinion".
|
|
122
|
+
- **Agent state repair:** none. No agent needs notifying or resetting.
|
|
123
|
+
- **User visibility:** none during the rollback window on the fleet (the guard resolves off there). On a dev agent with the gate on, reverting restores the previous behavior exactly: the boot default stands and the lifeline holds or fights, as before.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Conclusion
|
|
128
|
+
|
|
129
|
+
The review changed the design twice. First, `writeLeasePollIntent` was changed to return a success boolean so the throttle can never record a skip-window off a write that failed — without that, a transient write failure would have suppressed retries for 30s, and the consumer would have aged into "no opinion" for a reason the code believed it had handled.
|
|
130
|
+
|
|
131
|
+
Second and more importantly: writing a test that runs the REAL boot path, rather than only the stubbed reconcile, surfaced a second independent defect — the safe boot default being written after the reconcile it was meant to precede. Shipping the early-return fix alone would have produced a green unit suite and an unchanged production failure. That is worth recording as the reason the extra test existed: the stubbed tests could not have caught it, because they never ran `initializeLease()`. The throttle-cache ownership move (into `writeLeasePollIntent`) came out of the same test failing a second time for a different reason.
|
|
132
|
+
|
|
133
|
+
Third, §2 forced an explicit statement of what this does NOT fix: the lifeline's boot-time poll-before-first-reconcile window and the dry-run `nobodyPollingRecovery` are both still open, both tracked on the attention item, and neither is claimed closed by this commit.
|
|
134
|
+
|
|
135
|
+
The change complies with signal-vs-authority: it corrects a detector's output and adds no authority. It is inert on the fleet (dev-gated producer) and its whole risk surface is confined to agents that have explicitly enabled `pollFollowsLease`.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Second-pass review
|
|
140
|
+
|
|
141
|
+
**Not required.** Phase 5 triggers on changes that touch block/allow decisions on messaging or dispatch, session lifecycle, or anything named sentinel/guard/gate/watchdog. This change adds no block/allow surface and modifies no gate: it is confined to the producer side of an advisory record, and the consuming gate (`decidePollAction`) is untouched. The one adjacent trigger word — the lifeline's poll authority — is explicitly out of the diff.
|
|
142
|
+
|
|
143
|
+
Recorded for the reviewer's benefit if this judgment is revisited: the argument rests on the diff containing no change to `TelegramLifeline`, which is verifiable from the commit's file list.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Evidence pointers
|
|
148
|
+
|
|
149
|
+
- Live measurement (instar-codey, Mac Mini, 2026-08-03 17:34 PDT, v1.3.1122): `/health → multiMachine.syncStatus` reporting `role:awake, holdsLease:true, leaseEpoch:21302` in the same second that `state/telegram-poll-intent.json` reported `role:standby, shouldPoll:false, leaseEpoch:21302`.
|
|
150
|
+
- Staleness half: the same record's age sampled at 10s intervals climbed 84.5s → 155.0s across an 80s window with no rewrite, i.e. past the consumer's 90s bound.
|
|
151
|
+
- Downstream harm on that agent: 812 × `Telegram 409 Conflict — another bot instance is polling`, 260 × `TelegramLifeline.selfRestart: conflict409Stuck`, server restarting every ~10 min for ~8h.
|
|
152
|
+
- Pre-fix test control: with `src/core/MultiMachineCoordinator.ts` reverted to `origin/main`, the headline regression test fails with `expected null not to be null` (no record written at all) — the right reason, not a missing-symbol error. 7 of 10 tests in the new file fail pre-fix; the 3 that pass are the gate-off guard, the real-transition guard, and the observe-only "does NOT acquire ⇒ left muted" guard, all of which are expected to hold either way.
|
|
153
|
+
- Second defect, found by the real-boot-path test rather than by reading: with only the early-return fixed, that test failed with the record on disk reading `{shouldPoll:false, role:'standby'}` while the in-process throttle key read `true|awake|1` — i.e. the correct value had been written and then overwritten by the boot default at the tail of `initializeLease()`. That divergence between the cache and the file is what identified the clobber.
|
|
154
|
+
- Attention item carrying the fleet risk and the mitigation that must be removed after deploy: `ATT-poll-intent-standby-forever-20260803`.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Class-Closure Declaration
|
|
159
|
+
|
|
160
|
+
**Not applicable on both triggers, stated explicitly rather than omitted.**
|
|
161
|
+
|
|
162
|
+
1. **Agent-authored-artifact defect?** No. The defect is in hand-written TypeScript (`MultiMachineCoordinator.ts`), not in an LLM prompt, hook, config, skill, or standards text.
|
|
163
|
+
2. **Self-triggered controller added or modified?** No. `reconcileRoleToLease` is an existing control loop driven by the existing lease tick; this change adds no new loop, monitor, sentinel, reaper, scheduler, or recovery path, and fires no restart / swap / respawn / spawn / notify / retry / re-drive / kill. The throttle strictly REDUCES the action rate of an existing loop (a file write) and cannot increase it: an unchanged value is written at most once per `POLL_INTENT_REFRESH_MS`, and a changed value at most once per reconcile tick, which is the loop's own bound.
|