feat: Schedule through named resource pools #319

Closed
opened 2026-07-13 19:46:12 +02:00 by dries · 0 comments
Owner

Parent

#311

What to build

Schedule command and agent attempts under a required run concurrency cap and optional named resource capacities, so expensive compilers, agents, and commit operations can be bounded independently.

Acceptance criteria

  • Every published runnable workflow requires a positive concurrency cap.
  • Definitions can declare named resource pools with positive capacities and nodes can request units from multiple pools.
  • The scheduler atomically acquires all required resources before creating an active attempt.
  • Competing ready nodes cannot oversubscribe run concurrency or any named pool.
  • Resources release only after an attempt reaches a settled state.
  • Fair scheduling prevents a ready node from starving indefinitely under ordinary contention.
  • Resource waits and held capacities are durable enough for restart reconciliation and visible in the run UI.
  • Optional cost, token, and duration limits aggregate descendant work; omission means unlimited.
  • Tests cover atomic acquisition, contention, cancellation, failure, restart, and configured budget stops.

Blocked by

## Parent #311 ## What to build Schedule command and agent attempts under a required run concurrency cap and optional named resource capacities, so expensive compilers, agents, and commit operations can be bounded independently. ## Acceptance criteria - [ ] Every published runnable workflow requires a positive concurrency cap. - [ ] Definitions can declare named resource pools with positive capacities and nodes can request units from multiple pools. - [ ] The scheduler atomically acquires all required resources before creating an active attempt. - [ ] Competing ready nodes cannot oversubscribe run concurrency or any named pool. - [ ] Resources release only after an attempt reaches a settled state. - [ ] Fair scheduling prevents a ready node from starving indefinitely under ordinary contention. - [ ] Resource waits and held capacities are durable enough for restart reconciliation and visible in the run UI. - [ ] Optional cost, token, and duration limits aggregate descendant work; omission means unlimited. - [ ] Tests cover atomic acquisition, contention, cancellation, failure, restart, and configured budget stops. ## Blocked by - #314 - #315
dries closed this issue 2026-07-16 00:56:09 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dries/ocman#319
No description provided.