@monoes/monomindcli 2.16.7 → 2.16.9

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 (60) hide show
  1. package/.claude/agents/github/monoswarm-multi-repo.md +2 -2
  2. package/.claude/agents/github/sync-coordinator.md +1 -1
  3. package/.claude/helpers/build-skill-registry.cjs +4 -3
  4. package/dist/src/commands/hooks-extended-commands.d.ts.map +1 -1
  5. package/dist/src/commands/hooks-extended-commands.js +6 -1
  6. package/dist/src/commands/hooks-extended-commands.js.map +1 -1
  7. package/dist/src/commands/hooks-workers.d.ts.map +1 -1
  8. package/dist/src/commands/hooks-workers.js +8 -3
  9. package/dist/src/commands/hooks-workers.js.map +1 -1
  10. package/dist/src/mcp-tools/hooks-embedding.d.ts +2 -1
  11. package/dist/src/mcp-tools/hooks-embedding.d.ts.map +1 -1
  12. package/dist/src/mcp-tools/hooks-embedding.js +3 -0
  13. package/dist/src/mcp-tools/hooks-embedding.js.map +1 -1
  14. package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
  15. package/dist/src/mcp-tools/hooks-intelligence.js +9 -7
  16. package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
  17. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  18. package/dist/src/mcp-tools/hooks-routing.js +20 -27
  19. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  20. package/dist/src/memory/memory-bridge.d.ts +13 -0
  21. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  22. package/dist/src/memory/memory-bridge.js +68 -20
  23. package/dist/src/memory/memory-bridge.js.map +1 -1
  24. package/dist/src/monovector/model-outcomes.d.ts +4 -2
  25. package/dist/src/monovector/model-outcomes.d.ts.map +1 -1
  26. package/dist/src/monovector/model-outcomes.js +11 -3
  27. package/dist/src/monovector/model-outcomes.js.map +1 -1
  28. package/dist/src/orgrt/agent-runner.d.ts +6 -0
  29. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  30. package/dist/src/orgrt/agent-runner.js +20 -7
  31. package/dist/src/orgrt/agent-runner.js.map +1 -1
  32. package/dist/src/orgrt/budget-closure.d.ts +20 -8
  33. package/dist/src/orgrt/budget-closure.d.ts.map +1 -1
  34. package/dist/src/orgrt/budget-closure.js +250 -49
  35. package/dist/src/orgrt/budget-closure.js.map +1 -1
  36. package/dist/src/orgrt/daemon.d.ts +9 -2
  37. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  38. package/dist/src/orgrt/daemon.js +5 -46
  39. package/dist/src/orgrt/daemon.js.map +1 -1
  40. package/dist/src/orgrt/policy-hook.d.ts +35 -0
  41. package/dist/src/orgrt/policy-hook.d.ts.map +1 -0
  42. package/dist/src/orgrt/policy-hook.js +62 -0
  43. package/dist/src/orgrt/policy-hook.js.map +1 -0
  44. package/dist/src/orgrt/policy.d.ts.map +1 -1
  45. package/dist/src/orgrt/policy.js +1 -0
  46. package/dist/src/orgrt/policy.js.map +1 -1
  47. package/dist/src/orgrt/session.d.ts.map +1 -1
  48. package/dist/src/orgrt/session.js +14 -11
  49. package/dist/src/orgrt/session.js.map +1 -1
  50. package/dist/src/orgrt/task-tools.d.ts.map +1 -1
  51. package/dist/src/orgrt/task-tools.js +1 -0
  52. package/dist/src/orgrt/task-tools.js.map +1 -1
  53. package/dist/src/orgrt/tool-fence.d.ts +6 -1
  54. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  55. package/dist/src/orgrt/tool-fence.js +19 -3
  56. package/dist/src/orgrt/tool-fence.js.map +1 -1
  57. package/dist/tsconfig.tsbuildinfo +1 -1
  58. package/org-skills/api-designer/SKILL.md +1 -1
  59. package/org-skills/code-documenter/SKILL.md +1 -1
  60. package/package.json +2 -2
@@ -5,13 +5,18 @@
5
5
  // assigned to it used to stay 'ready' forever behind a bus warning that the
6
6
  // assignee was "crashed or unreachable", so the coordinator took it for a
7
7
  // dispatch stall. Here: such tasks are held as 'blocked' with the reason, the
8
- // coordinator is told, a role nearing its budget_usd is flagged, and a hot
9
- // reload that raises the budget reopens the role with its spend kept.
8
+ // coordinator is told, a role nearing its budget_usd / budget_tokens (or the
9
+ // org nearing run_config.budget_tokens) is flagged, and a hot reload that
10
+ // raises the budget reopens the role with its spend kept. The org-wide
11
+ // run_config.budget_tokens ceiling lives here too, so a reload that raises it
12
+ // reopens the roles it closed and re-arms it at the new value.
10
13
  import { captureCheckpoint } from './checkpoint.js';
11
14
  import { dispatchReadyTasks, queueDispatch } from './decisions.js';
12
15
  import { taskTag } from './loadouts.js';
13
16
  import { isRecoverableCloseReason } from './mailbox.js';
14
- /** Share of budget_usd at which the coordinator is warned, once per role per run. */
17
+ import { computeReplacementBudget } from './role-slot.js';
18
+ /** Share of a budget at which the coordinator is warned: once per role per
19
+ * run for budget_usd and budget_tokens, once per run for run_config.budget_tokens. */
15
20
  export const BUDGET_WARN_FRACTION = 0.8;
16
21
  /** Which of the role's own caps it has spent, or undefined when neither. */
17
22
  function exhaustedDetail(policy) {
@@ -21,6 +26,19 @@ function exhaustedDetail(policy) {
21
26
  return `budget_tokens exhausted (${policy.budgetedUsage} / ${policy.policy.maxTokens})`;
22
27
  return undefined;
23
28
  }
29
+ /** The run's spend against run_config.budget_tokens: every live session on
30
+ * the budgeted basis (ADR-O001 D1), plus what replaced incarnations retired
31
+ * into their slot (role-slot.ts / respawnRole) — a replacement must not reset
32
+ * the org's spend. */
33
+ export function orgBudgetedUsage(running) {
34
+ let used = 0;
35
+ for (const rt of running.agents.values())
36
+ used += rt.policy.budgetedUsage;
37
+ for (const slot of running.roleSlots.values())
38
+ used += slot.retiredUsage.tokens;
39
+ return used;
40
+ }
41
+ const orgDetail = (running) => `org-wide budget_tokens exhausted (${orgBudgetedUsage(running)} / ${running.def.run_config.budget_tokens})`;
24
42
  /** Why `roleId`'s session is closed for budget, or undefined when it is not.
25
43
  * A role closed by the org-wide run_config.budget_tokens ceiling carries the
26
44
  * same close reason without being over its own caps. */
@@ -28,11 +46,41 @@ export function budgetClosureDetail(running, roleId) {
28
46
  const rt = running.agents.get(roleId);
29
47
  if (!rt?.mailbox.isClosed || !isRecoverableCloseReason(rt.mailbox.closeReason))
30
48
  return undefined;
31
- return (exhaustedDetail(rt.policy) ??
32
- (running.budgetClosed?.has(roleId) ? 'budget exhausted' : 'org-wide budget_tokens exhausted'));
49
+ const own = exhaustedDetail(rt.policy);
50
+ if (own)
51
+ return own;
52
+ if (running.orgBudgetClosed?.has(roleId))
53
+ return orgDetail(running);
54
+ return running.budgetClosed?.has(roleId)
55
+ ? 'budget exhausted'
56
+ : 'org-wide budget_tokens exhausted';
33
57
  }
34
58
  const holdReason = (roleId, detail) => `assignee "${roleId}" closed: ${detail}`;
35
- const remedy = (roleId) => `Raise budget_usd / budget_tokens for "${roleId}" in the org definition and hot-reload it (\`monomind org reload\`) — the role reopens with its spend so far kept — or reassign the work to another role.`;
59
+ const ORG_REMEDY = "Raise run_config.budget_tokens in the org definition and hot-reload it (`monomind org reload`) — the closed roles reopen with the run's spend so far kept.";
60
+ const remedy = (running, roleId) => running.orgBudgetClosed?.has(roleId) && !exhaustedDetail(running.agents.get(roleId).policy)
61
+ ? `${ORG_REMEDY} Or reassign the work to another role.`
62
+ : `Raise budget_usd / budget_tokens for "${roleId}" in the org definition and hot-reload it (\`monomind org reload\`) — the role reopens with its spend so far kept — or reassign the work to another role.`;
63
+ /** Hold `roleId`'s open tasks — one it was working would otherwise sit
64
+ * 'running' with no one on it. */
65
+ function holdOpenTasks(running, roleId, detail) {
66
+ const held = [];
67
+ for (const t of running.taskDag?.all() ?? []) {
68
+ if (t.assignee !== roleId || (t.status !== 'ready' && t.status !== 'running'))
69
+ continue;
70
+ held.push(running.taskDag.holdForAssignee(t.id, holdReason(roleId, detail)));
71
+ }
72
+ return held;
73
+ }
74
+ /** Re-word `roleId`'s budget-held tasks with the current numbers. */
75
+ function refreshHolds(running, roleId) {
76
+ const detail = budgetClosureDetail(running, roleId);
77
+ if (!detail)
78
+ return;
79
+ for (const t of running.taskDag?.all() ?? []) {
80
+ if (t.assignee === roleId && t.status === 'blocked' && t.heldForAssignee)
81
+ running.taskDag?.holdForAssignee(t.id, holdReason(roleId, detail));
82
+ }
83
+ }
36
84
  /** Tell the coordinator (or `preferred`, e.g. the task's creator) — never the
37
85
  * closed role itself. Uses the same coalesced dispatch as task notices. */
38
86
  function notify(running, closedRole, line, preferred) {
@@ -41,9 +89,11 @@ function notify(running, closedRole, line, preferred) {
41
89
  return;
42
90
  queueDispatch(running, to, line);
43
91
  }
44
- /** Bus hook (daemon.ts's org subscriber): note a per-role budget closure and
45
- * warn on the approach to budget_usd. */
92
+ /** Bus hook (daemon.ts's org subscriber): enforce the org-wide ceiling, note
93
+ * a per-role budget closure and warn on the approach to a budget. */
46
94
  export function onBudgetBusEvent(running, e) {
95
+ if (e.type === 'usage')
96
+ enforceOrgBudget(running);
47
97
  if (!e.from)
48
98
  return;
49
99
  if (e.type === 'status' && e.reason === 'budget-exhausted')
@@ -63,36 +113,107 @@ function noteBudgetClosure(running, roleId) {
63
113
  return;
64
114
  (running.budgetClosed ??= new Set()).add(roleId);
65
115
  const detail = exhaustedDetail(rt.policy) ?? 'budget exhausted';
66
- const held = [];
67
- for (const t of running.taskDag.all()) {
68
- if (t.assignee !== roleId || (t.status !== 'ready' && t.status !== 'running'))
69
- continue;
70
- held.push(running.taskDag.holdForAssignee(t.id, holdReason(roleId, detail)));
71
- }
116
+ const held = holdOpenTasks(running, roleId, detail);
72
117
  const tasks = held.length
73
118
  ? ` Its open task(s) are now blocked: ${held.map((t) => `${t.id} ("${t.title}")`).join(', ')}.`
74
119
  : '';
75
- notify(running, roleId, `[budget] "${roleId}" was closed: ${detail}. Tasks assigned to it stay blocked until its budget is raised.${tasks} ${remedy(roleId)}`);
120
+ notify(running, roleId, `[budget] "${roleId}" was closed: ${detail}. Tasks assigned to it stay blocked until its budget is raised.${tasks} ${remedy(running, roleId)}`);
121
+ }
122
+ /** Bus 'usage' hook: run_config.budget_tokens is an org-wide ceiling, not
123
+ * just a per-role one — a role's explicit budget_tokens override lets IT
124
+ * spend more without raising what every other role can spend. Once the run's
125
+ * total reaches it, close every open mailbox, stop lazy-spawning roles and
126
+ * hold the closed roles' tasks. Recorded on the running org, so a reload that
127
+ * raises the ceiling can reopen them and re-arm it (reopenOrgBudgetClosedRoles). */
128
+ function enforceOrgBudget(running) {
129
+ const cap = running.def.run_config.budget_tokens;
130
+ if (cap == null || running.orgBudgetClosed)
131
+ return;
132
+ const used = orgBudgetedUsage(running);
133
+ if (used < cap) {
134
+ warnApproach(running, {
135
+ key: 'run_config.budget_tokens',
136
+ budget: 'run_config.budget_tokens',
137
+ line: `the org has used ${used} of its ${cap} run_config.budget_tokens`,
138
+ spent: used,
139
+ cap,
140
+ consequence: `At the ceiling every role's session closes and their tasks are blocked. ${ORG_REMEDY}`,
141
+ data: { spentTokens: used, budgetTokens: cap },
142
+ });
143
+ return;
144
+ }
145
+ const closed = new Set();
146
+ running.orgBudgetClosed = closed;
147
+ if (running.pendingRoles?.size) {
148
+ // prevent lazy spawns after the org budget is exhausted; put back on reopen
149
+ running.orgBudgetPendingRoles = new Map(running.pendingRoles);
150
+ running.pendingRoles.clear();
151
+ }
152
+ for (const [roleId, rt] of running.agents) {
153
+ if (rt.mailbox.isClosed)
154
+ continue;
155
+ rt.mailbox.close('token-budget');
156
+ closed.add(roleId);
157
+ }
158
+ running.bus.emit({
159
+ type: 'status',
160
+ reason: 'org-budget-exhausted',
161
+ msg: `org-wide token budget exhausted (${used}/${cap}) — closing all roles`,
162
+ });
163
+ for (const roleId of closed)
164
+ holdOpenTasks(running, roleId, orgDetail(running));
76
165
  }
77
166
  function warnNearBudget(running, roleId) {
78
167
  const policy = running.agents.get(roleId)?.policy;
79
- const cap = policy?.policy.maxUsd;
80
- if (!policy || cap == null || running.budgetWarned?.has(roleId))
168
+ if (!policy)
169
+ return;
170
+ const { maxUsd, maxTokens } = policy.policy;
171
+ const consequence = `At the cap its session closes and tasks assigned to it are blocked. ${remedy(running, roleId)}`;
172
+ if (maxUsd != null) {
173
+ const spent = policy.usageUsd;
174
+ warnApproach(running, {
175
+ key: `${roleId}:budget_usd`,
176
+ roleId,
177
+ budget: 'budget_usd',
178
+ line: `"${roleId}" has spent $${spent.toFixed(2)} of its $${maxUsd} budget_usd`,
179
+ spent,
180
+ cap: maxUsd,
181
+ consequence,
182
+ data: { spentUsd: spent, budgetUsd: maxUsd },
183
+ });
184
+ }
185
+ if (maxTokens != null) {
186
+ const spent = policy.budgetedUsage;
187
+ warnApproach(running, {
188
+ key: `${roleId}:budget_tokens`,
189
+ roleId,
190
+ budget: 'budget_tokens',
191
+ line: `"${roleId}" has used ${spent} of its ${maxTokens} budget_tokens`,
192
+ spent,
193
+ cap: maxTokens,
194
+ consequence,
195
+ data: { spentTokens: spent, budgetTokens: maxTokens },
196
+ });
197
+ }
198
+ }
199
+ /** Once per `key` per run, between BUDGET_WARN_FRACTION and the cap (at or
200
+ * over it the closure notice says it instead): a `budget-warning` audit event
201
+ * naming the budget, and a notice to the coordinator. */
202
+ function warnApproach(running, w) {
203
+ if (running.budgetWarned?.has(w.key))
81
204
  return;
82
- const spent = policy.usageUsd;
83
- // At or over the cap the closure notice says it instead.
84
- if (spent < cap * BUDGET_WARN_FRACTION || spent >= cap)
205
+ if (w.cap <= 0 || w.spent < w.cap * BUDGET_WARN_FRACTION || w.spent >= w.cap)
85
206
  return;
86
- (running.budgetWarned ??= new Set()).add(roleId);
87
- const pct = Math.round((spent / cap) * 100);
207
+ (running.budgetWarned ??= new Set()).add(w.key);
208
+ const pct = Math.round((w.spent / w.cap) * 100);
88
209
  running.bus.emit({
89
210
  type: 'audit',
90
- from: roleId,
211
+ ...(w.roleId ? { from: w.roleId } : {}),
91
212
  reason: 'budget-warning',
92
- msg: `"${roleId}" has spent $${spent.toFixed(2)} of its $${cap} budget_usd (${pct}%)`,
93
- data: { roleId, spentUsd: spent, budgetUsd: cap },
213
+ msg: `${w.line} (${pct}%)`,
214
+ data: { ...(w.roleId ? { roleId: w.roleId } : {}), budget: w.budget, ...w.data },
94
215
  });
95
- notify(running, '', `[budget] "${roleId}" has spent $${spent.toFixed(2)} of its $${cap} budget_usd (${pct}%). At the cap its session closes and tasks assigned to it are blocked. ${remedy(roleId)}`);
216
+ notify(running, w.roleId ?? '', `[budget] ${w.line} (${pct}%). ${w.consequence}`);
96
217
  }
97
218
  /** dispatchReadyTasks, for a task whose assignee's mailbox is closed: when it
98
219
  * was closed for budget, hold the task with the reason, warn, tell the task's
@@ -111,7 +232,7 @@ export function holdForBudgetClosedAssignee(running, task) {
111
232
  msg: `task ${task.id} not dispatched — assignee "${task.assignee}" budget exhausted (${detail}); task blocked`,
112
233
  data: { taskId: task.id, assignee: task.assignee, blockedReason: reason },
113
234
  });
114
- notify(running, task.assignee, `${taskTag(task)} BLOCKED — "${task.title}" was not dispatched: ${reason}. ${remedy(task.assignee)}`, task.createdBy);
235
+ notify(running, task.assignee, `${taskTag(task)} BLOCKED — "${task.title}" was not dispatched: ${reason}. ${remedy(running, task.assignee)}`, task.createdBy);
115
236
  return true;
116
237
  }
117
238
  /** Put every budget-held task whose assignee is no longer budget-closed back
@@ -127,12 +248,106 @@ export function releaseBudgetHolds(running) {
127
248
  running.taskDag.releaseAssigneeHold(t.id);
128
249
  }
129
250
  }
130
- /** After a hot reload applied new caps: reopen each role closed for its own
131
- * budget that is no longer over it, keeping its spend (the new cap applies
132
- * to the total), and re-dispatch its tasks. A role still over its cap stays
133
- * closed; its held tasks get the new numbers in their reason. */
134
- export function reopenBudgetClosedRoles(daemon, org, running) {
251
+ /** Before a reload changes the def: the live roles whose token cap is the one
252
+ * the def gives them (their own budget_tokens, policy.maxTokens or their even
253
+ * split of run_config.budget_tokens) — not a replacement's explicit budget. */
254
+ export function rolesOnDefTokenCaps(running) {
255
+ const onDef = new Set();
256
+ for (const [roleId, rt] of running.agents) {
257
+ const cap = defTokenCap(running, roleId);
258
+ if (cap !== undefined && rt.policy.policy.maxTokens === cap)
259
+ onDef.add(roleId);
260
+ }
261
+ return onDef;
262
+ }
263
+ function defTokenCap(running, roleId) {
264
+ const role = running.def.roles.find((r) => r.id === roleId);
265
+ if (!role)
266
+ return undefined;
267
+ return role.policy?.maxTokens ?? computeReplacementBudget(running.def, roleId);
268
+ }
269
+ /** After a reload: give each of `onDef`'s live roles the token cap the new def
270
+ * gives it — a changed run_config.budget_tokens, or one role taking its own
271
+ * budget_tokens, moves every even-split role's share. */
272
+ function reapplyDefTokenCaps(running, onDef) {
273
+ for (const roleId of onDef) {
274
+ const policy = running.agents.get(roleId)?.policy;
275
+ const cap = defTokenCap(running, roleId);
276
+ if (!policy || cap === undefined || policy.policy.maxTokens === cap)
277
+ continue;
278
+ policy.setBudgetCaps({ maxTokens: cap, maxUsd: policy.policy.maxUsd });
279
+ }
280
+ }
281
+ /** Resume `roleId` the way a checkpoint resume does (a budget close is
282
+ * recoverable, so the new mailbox opens), one generation on, with its spend
283
+ * kept. False when it could not be spawned; the closed runtime stays. */
284
+ function respawnFromCheckpoint(running, roleId) {
285
+ const rt = running.agents.get(roleId);
286
+ const role = running.def.roles.find((r) => r.id === roleId);
287
+ if (!rt || !role || !running.spawnRole)
288
+ return false;
289
+ const rc = captureCheckpoint(running).roleState[roleId];
290
+ running.agents.delete(roleId);
291
+ running.spawnRole(role, { ...rc, generation: rc.generation + 1, status: 'running' });
292
+ const next = running.agents.get(roleId);
293
+ if (!next) {
294
+ running.agents.set(roleId, rt);
295
+ return false;
296
+ }
297
+ next.policy.setTokenUsage(rt.policy.tokenUsage);
298
+ next.policy.setUsageUsd(rt.policy.usageUsd);
299
+ return true;
300
+ }
301
+ /** After a reload: when the run's spend is now under run_config.budget_tokens,
302
+ * re-arm the ceiling at the new value and reopen the roles it closed (a role
303
+ * also over its own cap moves to the per-role path). Otherwise they stay
304
+ * closed and their held tasks get the new numbers. */
305
+ function reopenOrgBudgetClosedRoles(running) {
306
+ const closed = running.orgBudgetClosed;
307
+ if (!closed)
308
+ return [];
309
+ const cap = running.def.run_config.budget_tokens;
310
+ const used = orgBudgetedUsage(running);
311
+ if (cap != null && used >= cap) {
312
+ for (const roleId of closed)
313
+ refreshHolds(running, roleId);
314
+ return [];
315
+ }
316
+ running.orgBudgetClosed = undefined;
317
+ if (running.orgBudgetPendingRoles) {
318
+ running.pendingRoles ??= new Map();
319
+ for (const [id, role] of running.orgBudgetPendingRoles)
320
+ if (!running.agents.has(id))
321
+ running.pendingRoles.set(id, role);
322
+ running.orgBudgetPendingRoles = undefined;
323
+ }
135
324
  const reopened = [];
325
+ for (const roleId of closed) {
326
+ const rt = running.agents.get(roleId);
327
+ if (!rt?.mailbox.isClosed || !isRecoverableCloseReason(rt.mailbox.closeReason))
328
+ continue;
329
+ if (exhaustedDetail(rt.policy))
330
+ (running.budgetClosed ??= new Set()).add(roleId);
331
+ else if (respawnFromCheckpoint(running, roleId))
332
+ reopened.push(roleId);
333
+ }
334
+ running.bus.emit({
335
+ type: 'audit',
336
+ reason: 'org-budget-reopened',
337
+ msg: `run_config.budget_tokens raised to ${cap ?? 'none'} (${used} used so far)${reopened.length ? ` — reopened ${reopened.join(', ')}` : ''}`,
338
+ data: { spentTokens: used, budgetTokens: cap ?? null, reopened },
339
+ });
340
+ return reopened;
341
+ }
342
+ /** After a hot reload applied new caps: re-derive the token caps of `onDef`'s
343
+ * roles (rolesOnDefTokenCaps, taken before the def changed), reopen the roles
344
+ * the org-wide ceiling closed if it now allows, then reopen each role closed
345
+ * for its own budget that is no longer over it, keeping its spend (the new
346
+ * cap applies to the total), and re-dispatch their tasks. A role still over
347
+ * its cap stays closed; its held tasks get the new numbers in their reason. */
348
+ export function reopenBudgetClosedRoles(daemon, org, running, onDef = new Set()) {
349
+ reapplyDefTokenCaps(running, onDef);
350
+ const reopened = reopenOrgBudgetClosedRoles(running);
136
351
  for (const roleId of [...(running.budgetClosed ?? [])]) {
137
352
  const rt = running.agents.get(roleId);
138
353
  const role = running.def.roles.find((r) => r.id === roleId);
@@ -142,26 +357,12 @@ export function reopenBudgetClosedRoles(daemon, org, running) {
142
357
  running.budgetClosed?.delete(roleId);
143
358
  continue;
144
359
  }
145
- const detail = exhaustedDetail(rt.policy);
146
- if (detail) {
147
- for (const t of running.taskDag?.all() ?? []) {
148
- if (t.assignee === roleId && t.status === 'blocked' && t.heldForAssignee)
149
- running.taskDag?.holdForAssignee(t.id, holdReason(roleId, detail));
150
- }
360
+ if (exhaustedDetail(rt.policy)) {
361
+ refreshHolds(running, roleId);
151
362
  continue;
152
363
  }
153
- // Resume the role the way a checkpoint resume does (a budget close is
154
- // recoverable, so the new mailbox opens), one generation on.
155
- const rc = captureCheckpoint(running).roleState[roleId];
156
- running.agents.delete(roleId);
157
- running.spawnRole(role, { ...rc, generation: rc.generation + 1, status: 'running' });
158
- const next = running.agents.get(roleId);
159
- if (!next) {
160
- running.agents.set(roleId, rt);
364
+ if (!respawnFromCheckpoint(running, roleId))
161
365
  continue;
162
- }
163
- next.policy.setTokenUsage(rt.policy.tokenUsage);
164
- next.policy.setUsageUsd(rt.policy.usageUsd);
165
366
  running.budgetClosed?.delete(roleId);
166
367
  reopened.push(roleId);
167
368
  running.bus.emit({
@@ -1 +1 @@
1
- {"version":3,"file":"budget-closure.js","sourceRoot":"","sources":["../../../src/orgrt/budget-closure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budget-closure.js","sourceRoot":"","sources":["../../../src/orgrt/budget-closure.ts"],"names":[],"mappings":"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"}
@@ -197,9 +197,16 @@ export interface RunningOrg {
197
197
  /** #343: roles whose session closed on their own budget_usd/budget_tokens
198
198
  * this run, reopened by a reload that raises it (budget-closure.ts). */
199
199
  budgetClosed?: Set<string>;
200
- /** #343: roles the coordinator was warned about nearing budget_usd — once
201
- * per role per run. */
200
+ /** #343: budgets the coordinator was warned about nearing, once per run:
201
+ * `<role>:budget_usd`, `<role>:budget_tokens`, `run_config.budget_tokens`. */
202
202
  budgetWarned?: Set<string>;
203
+ /** #343: set while the org-wide run_config.budget_tokens ceiling is spent —
204
+ * the roles it closed. A reload that raises the ceiling past the run's
205
+ * spend reopens them and clears this, re-arming the ceiling (budget-closure.ts). */
206
+ orgBudgetClosed?: Set<string>;
207
+ /** #343: pendingRoles set aside when the org-wide ceiling closed the org,
208
+ * put back when a reload reopens it. */
209
+ orgBudgetPendingRoles?: Map<string, OrgRole>;
203
210
  /** #304: why this run is stopping, set by stopOrg before the org is removed from
204
211
  * `this.orgs`. Read by the role loop so a planned stop is logged with one stable
205
212
  * wording instead of whichever abort string the SDK produced. */
@@ -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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"}
@@ -12,7 +12,7 @@ import { AntigravityAgentRunner } from './antigravity-runner.js';
12
12
  import * as approvalOps from './approvals.js';
13
13
  import { wakeDueBlockRechecks } from './block-recheck.js';
14
14
  import { BrokerLease, normalizeCredential } from './broker.js';
15
- import { onBudgetBusEvent, reopenBudgetClosedRoles } from './budget-closure.js';
15
+ import { onBudgetBusEvent, reopenBudgetClosedRoles, rolesOnDefTokenCaps, } from './budget-closure.js';
16
16
  import { OrgBus } from './bus.js';
17
17
  import { captureCheckpoint, generateChecksum, isCheckpointExpired, migrateCheckpoint, restoredRoleStatus, restoreMailboxQueue, validateCheckpoint, } from './checkpoint.js';
18
18
  import * as checkpointOps from './checkpoint-ops.js';
@@ -339,6 +339,7 @@ export class OrgDaemon {
339
339
  const changed = [];
340
340
  const newRoles = [];
341
341
  const removedRoles = [];
342
+ const onDefTokenCaps = rolesOnDefTokenCaps(running);
342
343
  if (newDef.goal !== running.def.goal) {
343
344
  running.def.goal = newDef.goal;
344
345
  changed.push('goal');
@@ -398,7 +399,7 @@ export class OrgDaemon {
398
399
  changed.push(`role:${next.id}:${field}`);
399
400
  }
400
401
  }
401
- const reopened = reopenBudgetClosedRoles(this, name, running);
402
+ const reopened = reopenBudgetClosedRoles(this, name, running, onDefTokenCaps);
402
403
  const existingRoleIds = new Set(running.def.roles.map((r) => r.id));
403
404
  const newRoleIds = new Set(newDef.roles.map((r) => r.id));
404
405
  for (const role of newDef.roles) {
@@ -747,10 +748,6 @@ export class OrgDaemon {
747
748
  // waiting its turn.
748
749
  const roleActivity = new Map();
749
750
  const noProgressAlarmed = new Set();
750
- // Org-wide budget ceiling (bug 1): tracks whether run_config.budget_tokens
751
- // has already been enforced this run, so the close-all-mailboxes sweep
752
- // below only fires once instead of on every subsequent usage event.
753
- let orgBudgetClosed = false;
754
751
  bus.subscribe((e) => {
755
752
  const slim = e.data?.content != null ? { ...e, data: { ...e.data, content: undefined } } : e;
756
753
  collected.push(slim);
@@ -793,46 +790,8 @@ export class OrgDaemon {
793
790
  }
794
791
  }
795
792
  }
796
- // Bug 1: run_config.budget_tokens is an org-wide ceiling, not just a
797
- // per-role one — a role's explicit budget_tokens override lets IT spend
798
- // more without raising what every other role can spend, so nothing
799
- // upstream of this ever summed real usage across the whole roster and
800
- // stopped the org when the declared total was reached. Mirror the
801
- // per-role budget-exhausted handling (session.ts's mailbox.close('token-budget'))
802
- // at the org level: once the sum of every role's PolicyEngine.usage
803
- // reaches the ceiling, close every mailbox and stop lazy-spawning new
804
- // ones so the org can't keep spending past its declared cap.
805
- if (e.type === 'usage' && !orgBudgetClosed) {
806
- const orgBudget = def.run_config.budget_tokens;
807
- if (orgBudget != null) {
808
- let orgUsage = 0;
809
- // ADR-O001 D1: budgetedUsage, not usage — the org-wide ceiling is
810
- // the same declared number as the per-role one and must be compared
811
- // on the same basis.
812
- for (const rt of running.agents.values())
813
- orgUsage += rt.policy.budgetedUsage;
814
- // Mid-run role replacement retires a policy engine's usage into the
815
- // slot instead of discarding it (see role-slot.ts / respawnRole) -
816
- // include it here or a replacement could silently reset spend and
817
- // let the org exceed its declared ceiling.
818
- for (const slot of running.roleSlots.values())
819
- orgUsage += slot.retiredUsage.tokens;
820
- if (orgUsage >= orgBudget) {
821
- orgBudgetClosed = true;
822
- running.pendingRoles?.clear(); // prevent lazy spawns after the org budget is exhausted
823
- for (const rt of running.agents.values()) {
824
- if (!rt.mailbox.isClosed)
825
- rt.mailbox.close('token-budget');
826
- }
827
- bus.emit({
828
- type: 'status',
829
- reason: 'org-budget-exhausted',
830
- msg: `org-wide token budget exhausted (${orgUsage}/${orgBudget}) — closing all roles`,
831
- });
832
- }
833
- }
834
- }
835
- // #343: hold a budget-closed role's tasks, warn near budget_usd.
793
+ // Bug 1 / #343: enforce the org-wide run_config.budget_tokens ceiling,
794
+ // hold a budget-closed role's tasks, warn near a budget.
836
795
  onBudgetBusEvent(running, e);
837
796
  // Track last message ID for threading responses
838
797
  if ((e.type === 'message' || e.type === 'xorg') && e.from) {