Skip to content

fix: end the coordinator's turn when it replies after a restart - #136

Closed
TheGreatAxios wants to merge 2 commits into
mainfrom
cl-12080-end-the-coordinators-turn-when-it-replies-after-a-restart
Closed

TheGreatAxios wants to merge 2 commits into
mainfrom
cl-12080-end-the-coordinators-turn-when-it-replies-after-a-restart

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • The project page's live run fold ends the coordinator's turn on its reply as well as on the message run ending, so "Thinking…" clears when the coordinator replies to an approval decided after a hub or sidecar restart.
  • The hub's activity tracker ends the turn on the reply too, so a page opened after that reply shows the coordinator idle.
  • A resumed turn that ends without a reply is left to Interchange, tracked in INTR-721.

Verification

  • bun run lint, format:check, typecheck, test (219 pass), pins:verify and vendor:verify pass.
  • A hub test feeds a tool call and a reply with no message run and reads the coordinator as idle after the reply; it fails without the tracker change.
  • A page test folds a resumed turn and reads it as ended after the reply; it fails without the fold change.

Closes CL-12080

The reactor closes a message run right after it replies, and the page
cleared "Thinking…" only on that close. A turn resumed from an approval
restored after a restart has no message run, so it sends no close and
the page stayed on "Thinking…" after the coordinator had replied. The
page ends the live turn on the coordinator's reply as well.
The activity tracker marked the coordinator idle only on a message run
ending. A turn resumed from an approval restored after a restart has
no message run, so once it called a tool the hub kept reporting the
coordinator as working after it replied, and a page opened later
showed "Thinking…". The tracker ends the turn on the reply as well.
@linear-code

linear-code Bot commented Nov 4, 2026

Copy link
Copy Markdown

CL-12080

@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Superseded: the resumed turn is fixed in vendored Interchange instead (INTR-721), which reports the end of every resumed turn, so the page and hub need no reply rule.

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.

1 participant