@monoes/monomindcli 2.3.3 → 2.4.0

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 (69) hide show
  1. package/.claude/commands/mastermind/{approve.md → approvev1.md} +12 -9
  2. package/.claude/commands/mastermind/help.md +18 -0
  3. package/.claude/commands/mastermind/master.md +3 -3
  4. package/.claude/commands/mastermind/runorg.md +19 -107
  5. package/.claude/commands/mastermind/runorgv1.md +159 -0
  6. package/.claude/helpers/handlers/route-handler.cjs +50 -4
  7. package/.claude/helpers/handlers/session-restore-handler.cjs +25 -18
  8. package/.claude/skills/mastermind-skills/agents.md +5 -1
  9. package/.claude/skills/mastermind-skills/{approve.md → approvev1.md} +8 -5
  10. package/.claude/skills/mastermind-skills/env.md +7 -2
  11. package/.claude/skills/mastermind-skills/{heartbeat.md → heartbeatv1.md} +7 -4
  12. package/.claude/skills/mastermind-skills/inbox.md +14 -2
  13. package/.claude/skills/mastermind-skills/instance.md +3 -1
  14. package/.claude/skills/mastermind-skills/org-settings.md +4 -1
  15. package/.claude/skills/mastermind-skills/orgs.md +14 -13
  16. package/.claude/skills/mastermind-skills/orgstatus.md +19 -8
  17. package/.claude/skills/mastermind-skills/projects.md +3 -0
  18. package/.claude/skills/mastermind-skills/runorg.md +37 -725
  19. package/.claude/skills/mastermind-skills/runorgv1.md +731 -0
  20. package/.claude/skills/mastermind-skills/stoporg.md +10 -3
  21. package/.claude/skills/mastermind-skills/tasks.md +4 -1
  22. package/README.md +37 -4
  23. package/dist/src/commands/cleanup.d.ts.map +1 -1
  24. package/dist/src/commands/cleanup.js +30 -8
  25. package/dist/src/commands/cleanup.js.map +1 -1
  26. package/dist/src/commands/doc.d.ts.map +1 -1
  27. package/dist/src/commands/doc.js +36 -8
  28. package/dist/src/commands/doc.js.map +1 -1
  29. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  30. package/dist/src/commands/doctor-project-checks.js +23 -10
  31. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  32. package/dist/src/commands/org-observe.d.ts.map +1 -1
  33. package/dist/src/commands/org-observe.js +30 -26
  34. package/dist/src/commands/org-observe.js.map +1 -1
  35. package/dist/src/commands/org.d.ts.map +1 -1
  36. package/dist/src/commands/org.js +52 -2
  37. package/dist/src/commands/org.js.map +1 -1
  38. package/dist/src/index.d.ts.map +1 -1
  39. package/dist/src/index.js +7 -0
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/knowledge/document-pipeline.d.ts +2 -0
  42. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  43. package/dist/src/knowledge/document-pipeline.js +148 -45
  44. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  45. package/dist/src/memory/memory-bridge.d.ts +9 -0
  46. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  47. package/dist/src/memory/memory-bridge.js +115 -68
  48. package/dist/src/memory/memory-bridge.js.map +1 -1
  49. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  50. package/dist/src/orgrt/daemon.js +45 -9
  51. package/dist/src/orgrt/daemon.js.map +1 -1
  52. package/dist/src/orgrt/mailbox.d.ts +23 -0
  53. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  54. package/dist/src/orgrt/mailbox.js +33 -1
  55. package/dist/src/orgrt/mailbox.js.map +1 -1
  56. package/dist/src/orgrt/migrate.d.ts +26 -0
  57. package/dist/src/orgrt/migrate.d.ts.map +1 -0
  58. package/dist/src/orgrt/migrate.js +111 -0
  59. package/dist/src/orgrt/migrate.js.map +1 -0
  60. package/dist/src/orgrt/reporting.js +8 -1
  61. package/dist/src/orgrt/reporting.js.map +1 -1
  62. package/dist/src/orgrt/session.d.ts.map +1 -1
  63. package/dist/src/orgrt/session.js +8 -2
  64. package/dist/src/orgrt/session.js.map +1 -1
  65. package/dist/src/ui/dashboard.html +44 -0
  66. package/dist/src/ui/orgs.html +2 -2
  67. package/dist/src/ui/server.mjs +25 -4
  68. package/dist/tsconfig.tsbuildinfo +1 -1
  69. package/package.json +2 -2
@@ -70,22 +70,37 @@ function realOrResolved(p) {
70
70
  return p;
71
71
  }
72
72
  }
73
+ /** The personal, cross-project knowledge store. Deliberately a SIBLING of
74
+ * ~/.monomind/projects (never inside it) so per-project pruning heuristics
75
+ * (`cleanup --data`) can never touch it. Env-overridable for tests and for
76
+ * users who keep their brain on a synced/external location. Resolved lazily
77
+ * so the override works regardless of import order. */
78
+ export function getGlobalBrainDir() {
79
+ return process.env.MONOMIND_GLOBAL_BRAIN_DIR || path.join(os.homedir(), '.monomind', 'global-brain');
80
+ }
81
+ /** Sentinel callers pass as dbPath to address the global brain. */
82
+ export const GLOBAL_BRAIN = '@global';
73
83
  function getDbPath(customPath) {
74
84
  const defaultDir = path.join(projectDataDir(), 'lancedb');
75
85
  if (!customPath || customPath === ':memory:')
76
86
  return defaultDir;
87
+ if (customPath === GLOBAL_BRAIN)
88
+ return getGlobalBrainDir();
77
89
  // Treat legacy .db paths (and the legacy .swarm dir) as a signal to use the default
78
90
  if (customPath.endsWith('.db'))
79
91
  return defaultDir;
80
92
  const resolved = realOrResolved(path.resolve(customPath));
81
93
  // Guard against path traversal from MCP inputs: only allow paths inside the
82
- // project or inside the per-project home data dir.
94
+ // project, the per-project home data dir, or the global brain.
83
95
  const relCwd = path.relative(realOrResolved(process.cwd()), resolved);
84
96
  const relHome = path.relative(realOrResolved(projectDataDir()), resolved);
97
+ const relGlobal = path.relative(realOrResolved(getGlobalBrainDir()), resolved);
85
98
  if (!relCwd.startsWith('..') && !path.isAbsolute(relCwd))
86
99
  return resolved;
87
100
  if (!relHome.startsWith('..') && !path.isAbsolute(relHome))
88
101
  return resolved;
102
+ if (!relGlobal.startsWith('..') && !path.isAbsolute(relGlobal))
103
+ return resolved;
89
104
  return defaultDir;
90
105
  }
91
106
  /** Resolve the real on-disk LanceDB path for a given custom path (or the default). */
@@ -114,13 +129,10 @@ function getAutomemConfig() {
114
129
  function generateId(prefix) {
115
130
  return `${prefix}_${Date.now()}_${crypto.randomBytes(8).toString('hex')}`;
116
131
  }
117
- // ===== Lazy singleton LanceDB backend =====
118
- let backendPromise = null;
119
- let backendInstance = null;
120
- let bridgeAvailable = null;
132
+ const backendSlots = new Map();
121
133
  let _embedder = null;
134
+ let _embedderPromise = null;
122
135
  const MAX_INIT_ATTEMPTS = 3;
123
- let initAttempts = 0;
124
136
  /** Flush after mutations: the sql.js fallback backend is in-memory WASM and
125
137
  * only reaches disk via persist(); the CLI process is short-lived, so waiting
126
138
  * for an auto-persist interval would lose writes. No-op on better-sqlite3. */
@@ -130,59 +142,73 @@ async function flushBackend(backend) {
130
142
  }
131
143
  catch { /* best effort */ }
132
144
  }
145
+ async function loadEmbedder() {
146
+ if (_embedder)
147
+ return;
148
+ if (!_embedderPromise) {
149
+ _embedderPromise = (async () => {
150
+ try {
151
+ const hf = await import('@huggingface/transformers');
152
+ // revision must be a git ref — 'main' is the HF default; 'default' 404s and
153
+ // silently killed embeddings (every search degraded to keyword matching)
154
+ // dtype pinned explicitly: transformers.js logs a "dtype not specified"
155
+ // warning to the console on every load otherwise (leaks into CLI output).
156
+ const extractor = await hf.pipeline('feature-extraction', BRIDGE_EMBEDDING_MODEL, { revision: 'main', dtype: 'fp32' });
157
+ _embedder = async (text) => {
158
+ const output = await extractor(text, { pooling: 'mean', normalize: true });
159
+ return new Float32Array(output.data);
160
+ };
161
+ }
162
+ catch (e) {
163
+ _embedderPromise = null; // allow retry (e.g. first call offline)
164
+ if (process.env.DEBUG || process.env.MONOMIND_DEBUG)
165
+ console.error('[memory-bridge] embedding model failed to load — store and search without vectors:', e);
166
+ }
167
+ })();
168
+ }
169
+ await _embedderPromise;
170
+ }
133
171
  async function getBackend(dbPath) {
134
- if (bridgeAvailable === false)
172
+ const dir = getDbPath(dbPath);
173
+ let slot = backendSlots.get(dir);
174
+ if (!slot) {
175
+ slot = { promise: null, instance: null, available: null, attempts: 0 };
176
+ backendSlots.set(dir, slot);
177
+ }
178
+ if (slot.available === false)
135
179
  return null;
136
- if (initAttempts >= MAX_INIT_ATTEMPTS) {
137
- bridgeAvailable = false;
180
+ if (slot.attempts >= MAX_INIT_ATTEMPTS) {
181
+ slot.available = false;
138
182
  return null;
139
183
  }
140
- if (backendInstance)
141
- return backendInstance;
142
- if (!backendPromise) {
143
- backendPromise = (async () => {
184
+ if (slot.instance)
185
+ return slot.instance;
186
+ if (!slot.promise) {
187
+ slot.promise = (async () => {
144
188
  try {
145
189
  const mod = await import('@monoes/memory');
146
- // Try to create embedding generator from HuggingFace transformers
147
- let embeddingGenerator;
148
- try {
149
- const hf = await import('@huggingface/transformers');
150
- // revision must be a git ref — 'main' is the HF default; 'default' 404s and
151
- // silently killed embeddings (every search degraded to keyword matching)
152
- // dtype pinned explicitly: transformers.js logs a "dtype not specified"
153
- // warning to the console on every load otherwise (leaks into CLI output).
154
- const extractor = await hf.pipeline('feature-extraction', BRIDGE_EMBEDDING_MODEL, { revision: 'main', dtype: 'fp32' });
155
- embeddingGenerator = async (text) => {
156
- const output = await extractor(text, { pooling: 'mean', normalize: true });
157
- return new Float32Array(output.data);
158
- };
159
- _embedder = embeddingGenerator;
160
- }
161
- catch (e) {
162
- if (process.env.DEBUG || process.env.MONOMIND_DEBUG)
163
- console.error('[memory-bridge] embedding model failed to load — store and search without vectors:', e);
164
- }
190
+ await loadEmbedder();
165
191
  // Local SQLite engine (LanceDB replaced 2026-07): better-sqlite3 when its
166
192
  // native binding loads, sql.js (pure WASM) otherwise — both persist text
167
193
  // AND embeddings, so vectors are always recomputable/derivable data.
168
- // getDbPath keeps its traversal guard and directory semantics; the SQLite
169
- // file lives inside that directory.
170
- const dir = getDbPath(dbPath);
171
194
  fs.mkdirSync(dir, { recursive: true });
172
195
  // Origin marker: records which project this data dir belongs to, so
173
196
  // `monomind cleanup --data` can verifiably prune dirs whose project
174
- // no longer exists (the dir-name hash is one-way). Best-effort.
175
- try {
176
- const originFile = path.join(projectDataDir(), 'origin.json');
177
- fs.writeFileSync(originFile, JSON.stringify({ path: path.resolve(process.cwd()), updatedAt: new Date().toISOString() }) + '\n', 'utf-8');
197
+ // no longer exists (the dir-name hash is one-way). Best-effort; never
198
+ // written for the global brain (it has no single origin project).
199
+ if (dir !== getGlobalBrainDir()) {
200
+ try {
201
+ const originFile = path.join(projectDataDir(), 'origin.json');
202
+ fs.writeFileSync(originFile, JSON.stringify({ path: path.resolve(process.cwd()), updatedAt: new Date().toISOString() }) + '\n', 'utf-8');
203
+ }
204
+ catch { /* non-fatal */ }
178
205
  }
179
- catch { /* non-fatal */ }
180
206
  const cfg = {
181
207
  databasePath: path.join(dir, 'memory.db'),
182
208
  walMode: true,
183
209
  optimize: true,
184
210
  defaultNamespace: 'default',
185
- embeddingGenerator,
211
+ embeddingGenerator: _embedder ?? undefined,
186
212
  };
187
213
  const origLog = console.log;
188
214
  console.log = (...args) => {
@@ -207,20 +233,20 @@ async function getBackend(dbPath) {
207
233
  finally {
208
234
  console.log = origLog;
209
235
  }
210
- backendInstance = backend;
211
- bridgeAvailable = true;
236
+ slot.instance = backend;
237
+ slot.available = true;
212
238
  return backend;
213
239
  }
214
240
  catch {
215
- initAttempts++;
216
- backendPromise = null;
217
- if (initAttempts >= MAX_INIT_ATTEMPTS)
218
- bridgeAvailable = false;
241
+ slot.attempts++;
242
+ slot.promise = null;
243
+ if (slot.attempts >= MAX_INIT_ATTEMPTS)
244
+ slot.available = false;
219
245
  return null;
220
246
  }
221
247
  })();
222
248
  }
223
- return backendPromise;
249
+ return slot.promise;
224
250
  }
225
251
  // ===== Core CRUD =====
226
252
  export async function bridgeStoreEntry(options) {
@@ -263,23 +289,26 @@ export async function bridgeStoreEntry(options) {
263
289
  entry.id = id;
264
290
  if (embedding)
265
291
  entry.embedding = embedding;
266
- // Upsert: delete existing entry with same key+namespace first
292
+ // Upsert: find any existing entry with the same key+namespace — deleted
293
+ // only AFTER the new entry stores successfully, so a failed store() can't
294
+ // destroy the existing data (old order was delete-then-store).
295
+ let upsertVictim = null;
267
296
  if (options.upsert) {
268
297
  try {
269
- const existing = await backend.getByKey(namespace, key);
270
- if (existing)
271
- await backend.delete(existing.id);
272
- }
273
- catch (e) {
274
- if (process.env.DEBUG || process.env.MONOMIND_DEBUG)
275
- console.error('[memory-bridge] upsert failed to delete existing entry — may create a duplicate:', e);
298
+ upsertVictim = await backend.getByKey(namespace, key);
276
299
  }
300
+ catch { /* treat as no existing entry */ }
277
301
  }
278
- // Dedup gate: skip if a near-duplicate already exists
302
+ // Dedup gate: skip if a near-duplicate already exists IN THIS NAMESPACE —
303
+ // an unscoped search let a similar entry in some other namespace swallow
304
+ // the store entirely (returned duplicate:true, nothing written where asked).
279
305
  const automemCfg = getAutomemConfig();
280
306
  if (embedding && !options.upsert) {
281
307
  try {
282
- const similar = await backend.search(embedding, { k: 1, threshold: automemCfg.dedupThreshold });
308
+ const similar = await backend.search(embedding, {
309
+ k: 1, threshold: automemCfg.dedupThreshold,
310
+ filters: { type: 'exact', namespace },
311
+ });
283
312
  if (similar.length > 0 && similar[0].score >= automemCfg.dedupThreshold) {
284
313
  return { success: true, id: similar[0].entry.id, duplicate: true };
285
314
  }
@@ -287,6 +316,15 @@ export async function bridgeStoreEntry(options) {
287
316
  catch { /* non-fatal — store anyway */ }
288
317
  }
289
318
  await backend.store(entry);
319
+ if (upsertVictim && upsertVictim.id !== id) {
320
+ try {
321
+ await backend.delete(upsertVictim.id);
322
+ }
323
+ catch (e) {
324
+ if (process.env.DEBUG || process.env.MONOMIND_DEBUG)
325
+ console.error('[memory-bridge] upsert stored new entry but failed to delete the old one — duplicate may remain:', e);
326
+ }
327
+ }
290
328
  await flushBackend(backend);
291
329
  return { success: true, id, embedding: embeddingInfo };
292
330
  }
@@ -320,6 +358,7 @@ export async function bridgeSearchEntries(options) {
320
358
  score: r.score,
321
359
  namespace: r.entry.namespace,
322
360
  provenance: `semantic:${r.score.toFixed(3)}`,
361
+ tags: r.entry.tags ?? [],
323
362
  _createdAt: r.entry.createdAt || 0,
324
363
  }));
325
364
  searchMethod = 'semantic';
@@ -329,9 +368,11 @@ export async function bridgeSearchEntries(options) {
329
368
  // Keyword fallback — scan all entries in namespace (not just first 100)
330
369
  // to avoid missing documents that were ingested later in the batch.
331
370
  if (results.length === 0) {
371
+ // No namespace filter means ALL namespaces — collapsing to 'default'
372
+ // made "search everything" silently miss every non-default entry.
332
373
  const entries = await backend.query({
333
374
  type: 'exact',
334
- namespace: namespace ?? 'default',
375
+ ...(namespace ? { namespace } : {}),
335
376
  limit: 50000,
336
377
  });
337
378
  // Token-based matching, not whole-phrase substring: "semantic test" must
@@ -356,6 +397,7 @@ export async function bridgeSearchEntries(options) {
356
397
  score: Math.min(0.9, 0.3 + score * 0.6),
357
398
  namespace: e.namespace,
358
399
  provenance: `keyword:${score.toFixed(2)}`,
400
+ tags: e.tags ?? [],
359
401
  _createdAt: e.createdAt || 0,
360
402
  }));
361
403
  }
@@ -363,11 +405,16 @@ export async function bridgeSearchEntries(options) {
363
405
  }
364
406
  // Filter stale entries based on automem config — skip for knowledge
365
407
  // namespaces (documents should remain searchable indefinitely)
408
+ // Stale filtering is per-RESULT namespace (documents stay searchable
409
+ // forever) — keying it on the query's namespace filter meant an
410
+ // all-namespace search silently dropped knowledge:* results past the
411
+ // stale cutoff.
366
412
  const isKnowledgeNs = namespace?.startsWith('knowledge:');
367
413
  if (!isKnowledgeNs) {
368
414
  const { staleDays } = getAutomemConfig();
369
415
  const staleCutoff = Date.now() - staleDays * 86400000;
370
- results = results.filter((r) => !r._createdAt || r._createdAt > staleCutoff);
416
+ results = results.filter((r) => String(r.namespace ?? '').startsWith('knowledge:')
417
+ || !r._createdAt || r._createdAt > staleCutoff);
371
418
  }
372
419
  results.forEach((r) => delete r._createdAt);
373
420
  return {
@@ -579,17 +626,17 @@ export async function getControllerRegistry(dbPath) {
579
626
  return getBackend(dbPath);
580
627
  }
581
628
  export async function shutdownBridge() {
582
- if (backendInstance) {
583
- try {
584
- await backendInstance.shutdown();
629
+ for (const slot of backendSlots.values()) {
630
+ if (slot.instance) {
631
+ try {
632
+ await slot.instance.shutdown();
633
+ }
634
+ catch { /* ignore */ }
585
635
  }
586
- catch { /* ignore */ }
587
636
  }
588
- backendInstance = null;
589
- backendPromise = null;
590
- bridgeAvailable = null;
637
+ backendSlots.clear();
591
638
  _embedder = null;
592
- initAttempts = 0;
639
+ _embedderPromise = null;
593
640
  }
594
641
  // ===== Pattern store =====
595
642
  export async function bridgeStorePattern(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-bridge.js","sourceRoot":"","sources":["../../../src/memory/memory-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-bridge.js","sourceRoot":"","sources":["../../../src/memory/memory-bridge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/orgrt/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/orgrt/daemon.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,12 @@ export class OrgDaemon {
63
63
  const running = { def, run, bus, agents: new Map(), busEvents: () => [...collected] };
64
64
  this.orgs.set(name, running);
65
65
  const perRoleBudget = Math.floor((def.run_config.budget_tokens ?? 1_000_000) / def.roles.length);
66
+ // Single boss-selection rule for kickoff AND org_complete gating — the
67
+ // session layer previously keyed the tool on reports_to===null while the
68
+ // kickoff went to (type==='boss' || reports_to===null || roles[0]), so a
69
+ // fallback-selected boss could be told to call org_complete without having
70
+ // the tool.
71
+ const bossRole = def.roles.find(r => r.type === 'boss' || r.reports_to === null) ?? def.roles[0];
66
72
  for (const role of def.roles) {
67
73
  const mailbox = new Mailbox();
68
74
  const policy = new PolicyEngine(role.id, { maxTokens: perRoleBudget, ...(role.policy ?? {}) }, bus, cwd);
@@ -72,9 +78,11 @@ export class OrgDaemon {
72
78
  maxTurns: def.run_config.max_turns_per_message,
73
79
  deliver: (from, to, subject, body) => this.deliver(name, from, to, subject, body),
74
80
  askHuman: (r, question) => this.askHuman(name, r, question),
75
- onComplete: (r, outcome, summary) => {
76
- bus.emit({ type: 'status', from: r, reason: 'org-complete', msg: `run outcome: ${outcome}`, data: { outcome, summary } });
77
- },
81
+ onComplete: role.id === bossRole.id
82
+ ? (r, outcome, summary) => {
83
+ bus.emit({ type: 'status', from: r, reason: 'org-complete', msg: `run outcome: ${outcome}`, data: { outcome, summary } });
84
+ }
85
+ : undefined,
78
86
  recall: async (r, q) => {
79
87
  const answer = await this.recallOrgMemory(name, def, q);
80
88
  bus.emit({ type: 'status', from: r, reason: 'org-recall', msg: `recall: ${q.slice(0, 80)}`, data: { hits: answer.hits } });
@@ -98,10 +106,18 @@ export class OrgDaemon {
98
106
  return;
99
107
  }
100
108
  catch (err) {
109
+ // Drop the crashed session's stale waker immediately: a push()
110
+ // during the backoff window must queue for the NEXT session, not
111
+ // wake the dead generator to swallow it.
112
+ mailbox.detach();
101
113
  const message = err instanceof Error ? err.message : String(err);
102
114
  const crash = () => {
103
115
  runtime.status = 'crashed';
104
116
  runtime.error = message;
117
+ // Close the mailbox so deliver()/receiveRemote() report a real
118
+ // error instead of pushing into a queue no session will read
119
+ // (and returning a false "delivered" receipt to the sender).
120
+ mailbox.close();
105
121
  bus.emit({
106
122
  type: 'audit', from: role.id,
107
123
  msg: `agent "${role.id}" crashed: ${message}`,
@@ -127,7 +143,7 @@ export class OrgDaemon {
127
143
  })();
128
144
  running.agents.set(role.id, runtime);
129
145
  }
130
- const boss = def.roles.find(r => r.type === 'boss' || r.reports_to === null) ?? def.roles[0];
146
+ const boss = bossRole;
131
147
  // Cross-run memory: brief the coordinator on the previous run so scheduled
132
148
  // orgs accumulate instead of starting cold every interval.
133
149
  const prev = readHistory(this.root, name).at(-1);
@@ -195,6 +211,10 @@ export class OrgDaemon {
195
211
  return `ERROR: unknown recipient "${toQualified}" (known: ${[...(targetOrg?.agents.keys() ?? this.orgs.keys())].join(', ')})`;
196
212
  }
197
213
  const targetAgent = targetOrg.agents.get(targetRole);
214
+ if (targetAgent.status === 'crashed') {
215
+ src?.bus.emit({ type: 'audit', from: fromRole, to: toQualified, msg: `undeliverable: ${subject}`, reason: 'recipient crashed (retry budget exhausted)' });
216
+ return `ERROR: recipient "${toQualified}" crashed and will not recover this run — message not delivered (${targetAgent.error ?? 'unknown error'})`;
217
+ }
198
218
  if (targetAgent.mailbox.isClosed) {
199
219
  // The org is mid-shutdown: mailboxes close before the org is removed
200
220
  // from `this.orgs`, so a message can arrive in that window. push() would
@@ -262,6 +282,8 @@ export class OrgDaemon {
262
282
  const agent = org.agents.get(toRole);
263
283
  if (!agent)
264
284
  return { ok: false, error: `role "${toRole}" not found in org "${toOrg}"` };
285
+ if (agent.status === 'crashed')
286
+ return { ok: false, error: `role "${toRole}" in org "${toOrg}" crashed and will not recover this run` };
265
287
  if (agent.mailbox.isClosed)
266
288
  return { ok: false, error: `role "${toRole}" in org "${toOrg}" is shutting down` };
267
289
  org.bus.emit({ type: 'xorg', from: fromQualified, to: `${toOrg}:${toRole}`, subject, msg: body });
@@ -364,6 +386,11 @@ export class OrgDaemon {
364
386
  // is already gone and no-ops instead of re-running the whole shutdown and
365
387
  // double-emitting 'org stopped' (duplicate org:complete/session:complete).
366
388
  this.orgs.delete(name);
389
+ // Capture THIS run's forwarder now: an autoWake-restart of the same org
390
+ // during the long tail below (agent wait, flush, history write) would
391
+ // register a NEW forwarder under the same name — settling/unsubscribing
392
+ // that one would sever the new run's dashboard stream.
393
+ const forwarder = this.forwarders.get(name);
367
394
  this.leases.get(name)?.stop();
368
395
  this.leases.delete(name);
369
396
  for (const a of org.agents.values())
@@ -402,14 +429,23 @@ export class OrgDaemon {
402
429
  // the "org stopped" event above triggers the forwarder's final org:complete /
403
430
  // session:complete POST — without waiting for it here, the CLI process can exit
404
431
  // (and kill the in-flight fetch) before that last event reaches the dashboard,
405
- // leaving the run stuck showing "running" forever.
406
- const forwarder = this.forwarders.get(name);
432
+ // leaving the run stuck showing "running" forever. Bounded: a stalled
433
+ // dashboard must not hang org shutdown indefinitely.
407
434
  if (forwarder) {
408
- await forwarder.settle();
435
+ await Promise.race([
436
+ forwarder.settle(),
437
+ new Promise(r => { const t = setTimeout(r, 5_000); t.unref?.(); }),
438
+ ]);
409
439
  forwarder.unsubscribe();
410
- this.forwarders.delete(name);
440
+ // Only remove from the map if it's still OURS — an autoWake-restart may
441
+ // have registered the new run's forwarder under this name meanwhile.
442
+ if (this.forwarders.get(name) === forwarder)
443
+ this.forwarders.delete(name);
411
444
  }
412
- this.persistState(name, 'stopped', org.run);
445
+ // Same guard for runtime.json: if a new run started during shutdown, its
446
+ // 'running' record must not be overwritten with this old run's 'stopped'.
447
+ if (!this.orgs.has(name))
448
+ this.persistState(name, 'stopped', org.run);
413
449
  }
414
450
  async stopAll() {
415
451
  await Promise.all([...this.orgs.keys()].map(n => this.stopOrg(n)));