instar 1.3.658 → 1.3.660

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +52 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +14 -0
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/PostUpdateMigrator.d.ts +30 -0
  8. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  9. package/dist/core/PostUpdateMigrator.js +69 -0
  10. package/dist/core/PostUpdateMigrator.js.map +1 -1
  11. package/dist/core/SessionOwnershipRegistry.d.ts +14 -0
  12. package/dist/core/SessionOwnershipRegistry.d.ts.map +1 -1
  13. package/dist/core/SessionOwnershipRegistry.js +9 -0
  14. package/dist/core/SessionOwnershipRegistry.js.map +1 -1
  15. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  16. package/dist/core/devGatedFeatures.js +6 -0
  17. package/dist/core/devGatedFeatures.js.map +1 -1
  18. package/dist/core/types.d.ts +22 -0
  19. package/dist/core/types.d.ts.map +1 -1
  20. package/dist/core/types.js.map +1 -1
  21. package/dist/monitoring/StrandedTopicSentinel.d.ts +102 -0
  22. package/dist/monitoring/StrandedTopicSentinel.d.ts.map +1 -0
  23. package/dist/monitoring/StrandedTopicSentinel.js +216 -0
  24. package/dist/monitoring/StrandedTopicSentinel.js.map +1 -0
  25. package/dist/monitoring/guardManifest.d.ts.map +1 -1
  26. package/dist/monitoring/guardManifest.js +17 -0
  27. package/dist/monitoring/guardManifest.js.map +1 -1
  28. package/dist/monitoring/strandedTopicDecision.d.ts +96 -0
  29. package/dist/monitoring/strandedTopicDecision.d.ts.map +1 -0
  30. package/dist/monitoring/strandedTopicDecision.js +160 -0
  31. package/dist/monitoring/strandedTopicDecision.js.map +1 -0
  32. package/package.json +1 -1
  33. package/src/data/builtin-manifest.json +19 -19
  34. package/upgrades/1.3.659.md +29 -0
  35. package/upgrades/1.3.660.md +27 -0
  36. package/upgrades/side-effects/stranded-inbound-self-heal.md +80 -0
  37. package/upgrades/side-effects/subagent-permission-allow-rules.md +109 -0
@@ -0,0 +1,102 @@
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 type { SessionOwnershipRecord } from '../core/SessionOwnership.js';
32
+ import type { MachineCapacity } from '../core/types.js';
33
+ import type { ChannelScope } from '../core/machineServesChannel.js';
34
+ export interface StrandedTopicSentinelConfig {
35
+ enabled?: boolean;
36
+ /** Tick cadence (ms). Default 60s. */
37
+ tickMs?: number;
38
+ /** Dwell the unable-to-serve condition must hold before emitting (ms). Default 30s. */
39
+ dwellMs?: number;
40
+ /** A beat older than this is not a genuine rich beat (ms). Default = failover threshold (45s). */
41
+ freshnessBoundMs?: number;
42
+ /** Owner must have ZERO stranded topics for N consecutive ticks before its
43
+ * window closes. Default 3. */
44
+ clearAfterTicks?: number;
45
+ }
46
+ /** The raise/update payload for the aggregated attention item. */
47
+ export interface StrandAttentionItem {
48
+ id: string;
49
+ title: string;
50
+ summary: string;
51
+ description: string;
52
+ category: string;
53
+ priority: 'LOW' | 'NORMAL';
54
+ sourceContext: string;
55
+ lane: 'agent-health';
56
+ healthKey: string;
57
+ }
58
+ export interface StrandedTopicSentinelDeps {
59
+ /** All known ownership records (the in-memory `all()` scan). */
60
+ listOwnershipRecords: () => SessionOwnershipRecord[];
61
+ /** The replicated machine-pool capacities (in-memory view). */
62
+ listCapacities: () => MachineCapacity[];
63
+ /** This machine's id (null on a single-machine agent → never strands). */
64
+ selfMachineId: () => string | null;
65
+ /** Whether this machine holds the serving lease. */
66
+ holdsLease: () => boolean;
67
+ /** Raise/update an attention item (the sole output). Never throws upward. */
68
+ raiseAttention: (item: StrandAttentionItem) => void;
69
+ /** Resolve a topic's ChannelScope (adapter arm). Optional. */
70
+ resolveScope?: (sessionKey: string) => ChannelScope | undefined;
71
+ /** Resolve a machine's display nickname (for the item text). */
72
+ nicknameOf?: (machineId: string) => string;
73
+ /** Override Date.now (tests). */
74
+ now?: () => number;
75
+ }
76
+ export declare class StrandedTopicSentinel extends EventEmitter {
77
+ private readonly deps;
78
+ private readonly cfg;
79
+ private tickHandle;
80
+ /** Liveness of the tick loop (GUARD-POSTURE §2.2): 0 = never ticked. */
81
+ private lastTickAt;
82
+ /** Per-topic dwell anchor carried across ticks. */
83
+ private strandedSince;
84
+ /** Per-owner consecutive-empty-tick count (window close discipline). */
85
+ private emptyTicks;
86
+ /** Per-owner open stranding-window id (the dwell-epoch of the first strand). */
87
+ private windowId;
88
+ constructor(deps: StrandedTopicSentinelDeps, cfg?: StrandedTopicSentinelConfig);
89
+ start(): void;
90
+ stop(): void;
91
+ /** One synchronous scan pass. LLM-free, no spawn-cap slot, no peer probe. */
92
+ tick(): void;
93
+ private emitOwnerItem;
94
+ private emitCantAssessItem;
95
+ /** Sync in-memory runtime read for the GuardRegistry (GET /guards). MUST stay
96
+ * a cheap property read — no I/O. */
97
+ guardStatus(): {
98
+ enabled: boolean;
99
+ lastTickAt: number;
100
+ };
101
+ }
102
+ //# sourceMappingURL=StrandedTopicSentinel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StrandedTopicSentinel.d.ts","sourceRoot":"","sources":["../../src/monitoring/StrandedTopicSentinel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAOpE,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;oCACgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAUD,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,gEAAgE;IAChE,oBAAoB,EAAE,MAAM,sBAAsB,EAAE,CAAC;IACrD,+DAA+D;IAC/D,cAAc,EAAE,MAAM,eAAe,EAAE,CAAC;IACxC,0EAA0E;IAC1E,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,oDAAoD;IACpD,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,6EAA6E;IAC7E,cAAc,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;IAChE,gEAAgE;IAChE,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,qBAAa,qBAAsB,SAAQ,YAAY;IAanD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAZvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAwC;IAC5D,OAAO,CAAC,UAAU,CAA+C;IACjE,wEAAwE;IACxE,OAAO,CAAC,UAAU,CAAK;IACvB,mDAAmD;IACnD,OAAO,CAAC,aAAa,CAA8B;IACnD,wEAAwE;IACxE,OAAO,CAAC,UAAU,CAA6B;IAC/C,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAA6B;gBAG1B,IAAI,EAAE,yBAAyB,EAChD,GAAG,GAAE,2BAAgC;IAMvC,KAAK,IAAI,IAAI;IAgBb,IAAI,IAAI,IAAI;IAOZ,6EAA6E;IAC7E,IAAI,IAAI,IAAI;IAiEZ,OAAO,CAAC,aAAa;IAgDrB,OAAO,CAAC,kBAAkB;IA0B1B;0CACsC;IACtC,WAAW,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;CAGxD"}
@@ -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,EA2f9C,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"}
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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"}
@@ -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"}