Skip to content

Drive open-task occupancy when the fleet dry edge is missed - #873

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-7625-drive-open-tasks-when-idle-parent-misses-the-fleet-dry-edge
Sep 10, 2026
Merged

Drive open-task occupancy when the fleet dry edge is missed#873
TheGreatAxios merged 2 commits into
mainfrom
cl-7625-drive-open-tasks-when-idle-parent-misses-the-fleet-dry-edge

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

Occupancy takes one dry-episode shot when the parent settles idle, even if the live fleet 1→0 event was never observed. A no-op (no open tasks) does not consume the shot; a true drive still blocks the loop until a live lane resets.

Idle-with-fleet lets the parent go idle while workers run. CL-7540 latched the open-task continuation on live count going from N>0 to 0. If that edge is missed — parent already idle with a dry fleet, fleet events never showed a live count, or a continuation abort idles without consuming the latch — open tasks sit there and the session looks stalled.

  • Idle + dry + todo/doing drives exactly once.
  • A new live lane resets the latch so the next dry episode can fire once more.
  • Idle + dry + open tasks does not start a continuation on every settle.
  • Parent still processing, or a live lane, still blocks the drive.
  • This is not CL-7518 (mailbox inbound). Wait timeouts are unchanged.

Verification

  • bun run typecheck, bun run build, and bun run test pass
  • bun run check passes
  • bun test src/tui/runtime-bridge.test.ts --randomize --seed 424242 covers missed-edge drive-once, second settle no-op, live-lane reset, and parentProcessing refuse

Fixes CL-7625

@linear-code

linear-code Bot commented Sep 10, 2026

Copy link
Copy Markdown

CL-7625

@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.

Critic · Comment

Occupancy takes one dry-episode shot on idle settle even without a live 1→0; a live lane resets the latch; parentProcessing still refuses.

No findings.

@TheGreatAxios
TheGreatAxios force-pushed the cl-7625-drive-open-tasks-when-idle-parent-misses-the-fleet-dry-edge branch from 92e4a5d to d41068b Compare September 10, 2026 14:17
@TheGreatAxios
TheGreatAxios merged commit e3fd87c into main Sep 10, 2026
9 checks passed
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