pub fn run_cycle(
index: &dyn MetadataIndex,
config: &PrefetchConfig,
) -> PrefetchPlanExpand description
Run one scoring + selection cycle against the supplied index. Returns the plan; callers decide what to do with it (emit, GET, etc.).
Splitting “score + select” from “act on the plan” keeps the scoring logic synchronous and unit-testable without spinning up a thread.