diff --git a/crates/stella-cli/src/daemon/boot.rs b/crates/stella-cli/src/daemon/boot.rs index f4cec045..c13fc9ca 100644 --- a/crates/stella-cli/src/daemon/boot.rs +++ b/crates/stella-cli/src/daemon/boot.rs @@ -56,7 +56,8 @@ //! the checkpoint on every terminal path, abort included, so a policy stop //! retracts its resume point on the way out. A row written by a build that //! predates #1653 — where a policy stop really did store `Error` — is -//! therefore filtered by `SkipReason::NoResumePoint` anyway, without this +//! therefore filtered by [`crate::daemon::boot::SkipReason::NoResumePoint`] +//! anyway, without this //! module having to trust its status. //! - **The attempt bound still applies.** An `Error` that resumes into //! another `Error` is counted like any other continuation and retired diff --git a/crates/stella-pipeline/src/pipeline/scope_stage.rs b/crates/stella-pipeline/src/pipeline/scope_stage.rs index 1711ea92..77fc84ab 100644 --- a/crates/stella-pipeline/src/pipeline/scope_stage.rs +++ b/crates/stella-pipeline/src/pipeline/scope_stage.rs @@ -41,7 +41,13 @@ impl Pipeline<'_> { research, &repo_structure, revision.as_deref(), - &mut Spend { budget, total }, + // Reborrowed per iteration: the loop replans after a + // rejected scope card, and a moved `Spend` could not be + // handed to the next attempt. + &mut Spend { + budget: &mut *budget, + total: &mut *total, + }, ) .await {