baxian 1.2.9 → 1.2.10

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.
@@ -142,6 +142,7 @@ export declare class AgentManager {
142
142
  protected compactIdleWaitMs: number;
143
143
  protected compactIdlePollMs: number;
144
144
  protected manualCompactWaitMs: number;
145
+ protected clearContextWaitMs: number;
145
146
  protected postMergeFetchTimeoutMs: number;
146
147
  protected postMergeBranchTimeoutMs: number;
147
148
  private manualReviewInFlight;
@@ -198,6 +199,7 @@ export declare class AgentManager {
198
199
  releaseAgentForTask(agentId: string, expectedTaskId: string, mode: 'waiting' | 'idle', opts?: {
199
200
  allowAwaitingHuman?: boolean;
200
201
  clearAwaitingHuman?: boolean;
202
+ fromCancelCleanup?: boolean;
201
203
  }): Promise<boolean>;
202
204
  markAwaitingHuman(agentId: string, phase: string, reason: string, opts?: {
203
205
  expectedCreationToken?: string | null;
@@ -208,7 +210,10 @@ export declare class AgentManager {
208
210
  resumed: boolean;
209
211
  releasedBinding: boolean;
210
212
  }>;
213
+ private resolvePaneId;
211
214
  private interruptPaneAndWaitReady;
215
+ private markPaneCancelClearing;
216
+ private clearPaneContext;
212
217
  failTaskForDispatchError(taskId: string, phase: string, agentId: string, err: DispatchTerminalError): Promise<void>;
213
218
  failTasksForAgent(agentId: string, reason: string, opts?: {
214
219
  deferPartnerCleanup?: boolean;
@@ -378,6 +383,9 @@ export declare class AgentManager {
378
383
  private acquireCompactGuard;
379
384
  private tryAcquireCompactGuard;
380
385
  private runPostMergeCompactionSteps;
386
+ private sendPostMergeSlashCommand;
387
+ private hasRuntimeSlashCommandRejection;
388
+ private runtimeSlashCommandRejectedPattern;
381
389
  private waitForReplPromptReady;
382
390
  stopPhaseSignalWatcher(taskId: string): void;
383
391
  private checkPublishInFlight;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agent/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agent/manager.ts"],"names":[],"mappings":"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"}
@@ -87,8 +87,24 @@ export function canDispatchWithBinding(binding) {
87
87
  // recover 路径)都可能让第二个 prompt 派进同 pane 与旧 turn 混在一起。outcome handler 通过显式
88
88
  // allowAwaitingHuman:true release,gate 单点放行。
89
89
  const TURN_COMPLETED_AWAITING_PHASES = new Set();
90
+ // Pane is stopped (interrupt landed) but its session was not cleared: cancel is mid /clear
91
+ // (`cancel-clearing`) or /clear was unconfirmed (`cancel-clear-failed`). Resume can't fix it (it doesn't
92
+ // /clear), so these are DELETE-only: shouldReleaseHeldBinding returns false → recover()/escape/Resume all
93
+ // refuse. Persisted, so the protection survives a restart mid-cleanup.
94
+ const UNCLEARED_PANE_PHASES = new Set(['cancel-clearing', 'cancel-clear-failed']);
95
+ // All cancel-cleanup holds (the un-cleared ones plus `cancel-interrupt-failed`, where the interrupt failed
96
+ // so the pane may still be running the cancelled task). None may be AUTO-released — not by recover(), not by
97
+ // a terminal-task escape, not even by an allowAwaitingHuman caller — because that would reuse the cancelled
98
+ // session. Only cancel's own confirmed-/clear release (fromCancelCleanup) frees one automatically; the
99
+ // operator recovers via Resume (cancel-interrupt-failed only, after verifying) or DELETE (any).
100
+ const CANCEL_CLEANUP_HOLD_PHASES = new Set([...UNCLEARED_PANE_PHASES, 'cancel-interrupt-failed']);
101
+ // A prompt line still holding the typed `/clear` (e.g. `❯ /clear`, `› /clear`) = the Enter was swallowed,
102
+ // so /clear was never submitted. After a real submission /clear wipes the screen and the composer is empty.
103
+ const CLEAR_PENDING_IN_COMPOSER_RE = /(?:^|\n)[ \t]*[❯>›→][ \t]*\/clear\b/;
90
104
  // Resume / recover 共用:决定 Held agent 的 binding 是否随状态恢复一起清掉。
91
105
  export function shouldReleaseHeldBinding(state, boundTask) {
106
+ if (state.awaitingPhase != null && UNCLEARED_PANE_PHASES.has(state.awaitingPhase))
107
+ return false;
92
108
  const taskIsTerminal = !!boundTask && TERMINAL_STATUSES.includes(boundTask.status);
93
109
  const turnCompleted = state.awaitingPhase != null && TURN_COMPLETED_AWAITING_PHASES.has(state.awaitingPhase);
94
110
  return !boundTask || taskIsTerminal || turnCompleted;
@@ -134,6 +150,7 @@ export class AgentManager {
134
150
  compactIdleWaitMs = 5 * 60_000;
135
151
  compactIdlePollMs = 2_000;
136
152
  manualCompactWaitMs = 5_000;
153
+ clearContextWaitMs = 30_000;
137
154
  postMergeFetchTimeoutMs = 60_000;
138
155
  postMergeBranchTimeoutMs = 10_000;
139
156
  // taskIds with in-flight manual review — second concurrent POST gets 409.
@@ -1196,6 +1213,17 @@ export class AgentManager {
1196
1213
  `(expected ${expectedTaskId}, got ${state.taskId}); skipping`);
1197
1214
  return false;
1198
1215
  }
1216
+ // Cancel-cleanup hold: only cancel's own release may free it. Checked BEFORE the allowAwaitingHuman
1217
+ // gate below, because that gate skips shouldReleaseHeldBinding entirely — so without this an
1218
+ // allowAwaitingHuman caller (startup false-start, review/max-rounds handlers, a terminal-task escape)
1219
+ // could reassign the un-cleared/maybe-running pane before cancel confirms /clear. (Operator recovery
1220
+ // via resumeAgent / DELETE doesn't go through this path.)
1221
+ if (state.awaitingPhase != null
1222
+ && CANCEL_CLEANUP_HOLD_PHASES.has(state.awaitingPhase)
1223
+ && !opts.fromCancelCleanup) {
1224
+ console.warn(`[AgentManager] releaseAgentForTask: agent ${agentId} ${state.awaitingPhase} (cancel-cleanup hold); refusing auto-release`);
1225
+ return false;
1226
+ }
1199
1227
  const boundTask = await this.taskStore.get(expectedTaskId);
1200
1228
  if (state.status === 'awaiting_human' && !opts.allowAwaitingHuman) {
1201
1229
  // gate 例外:bound task 已 terminal / turn-completed phase 都属于正常 cleanup 路径,
@@ -1426,6 +1454,13 @@ export class AgentManager {
1426
1454
  console.warn(`[AgentManager] resumeAgent: agent ${agentId} ${state.awaitingPhase} with active task ${state.taskId} — the dispatched prompt's pane signal has no consumer and Resume cannot rebuild the watcher; refusing Resume. Operator should cancel the task or DELETE the agent.`);
1427
1455
  return { resumed: false, releasedBinding: false };
1428
1456
  }
1457
+ // Un-cleared pane (cancel mid-clear or /clear unconfirmed): Resume would free + reuse it (terminal
1458
+ // task → shouldReleaseHeldBinding) and leak the cancelled task's context. Refuse; only DELETE (which
1459
+ // destroys the pane) is a safe recovery.
1460
+ if (state.awaitingPhase != null && UNCLEARED_PANE_PHASES.has(state.awaitingPhase)) {
1461
+ console.warn(`[AgentManager] resumeAgent: agent ${agentId} ${state.awaitingPhase} — pane holds un-cleared context; refusing Resume. DELETE the agent to discard it.`);
1462
+ return { resumed: false, releasedBinding: false };
1463
+ }
1429
1464
  const now = new Date().toISOString();
1430
1465
  const shouldReleaseBinding = shouldReleaseHeldBinding(state, boundTask);
1431
1466
  const cfg = this.getAgentConfig(agentId);
@@ -1497,25 +1532,29 @@ export class AgentManager {
1497
1532
  }
1498
1533
  return { resumed: result.resumed, releasedBinding: result.releasedBinding };
1499
1534
  }
1500
- async interruptPaneAndWaitReady(state, cfg) {
1501
- const runner = this.createRunnerFor(cfg);
1502
- const tmux = new TmuxManager(runner);
1503
- let paneId = state.paneId;
1504
- if (!paneId) {
1505
- try {
1506
- paneId = await tmux.getSinglePaneId(cfg.id);
1507
- }
1508
- catch (err) {
1509
- console.warn(`[AgentManager] interruptPaneAndWaitReady: getSinglePaneId failed for ${cfg.id}:`, err);
1510
- return false;
1511
- }
1535
+ async resolvePaneId(state, cfg) {
1536
+ if (state.paneId)
1537
+ return state.paneId;
1538
+ try {
1539
+ return await new TmuxManager(this.createRunnerFor(cfg)).getSinglePaneId(cfg.id);
1512
1540
  }
1541
+ catch (err) {
1542
+ console.warn(`[AgentManager] resolvePaneId: getSinglePaneId failed for ${cfg.id}:`, err);
1543
+ return null;
1544
+ }
1545
+ }
1546
+ // ESC (not Ctrl-C) is the interrupt key both runtimes advertise; returns whether the pane reached idle.
1547
+ async interruptPaneAndWaitReady(state, cfg) {
1548
+ const paneId = await this.resolvePaneId(state, cfg);
1549
+ if (!paneId)
1550
+ return false;
1551
+ const tmux = new TmuxManager(this.createRunnerFor(cfg));
1513
1552
  try {
1514
- await tmux.sendKeysToPane(paneId, 'C-c');
1553
+ await tmux.sendKeysToPane(paneId, 'Escape');
1515
1554
  await new Promise(r => setTimeout(r, 200));
1516
1555
  }
1517
1556
  catch (err) {
1518
- console.warn(`[AgentManager] interruptPaneAndWaitReady: send C-c failed for pane ${paneId}:`, err);
1557
+ console.warn(`[AgentManager] interruptPaneAndWaitReady: send Escape failed for pane ${paneId}:`, err);
1519
1558
  return false;
1520
1559
  }
1521
1560
  try {
@@ -1530,6 +1569,72 @@ export class AgentManager {
1530
1569
  return false;
1531
1570
  }
1532
1571
  }
1572
+ // Persist a "cancel is interrupting + /clearing this pane" hold BEFORE the ESC→/clear window so the
1573
+ // protection survives a restart (recover() holds UNCLEARED_PANE_PHASES) and the escape can't reassign the
1574
+ // un-cleared pane. Direct update (no intervention event): a normal cancel clears it on release; only a
1575
+ // crash/failure leaves it. Conditional on the binding so a stale cancel can't mark an agent rebound away.
1576
+ async markPaneCancelClearing(agentId, taskId) {
1577
+ const now = new Date().toISOString();
1578
+ await this.agentStore.update(agentId, (latest) => {
1579
+ if (!latest || latest.taskId !== taskId)
1580
+ return AGENT_STORE_NOOP;
1581
+ return {
1582
+ ...latest,
1583
+ status: 'awaiting_human',
1584
+ awaitingPhase: 'cancel-clearing',
1585
+ awaitingReason: 'Cancelling: interrupting and clearing the runtime session; not reusable until /clear is confirmed or the agent is deleted.',
1586
+ awaitingSince: now,
1587
+ updatedAt: now,
1588
+ };
1589
+ });
1590
+ }
1591
+ // Returns whether /clear was confirmed (a real busy→idle, not the stale pre-/clear idle frame); the
1592
+ // caller must hold the agent, not release it, on false or the un-cleared context leaks to the next dispatch.
1593
+ async clearPaneContext(state, cfg) {
1594
+ const paneId = await this.resolvePaneId(state, cfg);
1595
+ if (!paneId)
1596
+ return false;
1597
+ if (!this.tryAcquireCompactGuard(cfg.id)) {
1598
+ console.warn(`[AgentManager] clearPaneContext: ${cfg.id} compact/upload in progress; cannot /clear`);
1599
+ return false;
1600
+ }
1601
+ try {
1602
+ const tmux = new TmuxManager(this.createRunnerFor(cfg));
1603
+ const runtime = agentRuntimeKindFor(cfg);
1604
+ // C-c clears any prompt an ack-timeout left in the composer, so /clear isn't appended to it and submitted.
1605
+ await tmux.sendKeysToPane(paneId, 'C-c');
1606
+ await this.waitForReplPromptReady(tmux, paneId, runtime, this.clearContextWaitMs);
1607
+ await tmux.sendKeysLiteral(paneId, '/clear');
1608
+ // Snapshot the composer holding the typed /clear; require submission proof so a swallowed Enter
1609
+ // (which would leave /clear idle in the composer and let waitForReplPromptReady pass on the stale
1610
+ // frame) is resent rather than treated as cleared.
1611
+ const beforeSubmit = await tmux.capturePaneSnapshot(paneId);
1612
+ await tmux.sendEnter(paneId);
1613
+ await tmux.waitSubmitAck(paneId, beforeSubmit, runtime, {
1614
+ timeoutMs: this.clearContextWaitMs,
1615
+ acceptComposerChange: true,
1616
+ resend: () => tmux.sendEnter(paneId),
1617
+ resendIntervalMs: this.compactIdlePollMs,
1618
+ });
1619
+ await this.waitForReplPromptReady(tmux, paneId, runtime, this.clearContextWaitMs);
1620
+ // Positively confirm the composer is empty: a ready anchor alone can sit above a composer that still
1621
+ // holds the typed /clear (e.g. acceptComposerChange returned on an unrelated redraw). If /clear is
1622
+ // still parked there, it was never submitted — treat as unconfirmed so the caller holds the pane.
1623
+ const afterClear = await tmux.capturePaneById(paneId, { ansi: false, scrollback: 0 });
1624
+ if (CLEAR_PENDING_IN_COMPOSER_RE.test(afterClear)) {
1625
+ console.warn(`[AgentManager] clearPaneContext: /clear still in composer for ${cfg.id}; unconfirmed`);
1626
+ return false;
1627
+ }
1628
+ return true;
1629
+ }
1630
+ catch (err) {
1631
+ console.warn(`[AgentManager] clearPaneContext: /clear failed for ${cfg.id}:`, err);
1632
+ return false;
1633
+ }
1634
+ finally {
1635
+ this.compactInFlight.delete(cfg.id);
1636
+ }
1637
+ }
1533
1638
  async failTaskForDispatchError(taskId, phase, agentId, err) {
1534
1639
  const expected = PHASE_EXPECTED_STATUS[phase] ?? [];
1535
1640
  const transitioned = await this.transitionTaskStatus(taskId, 'failed', { fromStatus: expected.length > 0 ? expected : ['in_progress', 'review', 'fixing', 'approved', 'merge-ready'] });
@@ -1905,7 +2010,7 @@ export class AgentManager {
1905
2010
  return cleared;
1906
2011
  });
1907
2012
  }
1908
- // manual-merge skips snapshot a stale scrollback signal would re-fire every restart.
2013
+ // Recovery snapshot replay is safe because the completion token is cleared after merge-ready.
1909
2014
  async setupRecoveredPostApproveSignals() {
1910
2015
  if (!this.phaseSignalWatcher)
1911
2016
  return;
@@ -1914,8 +2019,6 @@ export class AgentManager {
1914
2019
  const completion = await this.postApproveStore.get(task.id);
1915
2020
  if (!completion)
1916
2021
  continue;
1917
- const project = this.getProjectConfig(task.projectId);
1918
- const skipSnapshot = project?.merge !== 'auto';
1919
2022
  try {
1920
2023
  await this.phaseSignalWatcher.start({
1921
2024
  taskId: task.id,
@@ -1923,7 +2026,7 @@ export class AgentManager {
1923
2026
  agentId: task.agentId,
1924
2027
  expectedKinds: 'pr-merge-ready',
1925
2028
  token: completion.token,
1926
- skipSnapshot,
2029
+ skipSnapshot: false,
1927
2030
  recovered: true,
1928
2031
  });
1929
2032
  }
@@ -2474,11 +2577,26 @@ export class AgentManager {
2474
2577
  if (!fresh || TERMINAL_STATUSES.includes(fresh.status)) {
2475
2578
  const cfg = this.getAgentConfig(agentId);
2476
2579
  const state = await this.agentStore.get(agentId);
2477
- if (cfg && state && state.taskId === taskId && !(await this.interruptPaneAndWaitReady(state, cfg))) {
2478
- await this.markAwaitingHuman(agentId, 'cancel-interrupt-failed', 'Task was cancelled during startup but C-c / REPL ready check failed; the agent may still be ' +
2479
- 'running the cancelled prompt. Attach via web terminal to verify, then Resume or Delete.', { expectedTaskId: taskId });
2580
+ if (cfg && state && state.taskId === taskId) {
2581
+ // Persist the un-cleared hold before the ESC→/clear window so a restart mid-cleanup recovers it
2582
+ // held instead of releasing the still-dirty pane (mirrors cancelTask).
2583
+ await this.markPaneCancelClearing(agentId, taskId);
2584
+ if (!(await this.interruptPaneAndWaitReady(state, cfg))) {
2585
+ await this.markAwaitingHuman(agentId, 'cancel-interrupt-failed', 'Task was cancelled during startup but ESC / REPL ready check failed; the agent may still be ' +
2586
+ 'running the cancelled prompt. Attach via web terminal to verify, then Resume or Delete.', { expectedTaskId: taskId });
2587
+ return null;
2588
+ }
2589
+ if (!(await this.clearPaneContext(state, cfg))) {
2590
+ await this.markAwaitingHuman(agentId, 'cancel-clear-failed', 'Task was cancelled during startup and the session interrupted, but /clear was not confirmed; ' +
2591
+ 'the pane holds un-cleared context. DELETE the agent to discard it (Resume will not reuse an un-cleared pane).', { expectedTaskId: taskId });
2592
+ return null;
2593
+ }
2594
+ // /clear confirmed → cancel cleanup is done; free the cancel-clearing hold (only path allowed to).
2595
+ await this.releaseAgentForTask(agentId, taskId, 'idle', { allowAwaitingHuman: true, fromCancelCleanup: true });
2480
2596
  return null;
2481
2597
  }
2598
+ // No live pane to clean (agent gone / rebound): release without the cancel-cleanup bypass — if it
2599
+ // somehow holds an un-cleared phase, refusing here keeps the dirty pane for the owning cancel.
2482
2600
  await this.releaseAgentForTask(agentId, taskId, 'idle', { allowAwaitingHuman: true });
2483
2601
  return null;
2484
2602
  }
@@ -3478,7 +3596,11 @@ export class AgentManager {
3478
3596
  console.warn(`[recover] dispatchPostMergeCleanup(${state.id}, ${boundTask.id}) failed:`, cleanupErr);
3479
3597
  }
3480
3598
  }
3481
- const shouldReleaseBinding = shouldReleaseHeldBinding(state, boundTask);
3599
+ // A cancel-cleanup hold must NOT be auto-released on restart (it would reuse the cancelled,
3600
+ // un-cleared/maybe-running pane). cancel-interrupt-failed has shouldReleaseHeldBinding=true (it's
3601
+ // operator-Resume recoverable), so exclude the whole cancel-cleanup set here explicitly.
3602
+ const cancelHold = state.awaitingPhase != null && CANCEL_CLEANUP_HOLD_PHASES.has(state.awaitingPhase);
3603
+ const shouldReleaseBinding = shouldReleaseHeldBinding(state, boundTask) && !cancelHold;
3482
3604
  // 释放 binding 时同步清 worktree(与 resumeAgent 一致)——否则跨重启恢复后
3483
3605
  // worktreePath 在下面 update 中被丢弃,磁盘上的 worktree 永远无人回收。
3484
3606
  if (shouldReleaseBinding && state.worktreePath) {
@@ -3536,7 +3658,9 @@ export class AgentManager {
3536
3658
  if (shouldReleaseBinding) {
3537
3659
  await this.lockManager.release(state.id);
3538
3660
  }
3539
- if (state.taskId && !shouldReleaseBinding) {
3661
+ // Skip the menu-watch for cancel-cleanup holds: they await operator Resume/DELETE, and their taskId
3662
+ // won't clear on its own, so the watcher would poll forever.
3663
+ if (state.taskId && !shouldReleaseBinding && !cancelHold) {
3540
3664
  this.startRuntimeMenuWatch(state.id);
3541
3665
  }
3542
3666
  }
@@ -3731,6 +3855,13 @@ export class AgentManager {
3731
3855
  mayBeInFlight: false,
3732
3856
  };
3733
3857
  }
3858
+ // Mark the panes cancel-clearing BEFORE flipping the task terminal (still under the lock), so any
3859
+ // window — a concurrent escape, or a restart — sees a persisted hold instead of a plain binding to a
3860
+ // terminal task that recover()/the escape would release with the session still un-cleared.
3861
+ for (const id of [devToRelease, qaToRelease]) {
3862
+ if (id)
3863
+ await this.markPaneCancelClearing(id, taskId);
3864
+ }
3734
3865
  const now = new Date().toISOString();
3735
3866
  task.status = 'cancelled';
3736
3867
  task.updatedAt = now;
@@ -3752,31 +3883,46 @@ export class AgentManager {
3752
3883
  // (config hot-removed: the pane outlives the config; state gone; rebound)
3753
3884
  // leave an in-flight publish possible.
3754
3885
  let devStopConfirmed = false;
3886
+ // Phase 1 — interrupt every still-bound pane first, so a slow /clear on one agent can't keep another
3887
+ // running the cancelled task. The persisted cancel-clearing hold (set under the lock) blocks any
3888
+ // concurrent escape from releasing these panes until they are /cleared.
3889
+ const stopped = [];
3755
3890
  for (const id of [devToRelease, qaToRelease]) {
3756
3891
  if (!id)
3757
3892
  continue;
3758
3893
  const cfg = this.getAgentConfig(id);
3759
3894
  const state = await this.agentStore.get(id);
3760
- if (!cfg || !state)
3761
- continue;
3762
- // 重校验绑定:lock 释放后另一路 release+acquire 可能已把 agent 绑给新任务,
3763
- // 此时不能 C-c 打到新会话上、也不能继续 idle release。
3764
- if (state.taskId !== taskId) {
3765
- console.warn(`[AgentManager] cancelTask: ${id} no longer bound to ${taskId} (got ${state.taskId}); skipping`);
3895
+ if (!cfg || !state || state.taskId !== taskId) {
3896
+ console.warn(`[AgentManager] cancelTask: ${id} no longer bound to ${taskId} (got ${state?.taskId}); skipping`);
3766
3897
  continue;
3767
3898
  }
3768
- const ok = await this.interruptPaneAndWaitReady(state, cfg);
3769
- if (!ok) {
3770
- await this.markAwaitingHuman(id, 'cancel-interrupt-failed', 'Task marked cancelled but C-c / REPL ready check failed; agent may still be running. Attach via web terminal to verify, then Resume or Delete.');
3899
+ if (!(await this.interruptPaneAndWaitReady(state, cfg))) {
3900
+ await this.markAwaitingHuman(id, 'cancel-interrupt-failed', 'Task marked cancelled but ESC / REPL ready check failed; agent may still be running the cancelled prompt. Attach via web terminal to verify, then Resume or Delete.', { expectedTaskId: taskId });
3771
3901
  continue;
3772
3902
  }
3903
+ // devStopConfirmed reflects only "the pane stopped" — set before /clear so published-artifact
3904
+ // retirement still proceeds even when /clear can't be confirmed.
3773
3905
  if (id === publishedCleanup?.devAgentId)
3774
3906
  devStopConfirmed = true;
3907
+ stopped.push(id);
3908
+ }
3909
+ // Phase 2 — every pane is stopped; /clear + release each.
3910
+ for (const id of stopped) {
3911
+ const cfg = this.getAgentConfig(id);
3912
+ const state = await this.agentStore.get(id);
3913
+ if (!cfg || !state || state.taskId !== taskId) {
3914
+ console.warn(`[AgentManager] cancelTask: ${id} rebound before /clear (got ${state?.taskId}); skipping`);
3915
+ continue;
3916
+ }
3917
+ if (!(await this.clearPaneContext(state, cfg))) {
3918
+ // /clear unconfirmed → hold; the un-cleared pane stays bound (UNCLEARED_PANE_PHASES) until DELETE.
3919
+ await this.markAwaitingHuman(id, 'cancel-clear-failed', 'Task marked cancelled and the session interrupted, but /clear was not confirmed; the pane holds un-cleared context. DELETE the agent to discard it (Resume will not reuse an un-cleared pane).', { expectedTaskId: taskId });
3920
+ continue;
3921
+ }
3775
3922
  try {
3776
- // allowAwaitingHuman: cancelTask 是显式回收入口,agent 之前可能因 ack_unknown 等被标 Held,
3777
- // 用户主动 Cancel 应允许跨过 awaiting_human gate 清理 binding;release 默认 gate 是为了
3778
- // 拦住非显式路径(如 generic catch)的意外清理,cancelTask 不属于那类。
3779
- await this.releaseAgentForTask(id, taskId, 'idle', { allowAwaitingHuman: true });
3923
+ // fromCancelCleanup: this IS the owning cancel, having confirmed /clear — the only release allowed
3924
+ // to free the cancel-clearing hold. allowAwaitingHuman: cross the awaiting_human gate too.
3925
+ await this.releaseAgentForTask(id, taskId, 'idle', { allowAwaitingHuman: true, fromCancelCleanup: true });
3780
3926
  }
3781
3927
  catch (err) {
3782
3928
  console.error(`[AgentManager] cancelTask releaseAgentForTask(${id}) failed:`, err);
@@ -4781,10 +4927,10 @@ export class AgentManager {
4781
4927
  await this.waitForReplPromptReady(tmux, paneId, runtime, this.compactIdleWaitMs);
4782
4928
  if (!await bindingStillOurs())
4783
4929
  return;
4784
- await tmux.sendKeysLiteral(paneId, cleanSlate ? '/clear' : '/compact');
4785
- await tmux.sendEnter(paneId);
4786
- await new Promise(r => setTimeout(r, this.compactIdlePollMs));
4787
- await this.waitForReplPromptReady(tmux, paneId, runtime, this.compactIdleWaitMs);
4930
+ const command = cleanSlate ? '/clear' : '/compact';
4931
+ if (!await this.sendPostMergeSlashCommand(tmux, paneId, agentId, runtime, command, bindingStillOurs)) {
4932
+ return;
4933
+ }
4788
4934
  break;
4789
4935
  }
4790
4936
  catch (err) {
@@ -4794,6 +4940,34 @@ export class AgentManager {
4794
4940
  }
4795
4941
  await this.releasePostMergeAgent(agentId, originalTaskId);
4796
4942
  }
4943
+ async sendPostMergeSlashCommand(tmux, paneId, agentId, runtime, command, bindingStillOurs) {
4944
+ let rejection;
4945
+ for (let attempt = 1; attempt <= 2; attempt++) {
4946
+ await tmux.sendKeysLiteral(paneId, command);
4947
+ await tmux.sendEnter(paneId);
4948
+ await new Promise(r => setTimeout(r, this.compactIdlePollMs));
4949
+ await this.waitForReplPromptReady(tmux, paneId, runtime, this.compactIdleWaitMs);
4950
+ if (!await bindingStillOurs())
4951
+ return false;
4952
+ if (!await this.hasRuntimeSlashCommandRejection(tmux, paneId, command))
4953
+ return true;
4954
+ rejection = new Error(`runtime rejected ${command} because a task is still in progress`);
4955
+ if (attempt < 2) {
4956
+ console.warn(`[AgentManager] runPostMergeCompaction(${agentId}) ${command} rejected; retrying`);
4957
+ await new Promise(r => setTimeout(r, this.compactIdlePollMs));
4958
+ if (!await bindingStillOurs())
4959
+ return false;
4960
+ }
4961
+ }
4962
+ throw rejection ?? new Error(`runtime rejected ${command}`);
4963
+ }
4964
+ async hasRuntimeSlashCommandRejection(tmux, paneId, command) {
4965
+ const cap = await tmux.capturePaneById(paneId, { ansi: false, scrollback: 0 });
4966
+ return this.runtimeSlashCommandRejectedPattern(command).test(cap);
4967
+ }
4968
+ runtimeSlashCommandRejectedPattern(command) {
4969
+ return new RegExp(`["'“”‘’]?${command}["'“”‘’]?\\s+is disabled while a task is in progress\\.`, 'gi');
4970
+ }
4797
4971
  // pane_current_command 是 runtime 是否仍活的权威信号(不被 viewport stale frame 骗)。
4798
4972
  // anchor 在 codex busy 屏(`Working on it…\n esc to interrupt`)不存在,所以 busy 状态只看
4799
4973
  // procTitle;只有准备返回 idle 时才用 anchor 作双重证据,挡 stale-frame + shell 误报。