Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: be5c9ae73a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| // Dispatch new work, but only for the current highest-priority class. | ||
| while in_flight.len() < max_concurrency | ||
| && max_unresolved_priority.is_some() | ||
| && active_priority.as_ref() == max_unresolved_priority.as_ref() | ||
| { |
There was a problem hiding this comment.
Enforce priority when dispatching async node work
With max_concurrency > 1, this loop computes max_unresolved_priority only once, then keeps dispatching even after the highest-priority node is removed. That allows lower-priority nodes to be resolved while higher-priority work is still in flight, despite the comment. In the ingot graph this can surface real errors: IngotDescriptor::ByNameVersion only resolves after a higher-priority local node installs its alias, but if it gets dispatched early it immediately returns NoResolvedIngotByMetadata (resolve_ingot_location in crates/resolver/src/ingot.rs). Sync resolution never hits that path because it strictly processes higher priority first. Recomputing the max or checking the popped node’s priority against active_priority before dispatch would avoid these false failures.
Useful? React with 👍 / 👎.
No description provided.