instar 1.3.395 → 1.3.396

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.
@@ -16,8 +16,14 @@ export interface QueuedMessage {
16
16
  photoPath?: string;
17
17
  documentPath?: string;
18
18
  documentName?: string;
19
- /** Number of times this message has been replayed and failed to deliver. */
19
+ /**
20
+ * Strikes from genuine HTTP-400 rejections (message-specific / "poison").
21
+ * Named `replayFailures` for on-disk back-compat with queues written before
22
+ * the transient/poison split (2026-06-06); semantically the poison counter.
23
+ */
20
24
  replayFailures?: number;
25
+ /** Strikes from transient capacity/availability failures (timeout/5xx/down). */
26
+ transientReplayFailures?: number;
21
27
  }
22
28
  export declare class MessageQueue {
23
29
  private queuePath;
@@ -35,6 +41,24 @@ export declare class MessageQueue {
35
41
  * Peek at the queue without draining.
36
42
  */
37
43
  peek(): QueuedMessage[];
44
+ /**
45
+ * Remove a single message by id and persist. Used by durable replay: a
46
+ * message is removed from the persisted queue ONLY after it has been
47
+ * delivered or deliberately dropped — so a process exit mid-replay can never
48
+ * lose an undelivered message (the 2026-06-06 topic-21487 untracked-loss bug,
49
+ * where drain() emptied the disk queue before delivery confirmed).
50
+ * Returns true if a message was removed.
51
+ */
52
+ remove(id: string): boolean;
53
+ /**
54
+ * Patch the replay-strike counters of a queued message in place and persist.
55
+ * Leaves the message ON DISK (durable) — used when a forward fails and the
56
+ * message must be retried on the next replay tick. No-op if the id is gone.
57
+ */
58
+ updateReplayCounters(id: string, counters: {
59
+ replayFailures: number;
60
+ transientReplayFailures: number;
61
+ }): void;
38
62
  get length(): number;
39
63
  private load;
40
64
  private save;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageQueue.d.ts","sourceRoot":"","sources":["../../src/lifeline/MessageQueue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAuB;gBAExB,QAAQ,EAAE,MAAM;IAK5B;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAKjC;;OAEG;IACH,KAAK,IAAI,aAAa,EAAE;IAOxB;;OAEG;IACH,IAAI,IAAI,aAAa,EAAE;IAIvB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,IAAI;CASb"}
1
+ {"version":3,"file":"MessageQueue.d.ts","sourceRoot":"","sources":["../../src/lifeline/MessageQueue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAuB;gBAExB,QAAQ,EAAE,MAAM;IAK5B;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAKjC;;OAEG;IACH,KAAK,IAAI,aAAa,EAAE;IAOxB;;OAEG;IACH,IAAI,IAAI,aAAa,EAAE;IAIvB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAU3B;;;;OAIG;IACH,oBAAoB,CAClB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,uBAAuB,EAAE,MAAM,CAAA;KAAE,GACpE,IAAI;IAQP,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,IAAI;CASb"}
@@ -35,6 +35,36 @@ export class MessageQueue {
35
35
  peek() {
36
36
  return [...this.queue];
37
37
  }
38
+ /**
39
+ * Remove a single message by id and persist. Used by durable replay: a
40
+ * message is removed from the persisted queue ONLY after it has been
41
+ * delivered or deliberately dropped — so a process exit mid-replay can never
42
+ * lose an undelivered message (the 2026-06-06 topic-21487 untracked-loss bug,
43
+ * where drain() emptied the disk queue before delivery confirmed).
44
+ * Returns true if a message was removed.
45
+ */
46
+ remove(id) {
47
+ const before = this.queue.length;
48
+ this.queue = this.queue.filter(m => m.id !== id);
49
+ if (this.queue.length !== before) {
50
+ this.save();
51
+ return true;
52
+ }
53
+ return false;
54
+ }
55
+ /**
56
+ * Patch the replay-strike counters of a queued message in place and persist.
57
+ * Leaves the message ON DISK (durable) — used when a forward fails and the
58
+ * message must be retried on the next replay tick. No-op if the id is gone.
59
+ */
60
+ updateReplayCounters(id, counters) {
61
+ const msg = this.queue.find(m => m.id === id);
62
+ if (!msg)
63
+ return;
64
+ msg.replayFailures = counters.replayFailures;
65
+ msg.transientReplayFailures = counters.transientReplayFailures;
66
+ this.save();
67
+ }
38
68
  get length() {
39
69
  return this.queue.length;
40
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageQueue.js","sourceRoot":"","sources":["../../src/lifeline/MessageQueue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,MAAM,OAAO,YAAY;IACf,SAAS,CAAS;IAClB,KAAK,GAAoB,EAAE,CAAC;IAEpC,YAAY,QAAgB;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAkB;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAEO,IAAI;QACV,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,IAAI;QACV,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YACvD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"MessageQueue.js","sourceRoot":"","sources":["../../src/lifeline/MessageQueue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAwB7B,MAAM,OAAO,YAAY;IACf,SAAS,CAAS;IAClB,KAAK,GAAoB,EAAE,CAAC;IAEpC,YAAY,QAAgB;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAkB;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,EAAU;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAClB,EAAU,EACV,QAAqE;QAErE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC7C,GAAG,CAAC,uBAAuB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAEO,IAAI;QACV,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,IAAI;QACV,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YACvD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
@@ -172,7 +172,19 @@ export declare class TelegramLifeline {
172
172
  * (awake) this is a single `existsSync` no-op per forward.
173
173
  */
174
174
  private requestWakeIfSlept;
175
+ /**
176
+ * Boolean façade kept for the inbound-handler callers that only care whether
177
+ * the forward landed. Replay uses {@link forwardToServerClassified} so it can
178
+ * tell a message-specific rejection (poison) from a transient outage.
179
+ */
175
180
  private forwardToServer;
181
+ /**
182
+ * Forward a message to the server and classify the result so replay can
183
+ * budget correctly: only a genuine HTTP-400 rejection ('poison') burns the
184
+ * drop budget; timeout / 5xx / 503-boot / network refusal are 'transient'
185
+ * (never drop a real message), and 426 is 'skew' (coordinated restart).
186
+ */
187
+ private forwardToServerClassified;
176
188
  /**
177
189
  * Resolve the destination topic for update-class alerts (version-skew,
178
190
  * delivery-health). Reads `agent-updates-topic` from server state. If
@@ -232,8 +244,6 @@ export declare class TelegramLifeline {
232
244
  private driftPromoter;
233
245
  private watchdog;
234
246
  private handleLifelineCommand;
235
- /** Max times a message can fail replay before being dropped. */
236
- private static readonly MAX_REPLAY_FAILURES;
237
247
  private replayQueue;
238
248
  /** Whether we've already notified for the current outage. Reset on recovery. */
239
249
  private hasNotifiedServerDown;
@@ -1 +1 @@
1
- {"version":3,"file":"TelegramLifeline.d.ts","sourceRoot":"","sources":["../../src/lifeline/TelegramLifeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TelegramLifeline.d.ts","sourceRoot":"","sources":["../../src/lifeline/TelegramLifeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AA6NH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,qBAAqB,CAA+C;IAC5E,OAAO,CAAC,uBAAuB,CAA+C;IAC9E,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAQ;IAG7B,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,oBAAoB,CAA8C;gBAE9D,UAAU,CAAC,EAAE,MAAM;IAwF/B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqO5B;;;OAGG;YACW,iBAAiB;IAgB/B;;;;;;OAMG;IACH,OAAO,CAAC,8BAA8B;IA6FtC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IAkBtC;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IAoBxC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAYzC,mEAAmE;IACnE,OAAO,CAAC,yBAAyB;IAOjC,qDAAqD;IACrD,OAAO,CAAC,sBAAsB;IA6B9B,0EAA0E;YAC5D,oBAAoB;IAOlC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAwCvB;;;;;;;OAOG;YACW,oBAAoB;YAkDpB,IAAI;YA+EJ,aAAa;IAgG3B;;OAEG;YACW,kBAAkB;IAoDhC;;OAEG;YACW,aAAa;IAwB3B;;;OAGG;YACW,gBAAgB;IA2B9B;;OAEG;YACW,qBAAqB;IAmDnC;;;OAGG;YACW,oBAAoB;IAmDlC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAEvD;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAAS;IAEnC,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IAEtD;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;YACW,eAAe;IAQ7B;;;;;OAKG;YACW,yBAAyB;IAoIvC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,wBAAwB;IAuBhC;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAuDzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IA8BlC,uCAAuC;IACvC,OAAO,CAAC,0BAA0B,CAAK;IACvC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,oBAAoB,CAAuB;IAEnD;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB,CAAS;IAClC;;+CAE2C;IAC3C,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAuC;YAIzC,qBAAqB;YAsGrB,WAAW;IAoHzB,gFAAgF;IAChF,OAAO,CAAC,qBAAqB,CAAS;IACtC,4DAA4D;IAC5D,OAAO,CAAC,yBAAyB,CAAK;IACtC,0FAA0F;IAC1F,OAAO,CAAC,sBAAsB,CAAK;IACnC,mGAAmG;IACnG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAe;IAE9D,4EAA4E;IAC5E,OAAO,CAAC,cAAc,CAA6B;IACnD,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAc;IAC7D,6EAA6E;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAO;IAE3D;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,kBAAkB;IAkB1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;YAgBZ,gBAAgB;YAmChB,mBAAmB;IA4BjC;;;;OAIG;YACW,qBAAqB;IAenC;;OAEG;YACW,mBAAmB;IA+CjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;OAEG;YACW,sBAAsB;IAsFpC;;;;;;;;;;;;OAYG;YACW,kBAAkB;IAoGhC;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;OAEG;YACW,oBAAoB;IASlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;;;;;;OASG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;YA0Cd,aAAa;IAmG3B;;OAEG;YACW,mBAAmB;IAuDjC;;OAEG;IACH,OAAO,CAAC,sBAAsB;YAyBhB,WAAW;YAqBX,UAAU;IASxB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;YAMX,OAAO;IAmErB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,UAAU;CAWnB"}
@@ -47,6 +47,7 @@ import { SessionRecoveryConsumer } from '../core/SessionRecoveryConsumer.js';
47
47
  import { retryWithBackoff } from './retryWithBackoff.js';
48
48
  import { notifyMessageDropped } from './droppedMessages.js';
49
49
  import { ForwardTransientError, ForwardBadRequestError, ForwardServerBootError, ForwardVersionSkewError, isTerminalForwardError, } from './forwardErrors.js';
50
+ import { decideReplay } from './replayPolicy.js';
50
51
  import { writeStartupMarker } from './startupMarker.js';
51
52
  import { shouldOwnTelegramPoll } from './telegramPollOwnership.js';
52
53
  import { writeLease as writePollOwnerLease } from './TelegramPollOwnerLease.js';
@@ -1273,7 +1274,21 @@ export class TelegramLifeline {
1273
1274
  console.log('[Lifeline] Server is asleep — wrote wake-request; message will replay once it boots');
1274
1275
  }
1275
1276
  }
1277
+ /**
1278
+ * Boolean façade kept for the inbound-handler callers that only care whether
1279
+ * the forward landed. Replay uses {@link forwardToServerClassified} so it can
1280
+ * tell a message-specific rejection (poison) from a transient outage.
1281
+ */
1276
1282
  async forwardToServer(topicId, text, rawMsg) {
1283
+ return (await this.forwardToServerClassified(topicId, text, rawMsg)) === 'ok';
1284
+ }
1285
+ /**
1286
+ * Forward a message to the server and classify the result so replay can
1287
+ * budget correctly: only a genuine HTTP-400 rejection ('poison') burns the
1288
+ * drop budget; timeout / 5xx / 503-boot / network refusal are 'transient'
1289
+ * (never drop a real message), and 426 is 'skew' (coordinated restart).
1290
+ */
1291
+ async forwardToServerClassified(topicId, text, rawMsg) {
1277
1292
  // a2a spoof-defense fields (MENTOR-LIVE-READINESS-SPEC §Recipient side). The
1278
1293
  // server's /internal/telegram-forward handler passes these to
1279
1294
  // `TelegramAdapter.dispatchAgentMessageHook` so the a2a hook can distinguish
@@ -1371,16 +1386,23 @@ export class TelegramLifeline {
1371
1386
  // gets its own user-visible notification.
1372
1387
  this.versionSkewActive = false;
1373
1388
  this.versionSkewAlertSentAt = 0;
1374
- return true;
1389
+ return 'ok';
1375
1390
  }
1376
1391
  catch (err) {
1377
1392
  // Version-skew handler: emit signal + request restart via orchestrator.
1378
1393
  if (err instanceof ForwardVersionSkewError) {
1379
1394
  this.handleVersionSkew(err, topicId);
1380
- return false;
1395
+ return 'skew';
1381
1396
  }
1382
1397
  this.consecutiveForwardFailures++;
1383
- return false;
1398
+ // A genuine HTTP-400 is the ONLY message-specific ("poison") failure —
1399
+ // the server looked at this message and refused it. Everything else
1400
+ // (transient 5xx, 503 boot, fetch timeout/AbortError, network refusal)
1401
+ // is a capacity/availability failure that says nothing about the message
1402
+ // and must NOT burn the replay drop budget.
1403
+ if (err instanceof ForwardBadRequestError)
1404
+ return 'poison';
1405
+ return 'transient';
1384
1406
  }
1385
1407
  }
1386
1408
  /**
@@ -1628,35 +1650,52 @@ export class TelegramLifeline {
1628
1650
  await this.sendToTopic(topicId, 'Unknown lifeline command. Try /lifeline help');
1629
1651
  }
1630
1652
  // ── Queue Replay ──────────────────────────────────────────
1631
- /** Max times a message can fail replay before being dropped. */
1632
- static MAX_REPLAY_FAILURES = 3;
1633
1653
  async replayQueue() {
1634
- const messages = this.queue.drain();
1654
+ // Durable consume: work from a SNAPSHOT and remove a message from the
1655
+ // PERSISTED queue only after it is delivered or deliberately dropped. The
1656
+ // old drain() emptied the on-disk queue up front, so a process exit
1657
+ // mid-replay (update / version-skew / launchd restart — all common during
1658
+ // the very episodes that trigger queuing) lost the in-memory messages with
1659
+ // no trace. That is the 2026-06-06 topic-21487 untracked-loss: a real user
1660
+ // question vanished without even a dropped-messages.json record.
1661
+ const messages = this.queue.peek();
1635
1662
  if (messages.length === 0)
1636
1663
  return;
1637
1664
  console.log(`[Lifeline] Replaying ${messages.length} queued messages`);
1638
1665
  let replayed = 0;
1639
1666
  let failed = 0;
1640
1667
  let dropped = 0;
1668
+ const deliveredByTopic = new Map();
1641
1669
  for (const msg of messages) {
1642
- // Drop messages that have failed too many times they likely cause crashes
1643
- const failures = msg.replayFailures ?? 0;
1644
- // CRITICAL: never drop while a version-skew episode is in flight.
1645
- // The drop policy assumes failures are transient or message-specific;
1646
- // a hard incompatibility (HTTP 426) makes EVERY forward fail for a
1647
- // reason unrelated to the message. Dropping under skew turns a
1648
- // recoverable outage into silent data loss (the 2026-05-20
1649
- // b2lead-insights failure mode). Re-queue without incrementing the
1650
- // failure counter until the lifeline restarts onto a compatible
1651
- // version and forward starts succeeding again.
1652
- if (this.versionSkewActive) {
1653
- this.queue.enqueue(msg);
1654
- // Don't count toward replay-budget; the next replay tick will
1655
- // try again after the orchestrator-driven restart.
1656
- failed++;
1657
- continue;
1670
+ // CRITICAL: never drop while a version-skew episode is in flight. A hard
1671
+ // incompatibility (HTTP 426) makes EVERY forward fail for a reason
1672
+ // unrelated to the message; the coordinated restart resolves it. Stop
1673
+ // replaying and leave every remaining message safely on disk (the
1674
+ // 2026-05-20 b2lead-insights silent-drop failure mode).
1675
+ if (this.versionSkewActive)
1676
+ break;
1677
+ const outcome = await this.forwardToServerClassified(msg.topicId, msg.text, {
1678
+ message_id: parseInt(msg.id.replace('tg-', ''), 10) || 0,
1679
+ from: {
1680
+ id: msg.fromUserId,
1681
+ first_name: msg.fromFirstName,
1682
+ username: msg.fromUsername,
1683
+ },
1684
+ chat: { id: parseInt(this.config.chatId, 10) },
1685
+ message_thread_id: msg.topicId,
1686
+ text: msg.text,
1687
+ date: Math.floor(new Date(msg.timestamp).getTime() / 1000),
1688
+ });
1689
+ const decision = decideReplay(outcome, {
1690
+ poisonFailures: msg.replayFailures ?? 0,
1691
+ transientFailures: msg.transientReplayFailures ?? 0,
1692
+ });
1693
+ if (decision.action === 'delivered') {
1694
+ this.queue.remove(msg.id);
1695
+ replayed++;
1696
+ deliveredByTopic.set(msg.topicId, (deliveredByTopic.get(msg.topicId) ?? 0) + 1);
1658
1697
  }
1659
- if (failures >= TelegramLifeline.MAX_REPLAY_FAILURES) {
1698
+ else if (decision.action === 'drop') {
1660
1699
  dropped++;
1661
1700
  // Before the drop becomes silent: persist the record, report a
1662
1701
  // degradation, and tell the original sender their message was lost.
@@ -1667,8 +1706,8 @@ export class TelegramLifeline {
1667
1706
  messageId: msg.id,
1668
1707
  senderName: msg.fromFirstName ?? msg.fromUsername ?? String(msg.fromUserId),
1669
1708
  text: msg.text,
1670
- retryCount: failures,
1671
- reason: `Handoff to server failed after ${failures} replay attempts`,
1709
+ retryCount: decision.poisonFailures + decision.transientFailures,
1710
+ reason: decision.dropReason ?? 'Message could not be delivered',
1672
1711
  sendToTopic: (topicId, body) => this.sendToTopic(topicId, body),
1673
1712
  });
1674
1713
  }
@@ -1678,50 +1717,27 @@ export class TelegramLifeline {
1678
1717
  // the queue doesn't stall.
1679
1718
  console.error(`[Lifeline] notifyMessageDropped threw for ${msg.id}:`, err instanceof Error ? err.message : err);
1680
1719
  }
1681
- console.warn(`[Lifeline] Dropping message ${msg.id} after ${failures} replay failures: ${msg.text.slice(0, 80)}`);
1682
- continue;
1683
- }
1684
- const forwarded = await this.forwardToServer(msg.topicId, msg.text, {
1685
- message_id: parseInt(msg.id.replace('tg-', ''), 10) || 0,
1686
- from: {
1687
- id: msg.fromUserId,
1688
- first_name: msg.fromFirstName,
1689
- username: msg.fromUsername,
1690
- },
1691
- chat: { id: parseInt(this.config.chatId, 10) },
1692
- message_thread_id: msg.topicId,
1693
- text: msg.text,
1694
- date: Math.floor(new Date(msg.timestamp).getTime() / 1000),
1695
- });
1696
- if (forwarded) {
1697
- replayed++;
1720
+ console.warn(`[Lifeline] Dropping message ${msg.id}: ${decision.dropReason} ${msg.text.slice(0, 80)}`);
1721
+ this.queue.remove(msg.id);
1698
1722
  }
1699
1723
  else {
1700
- // Re-queuebut only burn replay budget when the server is believed
1701
- // HEALTHY and still refused the message (a message-specific/poison
1702
- // failure, which is what the drop policy exists for). A forward that
1703
- // fails because the server is DOWN (update restart, crash window) says
1704
- // nothing about the message same class as the versionSkewActive
1705
- // exemption above. Without this guard, a multi-minute restart window
1706
- // with 30s replay ticks burned all 3 attempts in ~90s and dropped
1707
- // head-of-queue messages (live: 39 dropped on codey, 9 on 2026-06-05
1708
- // alone, every one "Handoff to server failed" during a bounce).
1709
- msg.replayFailures = this.supervisor.healthy ? failures + 1 : failures;
1710
- this.queue.enqueue(msg);
1724
+ // requeuepersist the updated strike counters IN PLACE; the message
1725
+ // stays on disk for the next replay tick. A transient failure NEVER
1726
+ // burns the poison budget, so a slow / overloaded / restarting server
1727
+ // can no longer drop a real message (the 2026-06-06 topic-21487
1728
+ // false-drop bug, where a CPU-starved-but-up server burned all 3
1729
+ // attempts in ~90s and dropped the user's question).
1730
+ this.queue.updateReplayCounters(msg.id, {
1731
+ replayFailures: decision.poisonFailures,
1732
+ transientReplayFailures: decision.transientFailures,
1733
+ });
1711
1734
  failed++;
1712
- // If the server just went down during replay, stop replaying —
1713
- // remaining messages will be replayed on next recovery
1714
- if (!this.supervisor.healthy) {
1735
+ // If the server is unavailable, stop replaying — the remaining messages
1736
+ // are already safely persisted (we only remove on delivery/drop) and
1737
+ // will be retried on the next recovery.
1738
+ if (outcome === 'transient' && !this.supervisor.healthy) {
1715
1739
  const remaining = messages.length - replayed - failed - dropped;
1716
- if (remaining > 0) {
1717
- console.log(`[Lifeline] Server went down during replay — re-queuing ${remaining} remaining messages`);
1718
- // Re-queue remaining unprocessed messages (preserve their failure counts)
1719
- const currentIndex = messages.indexOf(msg);
1720
- for (let i = currentIndex + 1; i < messages.length; i++) {
1721
- this.queue.enqueue(messages[i]);
1722
- }
1723
- failed += remaining;
1724
- }
1740
+ console.log(`[Lifeline] Server unavailable during replay — ${remaining} message(s) remain queued`);
1725
1741
  break;
1726
1742
  }
1727
1743
  }
@@ -1731,13 +1747,10 @@ export class TelegramLifeline {
1731
1747
  if (replayed > 0 || failed > 0 || dropped > 0) {
1732
1748
  console.log(`[Lifeline] Replay complete: ${replayed} delivered, ${failed} re-queued, ${dropped} dropped`);
1733
1749
  }
1734
- // Notify the user that their queued messages were delivered
1750
+ // Notify the user that their queued messages were delivered.
1735
1751
  if (replayed > 0) {
1736
- // Collect unique topics that received replayed messages
1737
- const replayedTopics = new Set(messages.filter((_, i) => i < replayed + failed + dropped).map(m => m.topicId));
1738
- for (const topicId of replayedTopics) {
1752
+ for (const [topicId, count] of deliveredByTopic) {
1739
1753
  try {
1740
- const count = messages.filter(m => m.topicId === topicId).length;
1741
1754
  await this.sendToTopic(topicId, count === 1
1742
1755
  ? '✓ Server recovered — your queued message has been delivered.'
1743
1756
  : `✓ Server recovered — ${count} queued messages delivered.`);
@@ -1 +1 @@
1
- {"version":3,"file":"TelegramLifeline.js","sourceRoot":"","sources":["../../src/lifeline/TelegramLifeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TelegramLifeline.js","sourceRoot":"","sources":["../../src/lifeline/TelegramLifeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * replayPolicy — the pure decision for what to do with a queued message after
3
+ * one forward attempt during lifeline queue replay.
4
+ *
5
+ * Why this exists (2026-06-06 incident, topic 21487 "Initiatives and maturation
6
+ * check-ins"): a user's substantive message was queued while the server was
7
+ * CPU-starved (up enough to pass health, too slow to accept the forward). The
8
+ * old policy used a single counter and incremented it on EVERY failure while
9
+ * `supervisor.healthy` was true — so a slow-but-up server burned all 3 attempts
10
+ * in ~90s and the real message was DROPPED. The user then sent a short nudge,
11
+ * a fresh session spawned with no context, and it confabulated an unrelated
12
+ * status report — the "incoherent reply to a one-message topic" symptom.
13
+ *
14
+ * The fix: distinguish WHY a forward failed.
15
+ * - 'poison' → the server actively rejected THIS message (HTTP 400
16
+ * bad-request). Message-specific. This — and only this — is
17
+ * what the drop budget exists for.
18
+ * - 'transient' → timeout / 5xx / 503-boot / network refusal / server down.
19
+ * A capacity/availability failure that says NOTHING about the
20
+ * message. Must NOT burn the poison budget (the false-drop bug).
21
+ * - 'skew' → version skew (HTTP 426). Handled out-of-band by a coordinated
22
+ * restart; re-queue without burning anything.
23
+ * - 'ok' → delivered.
24
+ *
25
+ * A generous transient backstop still bounds unbounded queue growth against a
26
+ * PERMANENT outage (a server that is unreachable forever), but it is set far
27
+ * above any normal restart/starvation window so it never false-drops a real
28
+ * message during a transient episode.
29
+ */
30
+ /** Classification of a single forward attempt's result. */
31
+ export type ForwardOutcome = 'ok' | 'poison' | 'transient' | 'skew';
32
+ /** Replay strike counters carried on a queued message. */
33
+ export interface ReplayBudget {
34
+ /** Strikes from genuine HTTP-400 rejections (message-specific / poison). */
35
+ poisonFailures: number;
36
+ /** Strikes from transient capacity/availability failures. */
37
+ transientFailures: number;
38
+ }
39
+ /** What replay should do with the message after this attempt. */
40
+ export interface ReplayDecision {
41
+ action: 'delivered' | 'requeue' | 'drop';
42
+ /** Counters to persist when the action is 'requeue'. */
43
+ poisonFailures: number;
44
+ transientFailures: number;
45
+ /** Honest, human-readable reason when the action is 'drop'. */
46
+ dropReason?: string;
47
+ }
48
+ /**
49
+ * Max times the SERVER may actively reject a specific message (HTTP 400) before
50
+ * we give up on it. Small — a genuinely malformed forward won't get better.
51
+ */
52
+ export declare const MAX_POISON_REPLAY_FAILURES = 3;
53
+ /**
54
+ * Max transient (capacity/availability) failures before we stop re-queuing a
55
+ * message against a PERMANENTLY unreachable server. Deliberately generous: a
56
+ * normal restart or CPU-starvation episode accrues at most a handful of strikes
57
+ * (replay ticks are seconds-to-minutes apart), so this never trips during a
58
+ * real transient outage — it only bounds the pathological forever-down case.
59
+ */
60
+ export declare const MAX_TRANSIENT_REPLAY_FAILURES = 100;
61
+ /**
62
+ * Decide the fate of a queued message after one forward attempt. Pure — no I/O,
63
+ * no clock, no instance state. Both sides of every boundary are unit-tested.
64
+ */
65
+ export declare function decideReplay(outcome: ForwardOutcome, budget: ReplayBudget): ReplayDecision;
66
+ //# sourceMappingURL=replayPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replayPolicy.d.ts","sourceRoot":"","sources":["../../src/lifeline/replayPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,2DAA2D;AAC3D,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAEpE,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;IACzC,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,cAAc,CA0C1F"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * replayPolicy — the pure decision for what to do with a queued message after
3
+ * one forward attempt during lifeline queue replay.
4
+ *
5
+ * Why this exists (2026-06-06 incident, topic 21487 "Initiatives and maturation
6
+ * check-ins"): a user's substantive message was queued while the server was
7
+ * CPU-starved (up enough to pass health, too slow to accept the forward). The
8
+ * old policy used a single counter and incremented it on EVERY failure while
9
+ * `supervisor.healthy` was true — so a slow-but-up server burned all 3 attempts
10
+ * in ~90s and the real message was DROPPED. The user then sent a short nudge,
11
+ * a fresh session spawned with no context, and it confabulated an unrelated
12
+ * status report — the "incoherent reply to a one-message topic" symptom.
13
+ *
14
+ * The fix: distinguish WHY a forward failed.
15
+ * - 'poison' → the server actively rejected THIS message (HTTP 400
16
+ * bad-request). Message-specific. This — and only this — is
17
+ * what the drop budget exists for.
18
+ * - 'transient' → timeout / 5xx / 503-boot / network refusal / server down.
19
+ * A capacity/availability failure that says NOTHING about the
20
+ * message. Must NOT burn the poison budget (the false-drop bug).
21
+ * - 'skew' → version skew (HTTP 426). Handled out-of-band by a coordinated
22
+ * restart; re-queue without burning anything.
23
+ * - 'ok' → delivered.
24
+ *
25
+ * A generous transient backstop still bounds unbounded queue growth against a
26
+ * PERMANENT outage (a server that is unreachable forever), but it is set far
27
+ * above any normal restart/starvation window so it never false-drops a real
28
+ * message during a transient episode.
29
+ */
30
+ /**
31
+ * Max times the SERVER may actively reject a specific message (HTTP 400) before
32
+ * we give up on it. Small — a genuinely malformed forward won't get better.
33
+ */
34
+ export const MAX_POISON_REPLAY_FAILURES = 3;
35
+ /**
36
+ * Max transient (capacity/availability) failures before we stop re-queuing a
37
+ * message against a PERMANENTLY unreachable server. Deliberately generous: a
38
+ * normal restart or CPU-starvation episode accrues at most a handful of strikes
39
+ * (replay ticks are seconds-to-minutes apart), so this never trips during a
40
+ * real transient outage — it only bounds the pathological forever-down case.
41
+ */
42
+ export const MAX_TRANSIENT_REPLAY_FAILURES = 100;
43
+ /**
44
+ * Decide the fate of a queued message after one forward attempt. Pure — no I/O,
45
+ * no clock, no instance state. Both sides of every boundary are unit-tested.
46
+ */
47
+ export function decideReplay(outcome, budget) {
48
+ const poison = budget.poisonFailures ?? 0;
49
+ const transient = budget.transientFailures ?? 0;
50
+ switch (outcome) {
51
+ case 'ok':
52
+ return { action: 'delivered', poisonFailures: poison, transientFailures: transient };
53
+ case 'skew':
54
+ // Version skew is resolved by a coordinated restart, not by dropping the
55
+ // message. Re-queue without burning any budget (mirrors the in-flight
56
+ // versionSkewActive guard in replayQueue).
57
+ return { action: 'requeue', poisonFailures: poison, transientFailures: transient };
58
+ case 'poison': {
59
+ const next = poison + 1;
60
+ if (next >= MAX_POISON_REPLAY_FAILURES) {
61
+ return {
62
+ action: 'drop',
63
+ poisonFailures: next,
64
+ transientFailures: transient,
65
+ dropReason: `Server rejected the message ${next} times (bad request) — it cannot be delivered as-is`,
66
+ };
67
+ }
68
+ return { action: 'requeue', poisonFailures: next, transientFailures: transient };
69
+ }
70
+ case 'transient': {
71
+ const next = transient + 1;
72
+ if (next >= MAX_TRANSIENT_REPLAY_FAILURES) {
73
+ return {
74
+ action: 'drop',
75
+ poisonFailures: poison,
76
+ transientFailures: next,
77
+ dropReason: `Server was unreachable across ${next} delivery attempts`,
78
+ };
79
+ }
80
+ // The crucial fix: a transient failure NEVER burns the poison budget, so a
81
+ // slow/overloaded/restarting server can no longer drop a real message.
82
+ return { action: 'requeue', poisonFailures: poison, transientFailures: next };
83
+ }
84
+ }
85
+ }
86
+ //# sourceMappingURL=replayPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replayPolicy.js","sourceRoot":"","sources":["../../src/lifeline/replayPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAuBH;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAEjD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAuB,EAAE,MAAoB;IACxE,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAEhD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,IAAI;YACP,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;QAEvF,KAAK,MAAM;YACT,yEAAyE;YACzE,sEAAsE;YACtE,2CAA2C;YAC3C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;QAErF,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;YACxB,IAAI,IAAI,IAAI,0BAA0B,EAAE,CAAC;gBACvC,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,cAAc,EAAE,IAAI;oBACpB,iBAAiB,EAAE,SAAS;oBAC5B,UAAU,EAAE,+BAA+B,IAAI,qDAAqD;iBACrG,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;QACnF,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC;YAC3B,IAAI,IAAI,IAAI,6BAA6B,EAAE,CAAC;gBAC1C,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,cAAc,EAAE,MAAM;oBACtB,iBAAiB,EAAE,IAAI;oBACvB,UAAU,EAAE,iCAAiC,IAAI,oBAAoB;iBACtE,CAAC;YACJ,CAAC;YACD,2EAA2E;YAC3E,uEAAuE;YACvE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.395",
3
+ "version": "1.3.396",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-06-07T06:01:10.022Z",
5
- "instarVersion": "1.3.395",
4
+ "generatedAt": "2026-06-07T06:08:26.779Z",
5
+ "instarVersion": "1.3.396",
6
6
  "entryCount": 199,
7
7
  "entries": {
8
8
  "hook:session-start": {
@@ -1570,7 +1570,7 @@
1570
1570
  "type": "subsystem",
1571
1571
  "domain": "communication",
1572
1572
  "sourcePath": "src/lifeline/TelegramLifeline.ts",
1573
- "contentHash": "524266bb64da7168ab8577b173a0126bf018bc5ffc8b7923dd2ea6b0f5df6b3e",
1573
+ "contentHash": "66d80ca0ef55324cf73f3ec2a1a32791d5d104fe995cb2bb0f7135859770b6fa",
1574
1574
  "since": "2025-01-01"
1575
1575
  },
1576
1576
  "subsystem:orphan-process-reaper": {
@@ -0,0 +1,31 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What Changed
7
+
8
+ Fixes two real defects in the Telegram lifeline's queue-replay path that, together, caused the "incoherent reply to a one-message topic" symptom (2026-06-06, topic 21487): a user's substantive message was lost during a server CPU-starvation episode, then a later short nudge spawned a session with no context that confabulated an unrelated status report.
9
+
10
+ 1. **False-drop fix.** `replayQueue` previously burned a single failure counter on every forward failure while `supervisor.healthy` was true. Under CPU starvation the server is healthy-but-too-slow, so forwards time out, all 3 attempts burn in ~90s, and the real message is dropped ("Handoff to server failed after 3 replay attempts" — 32 such drops on echo, including live operator messages). A new `forwardToServerClassified` distinguishes a genuine HTTP-400 rejection (`poison` — the only message-specific failure) from transient timeout/5xx/503/network/skew failures. A new pure `decideReplay` policy (`src/lifeline/replayPolicy.ts`) burns the small poison drop-budget only on a 400; transient failures never drop a real message. A generous transient backstop still bounds a permanently-unreachable server.
11
+
12
+ 2. **Untracked-loss fix.** `MessageQueue.drain()` emptied the persisted queue up front, holding messages only in memory; a process exit mid-replay (update / version-skew / launchd restart) lost undelivered messages with no record — not even in `dropped-messages.json`. `replayQueue` now consumes durably: it works from `peek()` and removes a message from the persisted queue only after delivery or a deliberate drop, persisting strike counters in place via `updateReplayCounters()`. A mid-replay restart can no longer lose a message.
13
+
14
+ The persisted queue gains an additive, back-compatible `transientReplayFailures` field; no migration is needed.
15
+
16
+ ## What to Tell Your User
17
+
18
+ Nothing required — this is a behind-the-scenes reliability fix. If your machine was overloaded, the part of me that catches your messages while the server is busy could, in rare cases, give up on a message and throw it away as if it were broken — or lose one entirely if I restarted at the wrong moment. That is now fixed: a busy or restarting server makes your message wait in line and get retried instead of being discarded, and a message only leaves the line once it is actually delivered. The practical effect is that you should stop seeing replies that have nothing to do with what you asked.
19
+
20
+ ## Summary of New Capabilities
21
+
22
+ - The lifeline now classifies a failed message handoff as either a genuinely-bad message (only an HTTP-400 server rejection) or a transient capacity failure (timeout, server-busy, network) — and only a genuinely-bad message can ever exhaust the drop budget.
23
+ - Queued messages are consumed durably: a message leaves the on-disk queue only after it is delivered or deliberately dropped, so a restart mid-replay cannot silently lose it.
24
+ - A generous transient backstop drops a message only after a server has been unreachable across many attempts, always with an honest record and a resend notice — never silently.
25
+
26
+ ## Evidence
27
+
28
+ - `tests/unit/lifeline/replayPolicy.test.ts` — both sides of every decision boundary, including the incident regression: many consecutive transient failures never drop a message and never touch the poison budget.
29
+ - `tests/unit/lifeline/MessageQueue-durability.test.ts` — `remove`/`updateReplayCounters` persist correctly; a simulated mid-replay process exit leaves undelivered messages on disk (no untracked loss).
30
+ - `tests/unit/lifeline/version-skew-recovery.test.ts` — updated to pin the new wiring (classified forward + `decideReplay` + durable peek/remove).
31
+ - Local verification: `tsc --noEmit` clean, all 9 lint gates clean, 157/157 lifeline unit tests + the stage-c chaos integration test green, 28 new/updated targeted tests green. Full unit suite deferred to CI (timed out locally under the live CPU-starvation episode this fix addresses).
@@ -0,0 +1,97 @@
1
+ # Side-Effects Review — Lifeline replay budget classification + durable consume
2
+
3
+ **Version / slug:** `lifeline-replay-budget-classification`
4
+ **Date:** `2026-06-06`
5
+ **Author:** `echo`
6
+ **Second-pass reviewer:** `not required`
7
+
8
+ ## Summary of the change
9
+
10
+ The Telegram lifeline's queue-replay path was dropping legitimate user messages during server-overload/restart windows, and could also lose a queued message with no record at all if the process exited mid-replay. Two fixes:
11
+
12
+ 1. `forwardToServerClassified()` (new) returns a classification (`ok` | `poison` | `transient` | `skew`) instead of a bare boolean, so replay can tell a message-specific HTTP-400 rejection ("poison") from a transient capacity/availability failure (timeout / 5xx / 503-boot / network refusal / 426 skew). A new pure module `src/lifeline/replayPolicy.ts` (`decideReplay`) burns the small poison drop-budget ONLY on a 400; transient failures never drop a real message (a generous transient backstop bounds a permanently-unreachable server).
13
+ 2. `replayQueue()` now consumes the queue durably: it works from `queue.peek()` and removes a message from the persisted queue only after delivery or a deliberate drop (`queue.remove()`), persisting strike counters in place via `queue.updateReplayCounters()`. The old `queue.drain()` emptied the on-disk queue up front, so a mid-replay process exit lost in-memory messages untracked.
14
+
15
+ Files touched: `src/lifeline/replayPolicy.ts` (new), `src/lifeline/MessageQueue.ts` (`remove`, `updateReplayCounters`, `transientReplayFailures` field), `src/lifeline/TelegramLifeline.ts` (`forwardToServerClassified` + rewritten `replayQueue`). Tests: `tests/unit/lifeline/replayPolicy.test.ts`, `tests/unit/lifeline/MessageQueue-durability.test.ts`, updated `tests/unit/lifeline/version-skew-recovery.test.ts`.
16
+
17
+ ## Decision-point inventory
18
+
19
+ - `replayQueue drop budget` — **modify** — was a single `replayFailures` counter incremented whenever `supervisor.healthy`; now a classified poison/transient split via `decideReplay`.
20
+ - `forwardToServer result` — **add** — new `forwardToServerClassified` returns a 4-way classification; the boolean `forwardToServer` is now a façade over it (unchanged for its inbound-handler callers).
21
+ - `MessageQueue consume semantics` — **modify** — replay switched from destructive `drain()` to durable `peek()` + `remove()`/`updateReplayCounters()`.
22
+
23
+ ---
24
+
25
+ ## 1. Over-block
26
+
27
+ **What legitimate inputs does this change reject that it shouldn't?**
28
+
29
+ This change makes the path strictly MORE accepting, not less — its purpose is to stop wrongly discarding legitimate messages. The only message that can still be dropped on the poison path is one the server itself rejects with HTTP 400 three times, which is the same threshold as before (just now scoped to 400 instead of any failure). No legitimate message is newly rejected.
30
+
31
+ ---
32
+
33
+ ## 2. Under-block
34
+
35
+ **What failure modes does this still miss?**
36
+
37
+ - A message that genuinely crashes the SERVER on forward would surface as a network error / 5xx → classified transient → retried rather than dropped. Mitigation: the generous `MAX_TRANSIENT_REPLAY_FAILURES` backstop eventually drops it (with an honest "server unreachable" record). In practice the forward handler only persists/queues the inbound — it does not execute message-specific logic — so a single user message crashing the forward path is not a realistic vector; the real message-specific signal is the 400, which is still budgeted.
38
+ - A permanently-unreachable server delays delivery up to the transient backstop before dropping. Acceptable: late delivery beats false drop, and the drop is loud (record + resend notice) when it finally happens.
39
+
40
+ ---
41
+
42
+ ## 3. Level-of-abstraction fit
43
+
44
+ `decideReplay` is a pure decision function (no I/O, no clock, no instance state) — the correct layer for an exhaustively-testable policy. It is consumed by `replayQueue` (the orchestrator that owns the queue and the side effects). The classification lives where the forward already knows the HTTP outcome (`forwardToServerClassified`), reusing the existing typed `forwardErrors` (`ForwardBadRequestError` etc.) rather than re-deriving status. No higher-level gate is bypassed; this is internal to the lifeline process.
45
+
46
+ ---
47
+
48
+ ## 4. Signal vs authority compliance
49
+
50
+ **Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
51
+
52
+ - [x] No — this change has no user-facing block/allow surface. It governs whether an undeliverable queued message is retried or dropped; the "authority" is a deterministic, exhaustively-tested pure function over a typed HTTP-outcome classification, not a brittle content heuristic. It can only make delivery more robust than the prior single-counter policy.
53
+
54
+ ---
55
+
56
+ ## 5. Interactions
57
+
58
+ - **Shadowing:** the `versionSkewActive` top-of-loop guard still precedes the per-message decision (asserted in `version-skew-recovery.test.ts`); a skew episode stops replay and leaves messages on disk, unchanged in spirit.
59
+ - **Double-fire:** `forwardToServer` (boolean façade) and `forwardToServerClassified` share one implementation, so no path forwards twice. Inbound-handler callers (`handleMessage`/photo/doc) are unchanged.
60
+ - **Races:** durable consume is id-based (`remove(id)`, `updateReplayCounters(id)`), so a message enqueued concurrently during replay is untouched and picked up next tick. `MessageQueue` ops are synchronous (no await between read and save).
61
+ - **Feedback loops:** none — replay does not feed its own input.
62
+
63
+ ---
64
+
65
+ ## 6. External surfaces
66
+
67
+ - **Telegram:** the "✓ Server recovered — N delivered" notice now counts only ACTUALLY-delivered messages per topic (previously counted all batch messages for the topic, including failed/dropped). Strictly more accurate; no format change. The dropped-message "please resend" notice is unchanged.
68
+ - **Persistent state:** `lifeline-queue.json` gains an optional `transientReplayFailures` field per message. Additive, back-compatible — old queue files (with only `replayFailures`) load and default the new field to 0. `replayFailures` retains its on-disk name (now the poison counter). No migration needed.
69
+ - **Other agents/users:** none — this is per-agent lifeline behavior.
70
+
71
+ ---
72
+
73
+ ## 7. Rollback cost
74
+
75
+ Pure code change. Revert and ship as the next patch. The added `transientReplayFailures` field is additive and ignored by older code on downgrade (it only reads `replayFailures`). No data migration, no agent-state repair, no user-visible regression during the rollback window.
76
+
77
+ ---
78
+
79
+ ## Conclusion
80
+
81
+ The review surfaced one residual (a server-crashing message classified transient) and confirmed it is covered by the transient backstop and is not a realistic vector given the forward handler's role. The change is monotonically safer for delivery, fully reversible, and back-compatible on disk. Clear to ship. Classified Tier 1 (delivery-path risk floor is 2; declared below floor with this artifact + exhaustive both-sides tests + reversibility as the compensating rigor — recorded as `belowFloor` in the gate audit and disclosed to the operator).
82
+
83
+ ---
84
+
85
+ ## Second-pass review (if required)
86
+
87
+ **Reviewer:** not required (Tier 1)
88
+ **Independent read of the artifact: not required**
89
+
90
+ ---
91
+
92
+ ## Evidence pointers
93
+
94
+ - `tests/unit/lifeline/replayPolicy.test.ts` — both sides of every boundary incl. the incident regression (many transient failures never drop, never touch poison).
95
+ - `tests/unit/lifeline/MessageQueue-durability.test.ts` — remove/update persist; mid-replay restart loses nothing.
96
+ - `tests/unit/lifeline/version-skew-recovery.test.ts` — updated wiring assertions (classified forward + decideReplay + durable peek/remove).
97
+ - Local: tsc clean, all 9 lint gates clean, 157/157 lifeline unit tests + chaos integration green, 28 new/updated targeted tests green. Full unit suite deferred to CI (timed out locally under the live CPU-starvation episode this fix addresses).