Clarify ranked minimal candidate selection

This commit is contained in:
fawney19
2026-04-27 15:11:02 +08:00
parent 517e84e5ae
commit f10f5f071d
6 changed files with 37 additions and 35 deletions

View File

@@ -1,7 +1,7 @@
use aether_data::DataLayerError;
use aether_data_contracts::repository::candidate_selection::StoredMinimalCandidateSelectionRow;
use aether_scheduler_core::{
auth_constraints_allow_api_format, build_minimal_candidate_selection,
auth_constraints_allow_api_format, build_ranked_minimal_candidate_selection,
collect_global_model_names_for_required_capability, enumerate_minimal_candidate_selection,
normalize_api_format, resolve_requested_global_model_name, row_supports_requested_model,
BuildMinimalCandidateSelectionInput, SchedulerAuthConstraints,
@@ -161,7 +161,7 @@ pub(crate) async fn read_minimal_candidate_selection_with_priority_mode_and_affi
return Ok(Vec::new());
};
let auth_constraints = auth_snapshot.map(auth_snapshot_constraints);
build_minimal_candidate_selection(BuildMinimalCandidateSelectionInput {
build_ranked_minimal_candidate_selection(BuildMinimalCandidateSelectionInput {
rows,
normalized_api_format: &normalized_api_format,
requested_model_name,

View File

@@ -24,7 +24,7 @@ use aether_data_contracts::repository::video_tasks::{
UpsertVideoTask, VideoTaskLookupKey, VideoTaskStatus, VideoTaskWriteRepository,
};
use aether_scheduler_core::{
build_minimal_candidate_selection, BuildMinimalCandidateSelectionInput,
build_ranked_minimal_candidate_selection, BuildMinimalCandidateSelectionInput,
SchedulerAuthConstraints, SchedulerPriorityMode,
};
use serde_json::json;
@@ -622,7 +622,7 @@ async fn data_state_reads_minimal_candidate_selection_with_auth_filters() {
.map(|items| items.to_vec()),
};
let selection = build_minimal_candidate_selection(BuildMinimalCandidateSelectionInput {
let selection = build_ranked_minimal_candidate_selection(BuildMinimalCandidateSelectionInput {
rows,
normalized_api_format: "openai:chat",
requested_model_name: "gpt-4.1",

View File

@@ -186,7 +186,7 @@ fn scheduler_candidate_runtime_paths_depend_on_scheduler_core_and_state_trait()
"candidate/mod.rs should depend on core minimal candidate DTO"
);
assert!(
!candidate_mod.contains("build_minimal_candidate_selection"),
!candidate_mod.contains("build_ranked_minimal_candidate_selection"),
"candidate/mod.rs should not own the core minimal candidate builder anymore"
);
assert!(
@@ -487,7 +487,7 @@ fn scheduler_candidate_runtime_paths_depend_on_scheduler_core_and_state_trait()
let core_candidate_selection =
read_workspace_file("crates/aether-scheduler-core/src/candidate/selection.rs");
for expected in [
"build_minimal_candidate_selection",
"build_ranked_minimal_candidate_selection",
"apply_scheduler_candidate_ranking",
] {
assert!(
@@ -571,7 +571,7 @@ fn scheduler_candidate_runtime_paths_depend_on_scheduler_core_and_state_trait()
"data/candidate_selection.rs should depend on core requested-model resolver"
);
assert!(
candidate_selection.contains("build_minimal_candidate_selection"),
candidate_selection.contains("build_ranked_minimal_candidate_selection"),
"data/candidate_selection.rs should depend on core minimal candidate builder"
);
assert!(