refactor: Try to clean up code
Some checks failed
CI / test (pull_request) Failing after 48s

This commit is contained in:
Austin Schaefer 2026-08-19 14:19:32 +02:00
parent ce0bf8dafd
commit 0558ac5c4f

View file

@ -62,33 +62,29 @@ pub(crate) async fn review_findings(
show_progress, show_progress,
format!("{REVIEW_EMOJI} Reviewing findings..."), format!("{REVIEW_EMOJI} Reviewing findings..."),
); );
let prompt = format!("Topic: {topic}\n\nResearch findings to review:\n{findings}"); let prompt = format!("Topic: {topic}\n\nResearch findings to review:\n{findings}");
let mut last_error = None; let mut last_error = None;
let mut review = None; let mut extracted_review = None;
for attempt in 0..=REVIEW_RETRIES { for attempt in 0..=REVIEW_RETRIES {
match reviewer.prompt_typed::<Review>(prompt.clone()).await { match reviewer.prompt_typed(prompt.clone()).await {
Ok(r) => { Ok(r) => {
review = Some(r); extracted_review = Some(r);
break; break;
} }
Err(e) => { Err(e) => {
let suffix = if attempt < REVIEW_RETRIES { tracing::warn!("Attempt {attempt} to extract JSON failed: {e:?}.");
" Retrying..."
} else {
""
};
tracing::warn!("Attempt {attempt} to extract JSON failed: {e:?}.{suffix}");
last_error = Some(e); last_error = Some(e);
} }
} }
} }
drop(spinner); drop(spinner);
let review = match review { let review: Review = extracted_review
Some(review) => review, .ok_or_else(|| last_error.expect("loop always sets last_error on failure"))?;
None => return Err(last_error.expect("loop always sets last_error on failure").into()),
};
tracing::info!(approved = review.approved, gaps = %review.gaps, "review complete"); tracing::info!(approved = review.approved, gaps = %review.gaps, "review complete");