instar 1.3.749 → 1.3.751

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 (35) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +40 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/AgeKillBackoff.d.ts +9 -48
  5. package/dist/core/AgeKillBackoff.d.ts.map +1 -1
  6. package/dist/core/AgeKillBackoff.js +8 -84
  7. package/dist/core/AgeKillBackoff.js.map +1 -1
  8. package/dist/core/MessageSentinel.d.ts.map +1 -1
  9. package/dist/core/MessageSentinel.js +11 -0
  10. package/dist/core/MessageSentinel.js.map +1 -1
  11. package/dist/core/PostUpdateMigrator.d.ts +20 -0
  12. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  13. package/dist/core/PostUpdateMigrator.js +43 -0
  14. package/dist/core/PostUpdateMigrator.js.map +1 -1
  15. package/dist/core/SessionManager.d.ts +68 -32
  16. package/dist/core/SessionManager.d.ts.map +1 -1
  17. package/dist/core/SessionManager.js +159 -7
  18. package/dist/core/SessionManager.js.map +1 -1
  19. package/dist/core/VetoedKillBackoff.d.ts +130 -0
  20. package/dist/core/VetoedKillBackoff.d.ts.map +1 -0
  21. package/dist/core/VetoedKillBackoff.js +221 -0
  22. package/dist/core/VetoedKillBackoff.js.map +1 -0
  23. package/dist/core/types.d.ts +18 -0
  24. package/dist/core/types.d.ts.map +1 -1
  25. package/dist/core/types.js.map +1 -1
  26. package/dist/monitoring/IncidentDedupe.d.ts +36 -0
  27. package/dist/monitoring/IncidentDedupe.d.ts.map +1 -0
  28. package/dist/monitoring/IncidentDedupe.js +38 -0
  29. package/dist/monitoring/IncidentDedupe.js.map +1 -0
  30. package/package.json +1 -1
  31. package/src/data/builtin-manifest.json +20 -20
  32. package/upgrades/1.3.750.md +30 -0
  33. package/upgrades/1.3.751.md +17 -0
  34. package/upgrades/side-effects/keyword-intent-decision-ratchet.md +67 -0
  35. package/upgrades/side-effects/session-respawn-thrash-elimination.md +75 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiDH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA8H7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2/CD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CAijBN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6rlBtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiDH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA8H7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2/CD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CAijBN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqulBtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
@@ -5039,6 +5039,23 @@ export async function startServer(options) {
5039
5039
  // idle-monitor's rateLimitedAtIdle hand-off. `enabled` OMITTED from defaults ⇒
5040
5040
  // dev-agent live / dark-fleet.
5041
5041
  idleThrottleSettleGate: resolveDevAgentGate(config.monitoring?.idleThrottleSettleGate?.enabled, config),
5042
+ // Idle-zombie veto-backoff (session-respawn-thrash Fix A). `enabled` OMITTED
5043
+ // from ConfigDefaults ⇒ dev-agent live / dark-fleet (mirrors idleThrottleSettleGate).
5044
+ // cooldownMs default 30m; escalateAfterEpisodes default 6. `cooldownMs: 0` is
5045
+ // enabled-but-no-cooldown (R4-5), never a disable — only enabled:false darks it.
5046
+ idleKillVetoBackoff: (() => {
5047
+ const cfg = config.monitoring?.idleKillVetoBackoff;
5048
+ const enabled = resolveDevAgentGate(cfg?.enabled, config);
5049
+ const rawCooldown = cfg?.cooldownMs;
5050
+ const cooldownMs = typeof rawCooldown === 'number' && Number.isFinite(rawCooldown) && rawCooldown >= 0
5051
+ ? Math.floor(rawCooldown)
5052
+ : 1_800_000;
5053
+ const rawEsc = cfg?.escalateAfterEpisodes;
5054
+ const escalateAfterEpisodes = typeof rawEsc === 'number' && Number.isFinite(rawEsc) && rawEsc > 0
5055
+ ? Math.floor(rawEsc)
5056
+ : 6;
5057
+ return { enabled, cooldownMs, escalateAfterEpisodes };
5058
+ })(),
5042
5059
  // Standby-write reconciliation §3.3 (round-2 L3): per-machine
5043
5060
  // SessionBuildContextStore re-key. The id comes from the coordinator/
5044
5061
  // mesh identity via this LATE-RESOLVING getter (the mesh id is assigned
@@ -9071,6 +9088,29 @@ export async function startServer(options) {
9071
9088
  });
9072
9089
  });
9073
9090
  }
9091
+ // Idle-zombie veto P19 breaker (session-respawn-thrash Fix A′). Inject the
9092
+ // best-effort "one per incident" dedupe seam (in-process coalescing + TTL) and
9093
+ // route the breaker's ONE attention item through the existing attention queue
9094
+ // (flood-guarded — never a spawned topic). Signal-only: an idle-zombie kill that
9095
+ // stays permanently vetoed for `escalateAfterEpisodes` cooldowns surfaces once.
9096
+ {
9097
+ const { InProcessIncidentDedupe } = await import('../monitoring/IncidentDedupe.js');
9098
+ sessionManager.setIncidentDedupe(new InProcessIncidentDedupe());
9099
+ }
9100
+ sessionManager.on('idleZombieVetoEscalation', (e) => {
9101
+ if (!telegram)
9102
+ return;
9103
+ void telegram.createAttentionItem({
9104
+ id: `idle-zombie-veto-${e.topicId ?? 'none'}-${e.reasonKey}`,
9105
+ title: 'Session permanently vetoed from idle-zombie cleanup',
9106
+ summary: e.message,
9107
+ category: 'session-lifecycle',
9108
+ priority: 'HIGH',
9109
+ sourceContext: `idle-zombie-veto:${e.topicId ?? 'none'}:${e.reasonKey}`,
9110
+ }).catch((err) => {
9111
+ console.error('[idleZombieVetoEscalation] attention-item failed:', err.message);
9112
+ });
9113
+ });
9074
9114
  // G3.4 — Single-writer binding lifecycle: clear a killed session's stale
9075
9115
  // topic→session binding so a dead session can't silently resurrect (the
9076
9116
  // invariant "a binding exists IFF a live session exists for it"). Registered