# V2 Rust Crate Scheduling

`V2/ue/Tools/plan-v2-rust-crate-schedule.py` turns local Cargo package manifests
into a bounded parallel compile plan. It is intentionally independent from Cargo
execution so CI can inspect the graph, publish the schedule, and use the same
plan with sccache-backed workers.

The scheduler:

- parses `Cargo.toml` package manifests with the standard-library TOML parser;
- reads `dependencies`, `dev-dependencies`, and `build-dependencies`;
- links local crates through explicit `path` dependencies or workspace package
  names;
- rejects dependency cycles;
- prioritizes ready crates by critical-path length, then stable crate name;
- emits batches capped by `defaultMaxWorkers`.

The release evidence is `$(ArchiveRoot)/Rust/crate-schedule-plan.json`. The
Horde job gates require a generated schedule, zero dependency cycles, and at
least 70 percent worker utilization on scheduled waves through
`rust-crate-schedule-worker-utilization`.
