Skip to content

Ship idle-with-fleet so Enter is a turn while workers run - #692

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-7057-ship-idle-with-fleet-parent-goes-idle-after-spawn-so-enter
Aug 25, 2026
Merged

Ship idle-with-fleet so Enter is a turn while workers run#692
TheGreatAxios merged 1 commit into
mainfrom
cl-7057-ship-idle-with-fleet-parent-goes-idle-after-spawn-so-enter

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • After a non-blocking spawn_agent dispatch, the primary can settle its turn while workers keep running: the runner emits a fleet event carrying the live-lane count on every transition, and the bridge holds the run busy on that count instead of treating the parent settle as session-idle.
  • While the hold is on, Enter upgrades to a new primary turn sent immediately rather than queueing a soft-steer behind a parent tool that no longer exists. Alt+Enter follow-ups still wait for true session-idle (parent-idle and no live fleet lanes) and drain the moment the last lane terminalizes.
  • A steer left pending when the hold engages delivers at once — the parent it was steering has already stopped. Soft-steer during an in-flight parent tool, and the Ctrl+C hard-stop policy, are unchanged.
  • Base orchestrator guidelines teach ending the turn after dispatch and collecting with wait_agents / list_agents later; docs flip "idle-with-fleet is not shipped" to the shipped behavior in PRODUCT, IMPLEMENTATION, and TUI.

Verification

  • bun run check passes (lint, typecheck, build, 5535 tests), including new idle-with-fleet bridge tests (hold engages, Enter mid-hold is a new turn via key path, Alt+Enter mid-hold queues then drains at fleet zero, pending-steer delivery at hold engagement, mid-turn zero count does not idle a working parent) and liveFleetCount unit tests
  • bun test ./src/tui ./src/subagent --randomize passes

Fixes CL-7057

The prompts told Skywalker to dispatch and go idle, but the runtime
still treated a settled parent turn with live workers as an ordinary
settle: the run went idle, queued follow-ups drained while the fleet
was still running (breaking session-idle semantics), and nothing
distinguished "parent busy" from "parent idle, fleet live".

The runner now emits a fleet event carrying the live-lane count on
every transition. The bridge holds the run busy on that count after
the parent turn settles: Enter upgrades to a new primary turn sent
immediately instead of queueing a steer behind a parent tool that no
longer exists, Alt+Enter follow-ups keep waiting for true session-idle,
and the last lane terminalizing releases the hold and drains them.
A steer left pending when the hold engages delivers at once — the
parent it was steering has already stopped.

Base orchestrator guidelines no longer push spawn-then-wait in one
breath; they teach ending the turn and collecting on a later one.
Docs flip "idle-with-fleet is not shipped" to the shipped behavior.
@linear-code

linear-code Bot commented Aug 25, 2026

Copy link
Copy Markdown

CL-7057

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review · Approve

After spawn_agent the parent can settle while workers run: the runner emits fleet live-lane counts and the bridge holds the run busy so Enter is a new turn and Alt+Enter still waits for session-idle.

No findings.

GitHub will not record an approval from the PR author; this comment is the review.

@TheGreatAxios
TheGreatAxios merged commit 619609a into main Aug 25, 2026
5 checks passed
TheGreatAxios added a commit that referenced this pull request Aug 27, 2026
…parent-goes-idle-after-spawn-so-enter

Ship idle-with-fleet so Enter is a turn while workers run
TheGreatAxios added a commit that referenced this pull request Aug 27, 2026
…parent-goes-idle-after-spawn-so-enter

Ship idle-with-fleet so Enter is a turn while workers run
@TheGreatAxios
TheGreatAxios deleted the cl-7057-ship-idle-with-fleet-parent-goes-idle-after-spawn-so-enter branch August 27, 2026 23:59
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