Repository navigation
Conversation
|
Here's a visual recap of what changed: Open the full interactive recap |
There was a problem hiding this comment.
Builder reviewed your changes — looks good ✅
Review Details
Incremental review of PR #8146 at the latest HEAD. The update addresses the previously reported interrupt-admission issue by making tryClaimRunSlot identify a pending current-turn approval and, for an explicit interrupt, insert the old turn's abort markers in the same locked transaction as the replacement run. If admission fails after insertion, the transaction rolls the markers back; the added regression also verifies that a late approval cannot resume the interrupted turn. The two prior review threads are resolved. Four independent code-review passes found no new actionable issues in the interrupt, Stop, or ordinary approval-gating paths. Overall, the concurrency approach is sound for this standard-risk change. 🧪 Browser testing: Skipped — the browser-test-planner agent is unavailable in this environment.

Queued follow-ups could claim the thread's run slot while its current turn waited for tool approval. Clicking Approve then failed with "The current agent run still owns this thread." This caused the standalone Chat check failures on #7981 and #8092.
Check current-turn approvals inside locked slot admission for both fresh sends and queued promotions. Explicit interruptions cancel a completed approval pause in the same transaction that admits the replacement. A previously resolved approval cannot resume the interrupted turn afterward. Expired, stopped, or superseded approvals do not block later work. Stop persists its turn marker even after an approval-paused execution has completed, including safe-boundary Stop, and schedules an immediate inbox drain. The drain also runs when Stop reports an error after saving state; its admission checks keep work queued if the stop did not persist.
Verification:
The standalone browser smoke could not scaffold on this Windows PC (
spawnSync npm.cmd EINVAL); that separate issue is recorded privately. The Linux standalone Chat check passes on current head 987a1891f8b2.