Skip to content

Split conductor scheduling into root and provider lanes - #498

Open
morluto wants to merge 4 commits into
repoprompt:mainfrom
morluto:perf/conductor-resource-lanes
Open

Split conductor scheduling into root and provider lanes#498
morluto wants to merge 4 commits into
repoprompt:mainfrom
morluto:perf/conductor-resource-lanes

Conversation

@morluto

@morluto morluto commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Problem

Conductor currently treats root SwiftPM work and provider-package work as the same build resource. An unrelated provider test therefore waits behind a root build or test even though the packages can run independently. Raising the global worker count alone would not help because the shared lane still creates head-of-line blocking.

Approach

Model the resources that jobs actually contend for. Root and provider SwiftPM operations receive separate lanes, while formatting and lifecycle operations continue to claim every resource they can affect.

Changes

  • Replace the shared build lane with rootBuild and providerBuild.
  • Preserve FIFO ordering between jobs that claim the same resource.
  • Allow non-conflicting queued jobs to proceed independently.
  • Add queue-age and resource-wait telemetry.
  • Freeze timing when queued jobs are canceled.
  • Update conductor protocol and documentation.

The global heavy-job capacity remains 1 by default. Additional concurrency still requires explicit REPOPROMPT_DEV_HEAVY_SLOTS=N, allowing this scheduler change to land without changing normal machine load.

Validation

  • Focused conductor lifecycle and scheduling tests
  • python3 Scripts/test_conductor_lifecycle.py
  • .agents/skills/rpce-contribution-check/scripts/preflight.sh pr-ready

@morluto
morluto marked this pull request as ready for review July 11, 2026 06:28
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

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