feat(pool): prefer Running over Stopped idle containers (M26-3) #647
No reviewers
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks!647
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "dev/590"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds a Running-first sub-tier within the idle selection of
pickA2. When multiple pool members are idle, warm (Running) containers are picked before cold (Stopped) ones — avoiding cold-start latency when a warm peer is available. Falls back to round-robin among Stopped-idle workers when no Running-idle peer exists.isWorkerRunning()readsgetLifecycle(name).statesynchronously — no docker inspect per dispatchtrue(they are always up)Test plan
just qaclean: 2838/2838 passCloses #590
27555a021c2343e2867bTwo-tier idle pick is correct.
isWorkerRunningreads lifecycle state synchronously with safe defaults for hot/host-mode. Both loops sharestartIdxso round-robin is preserved within each tier. All 4 AC cases from #590 covered by unit tests. CI green.