feat: record external generation runs

This commit is contained in:
kdletters
2026-05-27 21:57:34 +08:00
parent a7bba70ca5
commit 5289d81baf
13 changed files with 457 additions and 169 deletions

View File

@@ -1811,7 +1811,10 @@ pub fn select_runtime_next_profile<'a>(
prefer_similar_work: bool,
) -> Option<&'a PuzzleWorkProfile> {
if prefer_similar_work {
similar_work_profiles.first().copied().or(same_work_next_profile)
similar_work_profiles
.first()
.copied()
.or(same_work_next_profile)
} else {
same_work_next_profile.or_else(|| similar_work_profiles.first().copied())
}
@@ -3281,7 +3284,10 @@ mod tests {
assert_eq!(failed.generation_status, "failed");
assert_eq!(failed.levels[0].generation_status, "failed");
assert_eq!(failed.levels[1].generation_status, "ready");
assert_eq!(failed.levels[1].cover_image_src.as_deref(), Some("/ready.png"));
assert_eq!(
failed.levels[1].cover_image_src.as_deref(),
Some("/ready.png")
);
}
#[test]
@@ -3338,12 +3344,8 @@ mod tests {
let same_work = build_published_profile("same", "owner-a", vec!["奇幻"]);
let similar_work = build_published_profile("similar", "owner-b", vec!["奇幻"]);
let similar_work_profiles = [&similar_work];
let selected = select_runtime_next_profile(
Some(&same_work),
&similar_work_profiles,
true,
)
.expect("should select similar work first");
let selected = select_runtime_next_profile(Some(&same_work), &similar_work_profiles, true)
.expect("should select similar work first");
assert_eq!(selected.profile_id, "similar");
}