instar 1.3.657 → 1.3.659
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 +56 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +14 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/SessionManager.d.ts +12 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +45 -2
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/SessionOwnershipRegistry.d.ts +14 -0
- package/dist/core/SessionOwnershipRegistry.d.ts.map +1 -1
- package/dist/core/SessionOwnershipRegistry.js +9 -0
- package/dist/core/SessionOwnershipRegistry.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +12 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/types.d.ts +32 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/StrandedTopicSentinel.d.ts +102 -0
- package/dist/monitoring/StrandedTopicSentinel.d.ts.map +1 -0
- package/dist/monitoring/StrandedTopicSentinel.js +216 -0
- package/dist/monitoring/StrandedTopicSentinel.js.map +1 -0
- package/dist/monitoring/guardManifest.d.ts.map +1 -1
- package/dist/monitoring/guardManifest.js +17 -0
- package/dist/monitoring/guardManifest.js.map +1 -1
- package/dist/monitoring/rateLimitDetection.d.ts +29 -0
- package/dist/monitoring/rateLimitDetection.d.ts.map +1 -1
- package/dist/monitoring/rateLimitDetection.js +29 -0
- package/dist/monitoring/rateLimitDetection.js.map +1 -1
- package/dist/monitoring/strandedTopicDecision.d.ts +96 -0
- package/dist/monitoring/strandedTopicDecision.d.ts.map +1 -0
- package/dist/monitoring/strandedTopicDecision.js +160 -0
- package/dist/monitoring/strandedTopicDecision.js.map +1 -0
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +3 -3
- package/upgrades/1.3.658.md +24 -0
- package/upgrades/1.3.659.md +29 -0
- package/upgrades/side-effects/idle-throttle-settle-gate.md +37 -0
- package/upgrades/side-effects/stranded-inbound-self-heal.md +80 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StrandedTopicSentinel — a pure-signal, dark-gated monitoring sentinel that
|
|
3
|
+
* detects a Telegram/Slack topic whose owner machine is online-but-unable-to-
|
|
4
|
+
* serve and raises ONE aggregated attention item per (owner-machine, stranding
|
|
5
|
+
* window). It MUTATES NOTHING — no ownership CAS, no pin write, no session kill.
|
|
6
|
+
*
|
|
7
|
+
* The wedge (proven live 2026-06-24): a durable ownership record names a machine
|
|
8
|
+
* that is online-by-heartbeat but quota-walled or adapter-disconnected, while a
|
|
9
|
+
* healthy machine holds the lease. Inbound routes to the owner that cannot serve
|
|
10
|
+
* it → silently dead for that topic; outbound still flows from the healthy
|
|
11
|
+
* machine (the "my replies send but his messages never arrive" split). The
|
|
12
|
+
* existing OwnershipReconciler (Case C) only fires on a PROVABLY-DEAD owner, so a
|
|
13
|
+
* walled-but-online owner defers forever — this sentinel covers that gap.
|
|
14
|
+
*
|
|
15
|
+
* Per tick (synchronous, LLM-free, acquires NO spawn-cap slot — asserted by test
|
|
16
|
+
* so a future "ask an LLM if it's stranded" can never silently land on the
|
|
17
|
+
* monitoring hot path):
|
|
18
|
+
* 1. early no-op gates (< 2 machines / not lease-holder / pool view stale)
|
|
19
|
+
* 2. evaluate the PURE decision over the in-memory ownership cache + pool view
|
|
20
|
+
* 3. emit ONE aggregated attention item per owner stranding-window
|
|
21
|
+
* 4. emit ONE separate LOW "can't-assess" item when ≥1 online owner was
|
|
22
|
+
* skipped for missing/unparseable rich heartbeat fields (anti-blind-spot)
|
|
23
|
+
*
|
|
24
|
+
* Spec: docs/specs/stranded-inbound-self-heal.md
|
|
25
|
+
*
|
|
26
|
+
* Signal-vs-authority: PURE SIGNAL. The only output is an advisory attention
|
|
27
|
+
* item; it has no authority to misuse. (The auto-failover is a tracked v2 with
|
|
28
|
+
* its prerequisites named in the spec.)
|
|
29
|
+
*/
|
|
30
|
+
import { EventEmitter } from 'node:events';
|
|
31
|
+
import { evaluateStrandedTopics, } from './strandedTopicDecision.js';
|
|
32
|
+
const DEFAULT_CONFIG = {
|
|
33
|
+
enabled: false,
|
|
34
|
+
tickMs: 60_000,
|
|
35
|
+
dwellMs: 30_000,
|
|
36
|
+
freshnessBoundMs: 45_000,
|
|
37
|
+
clearAfterTicks: 3,
|
|
38
|
+
};
|
|
39
|
+
export class StrandedTopicSentinel extends EventEmitter {
|
|
40
|
+
deps;
|
|
41
|
+
cfg;
|
|
42
|
+
tickHandle = null;
|
|
43
|
+
/** Liveness of the tick loop (GUARD-POSTURE §2.2): 0 = never ticked. */
|
|
44
|
+
lastTickAt = 0;
|
|
45
|
+
/** Per-topic dwell anchor carried across ticks. */
|
|
46
|
+
strandedSince = {};
|
|
47
|
+
/** Per-owner consecutive-empty-tick count (window close discipline). */
|
|
48
|
+
emptyTicks = new Map();
|
|
49
|
+
/** Per-owner open stranding-window id (the dwell-epoch of the first strand). */
|
|
50
|
+
windowId = new Map();
|
|
51
|
+
constructor(deps, cfg = {}) {
|
|
52
|
+
super();
|
|
53
|
+
this.deps = deps;
|
|
54
|
+
this.cfg = { ...DEFAULT_CONFIG, ...cfg };
|
|
55
|
+
}
|
|
56
|
+
start() {
|
|
57
|
+
if (!this.cfg.enabled || this.tickHandle)
|
|
58
|
+
return;
|
|
59
|
+
this.tickHandle = setInterval(() => {
|
|
60
|
+
try {
|
|
61
|
+
this.tick();
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
// @silent-fallback-ok — pure-signal sentinel: a tick error must NEVER
|
|
65
|
+
// propagate or degrade anything (it mutates nothing). The error is
|
|
66
|
+
// surfaced as a 'tick-error' event for observability; swallowing the
|
|
67
|
+
// throw IS the correct fail-closed behavior, not a hidden degradation.
|
|
68
|
+
this.emit('tick-error', { err });
|
|
69
|
+
}
|
|
70
|
+
}, this.cfg.tickMs);
|
|
71
|
+
if (typeof this.tickHandle.unref === 'function')
|
|
72
|
+
this.tickHandle.unref();
|
|
73
|
+
}
|
|
74
|
+
stop() {
|
|
75
|
+
if (this.tickHandle) {
|
|
76
|
+
clearInterval(this.tickHandle);
|
|
77
|
+
this.tickHandle = null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** One synchronous scan pass. LLM-free, no spawn-cap slot, no peer probe. */
|
|
81
|
+
tick() {
|
|
82
|
+
const now = (this.deps.now ?? Date.now)();
|
|
83
|
+
this.lastTickAt = now;
|
|
84
|
+
if (!this.cfg.enabled)
|
|
85
|
+
return;
|
|
86
|
+
const selfId = this.deps.selfMachineId();
|
|
87
|
+
if (!selfId) {
|
|
88
|
+
// Single-machine agent (no mesh id) → strict no-op; drop any stale state.
|
|
89
|
+
this.strandedSince = {};
|
|
90
|
+
this.emptyTicks.clear();
|
|
91
|
+
this.windowId.clear();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const result = evaluateStrandedTopics({
|
|
95
|
+
records: this.deps.listOwnershipRecords(),
|
|
96
|
+
capacities: this.deps.listCapacities(),
|
|
97
|
+
selfMachineId: selfId,
|
|
98
|
+
holdsLease: this.deps.holdsLease(),
|
|
99
|
+
prevStrandedSince: this.strandedSince,
|
|
100
|
+
now,
|
|
101
|
+
cfg: { dwellMs: this.cfg.dwellMs, freshnessBoundMs: this.cfg.freshnessBoundMs },
|
|
102
|
+
resolveScope: this.deps.resolveScope,
|
|
103
|
+
});
|
|
104
|
+
// Reconcile the dwell map (delete stale keys — spec step 2).
|
|
105
|
+
this.strandedSince = result.nextStrandedSince;
|
|
106
|
+
// Group the stranded set by owner for the aggregated item.
|
|
107
|
+
const byOwner = new Map();
|
|
108
|
+
for (const s of result.strandedSet) {
|
|
109
|
+
const list = byOwner.get(s.ownerMachineId) ?? [];
|
|
110
|
+
list.push(s);
|
|
111
|
+
byOwner.set(s.ownerMachineId, list);
|
|
112
|
+
}
|
|
113
|
+
// Emit / update one item per owner with a non-empty stranded set; advance
|
|
114
|
+
// the window-close discipline for every owner we have tracked.
|
|
115
|
+
const seenOwners = new Set();
|
|
116
|
+
for (const [owner, topics] of byOwner) {
|
|
117
|
+
seenOwners.add(owner);
|
|
118
|
+
this.emptyTicks.set(owner, 0);
|
|
119
|
+
this.emitOwnerItem(owner, topics, now);
|
|
120
|
+
}
|
|
121
|
+
// Window close: an owner with no strand this tick increments its empty-tick
|
|
122
|
+
// count; after clearAfterTicks it closes (drops its window).
|
|
123
|
+
for (const owner of [...this.windowId.keys()]) {
|
|
124
|
+
if (seenOwners.has(owner))
|
|
125
|
+
continue;
|
|
126
|
+
const n = (this.emptyTicks.get(owner) ?? 0) + 1;
|
|
127
|
+
if (n >= this.cfg.clearAfterTicks) {
|
|
128
|
+
this.windowId.delete(owner);
|
|
129
|
+
this.emptyTicks.delete(owner);
|
|
130
|
+
this.emit('window-closed', { owner });
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
this.emptyTicks.set(owner, n);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// Separate LOW "can't-assess" anti-blind-spot signal (spec step 4).
|
|
137
|
+
if (result.cantAssessCount > 0) {
|
|
138
|
+
this.emitCantAssessItem(result.cantAssessCount, now);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
emitOwnerItem(owner, topics, now) {
|
|
142
|
+
// The window-id is the FIRST qualifying strandedSince for this owner rounded
|
|
143
|
+
// to the dwell epoch; it stays the same across a partial heal so the item
|
|
144
|
+
// updates in place rather than spawning a new one (spec step 3).
|
|
145
|
+
let windowId = this.windowId.get(owner);
|
|
146
|
+
if (windowId === undefined) {
|
|
147
|
+
const earliest = Math.min(...topics.map((t) => t.strandedSince));
|
|
148
|
+
windowId = Math.floor(earliest / this.cfg.dwellMs) * this.cfg.dwellMs;
|
|
149
|
+
this.windowId.set(owner, windowId);
|
|
150
|
+
}
|
|
151
|
+
const nick = this.deps.nicknameOf?.(owner) ?? owner;
|
|
152
|
+
const reasons = new Set(topics.map((t) => t.reason));
|
|
153
|
+
const reasonText = [...reasons].join(' / ');
|
|
154
|
+
const topicList = topics.map((t) => t.sessionKey).join(', ');
|
|
155
|
+
const anyServable = topics.some((t) => t.servablePeerExists);
|
|
156
|
+
const ageMs = Math.max(0, ...topics.map((t) => t.ownerBeatAgeMs ?? 0));
|
|
157
|
+
const serveLine = anyServable
|
|
158
|
+
? 'another machine can serve them.'
|
|
159
|
+
: 'no machine can currently serve them — fleet-wide wall.';
|
|
160
|
+
const item = {
|
|
161
|
+
id: `stranded-topic:${owner}:${windowId}`,
|
|
162
|
+
title: `Inbound stranded on ${nick} (${topics.length} topic${topics.length === 1 ? '' : 's'})`,
|
|
163
|
+
summary: `Topics owned by ${nick} (${reasonText}) — inbound can't reach a servable machine.`,
|
|
164
|
+
description: `Inbound for topic(s) ${topicList} is going to ${nick}, which can't serve them ` +
|
|
165
|
+
`(${reasonText}); ${serveLine} ` +
|
|
166
|
+
`Based on ${nick}'s last full heartbeat ${Math.round(ageMs / 1000)}s ago.`,
|
|
167
|
+
category: 'agent-health',
|
|
168
|
+
priority: 'NORMAL',
|
|
169
|
+
sourceContext: `stranded-topic:${owner}`,
|
|
170
|
+
lane: 'agent-health',
|
|
171
|
+
healthKey: `stranded-topic:${owner}:${windowId}`,
|
|
172
|
+
};
|
|
173
|
+
try {
|
|
174
|
+
this.deps.raiseAttention(item);
|
|
175
|
+
this.emit('stranded', { owner, windowId, topics });
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
// @silent-fallback-ok — the attention raise is the sentinel's only output;
|
|
179
|
+
// if it throws, the correct signal-only behavior is to surface a
|
|
180
|
+
// 'raise-error' event and continue (no degradation, nothing to fall back
|
|
181
|
+
// to). Never let a raise failure crash the monitoring tick.
|
|
182
|
+
this.emit('raise-error', { err });
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
emitCantAssessItem(count, now) {
|
|
186
|
+
const windowId = Math.floor(now / this.cfg.dwellMs) * this.cfg.dwellMs;
|
|
187
|
+
const item = {
|
|
188
|
+
id: `stranded-topic-blind:${windowId}`,
|
|
189
|
+
title: `Can't assess ${count} online owner${count === 1 ? '' : 's'} for stranding`,
|
|
190
|
+
summary: `${count} online owner machine${count === 1 ? '' : 's'} skipped — rich heartbeat fields missing.`,
|
|
191
|
+
description: `I couldn't tell whether ${count} online machine${count === 1 ? ' is' : 's are'} able to serve their ` +
|
|
192
|
+
`topics because their heartbeat is missing the quota/adapter fields. This is "I can't see", not "all clear" — ` +
|
|
193
|
+
`a heartbeat/schema regression could be blinding the stranded-inbound detector.`,
|
|
194
|
+
category: 'agent-health',
|
|
195
|
+
priority: 'LOW',
|
|
196
|
+
sourceContext: 'stranded-topic-blind',
|
|
197
|
+
lane: 'agent-health',
|
|
198
|
+
healthKey: 'stranded-topic-blind',
|
|
199
|
+
};
|
|
200
|
+
try {
|
|
201
|
+
this.deps.raiseAttention(item);
|
|
202
|
+
this.emit('cant-assess', { count });
|
|
203
|
+
}
|
|
204
|
+
catch (err) {
|
|
205
|
+
// @silent-fallback-ok — signal-only: surface a 'raise-error' event and
|
|
206
|
+
// continue; a raise failure must never crash the monitoring tick.
|
|
207
|
+
this.emit('raise-error', { err });
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/** Sync in-memory runtime read for the GuardRegistry (GET /guards). MUST stay
|
|
211
|
+
* a cheap property read — no I/O. */
|
|
212
|
+
guardStatus() {
|
|
213
|
+
return { enabled: this.cfg.enabled, lastTickAt: this.lastTickAt };
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=StrandedTopicSentinel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StrandedTopicSentinel.js","sourceRoot":"","sources":["../../src/monitoring/StrandedTopicSentinel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardManifest.d.ts","sourceRoot":"","sources":["../../src/monitoring/guardManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,cAAc,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,6FAA6F;IAC7F,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;qFAEiF;IACjF,cAAc,EAAE,OAAO,CAAC;IACxB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;wEACoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB;;;;2DAIuD;IACvD,aAAa,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,kBAAkB,
|
|
1
|
+
{"version":3,"file":"guardManifest.d.ts","sourceRoot":"","sources":["../../src/monitoring/guardManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,cAAc,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,6FAA6F;IAC7F,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;qFAEiF;IACjF,cAAc,EAAE,OAAO,CAAC;IACxB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;wEACoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB;;;;2DAIuD;IACvD,aAAa,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,kBAAkB,EA4gB9C,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,cAAc,EAgFvC,CAAC;AAEX,qFAAqF;AACrF,wBAAgB,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAI/D;AAED,wBAAgB,kBAAkB,IAAI,GAAG,CAAC,MAAM,CAAC,CAIhD;AAED,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,MAAM,CAAC,CAEjD"}
|
|
@@ -183,6 +183,23 @@ export const GUARD_MANIFEST = [
|
|
|
183
183
|
component: 'OrphanedWorkSentinel',
|
|
184
184
|
description: 'Detects agent worktrees with uncommitted work whose owning session died + settled.',
|
|
185
185
|
},
|
|
186
|
+
{
|
|
187
|
+
// `enabled` is deliberately OMITTED from ConfigDefaults — the runtime resolves
|
|
188
|
+
// it through the developmentAgent dark-feature gate (dark on the fleet, live on
|
|
189
|
+
// a dev agent). defaultEnabled:false reflects the fleet default. expectRuntime:
|
|
190
|
+
// true REQUIRES the server-boot guardRegistry.register callsite (a pure
|
|
191
|
+
// in-memory guardStatus getter); an enabled-but-unregistered guard reports
|
|
192
|
+
// `missing`. expectedTickMs derives the on-stale threshold (5×).
|
|
193
|
+
key: 'monitoring.strandedTopicSentinel.enabled',
|
|
194
|
+
kind: 'config',
|
|
195
|
+
configPath: 'monitoring.strandedTopicSentinel.enabled',
|
|
196
|
+
defaultEnabled: false,
|
|
197
|
+
expectedTickMs: 60_000,
|
|
198
|
+
process: 'server',
|
|
199
|
+
expectRuntime: true,
|
|
200
|
+
component: 'StrandedTopicSentinel',
|
|
201
|
+
description: 'Pure-signal detector: surfaces a topic whose owner machine is online-but-unable-to-serve (quota-walled / adapter-disconnected) while a healthy machine holds the lease, so inbound is silently dead. Raises ONE aggregated attention item; MUTATES NOTHING.',
|
|
202
|
+
},
|
|
186
203
|
{
|
|
187
204
|
// tmux Event-Loop Resilience (C). `enabled` is deliberately OMITTED from
|
|
188
205
|
// ConfigDefaults — the runtime resolves it through the developmentAgent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardManifest.js","sourceRoot":"","sources":["../../src/monitoring/guardManifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"guardManifest.js","sourceRoot":"","sources":["../../src/monitoring/guardManifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,4 +90,33 @@ export declare function evaluateThrottleSettle(snapshot: string | null | undefin
|
|
|
90
90
|
decision: ThrottleSettleDecision;
|
|
91
91
|
next: ThrottleSettleState | undefined;
|
|
92
92
|
};
|
|
93
|
+
export type IdleThrottleAction = 'emit' | 'wait' | 'fall-through';
|
|
94
|
+
/**
|
|
95
|
+
* The SessionManager idle-monitor's SETTLE-GATED decision for a session whose recent
|
|
96
|
+
* output already matched a throttle string. Today the idle path emits `rateLimitedAtIdle`
|
|
97
|
+
* on that single glance — which false-fires on a transient throttle that has already
|
|
98
|
+
* cleared, or a throttle line still scrolled in the buffer of a session that has since
|
|
99
|
+
* moved on. This re-checks the settled-lines window with the SAME discipline the
|
|
100
|
+
* SessionWatchdog already uses (`evaluateThrottleSettle`: throttle present AND pane
|
|
101
|
+
* byte-identical across polls = the turn genuinely ended on the throttle), and returns:
|
|
102
|
+
* - 'emit' : settled → hand to recovery now (clear tracking).
|
|
103
|
+
* - 'wait' : throttle present but pane still changing / not settled long enough
|
|
104
|
+
* → recheck next idle tick, do NOT emit yet (carry `nextState`).
|
|
105
|
+
* - 'fall-through' : no throttle in the settled window → not a current throttle; clear
|
|
106
|
+
* tracking and let the caller continue to its generic-error check.
|
|
107
|
+
*
|
|
108
|
+
* Pure + clock-injected (no tmux) so the new decision is fully unit-testable. STRICTLY
|
|
109
|
+
* more conservative than the legacy immediate emit — it can only ever emit LESS often,
|
|
110
|
+
* never more — so it cannot create a recovery it didn't already make. Gated behind the
|
|
111
|
+
* dark `monitoring.idleThrottleSettleGate` flag; the deeper redesign (unifying the idle +
|
|
112
|
+
* watchdog detection paths, and distinguishing an active-tail throttle from old
|
|
113
|
+
* scrollback) stays a tracked follow-up.
|
|
114
|
+
*/
|
|
115
|
+
export declare function nextIdleThrottleAction(snapshot: string | null | undefined, prev: ThrottleSettleState | undefined, now: number, opts?: {
|
|
116
|
+
settleMs?: number;
|
|
117
|
+
captureLines?: number;
|
|
118
|
+
}): {
|
|
119
|
+
action: IdleThrottleAction;
|
|
120
|
+
nextState: ThrottleSettleState | undefined;
|
|
121
|
+
};
|
|
93
122
|
//# sourceMappingURL=rateLimitDetection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimitDetection.d.ts","sourceRoot":"","sources":["../../src/monitoring/rateLimitDetection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAKrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAKxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAuB,CAAC;AAE1D,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,mFAAmF;AACnF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,YAAY,GAAE,MAAiC,GAC9C,OAAO,CAYT;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAyC,GACtD,MAAM,CAMR;AAED,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3E,8FAA8F;AAC9F,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,EAAE,sBAAsB,CAAC;IAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAA;CAAE,CAgB7E"}
|
|
1
|
+
{"version":3,"file":"rateLimitDetection.d.ts","sourceRoot":"","sources":["../../src/monitoring/rateLimitDetection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAKrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAKxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAuB,CAAC;AAE1D,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,mFAAmF;AACnF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,YAAY,GAAE,MAAiC,GAC9C,OAAO,CAYT;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAyC,GACtD,MAAM,CAMR;AAED,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3E,8FAA8F;AAC9F,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,EAAE,sBAAsB,CAAC;IAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAA;CAAE,CAgB7E;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAA;CAAE,CAK5E"}
|
|
@@ -125,4 +125,33 @@ export function evaluateThrottleSettle(snapshot, prev, now, opts) {
|
|
|
125
125
|
}
|
|
126
126
|
return { decision: 'waiting', next: prev };
|
|
127
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* The SessionManager idle-monitor's SETTLE-GATED decision for a session whose recent
|
|
130
|
+
* output already matched a throttle string. Today the idle path emits `rateLimitedAtIdle`
|
|
131
|
+
* on that single glance — which false-fires on a transient throttle that has already
|
|
132
|
+
* cleared, or a throttle line still scrolled in the buffer of a session that has since
|
|
133
|
+
* moved on. This re-checks the settled-lines window with the SAME discipline the
|
|
134
|
+
* SessionWatchdog already uses (`evaluateThrottleSettle`: throttle present AND pane
|
|
135
|
+
* byte-identical across polls = the turn genuinely ended on the throttle), and returns:
|
|
136
|
+
* - 'emit' : settled → hand to recovery now (clear tracking).
|
|
137
|
+
* - 'wait' : throttle present but pane still changing / not settled long enough
|
|
138
|
+
* → recheck next idle tick, do NOT emit yet (carry `nextState`).
|
|
139
|
+
* - 'fall-through' : no throttle in the settled window → not a current throttle; clear
|
|
140
|
+
* tracking and let the caller continue to its generic-error check.
|
|
141
|
+
*
|
|
142
|
+
* Pure + clock-injected (no tmux) so the new decision is fully unit-testable. STRICTLY
|
|
143
|
+
* more conservative than the legacy immediate emit — it can only ever emit LESS often,
|
|
144
|
+
* never more — so it cannot create a recovery it didn't already make. Gated behind the
|
|
145
|
+
* dark `monitoring.idleThrottleSettleGate` flag; the deeper redesign (unifying the idle +
|
|
146
|
+
* watchdog detection paths, and distinguishing an active-tail throttle from old
|
|
147
|
+
* scrollback) stays a tracked follow-up.
|
|
148
|
+
*/
|
|
149
|
+
export function nextIdleThrottleAction(snapshot, prev, now, opts) {
|
|
150
|
+
const { decision, next } = evaluateThrottleSettle(snapshot, prev, now, opts);
|
|
151
|
+
if (decision === 'settled')
|
|
152
|
+
return { action: 'emit', nextState: undefined };
|
|
153
|
+
if (decision === 'waiting')
|
|
154
|
+
return { action: 'wait', nextState: next };
|
|
155
|
+
return { action: 'fall-through', nextState: undefined }; // 'no-throttle'
|
|
156
|
+
}
|
|
128
157
|
//# sourceMappingURL=rateLimitDetection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimitDetection.js","sourceRoot":"","sources":["../../src/monitoring/rateLimitDetection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rateLimitDetection.js","sourceRoot":"","sources":["../../src/monitoring/rateLimitDetection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* strandedTopicDecision — the PURE, unit-testable decision core of the
|
|
3
|
+
* StrandedTopicSentinel (spec docs/specs/stranded-inbound-self-heal.md).
|
|
4
|
+
*
|
|
5
|
+
* A topic is STRANDED when its durable ownership record names a machine that is
|
|
6
|
+
* online-by-heartbeat but, persistently across rich beats, cannot serve the
|
|
7
|
+
* topic's channel — quota-walled (`quotaState.blocked === true`, channel-
|
|
8
|
+
* independent) OR adapter-disconnected (`machineServesChannel(...) === 'no'`).
|
|
9
|
+
* Inbound for that topic routes to the owner that cannot serve it, so it is
|
|
10
|
+
* silently dead while outbound still flows from a healthy lease-holder.
|
|
11
|
+
*
|
|
12
|
+
* This module computes the strand verdict ONLY. It mutates nothing: no
|
|
13
|
+
* ownership CAS, no pin write, no session kill. Fail-closed on EVERY
|
|
14
|
+
* uncertainty (missing field, stale beat, underivable scope, pool view
|
|
15
|
+
* unavailable) — an uncertainty can NEVER manufacture a strand, it routes to
|
|
16
|
+
* SKIP. The quota arm carries detection on its own when the adapter arm skips.
|
|
17
|
+
*
|
|
18
|
+
* Signal-vs-authority: pure read + a verdict object. No authority to misuse.
|
|
19
|
+
*/
|
|
20
|
+
import type { SessionOwnershipRecord } from '../core/SessionOwnership.js';
|
|
21
|
+
import type { MachineCapacity } from '../core/types.js';
|
|
22
|
+
import { type ChannelScope } from '../core/machineServesChannel.js';
|
|
23
|
+
/** The reason an owner cannot serve a stranded topic. */
|
|
24
|
+
export type StrandReason = 'quota' | 'adapter';
|
|
25
|
+
/** One stranded topic in a tick's verdict. */
|
|
26
|
+
export interface StrandedTopic {
|
|
27
|
+
/** Ownership record session key (== the topic key). */
|
|
28
|
+
sessionKey: string;
|
|
29
|
+
/** The machine that owns it but cannot serve it. */
|
|
30
|
+
ownerMachineId: string;
|
|
31
|
+
/** Which arm fired. */
|
|
32
|
+
reason: StrandReason;
|
|
33
|
+
/** Epoch-ms of the FIRST qualifying beat for this topic (the dwell anchor). */
|
|
34
|
+
strandedSince: number;
|
|
35
|
+
/** Owner's last-rich-heartbeat age (ms) at evaluation — for staleness disclosure. */
|
|
36
|
+
ownerBeatAgeMs?: number;
|
|
37
|
+
/** Whether a healthy peer could serve this topic's channel (NOT a failover-safe target). */
|
|
38
|
+
servablePeerExists: boolean;
|
|
39
|
+
}
|
|
40
|
+
/** Config knobs for the decision (defaults applied by the sentinel). */
|
|
41
|
+
export interface StrandedDecisionConfig {
|
|
42
|
+
/** The unable-to-serve condition must hold ≥ this span across ≥2 beats. */
|
|
43
|
+
dwellMs: number;
|
|
44
|
+
/** A beat older than this is not a genuine rich beat → fail-closed (skip). */
|
|
45
|
+
freshnessBoundMs: number;
|
|
46
|
+
}
|
|
47
|
+
/** Per-tick inputs to the pure decision. */
|
|
48
|
+
export interface StrandedDecisionInput {
|
|
49
|
+
/** All known ownership records (the in-memory `all()` scan). */
|
|
50
|
+
records: SessionOwnershipRecord[];
|
|
51
|
+
/** The replicated machine-pool capacities (in-memory view). */
|
|
52
|
+
capacities: MachineCapacity[];
|
|
53
|
+
/** This machine's id. */
|
|
54
|
+
selfMachineId: string;
|
|
55
|
+
/** Whether this machine holds the serving lease (sole-actor gate). */
|
|
56
|
+
holdsLease: boolean;
|
|
57
|
+
/** The previous tick's per-topic strandedSince map (sessionKey → first-beat ms). */
|
|
58
|
+
prevStrandedSince: Record<string, number>;
|
|
59
|
+
/** Wall clock. */
|
|
60
|
+
now: number;
|
|
61
|
+
cfg: StrandedDecisionConfig;
|
|
62
|
+
/**
|
|
63
|
+
* Resolve a topic's ChannelScope from its owning adapter binding. Returns
|
|
64
|
+
* undefined when the scope can't be fully derived (the common Telegram case —
|
|
65
|
+
* see the spec's honesty note) → the adapter arm SKIPs and the quota arm
|
|
66
|
+
* carries detection. Optional: absent ⇒ the adapter arm never qualifies.
|
|
67
|
+
*/
|
|
68
|
+
resolveScope?: (sessionKey: string) => ChannelScope | undefined;
|
|
69
|
+
}
|
|
70
|
+
/** The pure decision's output. */
|
|
71
|
+
export interface StrandedDecisionResult {
|
|
72
|
+
/** The topics stranded THIS tick (already dwell-qualified). */
|
|
73
|
+
strandedSet: StrandedTopic[];
|
|
74
|
+
/** Count of online non-self owners SKIPPED because rich fields were missing/unparseable. */
|
|
75
|
+
cantAssessCount: number;
|
|
76
|
+
/**
|
|
77
|
+
* The reconciled strandedSince map to carry into the next tick. A key that did
|
|
78
|
+
* NOT re-qualify this tick (owner offline / record released / scope underivable)
|
|
79
|
+
* is DELETED — never left to resume counting later (spec step 2 reconciliation).
|
|
80
|
+
*/
|
|
81
|
+
nextStrandedSince: Record<string, number>;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The pure strand evaluation for one tick. Synchronous, LLM-free, no I/O.
|
|
85
|
+
*
|
|
86
|
+
* Predicate per `active`, non-self-owned record:
|
|
87
|
+
* owner online
|
|
88
|
+
* AND ( quota arm: quotaState.blocked === true [channel-independent]
|
|
89
|
+
* OR adapter arm: machineServesChannel(servesChannels, scope) === 'no'
|
|
90
|
+
* ['unknown'/undefined-scope ⇒ SKIP that arm] )
|
|
91
|
+
* AND the condition has held ≥2 consecutive rich beats spanning ≥ dwellMs.
|
|
92
|
+
*
|
|
93
|
+
* Early no-op: < 2 machines OR !holdsLease ⇒ empty (and the map is dropped).
|
|
94
|
+
*/
|
|
95
|
+
export declare function evaluateStrandedTopics(input: StrandedDecisionInput): StrandedDecisionResult;
|
|
96
|
+
//# sourceMappingURL=strandedTopicDecision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strandedTopicDecision.d.ts","sourceRoot":"","sources":["../../src/monitoring/strandedTopicDecision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,iCAAiC,CAAC;AAEzC,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/C,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4FAA4F;IAC5F,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,wEAAwE;AACxE,MAAM,WAAW,sBAAsB;IACrC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,4CAA4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,+DAA+D;IAC/D,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;IACpB,oFAAoF;IACpF,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,sBAAsB,CAAC;IAC5B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;CACjE;AAED,kCAAkC;AAClC,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,4FAA4F;IAC5F,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAUD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,qBAAqB,GAC3B,sBAAsB,CA6FxB"}
|