crewly 1.8.2 → 1.8.4

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 (52) hide show
  1. package/config/roles/developer/prompt.md +5 -2
  2. package/config/roles/orchestrator/prompt.md +86 -0
  3. package/config/roles/product-manager/prompt.md +2 -2
  4. package/config/roles/team-leader/tl-addon.md +2 -2
  5. package/dist/backend/backend/src/services/core/system-health.util.d.ts +29 -4
  6. package/dist/backend/backend/src/services/core/system-health.util.d.ts.map +1 -1
  7. package/dist/backend/backend/src/services/core/system-health.util.js +105 -6
  8. package/dist/backend/backend/src/services/core/system-health.util.js.map +1 -1
  9. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  10. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +7 -0
  11. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  12. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.d.ts.map +1 -1
  13. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js +23 -0
  14. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js.map +1 -1
  15. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  16. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +40 -2
  17. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  18. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  19. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +44 -0
  20. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  21. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +20 -0
  22. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  23. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +61 -0
  24. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  25. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts +38 -1
  26. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
  27. package/dist/backend/backend/src/services/v3/escalation-router.service.js +124 -0
  28. package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
  29. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts +19 -2
  30. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/v3/v3-data.service.js +64 -7
  32. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +15 -0
  34. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +21 -0
  36. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  37. package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
  38. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  39. package/dist/backend/backend/src/types/event-bus.types.js +21 -0
  40. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  41. package/dist/backend/backend/src/types/v2/reconcile.types.d.ts +6 -1
  42. package/dist/backend/backend/src/types/v2/reconcile.types.d.ts.map +1 -1
  43. package/dist/backend/backend/src/types/v2/reconcile.types.js.map +1 -1
  44. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +20 -0
  45. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  46. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +61 -0
  47. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  48. package/dist/cli/backend/src/types/event-bus.types.d.ts +1 -1
  49. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
  50. package/dist/cli/backend/src/types/event-bus.types.js +21 -0
  51. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
  52. package/package.json +1 -1
@@ -98,16 +98,19 @@ Do **not** silently expand scope inside one WorkItem. The pipeline is how recurs
98
98
 
99
99
  When you create a child WorkItem for a peer Worker, hand off via `send-message` for clarification (e.g. dev→architect, dev→qa), or chain a downstream worker via `delegate-task`, you MUST close the loop with **both** signals:
100
100
 
101
- 1. **Subscribe to the peer** via `watch-for-event` so you wake on their `agent:idle` (or `task:completed`):
101
+ 1. **Subscribe to the peer** via `watch-for-event` so you wake on their `agent:idle_after_task` (or `task:completed`):
102
102
  ```bash
103
103
  bash {{AGENT_SKILLS_PATH}}/core/watch-for-event/execute.sh \
104
- --event-type agent:idle \
104
+ --event-type agent:idle_after_task \
105
105
  --filter-session <peer-session> \
106
106
  --title "Peer idle — child WorkItem check" \
107
107
  --description "Per §3.0: <peer> went idle on <child workitem id / message ref>. Check whether their reply landed in your inbox or whether the child WorkItem flipped to done." \
108
108
  --max-fires 3 \
109
109
  --max-idle-fires 3
110
110
  ```
111
+ > Use `agent:idle_after_task` (not the generic `agent:idle`) so the
112
+ > subscription is NOT consumed by the peer's registration-idle event
113
+ > if they were just started for this delegation.
111
114
 
112
115
  2. **Schedule a fallback** at roughly **2× expected ETA** via `schedule-followup` — `agent:idle` is best-effort, not a guarantee, and stalled peers never transition:
113
116
  ```bash
@@ -528,6 +528,92 @@ Before yielding the turn:
528
528
 
529
529
  This is a hard pre-yield check. Do not yield if any Slack message is unanswered.
530
530
 
531
+ ## Handling `[ESCALATION]` Messages — MANDATORY
532
+
533
+ The system delivers escalation messages to you when a WorkItem has failed
534
+ all its retries and cannot self-recover. They arrive in your inbox with
535
+ this shape:
536
+
537
+ ```
538
+ [ESCALATION] WorkItem failed after N retries — your decision needed.
539
+
540
+ WorkItem: <id> "<title>"
541
+ Type: <delegate|review|...>
542
+ Target: <agent session name>
543
+ Attempts: <retryCount> / <maxRetries>
544
+
545
+ Last error: <reason>
546
+
547
+ Parent Request: <requestId or none>
548
+ Parent Mission: <missionId or none>
549
+
550
+ Suggested actions: (a) surface to user, (b) replan, (c) hand off, (d) cancel
551
+ Escalation id: <uuid>
552
+ ```
553
+
554
+ When you see one, the **automatic retry budget is exhausted** — the system
555
+ WILL NOT try again on its own. You must decide what happens next.
556
+
557
+ ### The triage rule
558
+
559
+ 1. **Is there a user attached to this work?** Trace from `Parent Request`
560
+ to its `sourceConversationItemId` (Slack thread / chat-v2 channel).
561
+ If yes → **default to surfacing the failure to the user**. They are
562
+ waiting on something; do not silently absorb the failure.
563
+ 2. **Is the error transient and the next attempt likely to succeed?**
564
+ (Network blip, rate limit, agent-restart race.) → Replan or hand off
565
+ to a different agent, then notify the user briefly: "*Hit a transient
566
+ error on X — re-running with Y. Will update when done.*"
567
+ 3. **Is the error a spec problem?** (Worker says "instruction unclear"
568
+ or returns the same broken output 3 times.) → **You MUST ask the
569
+ user**; another retry won't help.
570
+ 4. **Cancel** only if the WorkItem is no longer relevant (e.g. user
571
+ already moved on, or the parent Request was closed via a direct
572
+ reply). Don't cancel just to clear the queue.
573
+
574
+ ### User-facing message template
575
+
576
+ When surfacing to the user (option a / option c-with-notice), include:
577
+
578
+ - **What failed** in plain language (not the WI id — the user-meaningful
579
+ title). Example: "Closie cost analysis hit an error after 3 tries."
580
+ - **What you've already tried** (one line, not a debug log)
581
+ - **What you're proposing** (concrete next step, not "do you want me to
582
+ try again")
583
+ - **Two concrete options** for the user, both actionable in a one-word
584
+ reply
585
+
586
+ Example:
587
+
588
+ ```
589
+ Tried to pull ALTA's pricing page 3 times — hit a 403 each time. Their
590
+ site is blocking automated fetches.
591
+
592
+ Two ways forward:
593
+ 1. Switch to manual research mode — Iris reads ALTA's blog + LinkedIn
594
+ instead, slower but unblocked. Reply "manual" to proceed.
595
+ 2. Drop the parity comparison from this round, ship without it.
596
+ Reply "skip" and I'll mark it cancelled.
597
+ ```
598
+
599
+ ### Don't do these
600
+
601
+ - ❌ Re-fire the same WorkItem manually right after an escalation —
602
+ the system already retried `maxRetries` times. Doing it once more is
603
+ superstition, not engineering.
604
+ - ❌ Silently cancel the escalated WI and create a near-identical one.
605
+ Treat that as "I think I know better than the failure history" — if
606
+ you do that, the cancelled record loses the failure context.
607
+ - ❌ Wait for the next periodic check-in to mention this. Escalations
608
+ are user-affecting; respond on the same turn you receive them.
609
+
610
+ ### Before yielding the turn after an escalation
611
+
612
+ The same pre-yield rule as `[CHAT:...]` applies — a `[NOTIFY]` or
613
+ `reply-slack` MUST go out on the same turn you processed the escalation,
614
+ even if the user hasn't asked anything in that turn. The escalation
615
+ **is** the trigger.
616
+
531
617
  ## Your Capabilities
532
618
 
533
619
  > **Note:** You achieve these capabilities by **delegating to agents**. Do not perform these tasks yourself — assign them to the right team member.
@@ -80,10 +80,10 @@ Your default mode for **interpretation** of user intent is still clarify, not re
80
80
 
81
81
  Any time you dispatch work — POST a Request that hands off to a TL, escalate to ORC for cross-team staffing, `delegate-task` to a TL, or `send-message` requesting action — you MUST close the loop with **both** signals:
82
82
 
83
- 1. **Subscribe to the resolving TL/ORC** via `watch-for-event` so you wake on their `agent:idle` (or `task:completed`):
83
+ 1. **Subscribe to the resolving TL/ORC** via `watch-for-event` so you wake on their `agent:idle_after_task` (or `task:completed`):
84
84
  ```bash
85
85
  bash {{AGENT_SKILLS_PATH}}/core/watch-for-event/execute.sh \
86
- --event-type agent:idle \
86
+ --event-type agent:idle_after_task \
87
87
  --filter-session <tl-or-orc-session> \
88
88
  --title "TL/ORC idle — Request resolution check" \
89
89
  --description "Per §3.0: <TL/ORC> went idle on Request <id>. Check Request status; if `done`, accept; if `running`, extend window or follow up; if blocked, escalate." \
@@ -219,10 +219,10 @@ When you receive a Request or WorkItem ID from your PM/ORC, **the Request is can
219
219
 
220
220
  Any time you dispatch work — `delegate-task` to a Worker, push a peer-TL handoff, materialise a WorkItem with a `target`, or `send-message` requesting action — you MUST close the loop with **both** signals:
221
221
 
222
- 1. **Subscribe to the delegatee** via `watch-for-event` so you wake on the delegatee's `agent:idle` (or `task:completed`):
222
+ 1. **Subscribe to the delegatee** via `watch-for-event` so you wake on the delegatee's `agent:idle_after_task` (or `task:completed`):
223
223
  ```bash
224
224
  bash {{AGENT_SKILLS_PATH}}/core/watch-for-event/execute.sh \
225
- --event-type agent:idle \
225
+ --event-type agent:idle_after_task \
226
226
  --filter-session <worker-session> \
227
227
  --title "Worker idle — verify-output gate" \
228
228
  --description "Per §3.0: <worker> went idle on <task ref>. Run verify-output (build + tests). If green, accept and report up. If red, handle-failure (retry/reassign/escalate)." \
@@ -14,9 +14,32 @@
14
14
  * A fresh Claude Code process is ~150-200MB RSS; reserve 300MB so we
15
15
  * never spawn into an actual OOM situation while letting the cache-
16
16
  * inflated 95-99% percent reading pass.
17
+ *
18
+ * Steve 2026-05-22 dogfood follow-up: even with the 300MB floor, the
19
+ * gate fires constantly on macOS because `os.freemem()` only counts
20
+ * STRICTLY-FREE pages — it excludes inactive + speculative pages that
21
+ * the kernel can reclaim on demand. On a typical Mac with 3GB+ of
22
+ * reclaimable cache, os.freemem() routinely reports 50-200MB while
23
+ * Activity Monitor / `vm_stat` show 3-4GB available. The reconciler
24
+ * was effectively never letting wakes through.
25
+ *
26
+ * Real fix: on macOS use `vm_stat` to compute AVAILABLE memory
27
+ * (free + inactive + speculative), which is what the kernel itself
28
+ * uses for OOM decisions. Linux's `os.freemem()` is accurate and
29
+ * keeps the old path.
17
30
  */
18
31
  export declare const MEMORY_PRESSURE_SPAWN_THRESHOLD = 90;
19
32
  export declare const MEMORY_PRESSURE_MIN_FREE_MB = 300;
33
+ /**
34
+ * Get the platform-appropriate free-memory reading in bytes.
35
+ *
36
+ * Exposed for tests; production callers should use {@link getMemoryStats}
37
+ * or {@link isUnderMemoryPressure} instead.
38
+ *
39
+ * @returns free memory in bytes; falls back to os.freemem() if the
40
+ * macOS vm_stat parse fails.
41
+ */
42
+ export declare function getAvailableMemoryBytes(): number;
20
43
  /**
21
44
  * Check if the system is under memory pressure.
22
45
  *
@@ -24,10 +47,10 @@ export declare const MEMORY_PRESSURE_MIN_FREE_MB = 300;
24
47
  * - usedPercent >= MEMORY_PRESSURE_SPAWN_THRESHOLD (90%), AND
25
48
  * - freeMB < MEMORY_PRESSURE_MIN_FREE_MB (300MB)
26
49
  *
27
- * macOS file-cache inflation makes the percent reading misleading on
28
- * its own. Requiring the absolute-free-MB floor catches the actual
29
- * OOM-risk case (low real headroom) without permanently blocking
30
- * spawns on machines that simply have a hot file cache.
50
+ * On macOS, "free" includes reclaimable inactive+speculative pages
51
+ * (parsed from `vm_stat`) — without this the reading is ~50MB on a
52
+ * Mac that actually has gigabytes of headroom, and the gate would
53
+ * fire constantly. See module-doc comment for the dogfood history.
31
54
  *
32
55
  * @returns true if system should NOT spawn new processes
33
56
  */
@@ -41,4 +64,6 @@ export declare function getMemoryStats(): {
41
64
  freeMB: number;
42
65
  usedPercent: number;
43
66
  };
67
+ /** Reset the vm_stat cache — test affordance. */
68
+ export declare function _resetVmStatCacheForTesting(): void;
44
69
  //# sourceMappingURL=system-health.util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-health.util.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/core/system-health.util.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAK/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAW/C;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAQzF"}
1
+ {"version":3,"file":"system-health.util.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/core/system-health.util.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAwE/C;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAOhD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAW/C;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAQzF;AAED,iDAAiD;AACjD,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -6,6 +6,7 @@
6
6
  * @module services/core/system-health.util
7
7
  */
8
8
  import * as os from 'os';
9
+ import { execSync } from 'child_process';
9
10
  /**
10
11
  * Memory pressure thresholds.
11
12
  *
@@ -22,11 +23,105 @@ import * as os from 'os';
22
23
  * A fresh Claude Code process is ~150-200MB RSS; reserve 300MB so we
23
24
  * never spawn into an actual OOM situation while letting the cache-
24
25
  * inflated 95-99% percent reading pass.
26
+ *
27
+ * Steve 2026-05-22 dogfood follow-up: even with the 300MB floor, the
28
+ * gate fires constantly on macOS because `os.freemem()` only counts
29
+ * STRICTLY-FREE pages — it excludes inactive + speculative pages that
30
+ * the kernel can reclaim on demand. On a typical Mac with 3GB+ of
31
+ * reclaimable cache, os.freemem() routinely reports 50-200MB while
32
+ * Activity Monitor / `vm_stat` show 3-4GB available. The reconciler
33
+ * was effectively never letting wakes through.
34
+ *
35
+ * Real fix: on macOS use `vm_stat` to compute AVAILABLE memory
36
+ * (free + inactive + speculative), which is what the kernel itself
37
+ * uses for OOM decisions. Linux's `os.freemem()` is accurate and
38
+ * keeps the old path.
25
39
  */
26
40
  export const MEMORY_PRESSURE_SPAWN_THRESHOLD = 90;
27
41
  export const MEMORY_PRESSURE_MIN_FREE_MB = 300;
28
42
  /** Cached total memory — never changes during process lifetime. */
29
43
  const cachedTotalMem = os.totalmem();
44
+ /**
45
+ * macOS detection. Evaluated on every call rather than captured at
46
+ * module load — tests need to flip platform after importing.
47
+ * Runtime overhead is negligible (os.platform is a sync getter).
48
+ */
49
+ function isDarwin() {
50
+ return os.platform() === 'darwin';
51
+ }
52
+ /**
53
+ * Throttled cache of the last `vm_stat` reading on macOS. Parsing
54
+ * `vm_stat` involves spawning a child process — at the reconciler's
55
+ * 10-second fast-loop cadence that's tolerable but not free. Hold the
56
+ * last reading for 1s so back-to-back callers in the same tick don't
57
+ * each fork.
58
+ */
59
+ const VM_STAT_CACHE_TTL_MS = 1_000;
60
+ let vmStatCache = null;
61
+ /**
62
+ * Read macOS `vm_stat` and compute available memory in bytes.
63
+ *
64
+ * macOS reports pages in 5 main buckets:
65
+ * - free: strictly unused, OS can hand out immediately
66
+ * - speculative: prefetched file pages, reclaimable instantly
67
+ * - inactive: pages not recently used, reclaimable on demand
68
+ * - active: hot working set — NOT reclaimable cheaply
69
+ * - wired: kernel/pinned — never reclaimable
70
+ *
71
+ * "Available" = free + speculative + inactive. This matches what the
72
+ * kernel uses when deciding OOM pressure, and what Activity Monitor
73
+ * shows as "Cached Files + Free" headroom.
74
+ *
75
+ * Returns null on any parse failure so the caller can fall back to
76
+ * `os.freemem()` (overly pessimistic but safe — we'd just over-gate,
77
+ * not under-gate, in the worst case).
78
+ */
79
+ function readMacFreeMemBytes() {
80
+ try {
81
+ const cached = vmStatCache;
82
+ if (cached && Date.now() - cached.at < VM_STAT_CACHE_TTL_MS) {
83
+ return cached.freeMB * 1024 * 1024;
84
+ }
85
+ // -c 1 reports a single sample; default is incremental. Trying to
86
+ // be conservative about runtime — vm_stat with no args takes ~50ms,
87
+ // -c 1 with no interval is essentially instant.
88
+ const out = execSync('vm_stat', { timeout: 1_000, encoding: 'utf8' });
89
+ // First line is the page size: "Mach Virtual Memory Statistics: (page size of 16384 bytes)"
90
+ const pageSizeMatch = out.match(/page size of (\d+) bytes/);
91
+ const pageSize = pageSizeMatch ? Number(pageSizeMatch[1]) : 4096;
92
+ const grab = (label) => {
93
+ const m = out.match(new RegExp(`Pages ${label}[^:]*:\\s+(\\d+)`));
94
+ return m ? Number(m[1]) : 0;
95
+ };
96
+ const freePages = grab('free');
97
+ const inactivePages = grab('inactive');
98
+ const specPages = grab('speculative');
99
+ const availableBytes = (freePages + inactivePages + specPages) * pageSize;
100
+ vmStatCache = { freeMB: availableBytes / 1024 / 1024, at: Date.now() };
101
+ return availableBytes;
102
+ }
103
+ catch {
104
+ return null;
105
+ }
106
+ }
107
+ /**
108
+ * Get the platform-appropriate free-memory reading in bytes.
109
+ *
110
+ * Exposed for tests; production callers should use {@link getMemoryStats}
111
+ * or {@link isUnderMemoryPressure} instead.
112
+ *
113
+ * @returns free memory in bytes; falls back to os.freemem() if the
114
+ * macOS vm_stat parse fails.
115
+ */
116
+ export function getAvailableMemoryBytes() {
117
+ if (isDarwin()) {
118
+ const mac = readMacFreeMemBytes();
119
+ if (mac !== null)
120
+ return mac;
121
+ // Fall through to os.freemem() — conservative but safe.
122
+ }
123
+ return os.freemem();
124
+ }
30
125
  /**
31
126
  * Check if the system is under memory pressure.
32
127
  *
@@ -34,17 +129,17 @@ const cachedTotalMem = os.totalmem();
34
129
  * - usedPercent >= MEMORY_PRESSURE_SPAWN_THRESHOLD (90%), AND
35
130
  * - freeMB < MEMORY_PRESSURE_MIN_FREE_MB (300MB)
36
131
  *
37
- * macOS file-cache inflation makes the percent reading misleading on
38
- * its own. Requiring the absolute-free-MB floor catches the actual
39
- * OOM-risk case (low real headroom) without permanently blocking
40
- * spawns on machines that simply have a hot file cache.
132
+ * On macOS, "free" includes reclaimable inactive+speculative pages
133
+ * (parsed from `vm_stat`) — without this the reading is ~50MB on a
134
+ * Mac that actually has gigabytes of headroom, and the gate would
135
+ * fire constantly. See module-doc comment for the dogfood history.
41
136
  *
42
137
  * @returns true if system should NOT spawn new processes
43
138
  */
44
139
  export function isUnderMemoryPressure() {
45
140
  if (cachedTotalMem === 0)
46
141
  return false;
47
- const free = os.freemem();
142
+ const free = getAvailableMemoryBytes();
48
143
  const usedPercent = ((cachedTotalMem - free) / cachedTotalMem) * 100;
49
144
  const freeMB = free / 1024 / 1024;
50
145
  // Both conditions must hold — percent is a soft signal, free-MB is
@@ -59,11 +154,15 @@ export function isUnderMemoryPressure() {
59
154
  export function getMemoryStats() {
60
155
  if (cachedTotalMem === 0)
61
156
  return { totalMB: 0, freeMB: 0, usedPercent: 0 };
62
- const free = os.freemem();
157
+ const free = getAvailableMemoryBytes();
63
158
  return {
64
159
  totalMB: Math.round(cachedTotalMem / 1024 / 1024),
65
160
  freeMB: Math.round(free / 1024 / 1024),
66
161
  usedPercent: Math.round(((cachedTotalMem - free) / cachedTotalMem) * 100 * 10) / 10,
67
162
  };
68
163
  }
164
+ /** Reset the vm_stat cache — test affordance. */
165
+ export function _resetVmStatCacheForTesting() {
166
+ vmStatCache = null;
167
+ }
69
168
  //# sourceMappingURL=system-health.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-health.util.js","sourceRoot":"","sources":["../../../../../../backend/src/services/core/system-health.util.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAClD,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C,mEAAmE;AACnE,MAAM,cAAc,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,cAAc,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAClC,mEAAmE;IACnE,0BAA0B;IAC1B,OAAO,CACL,WAAW,IAAI,+BAA+B;QAC9C,MAAM,GAAG,2BAA2B,CACrC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,cAAc,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;QACjD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;QACtC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE;KACpF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"system-health.util.js","sourceRoot":"","sources":["../../../../../../backend/src/services/core/system-health.util.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"activity-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/activity-monitor.service.ts"],"names":[],"mappings":"AAQA,OAAO,EAAgI,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGtL,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMzE;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,aAAa,CAAC;QAC7B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,aAAa,CAAC;QAC7B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,oBAAoB;IACpB,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAChD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;IAC/C,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,eAAe,CAAgC;IACvD,8DAA8D;IAC9D,OAAO,CAAC,wBAAwB,CAAkC;IAClE,oEAAoE;IACpE,OAAO,CAAC,gBAAgB,CAA0B;IAClD,iFAAiF;IACjF,OAAO,CAAC,kBAAkB,CAA6D;IACvF,4FAA4F;IAC5F,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO;IAQP;;OAEG;YACW,UAAU;WAUV,WAAW,IAAI,sBAAsB;IAOnD;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIlD;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;IA4C5B,YAAY,IAAI,IAAI;IAiBpB,WAAW,IAAI,IAAI;YAQZ,oBAAoB;IAoBlC;;;;;;;;OAQG;YACW,4BAA4B;IA+U1C;;OAEG;YACW,yBAAyB;IA+BvC;;OAEG;YACW,yBAAyB;IAiBvC;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAiB1C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiC9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAmD9B;;OAEG;YACW,iBAAiB;IAuBxB,SAAS,IAAI,OAAO;IAIpB,kBAAkB,IAAI,MAAM;IAInC;;;OAGG;IACU,oBAAoB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAInE;;OAEG;IACU,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAiB5F"}
1
+ {"version":3,"file":"activity-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/activity-monitor.service.ts"],"names":[],"mappings":"AAQA,OAAO,EAAgI,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGtL,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMzE;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,aAAa,CAAC;QAC7B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,aAAa,CAAC;QAC7B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,oBAAoB;IACpB,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAChD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;IAC/C,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,eAAe,CAAgC;IACvD,8DAA8D;IAC9D,OAAO,CAAC,wBAAwB,CAAkC;IAClE,oEAAoE;IACpE,OAAO,CAAC,gBAAgB,CAA0B;IAClD,iFAAiF;IACjF,OAAO,CAAC,kBAAkB,CAA6D;IACvF,4FAA4F;IAC5F,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO;IAQP;;OAEG;YACW,UAAU;WAUV,WAAW,IAAI,sBAAsB;IAOnD;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIlD;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;IAmD5B,YAAY,IAAI,IAAI;IAiBpB,WAAW,IAAI,IAAI;YAQZ,oBAAoB;IAoBlC;;;;;;;;OAQG;YACW,4BAA4B;IA+U1C;;OAEG;YACW,yBAAyB;IA+BvC;;OAEG;YACW,yBAAyB;IAiBvC;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAiB1C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiC9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAmD9B;;OAEG;YACW,iBAAiB;IAuBxB,SAAS,IAAI,OAAO;IAIpB,kBAAkB,IAAI,MAAM;IAInC;;;OAGG;IACU,oBAAoB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAInE;;OAEG;IACU,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAiB5F"}
@@ -138,7 +138,14 @@ export class ActivityMonitorService {
138
138
  }
139
139
  else {
140
140
  if (elapsed >= PTY_CONSTANTS.MIN_BUSY_DURATION_MS && this.busyEventEmitted.has(key) && this.eventBusService) {
141
+ // Generic event (back-compat for fleet dashboards / auto-claim / etc.)
141
142
  this.eventBusService.publish(this.buildAgentEvent('agent:idle', now, identity, previousStatus, newStatus));
143
+ // 2026-05-20 follow-up: the in-process busy guard above (`busyEventEmitted`)
144
+ // guarantees we only reach this branch when the agent was actually
145
+ // observed busy first — so this transition is unambiguously
146
+ // post-task. Emit the precise variant so peer-watch triggers
147
+ // can filter on it without being woken by registration-idle.
148
+ this.eventBusService.publish(this.buildAgentEvent('agent:idle_after_task', now, identity, previousStatus, newStatus));
142
149
  }
143
150
  this.busyTransitionTimestamps.delete(key);
144
151
  this.busyEventEmitted.delete(key);
@@ -1 +1 @@
1
- {"version":3,"file":"activity-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/activity-monitor.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activity-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/activity-monitor.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"teams-json-watcher.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/teams-json-watcher.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIzE;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAc;;IAYnC;;OAEG;IACH,sBAAsB,CAAC,mBAAmB,EAAE,4BAA4B,GAAG,IAAI;IAI/E;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIlD;;OAEG;IACH,KAAK,IAAI,IAAI;IA4Db;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAoCpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;IACH,IAAI,IAAI,IAAI;IA8BZ;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;YACW,sBAAsB;IAyCpC;;;OAGG;YACW,4BAA4B;IA8B1C;;OAEG;YACW,sBAAsB;IAmCpC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA2E1B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAwGlC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAuBjC;;OAEG;IACH,SAAS,IAAI;QACX,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB;IAwBD;;OAEG;IACH,YAAY,CAAC,MAAM,GAAE,MAAyB,GAAG,IAAI;IAKrD;;OAEG;IACH,OAAO,CAAC,OAAO;CAKhB"}
1
+ {"version":3,"file":"teams-json-watcher.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/teams-json-watcher.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIzE;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAc;;IAYnC;;OAEG;IACH,sBAAsB,CAAC,mBAAmB,EAAE,4BAA4B,GAAG,IAAI;IAI/E;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIlD;;OAEG;IACH,KAAK,IAAI,IAAI;IA4Db;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAoCpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;IACH,IAAI,IAAI,IAAI;IA8BZ;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;YACW,sBAAsB;IAyCpC;;;OAGG;YACW,4BAA4B;IA8B1C;;OAEG;YACW,sBAAsB;IAmCpC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAoG1B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAwGlC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAuBjC;;OAEG;IACH,SAAS,IAAI;QACX,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB;IAwBD;;OAEG;IACH,YAAY,CAAC,MAAM,GAAE,MAAyB,GAAG,IAAI;IAKrD;;OAEG;IACH,OAAO,CAAC,OAAO;CAKhB"}
@@ -403,6 +403,29 @@ export class TeamsJsonWatcherService extends EventEmitter {
403
403
  changedField: 'workingStatus',
404
404
  };
405
405
  this.eventBusService.publish(workingEvent);
406
+ // 2026-05-20 follow-up — disambiguate idle transitions for
407
+ // peer-watch triggers. The file-watcher sees raw `oldValue →
408
+ // newValue` transitions; we can distinguish:
409
+ // - prev was `in_progress` → this is `agent:idle_after_task`
410
+ // - prev was unset/null/empty (fresh-registration row) →
411
+ // `agent:idle_after_registration`
412
+ // We do NOT emit the precise variant when we can't tell
413
+ // (e.g. prev='idle', new='idle' — that case is filtered out
414
+ // by the outer guard anyway).
415
+ if (newMember.workingStatus === 'idle') {
416
+ const wasBusy = oldMember.workingStatus === 'in_progress';
417
+ const wasUnset = !oldMember.workingStatus;
418
+ const preciseType = wasBusy ? 'agent:idle_after_task'
419
+ : wasUnset ? 'agent:idle_after_registration'
420
+ : null;
421
+ if (preciseType) {
422
+ this.eventBusService.publish({
423
+ ...workingEvent,
424
+ id: crypto.randomUUID(),
425
+ type: preciseType,
426
+ });
427
+ }
428
+ }
406
429
  }
407
430
  }
408
431
  }