Skip to content

fix: queue system notices during active turns, and skip storing hidden ACP diagnostics - #5618

Closed
timigod wants to merge 1 commit into
get-bb:mainfrom
timigod:fix/queue-system-notices-during-active-turns
Closed

timigod wants to merge 1 commit into
get-bb:mainfrom
timigod:fix/queue-system-notices-during-active-turns

Conversation

@timigod

@timigod timigod commented Oct 16, 2026

Copy link
Copy Markdown

Fixes #5617

What changed

  • A system notice (child completion, wait resumption) that reaches a thread with an active provider turn now goes into the durable thread queue and is delivered at the turn boundary. It no longer takes the live-steer path, so it can't cancel a running command or permission request. Human steers are unchanged.
  • With diagnostic events hidden, ordinary ACP provider/unhandled events are no longer stored. Provider errors and terminal tool events (completed, failed, cancelled) are still stored.

Tests

  • New: "parks a parent system notice without steering an active turn" (apps/server/test/threads/thread-send-dispatch.test.ts) and "can omit unhandled provider diagnostics without shifting stored sequences" (packages/db/test/data/events.test.ts).
  • Full @bb/server suite on 075826d6 and on this branch, same environment: 3,502 passed, 3 failed, 1 skipped in both. The same three test files fail on 075826d6: the machine-install HOME cases, the marketplace committer-date case, and a missing plugin-authoring fixture.
  • @bb/server typecheck passes.

Investigated, implemented and verified end to end by Timi's coding agents: gpt-6.1-sol at high reasoning level, coordinated by Claude Opus 5.5 at max thinking level.

🤖 Generated with Claude Code

AGENT GENERATED

…n ACP diagnostics

A system notice (child completion, wait resumption) that reaches a thread
with an active provider turn now goes into the durable thread queue and is
delivered at the turn boundary, instead of taking the live-steer path that
cancels the running command. Human steers are unchanged.

With diagnostic events hidden, ordinary ACP provider/unhandled events are no
longer stored. Provider errors and terminal tool events are still stored.

Fixes the false user-rejection stop on ACP providers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Thanks @timigod for the PR. This repo approves new contributors before it reviews their PRs, so this PR now closes on its own. That is expected. Join the #contributors channel in Discord (https://discord.gg/kvBU6tJhcJ), post a link to this PR, and explain what it changes and why. A maintainer then adds you to the allow list and can reopen the PR.

@github-actions github-actions Bot closed this Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

System notices cancel a running ACP command and read as a user rejection

1 participant