diff --git a/crates/arc-workflows/src/handler/parallel.rs b/crates/arc-workflows/src/handler/parallel.rs index a648db3a6..d516d8d90 100644 --- a/crates/arc-workflows/src/handler/parallel.rs +++ b/crates/arc-workflows/src/handler/parallel.rs @@ -280,10 +280,12 @@ impl Handler for ParallelHandler { let (branch_sandbox, worktree_path): (Arc, Option) = if let (Some(ref gs), Some(ref bsha)) = (&git_state, &base_sha) { let branch_key = &target_id; + let visit = crate::engine::visit_from_context(&branch_context); let branch_name = format!( - "arc/run/parallel/{}/{}/{}", + "arc/run/parallel/{}/{}/pass{}/{}", gs.run_id, crate::git::sanitize_ref_component(&node.id), + visit, crate::git::sanitize_ref_component(branch_key), ); diff --git a/crates/arc-workflows/tests/integration.rs b/crates/arc-workflows/tests/integration.rs index 59a48029c..ec5f2db91 100644 --- a/crates/arc-workflows/tests/integration.rs +++ b/crates/arc-workflows/tests/integration.rs @@ -9582,7 +9582,7 @@ async fn parallel_git_branching_host_e2e() { ); // 10. Verify parallel branch refs still exist (for debugging) - let branch_ref_a = format!("arc/run/parallel/{run_id}/fan-out/branch-a"); + let branch_ref_a = format!("arc/run/parallel/{run_id}/fan-out/pass1/branch-a"); let ref_check = std::process::Command::new("git") .args(["rev-parse", "--verify", &branch_ref_a]) .current_dir(repo.path())