instar 1.3.678 → 1.3.680
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +6 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/HostPressureSampler.d.ts.map +1 -1
- package/dist/monitoring/HostPressureSampler.js +7 -2
- package/dist/monitoring/HostPressureSampler.js.map +1 -1
- package/dist/monitoring/MemoryPressureMonitor.d.ts +0 -8
- package/dist/monitoring/MemoryPressureMonitor.d.ts.map +1 -1
- package/dist/monitoring/MemoryPressureMonitor.js +5 -63
- package/dist/monitoring/MemoryPressureMonitor.js.map +1 -1
- package/dist/monitoring/ResumeQueueDrainer.d.ts +12 -0
- package/dist/monitoring/ResumeQueueDrainer.d.ts.map +1 -1
- package/dist/monitoring/ResumeQueueDrainer.js +28 -0
- package/dist/monitoring/ResumeQueueDrainer.js.map +1 -1
- package/dist/monitoring/hostMemoryPressure.d.ts +30 -0
- package/dist/monitoring/hostMemoryPressure.d.ts.map +1 -0
- package/dist/monitoring/hostMemoryPressure.js +99 -0
- package/dist/monitoring/hostMemoryPressure.js.map +1 -0
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.679.md +25 -0
- package/upgrades/1.3.680.md +27 -0
- package/upgrades/side-effects/agent-always-reachable.md +102 -0
- package/upgrades/side-effects/macos-memory-pressure-metric.md +15 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryPressureMonitor.js","sourceRoot":"","sources":["../../src/monitoring/MemoryPressureMonitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MemoryPressureMonitor.js","sourceRoot":"","sources":["../../src/monitoring/MemoryPressureMonitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAoCnE,MAAM,kBAAkB,GAAG;IACzB,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,qBAAqB;AACrB,MAAM,SAAS,GAAwC;IACrD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAC7C,OAAO,GAAyC,IAAI,CAAC;IACrD,YAAY,GAAwB,QAAQ,CAAC;IAC7C,cAAc,GAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,WAAW,GAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,mBAAmB,GAAG,CAAC,CAAC;IACxB,UAAU,GAAG,CAAC,CAAC;IACf,WAAW,GAAG,CAAC,CAAC;IAChB,UAAU,GAAsB,EAAE,CAAC;IACnC,YAAY,GAAgB,QAAQ,CAAC;IACrC,iBAAiB,GAAG,CAAC,CAAC;IACtB,UAAU,CAA4B;IACtC,cAAc,CAAS;IACvB,QAAQ,GAAkB,IAAI,CAAC;IAEvC,YAAY,SAAsC,EAAE;QAClD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;QAExC,qEAAqE;QACrE,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG;YAChB,GAAG,kBAAkB;YACrB,GAAG,SAAS;YACZ,GAAG,MAAM,CAAC,UAAU;SACrB,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC;IACzD,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,8CAA8C,OAAO,CAAC,QAAQ,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjI,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,UAA4E;QAC3F,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE3H,qDAAqD;QACrD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,+CAA+C,IAAI,OAAO,QAAQ,KAAK,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5H,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,IAAY,kBAAkB;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,+BAA+B,CAAC;IACzD,CAAC;IAEO,iBAAiB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;gBACxC,GAAG,IAAI,CAAC,UAAU;gBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAmB,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;gBACvC,OAAO,EAAE,yCAAyC;gBAClD,OAAO,EAAE,2CAA2C;gBACpD,QAAQ,EAAE,sEAAsE;gBAChF,MAAM,EAAE,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBAC3E,MAAM,EAAE,4DAA4D;aACrE,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAEO,uBAAuB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAuC,EAAE,CAAC;YACtD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;gBAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACpE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACvE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACvE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,wDAAwD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,8FAA8F;YAC9F,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,QAAQ;QACN,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,mBAAmB;YACzC,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,UAAU,EAAE,IAAI,CAAC,iBAAiB;YAClC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAE3B,KAAK,UAAU;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,6BAA6B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B;iBACrG,CAAC;YAEJ,KAAK,UAAU;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,6BAA6B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;iBAClG,CAAC;QACN,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC;QACvE,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EAAE,UAAU,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,6BAA6B;IACrD,CAAC;IAEO,KAAK;QACX,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAErE,IAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAE5C,cAAc;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;YAED,QAAQ;YACR,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;YAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC/B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAE/C,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,OAAO,QAAQ,KAAK,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,KAAK,GAAG,CAAC,CAAC;gBAC7I,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,eAAuB;QAC3C,IAAI,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,OAAO,UAAU,CAAC;QACnE,IAAI,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,OAAO,UAAU,CAAC;QACnE,IAAI,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACjE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,kEAAkE;QAClE,qEAAqE;QACrE,mDAAmD;QACnD,OAAO,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE1B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAE3D,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;QAChD,MAAM,UAAU,GAAG,KAAK,GAAG,EAAE,CAAC;QAE9B,IAAI,KAAkB,CAAC;QACvB,IAAI,UAAU,GAAG,GAAG;YAAE,KAAK,GAAG,QAAQ,CAAC;aAClC,IAAI,UAAU,GAAG,CAAC,GAAG;YAAE,KAAK,GAAG,SAAS,CAAC;;YACzC,KAAK,GAAG,QAAQ,CAAC;QAEtB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -136,6 +136,15 @@ export interface ResumeQueueDrainerConfig {
|
|
|
136
136
|
/** Master off-switch for Layer 2 (the bounded behavior change). Layer 1 (the
|
|
137
137
|
* paused-with-waiting-work alert) is unaffected and always on. */
|
|
138
138
|
autoResumeStalePause: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* "The Agent Is Always Reachable" G2 (spec: agent-always-reachable). When a
|
|
141
|
+
* revival is HELD by the pressure gate (calm-ticks) and the oldest waiting
|
|
142
|
+
* entry has been queued longer than this, surface ONE plain-English
|
|
143
|
+
* `pressure-held` notice (NOT silence, NOT the 24h ttl-expired) so the user
|
|
144
|
+
* learns a topic is held under load with guidance — closing the topic-28744
|
|
145
|
+
* silent-no-revival gap. 0 disables the notice.
|
|
146
|
+
*/
|
|
147
|
+
pressureHeldNoticeMs: number;
|
|
139
148
|
}
|
|
140
149
|
export declare const DEFAULT_RESUME_DRAINER_CONFIG: ResumeQueueDrainerConfig;
|
|
141
150
|
export declare class ResumeQueueDrainer {
|
|
@@ -148,6 +157,9 @@ export declare class ResumeQueueDrainer {
|
|
|
148
157
|
private consecutiveFailures;
|
|
149
158
|
private breakerOpenUntil;
|
|
150
159
|
private lastGateBlock;
|
|
160
|
+
/** G2 (agent-always-reachable): episode flag so a pressure-held revival surfaces
|
|
161
|
+
* ONE notice per held episode, reset when the gate clears. */
|
|
162
|
+
private pressureHeldNotified;
|
|
151
163
|
/** would-resume audited once per entry in dry-run. */
|
|
152
164
|
private dryRunAudited;
|
|
153
165
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResumeQueueDrainer.d.ts","sourceRoot":"","sources":["../../src/monitoring/ResumeQueueDrainer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAOtE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;IACvD,gEAAgE;IAChE,eAAe,EAAE,MAAM,OAAO,CAAC;IAC/B,+BAA+B;IAC/B,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,OAAO,CAAC;IAEjC,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACtD,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,yEAAyE;IACzE,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/D,kFAAkF;IAClF,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAClE;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACrE;;;;;;;;;;;;;OAaG;IACH,6BAA6B,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,sFAAsF;IACtF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAEnC;wEACoE;IACpE,YAAY,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC1E,sDAAsD;IACtD,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,8EAA8E;IAC9E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD;;;;kEAI8D;IAC9D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,yEAAyE;IACzE,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,gEAAgE;IAChE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAChD;sEACkE;IAClE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,gCAAgC,EAAE,MAAM,CAAC;IACzC;uEACmE;IACnE,oBAAoB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ResumeQueueDrainer.d.ts","sourceRoot":"","sources":["../../src/monitoring/ResumeQueueDrainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ export const DEFAULT_RESUME_DRAINER_CONFIG = {
|
|
|
53
53
|
tier1DeadlineMs: 5_000,
|
|
54
54
|
staleEmergencyPauseAutoResumeMin: 60,
|
|
55
55
|
autoResumeStalePause: true,
|
|
56
|
+
pressureHeldNoticeMs: 20 * 60_000, // ~2 reaper ticks — surface a pressure-held revival, never silent
|
|
56
57
|
};
|
|
57
58
|
export class ResumeQueueDrainer {
|
|
58
59
|
deps;
|
|
@@ -64,6 +65,9 @@ export class ResumeQueueDrainer {
|
|
|
64
65
|
consecutiveFailures = 0;
|
|
65
66
|
breakerOpenUntil = 0;
|
|
66
67
|
lastGateBlock = '';
|
|
68
|
+
/** G2 (agent-always-reachable): episode flag so a pressure-held revival surfaces
|
|
69
|
+
* ONE notice per held episode, reset when the gate clears. */
|
|
70
|
+
pressureHeldNotified = false;
|
|
67
71
|
/** would-resume audited once per entry in dry-run. */
|
|
68
72
|
dryRunAudited = new Set();
|
|
69
73
|
/**
|
|
@@ -164,12 +168,36 @@ export class ResumeQueueDrainer {
|
|
|
164
168
|
this.deps.audit({ event: 'gates-blocked', gate, tier, calmTicks: this.calmTicks });
|
|
165
169
|
this.lastGateBlock = gate;
|
|
166
170
|
}
|
|
171
|
+
// G2 (agent-always-reachable): a PRESSURE-held revival must NOT be silent.
|
|
172
|
+
// When the calm-ticks (pressure) gate holds a revival and the oldest READY
|
|
173
|
+
// entry has waited past the notice window, surface ONE plain-English notice
|
|
174
|
+
// through the DETERMINISTIC raiseAggregated funnel (a system notice, never
|
|
175
|
+
// the tone-gated reply path that could itself be held by the same pressure),
|
|
176
|
+
// then suppress until the gate clears. Closes the topic-28744 silent-no-revival gap.
|
|
177
|
+
if (gate === 'calm-ticks') {
|
|
178
|
+
if (this.cfg.pressureHeldNoticeMs > 0 && !this.pressureHeldNotified && !queue.isDryRun()) {
|
|
179
|
+
const heldNowIso = new Date(this.now()).toISOString();
|
|
180
|
+
const ready = queue.nextCandidates().find((e) => !e.nextAttemptAt || e.nextAttemptAt <= heldNowIso);
|
|
181
|
+
const heldMs = ready ? this.now() - Date.parse(ready.queuedAt) : 0;
|
|
182
|
+
if (ready && Number.isFinite(heldMs) && heldMs >= this.cfg.pressureHeldNoticeMs) {
|
|
183
|
+
this.deps.raiseAggregated('pressure-held', `A session I closed is waiting to come back, but the machine is under memory/CPU pressure, so I'm holding the restart until it eases — I'm not ignoring it. I'm freeing resources in the meantime; message me to retry, or I'll bring it back automatically once there's headroom.`);
|
|
184
|
+
this.pressureHeldNotified = true;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
// The hold is no longer pressure (quota/session-cap/etc.) — re-arm the
|
|
190
|
+
// pressure-held notice for a future pressure episode.
|
|
191
|
+
this.pressureHeldNotified = false;
|
|
192
|
+
}
|
|
167
193
|
return { resumed: false, blocked: gate };
|
|
168
194
|
}
|
|
169
195
|
if (this.lastGateBlock) {
|
|
170
196
|
this.deps.audit({ event: 'gates-cleared', calmTicks: this.calmTicks });
|
|
171
197
|
this.lastGateBlock = '';
|
|
172
198
|
}
|
|
199
|
+
// Pressure (and every other gate) has cleared — re-arm the pressure-held notice.
|
|
200
|
+
this.pressureHeldNotified = false;
|
|
173
201
|
// ONE candidate per tick (R2.4), ordered (R2.5), attempt-backoff honored.
|
|
174
202
|
const nowIso = new Date(this.now()).toISOString();
|
|
175
203
|
const candidate = queue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResumeQueueDrainer.js","sourceRoot":"","sources":["../../src/monitoring/ResumeQueueDrainer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResumeQueueDrainer.js","sourceRoot":"","sources":["../../src/monitoring/ResumeQueueDrainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface SystemMemoryReading {
|
|
2
|
+
/** Used memory as a percentage (0-100). The inverse of available. */
|
|
3
|
+
pressurePercent: number;
|
|
4
|
+
freeGB: number;
|
|
5
|
+
totalGB: number;
|
|
6
|
+
}
|
|
7
|
+
/** Injectable IO so the parsers + reader unit-test without a real OS. */
|
|
8
|
+
export interface MemReadDeps {
|
|
9
|
+
platform?: string;
|
|
10
|
+
vmStat?: () => string;
|
|
11
|
+
procMeminfo?: () => string;
|
|
12
|
+
memoryUsage?: () => {
|
|
13
|
+
rss: number;
|
|
14
|
+
};
|
|
15
|
+
totalmem?: () => number;
|
|
16
|
+
}
|
|
17
|
+
/** Pure: parse `vm_stat` output → memory reading. Available = free + inactive + purgeable. */
|
|
18
|
+
export declare function parseVmStat(output: string): SystemMemoryReading;
|
|
19
|
+
/** Pure: parse `/proc/meminfo` content → memory reading (Linux MemAvailable). */
|
|
20
|
+
export declare function parseProcMeminfo(content: string): SystemMemoryReading;
|
|
21
|
+
/** Read host memory pressure, platform-aware. Bounded + never throws (fallback on any error). */
|
|
22
|
+
export declare function readSystemMemoryPressure(deps?: MemReadDeps): SystemMemoryReading;
|
|
23
|
+
/**
|
|
24
|
+
* Free/available host memory as a percentage (0-100) — the CORRECTED replacement
|
|
25
|
+
* for `os.freemem()/os.totalmem()*100`. Use this for any memory-pressure tier
|
|
26
|
+
* decision so macOS is read truthfully (free+inactive+purgeable), not as raw
|
|
27
|
+
* free pages.
|
|
28
|
+
*/
|
|
29
|
+
export declare function hostFreeMemPct(deps?: MemReadDeps): number;
|
|
30
|
+
//# sourceMappingURL=hostMemoryPressure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostMemoryPressure.d.ts","sourceRoot":"","sources":["../../src/monitoring/hostMemoryPressure.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;CACzB;AAED,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAqB/D;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAWrE;AAED,iGAAiG;AACjG,wBAAgB,wBAAwB,CAAC,IAAI,GAAE,WAAgB,GAAG,mBAAmB,CA2BpF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAE,WAAgB,GAAG,MAAM,CAG7D"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hostMemoryPressure — THE one correct, platform-aware measure of host memory
|
|
3
|
+
* availability across the codebase. Spec: macos-memory-pressure-metric.
|
|
4
|
+
*
|
|
5
|
+
* THE BUG THIS FIXES: `os.freemem()` on macOS returns ONLY "Pages free" — which
|
|
6
|
+
* macOS keeps near-zero (it uses the rest for cache/compressor/purgeable), so
|
|
7
|
+
* `os.freemem()/totalmem()` reads ~0.1-0.4% on a healthy machine and falsely
|
|
8
|
+
* registers as "critical" memory pressure. That false-critical made the
|
|
9
|
+
* SessionReaper over-reap AND permanently blocked the ResumeQueueDrainer's
|
|
10
|
+
* "machine calm" gate (it can never reach a 'normal' tier), so reaped sessions
|
|
11
|
+
* never revived — silently. The CORRECT macOS available memory is
|
|
12
|
+
* free + inactive (reclaimable) + purgeable, exactly what `vm_stat` exposes and
|
|
13
|
+
* what MemoryPressureMonitor already computed for HealthChecker — this lifts that
|
|
14
|
+
* calculation into one shared, injectable, unit-tested helper.
|
|
15
|
+
*/
|
|
16
|
+
import { spawnSync } from 'node:child_process';
|
|
17
|
+
import * as fs from 'node:fs';
|
|
18
|
+
import os from 'node:os';
|
|
19
|
+
import { withSyncOp } from '../core/InFlightSyncOpMarker.js';
|
|
20
|
+
const PAGE_SIZE_BYTES = 16384; // macOS Apple Silicon default; overridden by vm_stat's own page size
|
|
21
|
+
/** Pure: parse `vm_stat` output → memory reading. Available = free + inactive + purgeable. */
|
|
22
|
+
export function parseVmStat(output) {
|
|
23
|
+
const pageSizeMatch = output.match(/page size of (\d+) bytes/);
|
|
24
|
+
const pageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : PAGE_SIZE_BYTES;
|
|
25
|
+
const parsePages = (label) => {
|
|
26
|
+
const match = output.match(new RegExp(`${label}:\\s+(\\d+)`));
|
|
27
|
+
return match ? parseInt(match[1], 10) : 0;
|
|
28
|
+
};
|
|
29
|
+
const freePages = parsePages('Pages free');
|
|
30
|
+
const activePages = parsePages('Pages active');
|
|
31
|
+
const inactivePages = parsePages('Pages inactive');
|
|
32
|
+
const wiredPages = parsePages('Pages wired down');
|
|
33
|
+
const compressorPages = parsePages('Pages occupied by compressor');
|
|
34
|
+
const purgeablePages = parsePages('Pages purgeable');
|
|
35
|
+
const totalPages = freePages + activePages + inactivePages + wiredPages + compressorPages;
|
|
36
|
+
const totalGB = (totalPages * pageSize) / (1024 ** 3);
|
|
37
|
+
const availablePages = freePages + inactivePages + purgeablePages;
|
|
38
|
+
const freeGB = (availablePages * pageSize) / (1024 ** 3);
|
|
39
|
+
const usedPages = totalPages - availablePages;
|
|
40
|
+
const pressurePercent = totalPages > 0 ? (usedPages / totalPages) * 100 : 0;
|
|
41
|
+
return { pressurePercent, freeGB, totalGB };
|
|
42
|
+
}
|
|
43
|
+
/** Pure: parse `/proc/meminfo` content → memory reading (Linux MemAvailable). */
|
|
44
|
+
export function parseProcMeminfo(content) {
|
|
45
|
+
const parseKB = (key) => {
|
|
46
|
+
const match = content.match(new RegExp(`${key}:\\s+(\\d+)`));
|
|
47
|
+
return match ? parseInt(match[1], 10) : 0;
|
|
48
|
+
};
|
|
49
|
+
const totalKB = parseKB('MemTotal');
|
|
50
|
+
const availableKB = parseKB('MemAvailable') || (parseKB('MemFree') + parseKB('Buffers') + parseKB('Cached'));
|
|
51
|
+
const totalGB = totalKB / (1024 * 1024);
|
|
52
|
+
const freeGB = availableKB / (1024 * 1024);
|
|
53
|
+
const pressurePercent = totalKB > 0 ? ((totalKB - availableKB) / totalKB) * 100 : 0;
|
|
54
|
+
return { pressurePercent, freeGB, totalGB };
|
|
55
|
+
}
|
|
56
|
+
/** Read host memory pressure, platform-aware. Bounded + never throws (fallback on any error). */
|
|
57
|
+
export function readSystemMemoryPressure(deps = {}) {
|
|
58
|
+
const platform = deps.platform ?? process.platform;
|
|
59
|
+
try {
|
|
60
|
+
if (platform === 'darwin') {
|
|
61
|
+
// The real vm_stat read funnels through withSyncOp so the in-flight sync-op
|
|
62
|
+
// marker sees this blocking call (tmux-event-loop-resilience-spec). The
|
|
63
|
+
// injected `vmStat` (tests) is a pure stub and needs no funnel.
|
|
64
|
+
const out = deps.vmStat ? deps.vmStat() : withSyncOp(() => spawnSync('vm_stat', [], { encoding: 'utf-8', timeout: 5000 }).stdout ?? '');
|
|
65
|
+
if (out)
|
|
66
|
+
return parseVmStat(out);
|
|
67
|
+
}
|
|
68
|
+
else if (platform === 'linux') {
|
|
69
|
+
const content = deps.procMeminfo ? deps.procMeminfo() : fs.readFileSync('/proc/meminfo', 'utf-8');
|
|
70
|
+
if (content)
|
|
71
|
+
return parseProcMeminfo(content);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
// @silent-fallback-ok — a vm_stat/proc read failure falls back to the rough
|
|
76
|
+
// process.memoryUsage estimate below; an observability metric, never a gate
|
|
77
|
+
// that should wedge on a transient read error. NOT silent: the fallback is
|
|
78
|
+
// logged (No Silent Degradation — advisory degradation must be visible) so a
|
|
79
|
+
// genuinely-broken vm_stat surfaces instead of hiding behind a server-RSS
|
|
80
|
+
// estimate. The fallback biases toward LOW pressure (server RSS ≪ host RAM),
|
|
81
|
+
// the safe direction for a reaper (less aggressive) + revival (more available).
|
|
82
|
+
console.warn(`[hostMemoryPressure] ${platform} memory read failed; using rough RSS estimate: ${err instanceof Error ? err.message : String(err)}`);
|
|
83
|
+
}
|
|
84
|
+
// Fallback (other platforms or a read error): rough RSS-based estimate.
|
|
85
|
+
const totalGB = (deps.totalmem ? deps.totalmem() : os.totalmem()) / (1024 ** 3);
|
|
86
|
+
const usedGB = (deps.memoryUsage ? deps.memoryUsage() : process.memoryUsage()).rss / (1024 ** 3);
|
|
87
|
+
return { pressurePercent: totalGB > 0 ? (usedGB / totalGB) * 100 : 0, freeGB: totalGB - usedGB, totalGB };
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Free/available host memory as a percentage (0-100) — the CORRECTED replacement
|
|
91
|
+
* for `os.freemem()/os.totalmem()*100`. Use this for any memory-pressure tier
|
|
92
|
+
* decision so macOS is read truthfully (free+inactive+purgeable), not as raw
|
|
93
|
+
* free pages.
|
|
94
|
+
*/
|
|
95
|
+
export function hostFreeMemPct(deps = {}) {
|
|
96
|
+
const pct = 100 - readSystemMemoryPressure(deps).pressurePercent;
|
|
97
|
+
return Math.max(0, Math.min(100, pct));
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=hostMemoryPressure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostMemoryPressure.js","sourceRoot":"","sources":["../../src/monitoring/hostMemoryPressure.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-06-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-06-26T20:59:48.957Z",
|
|
5
|
+
"instarVersion": "1.3.680",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
The agent measures how busy the machine's memory is to decide when to close idle sessions and when to bring them back. On macOS it was reading the wrong number — Node's raw "free memory," which macOS deliberately keeps near zero by using the rest for cache and compression. So a perfectly healthy Mac looked permanently out of memory. That made the cleanup close idle sessions too eagerly AND permanently blocked the revival queue from bringing them back — so a topic's session could vanish and never return, with no message to the user.
|
|
9
|
+
|
|
10
|
+
The fix reads real available memory the way macOS itself does (free plus the reclaimable inactive and purgeable memory, via vm_stat), and the same correct figure on Linux. The correct calculation already existed in the health checker; this lifts it into one shared, tested place and points the cleanup at it. On the machine where this broke, the old reading was 0.17% (false crisis) and the correct reading is about 20% available (healthy), so sessions revive again.
|
|
11
|
+
|
|
12
|
+
It can only make the cleanup less aggressive and revival more available on macOS — the safe direction — and a separate, larger guarantee (always keep at least one reachable session, and never silently deny a session for resource reasons) is coming next.
|
|
13
|
+
|
|
14
|
+
## What to Tell Your User
|
|
15
|
+
|
|
16
|
+
If a topic ever went quiet — you sent messages and got nothing back — one cause was the agent mis-reading its own memory on a Mac and refusing to bring a closed session back. That false alarm is fixed: it now reads real available memory, so sessions get cleaned up and revived based on the true picture.
|
|
17
|
+
|
|
18
|
+
## Summary of New Capabilities
|
|
19
|
+
|
|
20
|
+
- Correct, platform-aware host memory-availability measurement (free + reclaimable on macOS; MemAvailable on Linux) feeding the session reaper and revival queue — no more macOS false-critical from raw free pages.
|
|
21
|
+
|
|
22
|
+
## Evidence
|
|
23
|
+
|
|
24
|
+
- `tests/unit/host-memory-pressure.test.ts` (13): includes REAL captured `vm_stat` from the incident machine — tiny raw free pages but correct available% reads healthy; a genuinely-critical shape reads low; platform-aware; never-throws fallback. 121 existing reaper/memory/resume-queue tests still green (no regression).
|
|
25
|
+
- Convergence (conformance gate + lessons-aware reviewer, no blockers): `docs/specs/reports/macos-memory-pressure-metric-convergence.md`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Adds the constitutional standard **"The Agent Is Always Reachable — A Guaranteed Reachability Floor"** and ships its first guarantee, **G2 — no silent resource rejection**. When a closed session is queued to come back but the machine is under memory/CPU pressure, the resume queue used to hold that revival INDEFINITELY and SILENTLY — a whole topic could go quiet with no message and no guidance, and you only found out by noticing the silence (the topic-28744 incident). Now, after a short bounded wait, the agent surfaces ONE plain-English notice explaining the hold and what to do — through the deterministic attention-queue path, so it delivers even when the very pressure it reports would stall a normal LLM-gated reply. The notice fires once per held episode (no spam), respects the existing anti-flood budget, and re-arms for a later episode. It never gates a revival — it only ever ADDS a notice (the safe direction). G1 (the stronger always-one-live-lifeline floor) is the tracked next increment.
|
|
9
|
+
|
|
10
|
+
## What to Tell Your User
|
|
11
|
+
|
|
12
|
+
If I ever close a session for resource reasons and can't bring it straight back because the machine is tight on memory or CPU, you now get one clear message — "a session I closed is waiting to come back, but the machine is under pressure, so I'm holding the restart until it eases; I'm freeing resources in the meantime" — instead of a topic just going quiet. It's a heads-up, not a wall: I keep working to free resources and bring the session back automatically once there's headroom, and you can message me to retry. You'll see it at most once per pressure episode, and it respects the anti-spam budget.
|
|
13
|
+
|
|
14
|
+
## Summary of New Capabilities
|
|
15
|
+
|
|
16
|
+
- A pressure-held session revival now surfaces ONE plain-English notice after a bounded window (`monitoring.resumeQueue.pressureHeldNoticeMs`, default ~20min) instead of holding silently until a 24h expiry.
|
|
17
|
+
- The notice rides the deterministic attention-queue funnel (the same path as the existing `ttl-expired` notice), so delivery does not depend on LLM availability under the pressure it reports.
|
|
18
|
+
- Deduped per held episode, re-armed when the gate clears, budget-bounded, dry-run-silent. Configurable / disablable via `pressureHeldNoticeMs` (0 disables the notice; it never gates a revival).
|
|
19
|
+
- New constitutional standard in `docs/STANDARDS-REGISTRY.md` — the availability twin of "The Operator Channel Is Sacred."
|
|
20
|
+
|
|
21
|
+
## Evidence
|
|
22
|
+
|
|
23
|
+
- `resume-queue-drainer.test.ts` (+6 G2 tests, 61 total pass): emits ONE notice when held past the window; silent below the window; one-per-episode suppression; dry-run silent; no fire on a non-pressure (quota) hold; re-arms after the gate clears for a second episode.
|
|
24
|
+
- `tsc --noEmit` clean.
|
|
25
|
+
- Side-effects: `upgrades/side-effects/agent-always-reachable.md` (+ second-pass review appended).
|
|
26
|
+
- Spec (converged + approved): `docs/specs/agent-always-reachable.md`; ELI16: `docs/specs/agent-always-reachable.eli16.md`.
|
|
27
|
+
- G1 (the liveness floor) is the tracked next increment (CMT-1808).
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Side-Effects Review — The Agent Is Always Reachable (Increment 1: standard + G2 no-silent-resource-rejection)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `agent-always-reachable`
|
|
4
|
+
**Date:** `2026-06-26`
|
|
5
|
+
**Author:** `echo`
|
|
6
|
+
**Second-pass reviewer:** `required (touches resume/session-lifecycle + a "sentinel/gate/watchdog"-class notice path) — appended below`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
Increment 1 of the `agent-always-reachable` spec: the constitutional standard **"The Agent Is Always Reachable — A Guaranteed Reachability Floor"** (added to `docs/STANDARDS-REGISTRY.md`) plus **G2 — no silent resource rejection**. The concrete fix is a new `pressure-held` notice in `ResumeQueueDrainer`: when a queued session-revival is held by the pressure (calm-ticks) gate AND the oldest READY entry has waited past a bounded window (`pressureHeldNoticeMs`, default ~20min ≈ 2 reaper ticks), the drainer emits ONE plain-English notice through the EXISTING `raiseAggregated` funnel — then suppresses repeats until the gate clears (re-armed per episode). This closes the exact topic-28744 incident: a session was reaped, queued for revival, and held INDEFINITELY and SILENTLY by the pressure gate (made permanent by the now-fixed `os.freemem` false-critical bug, #1287). Files: `src/monitoring/ResumeQueueDrainer.ts` (config field `pressureHeldNoticeMs`, episode flag `pressureHeldNotified`, the gate-block notice), `src/commands/server.ts` (wire `rqCfg.pressureHeldNoticeMs`), `src/core/types.ts` (config type), `tests/unit/resume-queue-drainer.test.ts` (6 G2 tests). G1 (the liveness floor — protect the lifeline from reaping + reserved-lane exempt respawn) is the tracked next increment (CMT-1808), not in this PR.
|
|
11
|
+
|
|
12
|
+
## Decision-point inventory
|
|
13
|
+
|
|
14
|
+
- `ResumeQueueDrainer.gateBlock` (calm-ticks pressure hold) — **pass-through** — the notice does NOT change the gate decision; the revival is still held by the unchanged gate. The notice only reports the hold.
|
|
15
|
+
- `ResumeQueueDrainer.raiseAggregated` funnel — **pass-through** — reuses the existing system-notice chokepoint (same path as `ttl-expired`); adds one new `kind` (`pressure-held`). No new notifier.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 1. Over-block
|
|
20
|
+
|
|
21
|
+
**No block/allow surface — over-block not applicable.** The change adds an observational notice; it never blocks, delays, or rejects any revival, message, or session. The pressure gate's block decision is entirely unchanged — `gateBlock` is called identically and its `'calm-ticks'` return is honored exactly as before.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 2. Under-block
|
|
26
|
+
|
|
27
|
+
**No block/allow surface — under-block not applicable.** The notice is a signal, not a gate. The closest "miss" is a notice that doesn't fire when it should: if `pressureHeldNoticeMs` is set to 0 the notice is disabled (documented), and a dry-run queue is intentionally silent (a fleet of dry-run queues must not page). Both are deliberate and tested. A held revival that has NOT yet waited the full window stays silent until it crosses the window (tested) — that is the intended bounded-debounce, not a miss.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 3. Level-of-abstraction fit
|
|
32
|
+
|
|
33
|
+
Correct layer. The held-revival fact is ONLY observable inside the drainer's tick loop (it owns the gate verdict + the queue's oldest-ready entry + the clock). Surfacing it from there — rather than from a parallel watcher that would have to re-derive pressure state and re-read the queue — is the right level. It reuses the existing `raiseAggregated` funnel rather than introducing a new notifier (the 2026-06-05 flood was caused by a parallel notice path that dodged the budget; this deliberately rides the budgeted funnel). It is a SIGNAL feeding the existing attention-queue surface, not a new authority.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 4. Signal vs authority compliance
|
|
38
|
+
|
|
39
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
40
|
+
|
|
41
|
+
- [x] No — this change produces a signal consumed by an existing smart gate / surface (the attention queue), and has no block/allow surface of its own.
|
|
42
|
+
|
|
43
|
+
The notice is pure signal. It carries zero blocking authority: it cannot hold, delay, or release a revival. The revival's fate is decided entirely by the unchanged deterministic gates. This is exactly the signal-vs-authority split the principle demands — a brittle/cheap detector (an episode flag + a time comparison) that only ever ADDS a notice, never gates.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 5. Interactions
|
|
48
|
+
|
|
49
|
+
- **Shadowing:** The notice sits inside the `if (gate)` branch, AFTER the existing `gates-blocked` audit and BEFORE the early `return { blocked: gate }`. It does not shadow any check — it adds a side-effect (one `raiseAggregated` call) on the already-decided block path, then returns the same value as before. Verified the return value is unchanged.
|
|
50
|
+
- **Double-fire:** Guarded by the per-episode `pressureHeldNotified` flag — at most ONE notice per held episode. The flag re-arms only when the gate becomes non-pressure (`else` branch) or fully clears (post-gate reset). Tested: three consecutive held ticks emit exactly one notice; a fresh episode after the gate clears emits again.
|
|
51
|
+
- **Races:** `pressureHeldNotified` is in-memory, single-threaded with the rest of the tick loop (the drainer's `ticking` re-entrancy guard already serializes ticks). No shared-state race. A server restart mid-episode re-arms (the flag resets to false on construction) → at most one extra notice on the next held tick, which folds harmlessly into the single rolling aggregate item (same tolerance as the existing paused-with-waiting Layer-1 alert).
|
|
52
|
+
- **Feedback loops:** None. The notice does not change pressure, the queue, or the gate, so it cannot feed back into its own trigger.
|
|
53
|
+
- **Interaction with the 24h `ttl-expired` notice:** an entry can early-notify (`pressure-held`) and LATER expire (`ttl-expired`). Both ride the same aggregate item with distinct `kind`s, so the operator reads a coherent two-stage story ("held under pressure" → later "expired after 24h"), not two unrelated failures. The `pressure-held` window (~20min) is far below the 24h TTL, so ordering is deterministic.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 6. External surfaces
|
|
58
|
+
|
|
59
|
+
- **Other agents / users:** none directly. This is the agent's own attention-queue surface to its operator.
|
|
60
|
+
- **External systems:** Telegram, via the EXISTING `telegram.createAttentionItem` path inside `raiseResumeAggregated` (priority NORMAL, `sourceContext: 'resume-queue'`, subject to the per-source topic-flood guard + bounded-notification budget). No new external call shape.
|
|
61
|
+
- **Persistent state:** none new. The episode flag is in-memory by design.
|
|
62
|
+
- **Deterministic delivery (G2 MAJOR 5):** the notice routes through `raiseAggregated` → `createAttentionItem` (the attention-queue path), NOT the tone-gated `/telegram/reply` conversational path. This is the load-bearing property: the notice reports memory/CPU pressure, and the tone gate fails CLOSED under exactly that pressure — so a tone-gated notice could be held by the very condition it announces. Riding the attention-queue funnel makes delivery independent of LLM availability. Verified by construction (same funnel as `ttl-expired`, which already delivers under pressure).
|
|
63
|
+
- **Operator surface (Mobile-Complete):** no new operator action — the notice is informational, surfaced on the existing attention queue / Telegram, already phone-visible. No PIN-gated or form-class action added.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 6b. Operator-surface quality
|
|
68
|
+
|
|
69
|
+
**No operator surface — not applicable.** This change touches no dashboard renderer/markup, approval page, or grant/revoke/secret-drop form. The notice is plain-English prose on the existing attention queue.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
74
|
+
|
|
75
|
+
**machine-local BY DESIGN.** The resume queue is a per-machine durable store (each machine revives its OWN reaped sessions; the queue takes a host-local lock precisely so two machines cannot share its state — see `autonomous-run-outlives-session`). The pressure-held condition is therefore a per-machine truth, and the notice is raised by the machine that holds the held entry. It rides `raiseResumeAggregated` → `createAttentionItem`, which is the same per-machine notice path every other resume-queue notice (`ttl-expired`, paused-with-waiting) already uses — so its multi-machine posture is identical to the surrounding feature and introduces no new cross-machine surface.
|
|
76
|
+
|
|
77
|
+
- **User-facing notice / one-voice:** it inherits the attention-queue's existing routing + flood guard; it does not bypass them, so no new one-voice concern. (The standard's G1 floor explicitly scopes the lifeline to the lease-HOLDER only; G2's notice is not lease-gated because reporting a held revival on whichever machine holds it is correct — the machine that reaped it is the machine that must revive it.)
|
|
78
|
+
- **Durable state on topic transfer:** the in-memory episode flag does not strand (a transferred topic's revival is handled by the destination machine's own queue + the working-set carrier; a lost in-memory flag at most re-notifies once).
|
|
79
|
+
- **Generated URLs:** none.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 8. Rollback cost
|
|
84
|
+
|
|
85
|
+
Trivial. G2 is pure-additive and observe-only:
|
|
86
|
+
- **Disable without a deploy:** set `monitoring.resumeQueue.pressureHeldNoticeMs: 0` in `.instar/config.json` (read at construction; restart sessions/server to apply) → the notice never fires; every other gate behaves identically.
|
|
87
|
+
- **Code back-out:** revert the three source edits — the notice is self-contained inside the `if (gate)` branch + one config field + one type field; nothing else depends on `pressureHeldNotified` or `pressureHeldNoticeMs`. No data migration, no state repair (the flag is in-memory).
|
|
88
|
+
- **Blast radius:** the change can only ADD a notice (the safe direction the operator demanded). There is no input it can reject and no path it can make quieter.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Second-pass review (independent reviewer, Phase 5)
|
|
93
|
+
|
|
94
|
+
**Verdict: Concur with the review.** Verified against the code:
|
|
95
|
+
|
|
96
|
+
1. **Notice never affects the gate** — the `pressure-held` emit sits inside `if (gate)` after the gate decision; the function still returns `{ resumed: false, blocked: gate }` unchanged. Test asserts `blocked === 'calm-ticks'` directly.
|
|
97
|
+
2. **Per-episode dedupe is correct and re-arms in every sequence** — `pressureHeldNotified` set on emit, re-armed in the non-pressure `else` (pressure→quota→pressure) and on full clear (pressure→clear→pressure). No permanent-silence path; no double-fire (re-entrancy guard serializes ticks). Tests exercise all three.
|
|
98
|
+
3. **Deterministic delivery (G2 MAJOR 5) is true** — `raiseResumeAggregated` routes to `telegram.createAttentionItem` (the attention-queue path), NOT the tone-gated `/telegram/reply`. Same funnel as `ttl-expired`. The pressure it reports cannot stall its own delivery.
|
|
99
|
+
4. **Tests are non-tautological** — each asserts the real `aggregated` side-effect count plus message content; silence cases assert length 0 under genuinely-distinct gate conditions (dry-run, quota, sub-window).
|
|
100
|
+
5. **No race/shadow/TTL interaction missed** — flag is in-memory, single-threaded; `pressure-held` and `ttl-expired` share the aggregate item with distinct kinds. Wiring default `20*60_000` matches the type default.
|
|
101
|
+
|
|
102
|
+
**Minor non-blocking note (acknowledged):** the notice keys `heldMs` off the first READY candidate per `nextCandidates()` priority-then-queuedAt order, so an interactive entry in attempt-backoff could briefly mask an older `other`-class entry's true wait. This is inconsequential and CONSISTENT with the existing drain-candidate selection (the same ordering decides which entry actually revives next), so the measured wait is the wait of the entry that would be revived next — the correct thing to report. No change made.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Side-effects review — macos-memory-pressure-metric
|
|
2
|
+
|
|
3
|
+
Change: replace `os.freemem()`-based memory-pressure measurement with REAL available memory (free+inactive+purgeable via vm_stat on macOS; MemAvailable on Linux) in the SessionReaper's pressure input. New `src/monitoring/hostMemoryPressure.ts` (shared); `HostPressureSampler` + `MemoryPressureMonitor` use it. Files: hostMemoryPressure.ts (new), HostPressureSampler.ts, MemoryPressureMonitor.ts, tests + real fixtures.
|
|
4
|
+
|
|
5
|
+
1. **Over-block:** REDUCES a false over-block — the reaper no longer reads a healthy macOS machine as memory-critical, so it stops over-reaping idle sessions and the resume queue's calm-gate can reach `normal` and revive reaped sessions.
|
|
6
|
+
2. **Under-block:** None new. The corrected metric is conservative (excludes active + compressor from "available", the safe direction). On a genuinely memory-critical machine it correctly reads critical. A 5-12% `moderate` machine still holds revival (now for a REAL reason, not a false one) — tracked separately as the lifeline-floor follow-on (topic-28130).
|
|
7
|
+
3. **Level-of-abstraction fit:** Correct. One shared, injectable memory reader feeds all consumers of the single host-pressure signal (reaper, resume-queue, cartographer-sweep). Removes a duplicate vm_stat parser (one definition).
|
|
8
|
+
4. **Signal vs authority:** Not a gate — a measurement that FEEDS gates. The fix makes the signal truthful; it adds no blocking authority. Serves "No Silent Degradation to Brittle Fallback" (os.freemem was the brittle metric silently degrading availability).
|
|
9
|
+
5. **Interactions:** The reaper's CPU side (1-min load ÷ cores) is unchanged. MemoryPressureMonitor delegation is byte-identical to its prior private parser (confirmed vs HEAD~1) — HealthChecker behavior preserved. The fallback (RSS estimate on read error) biases low-pressure (server RSS ≪ host RAM) → safe direction; now logged (Observability). ResumeQueueDrainer.safeTier() independently fails closed on error — backstop intact.
|
|
10
|
+
6. **External surfaces:** No routes. `GET /sessions/reaper`'s `pressure.inputs.freePct` now reports real available% (was ~0.1% on macOS). A `[hostMemoryPressure]` warn on read-failure fallback.
|
|
11
|
+
7. **Multi-machine posture:** Machine-local by design — each host measures its own memory. No replication/proxy surface.
|
|
12
|
+
8. **Rollback cost:** Low. Pure measurement change; revert restores os.freemem. No data migration, no config. The change can only relax the reaper / free revival on macOS (the safe direction), so a bad outcome is bounded.
|
|
13
|
+
|
|
14
|
+
## Second-pass review (touches the reaper pressure path)
|
|
15
|
+
The lessons-aware convergence reviewer audited fail-direction, the parent standard, the reused vm_stat calc (byte-identical, correct exclusions), delegation (behavior-preserving), and the no-threshold-change claim. No blockers; one minor (log the fallback — DONE), one tracked note (moderate-machine residual → lifeline-floor follow-on). Concur.
|