instar 1.3.1125 → 1.3.1127

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 (32) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +44 -3
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/PostUpdateMigrator.d.ts +15 -0
  5. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  6. package/dist/core/PostUpdateMigrator.js +51 -0
  7. package/dist/core/PostUpdateMigrator.js.map +1 -1
  8. package/dist/data/standards-guard-index.json +1 -1
  9. package/dist/data/standards-guard-index.meta.json +2 -2
  10. package/dist/data/standards-registry.meta.json +1 -1
  11. package/dist/messaging/NotificationBatcher.d.ts +133 -10
  12. package/dist/messaging/NotificationBatcher.d.ts.map +1 -1
  13. package/dist/messaging/NotificationBatcher.js +337 -20
  14. package/dist/messaging/NotificationBatcher.js.map +1 -1
  15. package/dist/monitoring/DegradationReporter.d.ts +15 -0
  16. package/dist/monitoring/DegradationReporter.d.ts.map +1 -1
  17. package/dist/monitoring/DegradationReporter.js +18 -1
  18. package/dist/monitoring/DegradationReporter.js.map +1 -1
  19. package/dist/scaffold/templates.d.ts.map +1 -1
  20. package/dist/scaffold/templates.js +13 -0
  21. package/dist/scaffold/templates.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/data/builtin-manifest.json +20 -20
  24. package/src/data/standards-guard-index.json +1 -1
  25. package/src/data/standards-guard-index.meta.json +2 -2
  26. package/src/data/standards-registry.meta.json +1 -1
  27. package/src/scaffold/templates.ts +13 -0
  28. package/upgrades/1.3.1125.md +8 -1
  29. package/upgrades/1.3.1126.md +44 -0
  30. package/upgrades/1.3.1127.md +26 -0
  31. package/upgrades/side-effects/bounded-attention-notification-surface.md +215 -0
  32. package/upgrades/side-effects/tmux-literal-send-ceiling.md +43 -2
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+EH,OAAO,EAAE,cAAc,EAAkC,MAAM,2BAA2B,CAAC;AAU3F,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgI7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,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;AAuID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+rDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,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,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAwtBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAs4qBtE;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;AA+EH,OAAO,EAAE,cAAc,EAAkC,MAAM,2BAA2B,CAAC;AAU3F,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgI7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,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;AAuID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+rDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,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,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAwtBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAg7qBtE;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"}
@@ -3416,11 +3416,28 @@ export async function startServer(options) {
3416
3416
  // SUMMARY = batched every 30 min (degradations, coherence, orphan reports)
3417
3417
  // DIGEST = batched every 2 hrs (updates, wake events, routine lifecycle)
3418
3418
  // Principle: Log everything, notify selectively.
3419
+ // Bounded-attention-notification-surface (C2): built FROM CONFIG rather than
3420
+ // literals. Every key falls back to the previous hardcoded value when absent,
3421
+ // so an install with no `notificationBatcher` block behaves byte-for-byte as
3422
+ // before. NOTE the key is TOP-LEVEL: `messaging` is an array of adapters, so a
3423
+ // key nested there is unreachable (same trap as `outboundAdvisory`).
3424
+ const nbCfg = config.notificationBatcher ?? {};
3419
3425
  const notificationBatcher = new NotificationBatcher({
3420
- enabled: true,
3421
- summaryIntervalMinutes: 30,
3422
- digestIntervalMinutes: 120,
3426
+ enabled: nbCfg.enabled ?? true,
3427
+ summaryIntervalMinutes: nbCfg.summaryIntervalMinutes ?? 30,
3428
+ digestIntervalMinutes: nbCfg.digestIntervalMinutes ?? 120,
3429
+ maxMessagesPerTopicPerHour: nbCfg.maxMessagesPerTopicPerHour ?? 4,
3430
+ suppressionTtlHours: nbCfg.suppressionTtlHours ?? 24,
3431
+ maxHoldHours: nbCfg.maxHoldHours ?? 6,
3432
+ maxHeldItemsPerTopic: nbCfg.maxHeldItemsPerTopic ?? 200,
3433
+ quietHours: nbCfg.quietHours,
3423
3434
  });
3435
+ // C3 persistence is wired UNCONDITIONALLY here, not inside the pool block:
3436
+ // a single-machine install never reaches that block, and it is the majority
3437
+ // case. With no resolver the ownership verdict is `unresolvable-no-pool`,
3438
+ // i.e. this machine is trivially the owner — a strict single-process limiter.
3439
+ // The pool block later calls configureBounds AGAIN to add the resolver.
3440
+ notificationBatcher.configureBounds({ stateDir: config.stateDir });
3424
3441
  // State reference — set once StateManager is created, used by notify()
3425
3442
  let _notifyState = null;
3426
3443
  /**
@@ -19160,6 +19177,25 @@ export async function startServer(options) {
19160
19177
  });
19161
19178
  _writeAdmissionOwnershipStore = ownershipStore;
19162
19179
  const ownReg = sessionOwnershipRegistry;
19180
+ // C4.1 (bounded-attention-notification-surface): ONLY the machine that
19181
+ // owns a topic sends batched notifications into it. With exactly one
19182
+ // enforcer per topic the rolling-window limit is an ordinary
19183
+ // single-process rate limit — exact, with no shared counter, no machine
19184
+ // count, and no cross-machine call on the send path. Reaching this block
19185
+ // at all means a pool IS wired, so an unreadable placement resolves to
19186
+ // `unresolvable-pool` (HOLD) rather than to "I am the owner".
19187
+ notificationBatcher.configureBounds({
19188
+ stateDir: config.stateDir,
19189
+ ownershipResolver: (topicId) => {
19190
+ const self = _meshSelfId;
19191
+ if (!self)
19192
+ return 'unresolvable-pool';
19193
+ const owner = ownReg.ownerOf(String(topicId));
19194
+ if (!owner)
19195
+ return 'unresolvable-pool';
19196
+ return owner === self ? 'owner' : 'other';
19197
+ },
19198
+ });
19163
19199
  // WS1.1: expose a read-only ownership lookup to the drain's
19164
19200
  // spawn-boundary re-check (module-scope; the drain closure is defined
19165
19201
  // before this block runs).
@@ -24198,6 +24234,11 @@ export async function startServer(options) {
24198
24234
  // jargon / self-heal / CTA discipline and the user sees raw
24199
24235
  // ops-pager output. See upgrades/side-effects/agent-health-alert-authority-routing.md.
24200
24236
  toneGate: messagingToneGate ?? null,
24237
+ // C1 (bounded-attention-notification-surface): user-facing degradation
24238
+ // alerts default OFF. The console line, disk record, and feedback
24239
+ // submission are unaffected — only delivery to the operator stops.
24240
+ notifyUser: config.monitoring
24241
+ ?.degradationReporter?.notifyUser === true,
24201
24242
  });
24202
24243
  // Never-silent degradation tracking (Resilient Degradation Ladder §4): dev-gated
24203
24244
  // (live-on-dev / dark-on-fleet via resolveDevAgentGate). When enabled, a timer drives the