diff --git a/lib/components/fabro-petri/src/hooks.rs b/lib/components/fabro-petri/src/hooks.rs index 7fa93e192..def8486fb 100644 --- a/lib/components/fabro-petri/src/hooks.rs +++ b/lib/components/fabro-petri/src/hooks.rs @@ -340,6 +340,10 @@ impl ScopeEnvs { /// The inherited workspace of an invocation, once resolved: `None` /// when not resolved yet, `Some(None)` when it inherits none. + #[expect( + clippy::option_option, + reason = "the outer option is the cache miss; the inner is an invocation that inherits no workspace" + )] fn inherited(&self, invocation: InvocationId) -> Option> { sync::lock(&self.inherited).get(&invocation).cloned() } diff --git a/lib/components/fabro-petri/src/projection/coordinator.rs b/lib/components/fabro-petri/src/projection/coordinator.rs index f7ce6a039..eb51c0529 100644 --- a/lib/components/fabro-petri/src/projection/coordinator.rs +++ b/lib/components/fabro-petri/src/projection/coordinator.rs @@ -127,7 +127,6 @@ impl RunView { } /// The run's conclusion, from its recorded finish and what the stages - /// The run's conclusion, from its recorded finish and what the stages /// summed to. fn conclude(&mut self, status: &str, at: DateTime) { diff --git a/lib/components/fabro-petri/src/projection/engine.rs b/lib/components/fabro-petri/src/projection/engine.rs index 7a5b55e55..12fae7891 100644 --- a/lib/components/fabro-petri/src/projection/engine.rs +++ b/lib/components/fabro-petri/src/projection/engine.rs @@ -197,7 +197,6 @@ impl RunView { } /// The projection, when `event` is a scope record of the root - /// The projection, when `event` is a scope record of the root /// invocation: the run's own sandbox, not a child invocation's. fn root_scope_projection(&mut self, event: &RunEvent) -> Option<&mut RunProjection> { @@ -304,7 +303,6 @@ impl RunView { } /// A firing exists: register its stage and, when it is a logical stage, - /// A firing exists: register its stage and, when it is a logical stage, /// show it. pub(super) fn start_visit( diff --git a/lib/components/fabro-petri/src/projection/progress.rs b/lib/components/fabro-petri/src/projection/progress.rs index f5a0eac25..ad7cc6a84 100644 --- a/lib/components/fabro-petri/src/projection/progress.rs +++ b/lib/components/fabro-petri/src/projection/progress.rs @@ -56,7 +56,7 @@ impl RunView { }; match progress { Progress::Pebble { event: envelope } => { - self.fold_pebble(execution, event, envelope, at); + self.fold_pebble(execution, event, &envelope, at); } Progress::Prompt { prompt, model } => { if let Some(stage) = self.stage_of(execution, event.subject.as_ref()) { @@ -195,7 +195,6 @@ impl RunView { } /// Close one question by id, or every question of a firing, and unblock - /// Close one question by id, or every question of a firing, and unblock /// the run when none is left. pub(super) fn close_questions( @@ -235,14 +234,14 @@ impl RunView { &mut self, execution: ExecutionId, event: &RunEvent, - envelope: CodingAgentEvent, + envelope: &CodingAgentEvent, at: DateTime, ) { let Some(stage) = self.stage_of(execution, event.subject.as_ref()) else { return; }; let agent = stage.agent.get_or_insert_default(); - agent.apply(&envelope); + agent.apply(envelope); if stage.completion.is_none() { stage.usage = agent.usage.saturating_add(agent.descendant_usage()); } @@ -341,7 +340,7 @@ impl RunView { enum Progress { /// Pebble's coding-agent envelope, forwarded by the agent step. #[serde(rename = "pebble")] - Pebble { event: CodingAgentEvent }, + Pebble { event: Box }, /// The prompt step before its first model call: the prompt, and the /// `provider/model` selector it runs on. #[serde(rename = "attractor.prompt")]