oh-my-codex 0.21.29 → 0.21.30

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/Cargo.lock CHANGED
@@ -32,7 +32,7 @@ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
32
32
 
33
33
  [[package]]
34
34
  name = "omx-api"
35
- version = "0.21.29"
35
+ version = "0.21.30"
36
36
  dependencies = [
37
37
  "serde",
38
38
  "serde_json",
@@ -40,14 +40,14 @@ dependencies = [
40
40
 
41
41
  [[package]]
42
42
  name = "omx-explore-harness"
43
- version = "0.21.29"
43
+ version = "0.21.30"
44
44
  dependencies = [
45
45
  "libc",
46
46
  ]
47
47
 
48
48
  [[package]]
49
49
  name = "omx-mux"
50
- version = "0.21.29"
50
+ version = "0.21.30"
51
51
  dependencies = [
52
52
  "serde",
53
53
  "serde_json",
@@ -55,7 +55,7 @@ dependencies = [
55
55
 
56
56
  [[package]]
57
57
  name = "omx-runtime"
58
- version = "0.21.29"
58
+ version = "0.21.30"
59
59
  dependencies = [
60
60
  "fs2",
61
61
  "libc",
@@ -67,7 +67,7 @@ dependencies = [
67
67
 
68
68
  [[package]]
69
69
  name = "omx-runtime-core"
70
- version = "0.21.29"
70
+ version = "0.21.30"
71
71
  dependencies = [
72
72
  "fs2",
73
73
  "serde",
@@ -76,7 +76,7 @@ dependencies = [
76
76
 
77
77
  [[package]]
78
78
  name = "omx-sparkshell"
79
- version = "0.21.29"
79
+ version = "0.21.30"
80
80
  dependencies = [
81
81
  "omx-mux",
82
82
  ]
package/Cargo.toml CHANGED
@@ -11,7 +11,7 @@ resolver = "2"
11
11
 
12
12
  [workspace.package]
13
13
 
14
- version = "0.21.29"
14
+ version = "0.21.30"
15
15
 
16
16
  edition = "2021"
17
17
  rust-version = "1.73"
@@ -3,12 +3,14 @@ import { existsSync, writeFileSync } from 'node:fs';
3
3
  import { chmod, mkdtemp, readFile, realpath, rm, unlink, writeFile } from 'node:fs/promises';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { dirname, join } from 'node:path';
6
+ import { spawn } from 'node:child_process';
6
7
  import { afterEach, beforeEach, it } from 'node:test';
7
8
  import { fileURLToPath } from 'node:url';
8
9
  import { getDefaultBridge, RuntimeBridge } from '../../runtime/bridge.js';
9
10
  import { drainPendingTeamDispatch } from '../../scripts/notify-hook/team-dispatch.js';
10
11
  import { executeTeamApiOperation } from '../api-interop.js';
11
12
  import { queueDirectMailboxMessage } from '../mcp-comm.js';
13
+ import { readTeamConfig, saveTeamConfig } from '../state.js';
12
14
  import { enqueueDispatchRequest, initTeamState, listDispatchRequests, listMailboxMessages, markDispatchRequestNotified, readDispatchRequest, removeDispatchRequestsForWorkers, sendDirectMessage, teamEventLogPath, } from '../state.js';
13
15
  const repoRoot = join(dirname(fileURLToPath(import.meta.url)), '../../..');
14
16
  const runtimeBinary = process.env.OMX_RUNTIME_BINARY
@@ -37,6 +39,39 @@ async function fixture(t) {
37
39
  await initTeamState('recovery', 'delivery recovery', 'executor', 2, cwd);
38
40
  return cwd;
39
41
  }
42
+ async function fixtureWithLiveWorkers(t) {
43
+ const cwd = await fixture(t);
44
+ const workers = [];
45
+ // Create live worker processes (sleepers that stay alive)
46
+ for (let i = 0; i < 2; i++) {
47
+ const worker = spawn(process.execPath, ['-e', 'setInterval(() => {}, 1000)'], { stdio: 'ignore', detached: false });
48
+ workers.push(worker);
49
+ }
50
+ // Update config to use prompt mode with live worker PIDs
51
+ const config = await readTeamConfig('recovery', cwd);
52
+ assert.ok(config);
53
+ config.worker_launch_mode = 'prompt';
54
+ config.workers[0].pid = workers[0].pid;
55
+ config.workers[1].pid = workers[1].pid;
56
+ await saveTeamConfig(config, cwd);
57
+ // Update manifest to match
58
+ const manifestPath = join(cwd, '.omx', 'state', 'team', 'recovery', 'manifest.v2.json');
59
+ const manifest = JSON.parse(await readFile(manifestPath, 'utf-8'));
60
+ manifest.policy = { ...(manifest.policy || {}), worker_launch_mode: 'prompt' };
61
+ manifest.workers[0].pid = workers[0].pid;
62
+ manifest.workers[1].pid = workers[1].pid;
63
+ await writeFile(manifestPath, JSON.stringify(manifest, null, 2));
64
+ // Cleanup workers after test
65
+ t.after(async () => {
66
+ for (const worker of workers) {
67
+ try {
68
+ worker.kill('SIGKILL');
69
+ }
70
+ catch { }
71
+ }
72
+ });
73
+ return { cwd, workers };
74
+ }
40
75
  function inboxInput() {
41
76
  return { kind: 'inbox', to_worker: 'worker-1', worker_index: 1,
42
77
  trigger_message: 'execute the assigned task', inbox_correlation_key: 'startup:worker-1' };
@@ -275,4 +310,129 @@ it('preserves unread fallback messages after a mailbox permission error', {
275
310
  assert.equal(await readFile(path, 'utf8'), before);
276
311
  assert.equal((await listMailboxMessages('recovery', 'worker-2', cwd))[0]?.message_id, original.message_id);
277
312
  });
313
+ it('does not enqueue stale wakes when monitor and acknowledgement race', async (t) => {
314
+ const cwd = await fixture(t);
315
+ // Send a message that the monitor will find unnotified.
316
+ const message = await sendDirectMessage('recovery', 'worker-1', 'worker-2', 'unnotified', cwd);
317
+ assert.ok(!message.notified_at);
318
+ // Create a dispatch request for this message (simulating monitor's enqueue).
319
+ const pending = await enqueueDispatchRequest('recovery', {
320
+ kind: 'mailbox',
321
+ to_worker: 'worker-2',
322
+ worker_index: 2,
323
+ message_id: message.message_id,
324
+ trigger_message: 'check mailbox',
325
+ intent: 'pending-mailbox-review',
326
+ }, cwd);
327
+ assert.equal(pending.deduped, false);
328
+ await markDispatchRequestNotified('recovery', pending.request.request_id, {}, cwd);
329
+ // Now acknowledge the message (what the worker does).
330
+ const ackResult = await executeTeamApiOperation('mailbox-mark-delivered', {
331
+ team_name: 'recovery',
332
+ worker: 'worker-2',
333
+ message_id: message.message_id,
334
+ }, cwd);
335
+ assert.equal(ackResult.ok, true);
336
+ assert.equal(ackResult.data.dispatch_updated, true);
337
+ // The dispatch request should be marked as delivered.
338
+ const updated = await readDispatchRequest('recovery', pending.request.request_id, cwd);
339
+ assert.equal(updated?.status, 'delivered');
340
+ // Send a new message to verify it doesn't get coalesced into stale wakes.
341
+ const second = await sendDirectMessage('recovery', 'worker-1', 'worker-2', 'second', cwd);
342
+ const secondPending = await enqueueDispatchRequest('recovery', {
343
+ kind: 'mailbox',
344
+ to_worker: 'worker-2',
345
+ worker_index: 2,
346
+ message_id: second.message_id,
347
+ trigger_message: 'check mailbox',
348
+ intent: 'pending-mailbox-review',
349
+ }, cwd);
350
+ // The second message should create a new dispatch request, not coalesce into the old one.
351
+ assert.equal(secondPending.deduped, false);
352
+ // Verify no stale wakes remain: we should have exactly one pending dispatch (for the new message).
353
+ const active = (await listDispatchRequests('recovery', cwd)).filter(r => r.status === 'pending' || r.status === 'notified');
354
+ assert.equal(active.length, 1);
355
+ assert.equal(active[0]?.message_id, second.message_id);
356
+ });
357
+ it('enqueue inside barrier after final re-validation prevents stale wakes', async (t) => {
358
+ const { cwd } = await fixtureWithLiveWorkers(t);
359
+ // Set up a scenario where an ack lands between Phase 1 discovery and Phase 1.5 enqueue.
360
+ // Send an unnotified message.
361
+ const message = await sendDirectMessage('recovery', 'worker-1', 'worker-2', 'unnotified', cwd);
362
+ assert.ok(!message.notified_at);
363
+ // Use the test hook to inject an ack after Phase 1 (discovery) completes but before Phase 1.5 enqueue.
364
+ // This simulates an ack arriving between Phase 1 discovery and Phase 1.5 enqueue/re-validation.
365
+ let hookInvoked = false;
366
+ const { setMailboxDeliveryAfterPhase1HookForTest } = await import('../runtime.js');
367
+ setMailboxDeliveryAfterPhase1HookForTest(async (teamName, cwd) => {
368
+ hookInvoked = true;
369
+ // Acknowledge the message after Phase 1 discovery but before Phase 1.5 enqueue.
370
+ // The Phase 1.5 re-validation should catch this and skip the enqueue.
371
+ await executeTeamApiOperation('mailbox-mark-delivered', {
372
+ team_name: teamName,
373
+ worker: 'worker-2',
374
+ message_id: message.message_id,
375
+ }, cwd);
376
+ });
377
+ try {
378
+ // Call monitorTeam to trigger Phase 1 discovery, Phase 1.5 re-validation (with hook running), and potential enqueue.
379
+ // The Phase 1.5 re-validation should catch that the message was delivered by the hook and skip the enqueue.
380
+ await (await import('../runtime.js')).monitorTeam('recovery', cwd);
381
+ assert.equal(hookInvoked, true, 'test hook should have been invoked');
382
+ // Verify that the hook's acknowledgement took effect.
383
+ const mailbox = await listMailboxMessages('recovery', 'worker-2', cwd);
384
+ const msgAfterMonitor = mailbox.find(m => m.message_id === message.message_id);
385
+ assert.ok(msgAfterMonitor?.delivered_at, 'message should have delivered_at set after hook ack');
386
+ // Verify that Phase 1.5 re-validation prevented the enqueue of the now-delivered message.
387
+ // No dispatch request should exist for this message after monitorTeam.
388
+ const dispatchRequests = (await listDispatchRequests('recovery', cwd))
389
+ .filter(r => r.message_id === message.message_id && (r.status === 'pending' || r.status === 'notified'));
390
+ assert.equal(dispatchRequests.length, 0, 'Phase 1.5 re-validation should have prevented enqueue of already-delivered message');
391
+ }
392
+ finally {
393
+ // Clean up: clear the test hook.
394
+ setMailboxDeliveryAfterPhase1HookForTest(null);
395
+ }
396
+ });
397
+ it('skips notification after intervening acknowledgement in transport_direct', async (t) => {
398
+ const { cwd } = await fixtureWithLiveWorkers(t);
399
+ // Set up a team with transport_direct mode to test the direct notification path.
400
+ const config = await readTeamConfig('recovery', cwd);
401
+ assert.ok(config);
402
+ const manifestPath = join(cwd, '.omx', 'state', 'team', 'recovery', 'manifest.v2.json');
403
+ const manifest = JSON.parse(await readFile(manifestPath, 'utf-8'));
404
+ manifest.policy = { ...(manifest.policy || {}), dispatch_mode: 'transport_direct' };
405
+ await writeFile(manifestPath, JSON.stringify(manifest, null, 2));
406
+ // Send an unnotified message.
407
+ const message = await sendDirectMessage('recovery', 'worker-1', 'worker-2', 'test-msg', cwd);
408
+ assert.ok(!message.notified_at);
409
+ // Use the hook to acknowledge the message after Phase 1 but before Phase 1.5 enqueue.
410
+ let hookInvoked = false;
411
+ const { setMailboxDeliveryAfterPhase1HookForTest } = await import('../runtime.js');
412
+ setMailboxDeliveryAfterPhase1HookForTest(async (teamName, cwd) => {
413
+ hookInvoked = true;
414
+ // Acknowledge after Phase 1 but before enqueue.
415
+ await executeTeamApiOperation('mailbox-mark-delivered', {
416
+ team_name: teamName,
417
+ worker: 'worker-2',
418
+ message_id: message.message_id,
419
+ }, cwd);
420
+ });
421
+ try {
422
+ // Call monitorTeam. The re-validation should prevent the enqueue, so no notification should be sent.
423
+ await (await import('../runtime.js')).monitorTeam('recovery', cwd);
424
+ assert.equal(hookInvoked, true, 'test hook should have been invoked');
425
+ // Verify that no dispatch request was created (Phase 1.5 re-validation prevented it).
426
+ const dispatchRequests = (await listDispatchRequests('recovery', cwd))
427
+ .filter(r => r.message_id === message.message_id && (r.status === 'pending' || r.status === 'notified'));
428
+ assert.equal(dispatchRequests.length, 0, 'Phase 1.5 re-validation should have prevented enqueue');
429
+ // Verify that the message is marked as delivered.
430
+ const mailbox = await listMailboxMessages('recovery', 'worker-2', cwd);
431
+ const msgAfter = mailbox.find(m => m.message_id === message.message_id);
432
+ assert.ok(msgAfter?.delivered_at, 'message should be marked as delivered');
433
+ }
434
+ finally {
435
+ setMailboxDeliveryAfterPhase1HookForTest(null);
436
+ }
437
+ });
278
438
  //# sourceMappingURL=delivery-recovery.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-recovery.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/delivery-recovery.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-recovery.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/delivery-recovery.test.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ export interface TeamShutdownSummary {
63
63
  configExisted: boolean;
64
64
  }
65
65
  export declare function setTerminalEpochStartedHookForTest(hook: ((teamName: string, cwd: string, phase: TeamPhaseState) => Promise<void>) | null): void;
66
+ export declare function setMailboxDeliveryAfterPhase1HookForTest(hook: ((teamName: string, cwd: string) => void | Promise<void>) | null): void;
66
67
  export declare function applyCreatedInteractiveSessionToConfig(config: TeamConfig, createdSession: TeamSession, workerPaneIds: Array<string | undefined>): void;
67
68
  export declare function shouldPrekillInteractiveShutdownProcessTrees(sessionName: string): boolean;
68
69
  export declare function setDetachedSessionDestroyAfterJournalHookForTest(hook: (() => void | Promise<void>) | null): void;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/team/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/team/runtime.ts"],"names":[],"mappings":"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"}
@@ -238,6 +238,10 @@ let terminalEpochStartedHookForTest = null;
238
238
  export function setTerminalEpochStartedHookForTest(hook) {
239
239
  terminalEpochStartedHookForTest = hook;
240
240
  }
241
+ let mailboxDeliveryAfterPhase1HookForTest = null;
242
+ export function setMailboxDeliveryAfterPhase1HookForTest(hook) {
243
+ mailboxDeliveryAfterPhase1HookForTest = hook;
244
+ }
241
245
  export function applyCreatedInteractiveSessionToConfig(config, createdSession, workerPaneIds) {
242
246
  config.tmux_session = createdSession.name;
243
247
  config.tmux_session_id = createdSession.tmuxSessionId;
@@ -5216,46 +5220,99 @@ async function notifyLeaderAsync(config, message, cwd) {
5216
5220
  async function deliverPendingMailboxMessages(teamName, config, workers, previousNotifications, dispatchPolicy, cwd) {
5217
5221
  const nextNotifications = {};
5218
5222
  const pendingIdsAcrossTeam = new Set();
5219
- for (const worker of workers) {
5220
- const workerInfo = config.workers.find((w) => w.name === worker.name);
5221
- if (!workerInfo)
5222
- continue;
5223
- const mailbox = await listMailboxMessages(teamName, worker.name, cwd);
5224
- const pending = mailbox.filter((m) => !m.delivered_at);
5225
- if (pending.length === 0)
5226
- continue;
5227
- const pendingIds = pending.map((m) => m.message_id);
5228
- for (const id of pendingIds)
5229
- pendingIdsAcrossTeam.add(id);
5230
- // Preserve already-tracked notification timestamps in the next snapshot.
5231
- for (const msg of pending) {
5232
- nextNotifications[msg.message_id] = msg.notified_at || previousNotifications[msg.message_id] || '';
5233
- }
5234
- // Only notify for messages that have never been successfully notified.
5235
- // Using a message-ID set prevents re-notification on every monitor poll
5236
- // (issue #116). A message is considered notified when either:
5237
- // - notified_at is set in the mailbox file (persisted by markMessageNotified), or
5238
- // - the message_id exists in previousNotifications from the last snapshot.
5239
- // Both checks use Boolean() so an empty-string value is treated as unnotified.
5240
- const unnotified = pending.filter((m) => !m.notified_at && !previousNotifications[m.message_id]);
5241
- if (unnotified.length === 0)
5242
- continue;
5243
- if (!worker.alive)
5244
- continue;
5245
- for (const msg of unnotified) {
5246
- const outcome = await dispatchPendingMailboxMessage({
5247
- teamName,
5248
- workerName: worker.name,
5249
- workerInfo,
5250
- messageId: msg.message_id,
5251
- config,
5252
- dispatchPolicy,
5253
- cwd,
5254
- });
5255
- if (outcome.ok) {
5256
- nextNotifications[msg.message_id] = new Date().toISOString();
5223
+ // Collect enqueued requests: request ID => { workerName, workerInfo, messageId }
5224
+ const enqueuedRequests = [];
5225
+ // Phase 1+1.5: Identify, re-validate, and enqueue unnotified messages inside the barrier.
5226
+ await withTeamTaskMembershipBarrier(teamName, cwd, async () => {
5227
+ // Test hook: allow injecting operations between Phase 1 (discovery) and Phase 1.5 (enqueue).
5228
+ // This enables testing that the Phase 1.5 re-validation prevents stale enqueues.
5229
+ const hook = mailboxDeliveryAfterPhase1HookForTest;
5230
+ if (hook) {
5231
+ await hook(teamName, cwd);
5232
+ }
5233
+ for (const worker of workers) {
5234
+ const workerInfo = config.workers.find((w) => w.name === worker.name);
5235
+ if (!workerInfo)
5236
+ continue;
5237
+ const mailbox = await listMailboxMessages(teamName, worker.name, cwd);
5238
+ const pending = mailbox.filter((m) => !m.delivered_at);
5239
+ if (pending.length === 0)
5240
+ continue;
5241
+ const pendingIds = pending.map((m) => m.message_id);
5242
+ for (const id of pendingIds)
5243
+ pendingIdsAcrossTeam.add(id);
5244
+ // Preserve already-tracked notification timestamps in the next snapshot.
5245
+ for (const msg of pending) {
5246
+ nextNotifications[msg.message_id] = msg.notified_at || previousNotifications[msg.message_id] || '';
5247
+ }
5248
+ // Only notify for messages that have never been successfully notified.
5249
+ // Using a message-ID set prevents re-notification on every monitor poll
5250
+ // (issue #116). A message is considered notified when either:
5251
+ // - notified_at is set in the mailbox file (persisted by markMessageNotified), or
5252
+ // - the message_id exists in previousNotifications from the last snapshot.
5253
+ // Both checks use Boolean() so an empty-string value is treated as unnotified.
5254
+ const unnotified = pending.filter((m) => !m.notified_at && !previousNotifications[m.message_id]);
5255
+ if (unnotified.length === 0)
5256
+ continue;
5257
+ if (!worker.alive)
5258
+ continue;
5259
+ for (const msg of unnotified) {
5260
+ // Re-validate that the message is still unnotified inside the barrier,
5261
+ // since an acknowledgement (send-side operation) could have raced and
5262
+ // marked it delivered after the initial discovery.
5263
+ const currentMailbox = await listMailboxMessages(teamName, worker.name, cwd);
5264
+ const currentMsg = currentMailbox.find((m) => m.message_id === msg.message_id);
5265
+ if (!currentMsg || currentMsg.delivered_at) {
5266
+ // Message was acked after our discovery; skip it.
5267
+ continue;
5268
+ }
5269
+ // Phase 1.5: Enqueue the dispatch request inside the barrier.
5270
+ // Re-check one final time that the message is still undelivered,
5271
+ // since an ack could land between the previous check and this enqueue.
5272
+ const preEnqueueMailbox = await listMailboxMessages(teamName, worker.name, cwd);
5273
+ const preEnqueueMsg = preEnqueueMailbox.find((m) => m.message_id === currentMsg.message_id);
5274
+ if (!preEnqueueMsg || preEnqueueMsg.delivered_at) {
5275
+ // Message was acked; skip enqueue.
5276
+ continue;
5277
+ }
5278
+ const triggerDirective = buildMailboxTriggerDirective(worker.name, teamName, 1, resolveInstructionStateRoot(workerInfo.worktree_path));
5279
+ const transportPreference = resolveWorkerMailboxTransportPreference(config, dispatchPolicy);
5280
+ const queued = await enqueueDispatchRequest(teamName, {
5281
+ kind: 'mailbox',
5282
+ to_worker: worker.name,
5283
+ worker_index: workerInfo.index,
5284
+ pane_id: workerInfo.pane_id,
5285
+ trigger_message: triggerDirective.text,
5286
+ intent: triggerDirective.intent,
5287
+ message_id: currentMsg.message_id,
5288
+ transport_preference: transportPreference,
5289
+ fallback_allowed: transportPreference === 'hook_preferred_with_fallback',
5290
+ }, cwd);
5291
+ enqueuedRequests.push({
5292
+ workerName: worker.name,
5293
+ workerInfo,
5294
+ messageId: currentMsg.message_id,
5295
+ requestId: queued.request.request_id,
5296
+ });
5257
5297
  }
5258
5298
  }
5299
+ });
5300
+ // Phase 2: Finalize and notify outside the barrier to avoid holding the lock
5301
+ // during slow operations like waitForDispatchReceipt.
5302
+ for (const { workerName, workerInfo, messageId, requestId } of enqueuedRequests) {
5303
+ const outcome = await finalizeDispatchedMailboxMessage({
5304
+ teamName,
5305
+ workerName,
5306
+ workerInfo,
5307
+ messageId,
5308
+ requestId,
5309
+ config,
5310
+ dispatchPolicy,
5311
+ cwd,
5312
+ });
5313
+ if (outcome.ok) {
5314
+ nextNotifications[messageId] = new Date().toISOString();
5315
+ }
5259
5316
  }
5260
5317
  const pruned = {};
5261
5318
  for (const [messageId, ts] of Object.entries(nextNotifications)) {
@@ -5275,28 +5332,17 @@ function resolveLeaderMailboxTransportPreference(dispatchPolicy) {
5275
5332
  function isExistingMailboxNotificationOutcome(outcome) {
5276
5333
  return outcome.ok && outcome.reason === 'existing_message_already_notified';
5277
5334
  }
5278
- async function dispatchPendingMailboxMessage(params) {
5279
- const { teamName, workerName, workerInfo, messageId, config, dispatchPolicy, cwd } = params;
5335
+ async function finalizeDispatchedMailboxMessage(params) {
5336
+ const { teamName, workerName, workerInfo, messageId, requestId, config, dispatchPolicy, cwd } = params;
5280
5337
  const triggerDirective = buildMailboxTriggerDirective(workerName, teamName, 1, resolveInstructionStateRoot(workerInfo.worktree_path));
5281
5338
  const transportPreference = resolveWorkerMailboxTransportPreference(config, dispatchPolicy);
5282
- const queued = await enqueueDispatchRequest(teamName, {
5283
- kind: 'mailbox',
5284
- to_worker: workerName,
5285
- worker_index: workerInfo.index,
5286
- pane_id: workerInfo.pane_id,
5287
- trigger_message: triggerDirective.text,
5288
- intent: triggerDirective.intent,
5289
- message_id: messageId,
5290
- transport_preference: transportPreference,
5291
- fallback_allowed: transportPreference === 'hook_preferred_with_fallback',
5292
- }, cwd);
5293
5339
  if (transportPreference === 'hook_preferred_with_fallback') {
5294
5340
  return await finalizeQueuedMailboxDispatch({
5295
5341
  queuedOutcome: {
5296
5342
  ok: true,
5297
5343
  transport: 'hook',
5298
5344
  reason: 'queued_for_hook_dispatch',
5299
- request_id: queued.request.request_id,
5345
+ request_id: requestId,
5300
5346
  message_id: messageId,
5301
5347
  },
5302
5348
  transportPreference,
@@ -5312,17 +5358,25 @@ async function dispatchPendingMailboxMessage(params) {
5312
5358
  cwd,
5313
5359
  });
5314
5360
  }
5361
+ // Re-read the dispatch request to check if it was delivered after Phase 1.5 enqueue.
5362
+ // An acknowledgement in prompt mode or transport_direct can land immediately after Phase 1.5
5363
+ // and mark the request delivered before this finalization runs.
5364
+ const currentRequest = await readDispatchRequest(teamName, requestId, cwd).catch(() => null);
5365
+ if (!currentRequest || currentRequest.status === 'delivered') {
5366
+ // Message was already delivered by an intervening acknowledgement; skip notification.
5367
+ return { ok: true, transport: 'mailbox', reason: 'stale_after_acknowledgement', request_id: requestId, message_id: messageId };
5368
+ }
5315
5369
  const direct = await notifyWorkerOutcome(config, workerInfo.index, triggerDirective.text, workerInfo.pane_id);
5316
- const outcome = { ...direct, request_id: queued.request.request_id, message_id: messageId };
5370
+ const outcome = { ...direct, request_id: requestId, message_id: messageId };
5317
5371
  if (outcome.ok) {
5318
5372
  await markMessageNotified(teamName, workerName, messageId, cwd).catch(() => false);
5319
- await markDispatchRequestNotified(teamName, queued.request.request_id, { message_id: messageId, last_reason: outcome.reason }, cwd).catch(() => null);
5373
+ await markDispatchRequestNotified(teamName, requestId, { message_id: messageId, last_reason: outcome.reason }, cwd).catch(() => null);
5320
5374
  }
5321
5375
  await logRuntimeDispatchOutcome({
5322
5376
  cwd,
5323
5377
  teamName,
5324
5378
  workerName,
5325
- requestId: queued.request.request_id,
5379
+ requestId,
5326
5380
  messageId,
5327
5381
  outcome,
5328
5382
  });