From 7078280b3db1b3d5e566ac62bba9e58a6340083b Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Thu, 4 Jun 2026 12:16:42 -0600 Subject: [PATCH] fix: restore agent skill policy on error during effective policy calculation --- src/graph/llm.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/graph/llm.rs b/src/graph/llm.rs index d030167..fa26c7f 100644 --- a/src/graph/llm.rs +++ b/src/graph/llm.rs @@ -116,12 +116,18 @@ async fn run( let saved_agent_skill_state = swap_in_node_skill_policy(node, parent_ctx); - let policy = SkillPolicy::effective( + let policy = match SkillPolicy::effective( &parent_ctx.app.config, parent_ctx.role.as_ref(), parent_ctx.agent.as_ref(), parent_ctx.session.as_ref(), - )?; + ) { + Ok(p) => p, + Err(e) => { + restore_agent_skill_policy(parent_ctx, saved_agent_skill_state); + return Err(e); + } + }; if policy.skills_enabled && node