diff --git a/apps/marketing/font-comparison.html b/apps/marketing/font-comparison.html new file mode 100644 index 000000000..3774d805a --- /dev/null +++ b/apps/marketing/font-comparison.html @@ -0,0 +1,673 @@ + + + + + +Fabro — Font Treatment Comparison + + + + + + + + + + + + +
+ + + + +
+ + +
+
+ + +
+ + +
+
+
Current
+

Space Grotesk + DM Sans + JetBrains Mono

+

Display: Space Grotesk · Body: DM Sans · Mono: JetBrains Mono

+
+
+
+ + + +
+
+
Open source workflow engine
+

The dark software factory
for expert engineers

+

Stop babysitting agents. Define your process as a workflow graph, let AI agents execute it, and intervene only where it matters.

+
+
+

Workflow graphs

Define multi-step processes as Graphviz directed graphs. Each node is a stage with its own prompt, model, and tools.

+

Human-in-the-loop

Hexagonal approval gates let humans review, revise, or override at any point in the workflow.

+

Multi-model routing

Assign models per-stage with CSS-like selectors. Use Haiku for triage, Sonnet for code, Gemini for review.

+
+
+
workflow.dot
+
digraph PlanImplement {
+  graph [
+    goal="Plan, approve, implement, and simplify"
+  ]
+
+  plan      [label="Plan"]
+  approve   [shape=hexagon, label="Approve Plan"]
+  implement [label="Implement", class="coding"]
+
+  start -> plan -> approve -> implement -> exit
+}
+
+
+

Verification is a first-class concept

+

Every workflow can include build gates, test assertions, and human approval stages. When a stage fails, Fabro routes back to the appropriate fix loop — no manual re-runs, no git stash gymnastics.

+

The retrospective engine runs after every workflow, surfacing what went wrong and why. Over time, your workflows get smarter.

+
+
+
+ + +
+
+
Option A
+

Outfit + Lexend + Fira Code

+

Display: Outfit · Body: Lexend · Mono: Fira Code

+
+
+
+ + + +
+
+
Open source workflow engine
+

The dark software factory
for expert engineers

+

Stop babysitting agents. Define your process as a workflow graph, let AI agents execute it, and intervene only where it matters.

+
+
+

Workflow graphs

Define multi-step processes as Graphviz directed graphs. Each node is a stage with its own prompt, model, and tools.

+

Human-in-the-loop

Hexagonal approval gates let humans review, revise, or override at any point in the workflow.

+

Multi-model routing

Assign models per-stage with CSS-like selectors. Use Haiku for triage, Sonnet for code, Gemini for review.

+
+
+
workflow.dot
+
digraph PlanImplement {
+  graph [
+    goal="Plan, approve, implement, and simplify"
+  ]
+
+  plan      [label="Plan"]
+  approve   [shape=hexagon, label="Approve Plan"]
+  implement [label="Implement", class="coding"]
+
+  start -> plan -> approve -> implement -> exit
+}
+
+
+

Verification is a first-class concept

+

Every workflow can include build gates, test assertions, and human approval stages. When a stage fails, Fabro routes back to the appropriate fix loop — no manual re-runs, no git stash gymnastics.

+

The retrospective engine runs after every workflow, surfacing what went wrong and why. Over time, your workflows get smarter.

+
+
+
+ + +
+
+
Option B
+

Instrument Serif + Instrument Sans + IBM Plex Mono

+

Display: Instrument Serif · Body: Instrument Sans · Mono: IBM Plex Mono

+
+
+
+ + + +
+
+
Open source workflow engine
+

The dark software factory
for expert engineers

+

Stop babysitting agents. Define your process as a workflow graph, let AI agents execute it, and intervene only where it matters.

+
+
+

Workflow graphs

Define multi-step processes as Graphviz directed graphs. Each node is a stage with its own prompt, model, and tools.

+

Human-in-the-loop

Hexagonal approval gates let humans review, revise, or override at any point in the workflow.

+

Multi-model routing

Assign models per-stage with CSS-like selectors. Use Haiku for triage, Sonnet for code, Gemini for review.

+
+
+
workflow.dot
+
digraph PlanImplement {
+  graph [
+    goal="Plan, approve, implement, and simplify"
+  ]
+
+  plan      [label="Plan"]
+  approve   [shape=hexagon, label="Approve Plan"]
+  implement [label="Implement", class="coding"]
+
+  start -> plan -> approve -> implement -> exit
+}
+
+
+

Verification is a first-class concept

+

Every workflow can include build gates, test assertions, and human approval stages. When a stage fails, Fabro routes back to the appropriate fix loop — no manual re-runs, no git stash gymnastics.

+

The retrospective engine runs after every workflow, surfacing what went wrong and why. Over time, your workflows get smarter.

+
+
+
+ + +
+
+
Option C
+

Syne + Manrope + Source Code Pro

+

Display: Syne · Body: Manrope · Mono: Source Code Pro

+
+
+
+ + + +
+
+
Open source workflow engine
+

The dark software factory
for expert engineers

+

Stop babysitting agents. Define your process as a workflow graph, let AI agents execute it, and intervene only where it matters.

+
+
+

Workflow graphs

Define multi-step processes as Graphviz directed graphs. Each node is a stage with its own prompt, model, and tools.

+

Human-in-the-loop

Hexagonal approval gates let humans review, revise, or override at any point in the workflow.

+

Multi-model routing

Assign models per-stage with CSS-like selectors. Use Haiku for triage, Sonnet for code, Gemini for review.

+
+
+
workflow.dot
+
digraph PlanImplement {
+  graph [
+    goal="Plan, approve, implement, and simplify"
+  ]
+
+  plan      [label="Plan"]
+  approve   [shape=hexagon, label="Approve Plan"]
+  implement [label="Implement", class="coding"]
+
+  start -> plan -> approve -> implement -> exit
+}
+
+
+

Verification is a first-class concept

+

Every workflow can include build gates, test assertions, and human approval stages. When a stage fails, Fabro routes back to the appropriate fix loop — no manual re-runs, no git stash gymnastics.

+

The retrospective engine runs after every workflow, surfacing what went wrong and why. Over time, your workflows get smarter.

+
+
+
+ +
+ + +
+ +
+ + + + + diff --git a/lib/crates/fabro-api/src/server.rs b/lib/crates/fabro-api/src/server.rs index 1d3917c6e..a6ae11b7f 100644 --- a/lib/crates/fabro-api/src/server.rs +++ b/lib/crates/fabro-api/src/server.rs @@ -626,10 +626,7 @@ async fn execute_run(state: Arc, run_id: String) { github_app: None, git_author: state.git_author.clone(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: true, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; diff --git a/lib/crates/fabro-workflows/src/cli/run.rs b/lib/crates/fabro-workflows/src/cli/run.rs index ef191b78d..68e9fa5f1 100644 --- a/lib/crates/fabro-workflows/src/cli/run.rs +++ b/lib/crates/fabro-workflows/src/cli/run.rs @@ -1244,7 +1244,6 @@ pub async fn run_command( .as_ref() .map(|c| c.checkpoint.exclude_globs.clone()) .unwrap_or_default(); - let pr_cfg = run_cfg.as_ref().and_then(|c| c.pull_request.as_ref()); let config = RunConfig { run_dir: run_dir.clone(), cancel_token: None, @@ -1269,10 +1268,11 @@ pub async fn run_command( github_app: github_app.clone(), git_author, base_branch: detected_base_branch.or(remote_base_branch), - pull_request_enabled: pr_cfg.is_some_and(|p| p.enabled), - pull_request_draft: pr_cfg.is_none_or(|p| p.draft) && !pr_cfg.is_some_and(|p| p.auto_merge), - pull_request_auto_merge: pr_cfg.is_some_and(|p| p.auto_merge), - pull_request_merge_strategy: pr_cfg.map(|p| p.merge_strategy).unwrap_or_default(), + pull_request: run_cfg + .as_ref() + .and_then(|c| c.pull_request.as_ref()) + .filter(|p| p.enabled) + .cloned(), asset_globs: run_cfg .as_ref() .and_then(|c| c.assets.as_ref()) @@ -1418,85 +1418,87 @@ pub async fn run_command( // Auto-create PR on successful completion (skip in dry-run mode) let mut pushed_branch: Option = None; let mut pr_url: Option = None; - if !config.pull_request_enabled { - debug!("Skipping PR creation: pull_request not enabled in config"); - } else if dry_run_mode { - debug!("Skipping PR creation: dry-run mode"); - } else if let Err(ref e) = engine_result { - debug!(error = %e, "Skipping PR creation: engine returned an error"); - } else if let Ok(ref outcome) = engine_result { - if !matches!( - outcome.status, - StageStatus::Success | StageStatus::PartialSuccess - ) { - debug!(status = ?outcome.status, "Skipping PR creation: run status is not success"); - } else { - let diff = tokio::fs::read_to_string(run_dir.join("final.patch")) - .await - .unwrap_or_default(); - if let ( - Some(ref base_branch), - Some(ref run_branch), - Some(ref creds), - Some(ref origin), - ) = ( - &config.base_branch, - &config.run_branch, - &github_app, - &origin_url, + if let Some(ref pr_cfg) = config.pull_request { + if dry_run_mode { + debug!("Skipping PR creation: dry-run mode"); + } else if let Err(ref e) = engine_result { + debug!(error = %e, "Skipping PR creation: engine returned an error"); + } else if let Ok(ref outcome) = engine_result { + if !matches!( + outcome.status, + StageStatus::Success | StageStatus::PartialSuccess ) { - // Run branch was pushed during checkpoint commits; - // just record it for the PR creation. - if config.git_checkpoint_enabled { - pushed_branch = Some(run_branch.clone()); - } - - let auto_merge = if config.pull_request_auto_merge { - Some(crate::pull_request::AutoMergeConfig { - merge_strategy: config.pull_request_merge_strategy, - }) - } else { - None - }; - - match crate::pull_request::maybe_open_pull_request( - creds, - origin, - base_branch, - run_branch, - graph.goal(), - &diff, - &model, - config.pull_request_draft, - auto_merge, - &run_dir, - ) - .await - { - Ok(Some(record)) => { - emitter.emit(&crate::event::WorkflowRunEvent::PullRequestCreated { - pr_url: record.html_url.clone(), - pr_number: record.number, - draft: config.pull_request_draft, - }); - pr_url = Some(record.html_url.clone()); - if let Err(e) = record.save(&run_dir.join("pull_request.json")) { - tracing::warn!(error = %e, "Failed to save pull_request.json"); - } + debug!(status = ?outcome.status, "Skipping PR creation: run status is not success"); + } else { + let diff = tokio::fs::read_to_string(run_dir.join("final.patch")) + .await + .unwrap_or_default(); + if let ( + Some(ref base_branch), + Some(ref run_branch), + Some(ref creds), + Some(ref origin), + ) = ( + &config.base_branch, + &config.run_branch, + &github_app, + &origin_url, + ) { + // Run branch was pushed during checkpoint commits; + // just record it for the PR creation. + if config.git_checkpoint_enabled { + pushed_branch = Some(run_branch.clone()); } - Ok(None) => {} // empty diff, logged at DEBUG - Err(e) => { - emitter.emit(&crate::event::WorkflowRunEvent::PullRequestFailed { - error: e.to_string(), - }); - eprintln!( - "{} PR creation failed: {e}", - styles.yellow.apply_to("Warning:") - ); + + let auto_merge = if pr_cfg.auto_merge { + Some(crate::pull_request::AutoMergeConfig { + merge_strategy: pr_cfg.merge_strategy, + }) + } else { + None + }; + + match crate::pull_request::maybe_open_pull_request( + creds, + origin, + base_branch, + run_branch, + graph.goal(), + &diff, + &model, + pr_cfg.draft, + auto_merge, + &run_dir, + ) + .await + { + Ok(Some(record)) => { + emitter.emit(&crate::event::WorkflowRunEvent::PullRequestCreated { + pr_url: record.html_url.clone(), + pr_number: record.number, + draft: pr_cfg.draft, + }); + pr_url = Some(record.html_url.clone()); + if let Err(e) = record.save(&run_dir.join("pull_request.json")) { + tracing::warn!(error = %e, "Failed to save pull_request.json"); + } + } + Ok(None) => {} // empty diff, logged at DEBUG + Err(e) => { + emitter.emit(&crate::event::WorkflowRunEvent::PullRequestFailed { + error: e.to_string(), + }); + eprintln!( + "{} PR creation failed: {e}", + styles.yellow.apply_to("Warning:") + ); + } } } } } + } else { + debug!("Skipping PR creation: pull_request not enabled in config"); } let outcome = engine_result?; @@ -1934,10 +1936,7 @@ async fn run_from_branch( github_app: github_app.clone(), git_author, base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; diff --git a/lib/crates/fabro-workflows/src/engine.rs b/lib/crates/fabro-workflows/src/engine.rs index 95a91cf63..3c147e028 100644 --- a/lib/crates/fabro-workflows/src/engine.rs +++ b/lib/crates/fabro-workflows/src/engine.rs @@ -16,6 +16,7 @@ use fabro_git_storage::trailerlink::{self, Trailer}; use crate::artifact::{offload_large_values, sync_artifacts_to_env, ArtifactStore}; use crate::asset_snapshot; use crate::checkpoint::Checkpoint; +use crate::cli::run_config::PullRequestConfig; use crate::condition::evaluate_condition; use crate::context; use crate::context::Context; @@ -857,14 +858,8 @@ pub struct RunConfig { pub git_author: crate::git::GitAuthor, /// Name of the branch the run was started from (for PR base). pub base_branch: Option, - /// Whether to auto-create a PR on successful completion. - pub pull_request_enabled: bool, - /// Whether to create the PR as a draft. - pub pull_request_draft: bool, - /// Whether to enable GitHub auto-merge on the created PR. - pub pull_request_auto_merge: bool, - /// Merge strategy for auto-merge (squash, merge, rebase). - pub pull_request_merge_strategy: crate::cli::run_config::MergeStrategy, + /// Pull request configuration; `None` = disabled. + pub pull_request: Option, /// Glob patterns for asset collection. Empty = no asset collection. pub asset_globs: Vec, /// Workflow directory slug (e.g. "smoke" from `fabro/workflows/smoke/`). @@ -980,26 +975,6 @@ impl WorkflowRunEngine { let _ = self.run_hooks(&hook_ctx, work_dir).await; } - /// Fire a non-blocking StageRetrying hook. - async fn stage_retrying_hook( - &self, - node: &Node, - context: &Context, - graph: &Graph, - attempt: u32, - policy: &RetryPolicy, - ) { - let mut hook_ctx = HookContext::new( - HookEvent::StageRetrying, - context.run_id(), - graph.name.clone(), - ); - hook_ctx.set_node(node); - hook_ctx.attempt = Some(usize::try_from(attempt).unwrap_or(usize::MAX)); - hook_ctx.max_attempts = Some(usize::try_from(policy.max_attempts).unwrap_or(usize::MAX)); - let _ = self.run_hooks(&hook_ctx, None).await; - } - /// Mirror graph-level attributes into the context. fn mirror_graph_attributes(graph: &Graph, context: &Context) { if !graph.goal().is_empty() { @@ -1149,8 +1124,6 @@ impl WorkflowRunEngine { .unwrap_or(usize::MAX), delay_ms: millis_u64(delay), }); - self.stage_retrying_hook(node, context, graph, attempt, policy) - .await; tokio::time::sleep(delay).await; continue; } @@ -1179,8 +1152,6 @@ impl WorkflowRunEngine { .unwrap_or(usize::MAX), delay_ms: millis_u64(delay), }); - self.stage_retrying_hook(node, context, graph, attempt, policy) - .await; tokio::time::sleep(delay).await; continue; } @@ -1657,7 +1628,9 @@ impl WorkflowRunEngine { let mut hook_ctx = HookContext::new(HookEvent::StageStart, run_id.clone(), graph.name.clone()); hook_ctx.cwd = hook_work_dir.as_ref().map(|p| p.display().to_string()); - hook_ctx.set_node(node); + hook_ctx.node_id = Some(node.id.clone()); + hook_ctx.node_label = Some(node.label().to_string()); + hook_ctx.handler_type = node.handler_type().map(String::from); hook_ctx.attempt = Some(1); hook_ctx.max_attempts = Some(usize::try_from(retry_policy.max_attempts).unwrap_or(usize::MAX)); @@ -1793,7 +1766,9 @@ impl WorkflowRunEngine { run_id.clone(), graph.name.clone(), ); - hook_ctx.set_node(node); + hook_ctx.node_id = Some(node.id.clone()); + hook_ctx.node_label = Some(node.label().to_string()); + hook_ctx.handler_type = node.handler_type().map(String::from); hook_ctx.status = Some("fail".into()); hook_ctx.failure_reason = outcome.failure_reason().map(String::from); let _ = self.run_hooks(&hook_ctx, hook_work_dir.as_deref()).await; @@ -1825,7 +1800,9 @@ impl WorkflowRunEngine { run_id.clone(), graph.name.clone(), ); - hook_ctx.set_node(node); + hook_ctx.node_id = Some(node.id.clone()); + hook_ctx.node_label = Some(node.label().to_string()); + hook_ctx.handler_type = node.handler_type().map(String::from); hook_ctx.status = Some(outcome.status.to_string()); let _ = self.run_hooks(&hook_ctx, hook_work_dir.as_deref()).await; } @@ -3047,10 +3024,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3079,10 +3053,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3119,10 +3090,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3155,10 +3123,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3187,10 +3152,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3232,10 +3194,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3301,10 +3260,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3397,10 +3353,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3436,10 +3389,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3470,10 +3420,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3504,10 +3451,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3542,10 +3486,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3708,10 +3649,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3757,10 +3695,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3824,10 +3759,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3894,10 +3826,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3968,10 +3897,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4031,10 +3957,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4095,10 +4018,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4134,10 +4054,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4169,10 +4086,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4203,10 +4117,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4250,10 +4161,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4334,10 +4242,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4371,10 +4276,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4410,10 +4312,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4454,10 +4353,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4496,10 +4392,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4535,10 +4428,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4635,10 +4525,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4850,10 +4737,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4892,10 +4776,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4941,10 +4822,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5030,10 +4908,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5130,10 +5005,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5207,10 +5079,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5271,10 +5140,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5336,10 +5202,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5497,10 +5360,7 @@ mod tests { github_app: None, git_author: crate::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; diff --git a/lib/crates/fabro-workflows/src/handler/manager_loop.rs b/lib/crates/fabro-workflows/src/handler/manager_loop.rs index 507968033..8890e2f15 100644 --- a/lib/crates/fabro-workflows/src/handler/manager_loop.rs +++ b/lib/crates/fabro-workflows/src/handler/manager_loop.rs @@ -156,10 +156,7 @@ impl Handler for SubWorkflowHandler { .map(|gs| gs.git_author.clone()) .unwrap_or_default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: true, - pull_request_auto_merge: false, - pull_request_merge_strategy: crate::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; diff --git a/lib/crates/fabro-workflows/tests/daytona_integration.rs b/lib/crates/fabro-workflows/tests/daytona_integration.rs index 4034a9f33..4e3125471 100644 --- a/lib/crates/fabro-workflows/tests/daytona_integration.rs +++ b/lib/crates/fabro-workflows/tests/daytona_integration.rs @@ -403,10 +403,7 @@ async fn daytona_pipeline_artifact_offload_and_sync() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -603,10 +600,7 @@ async fn daytona_git_checkpoint_remote_emits_events() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -794,10 +788,7 @@ async fn daytona_parallel_git_branching_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1176,10 +1167,7 @@ async fn daytona_git_checkpoint_with_shadow_branch() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1321,10 +1309,7 @@ async fn daytona_asset_collection() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1581,10 +1566,7 @@ async fn daytona_git_push_run_branch_to_origin() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; diff --git a/lib/crates/fabro-workflows/tests/integration.rs b/lib/crates/fabro-workflows/tests/integration.rs index cdb37d17e..1c4cea998 100644 --- a/lib/crates/fabro-workflows/tests/integration.rs +++ b/lib/crates/fabro-workflows/tests/integration.rs @@ -205,10 +205,7 @@ async fn end_to_end_linear_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -353,10 +350,7 @@ async fn end_to_end_branching_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -483,10 +477,7 @@ async fn end_to_end_human_gate_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -603,10 +594,7 @@ async fn goal_gate_routes_to_retry_target_on_failure() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -733,10 +721,7 @@ async fn goal_gate_routes_to_retry_target_when_present() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1054,10 +1039,7 @@ async fn retry_on_failure_then_succeed() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1138,10 +1120,7 @@ async fn pipeline_with_many_nodes() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1473,10 +1452,7 @@ async fn smoke_test_with_mock_codergen_backend() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1583,10 +1559,7 @@ async fn end_to_end_parallel_fan_out_fan_in() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1705,10 +1678,7 @@ async fn resume_from_checkpoint_completes_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1813,10 +1783,7 @@ async fn resume_from_checkpoint_preserves_goal_gate_outcomes() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1865,10 +1832,7 @@ async fn graph_goal_in_context() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1909,10 +1873,7 @@ async fn event_streaming_lifecycle() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -1997,10 +1958,7 @@ async fn context_flow_between_stages() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2058,10 +2016,7 @@ async fn tool_handler_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2136,10 +2091,7 @@ async fn auto_approve_interviewer_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2181,10 +2133,7 @@ async fn codergen_without_backend_simulated() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2294,10 +2243,7 @@ async fn branching_loop_back_on_failure() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2387,10 +2333,7 @@ async fn human_gate_loops_back() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2453,10 +2396,7 @@ async fn scenario_ship_a_feature() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2547,10 +2487,7 @@ async fn scenario_parallel_expert_review() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2639,10 +2576,7 @@ async fn scenario_node_retries_on_retry_status() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2709,10 +2643,7 @@ async fn scenario_loop_restart_resets_context() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2785,10 +2716,7 @@ async fn scenario_bug_triage_router() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2852,10 +2780,7 @@ async fn scenario_crash_recovery() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -2969,10 +2894,7 @@ async fn manager_loop_stop_condition_satisfied_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3054,10 +2976,7 @@ async fn manager_loop_max_cycles_exceeded_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3198,10 +3117,7 @@ async fn conditional_branching_success_fail_paths() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3259,10 +3175,7 @@ async fn edge_selection_condition_match_wins_over_weight() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3314,10 +3227,7 @@ async fn edge_selection_weight_breaks_ties() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3361,10 +3271,7 @@ async fn edge_selection_lexical_tiebreak() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3427,10 +3334,7 @@ async fn context_updates_visible_across_nodes() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3479,10 +3383,7 @@ async fn stylesheet_applies_model_override() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3543,10 +3444,7 @@ async fn custom_handler_registration_and_execution() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3622,10 +3520,7 @@ async fn integration_smoke_plan_implement_review_done() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3734,10 +3629,7 @@ async fn manager_loop_runs_child_engine_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3877,10 +3769,7 @@ async fn manager_loop_context_flows_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -3959,10 +3848,7 @@ async fn manager_loop_child_dotfile_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4081,10 +3967,7 @@ async fn graph_merge_e2e_through_engine() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4240,10 +4123,7 @@ async fn fidelity_default_is_compact() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4305,10 +4185,7 @@ async fn fidelity_graph_default_applied() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4366,10 +4243,7 @@ async fn fidelity_node_overrides_graph_default() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4433,10 +4307,7 @@ async fn fidelity_edge_overrides_node_and_graph() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4490,10 +4361,7 @@ async fn fidelity_full_produces_empty_preamble() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4557,10 +4425,7 @@ async fn fidelity_truncate_preamble_minimal() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4637,10 +4502,7 @@ async fn fidelity_summary_low_mode() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4712,10 +4574,7 @@ async fn fidelity_summary_medium_mode() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4787,10 +4646,7 @@ async fn fidelity_summary_high_mode() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4855,10 +4711,7 @@ async fn fidelity_full_sets_thread_id_in_context() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -4934,10 +4787,7 @@ async fn fidelity_full_nodes_share_thread_id() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5023,10 +4873,7 @@ async fn fidelity_resume_degrades_full_to_summary_high() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5128,10 +4975,7 @@ async fn fidelity_resume_degrade_only_affects_first_hop() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5220,10 +5064,7 @@ async fn fidelity_resume_no_degrade_when_not_full() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5270,10 +5111,7 @@ async fn fidelity_stored_in_checkpoint_context() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5364,10 +5202,7 @@ async fn fidelity_precedence_multi_node_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5440,10 +5275,7 @@ async fn fidelity_compact_preamble_includes_completed_stages_and_context() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5524,10 +5356,7 @@ async fn fidelity_summary_low_excludes_context_values_in_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5600,10 +5429,7 @@ async fn fidelity_summary_low_excludes_context_values_in_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5679,10 +5505,7 @@ async fn fidelity_thread_id_fallback_to_previous_node_in_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5741,10 +5564,7 @@ async fn fidelity_thread_id_from_node_class_in_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5806,10 +5626,7 @@ async fn fidelity_edge_thread_id_override_in_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5872,10 +5689,7 @@ async fn fidelity_full_without_explicit_thread_id_uses_previous_node() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -5948,10 +5762,7 @@ async fn fidelity_from_parsed_dot_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -6004,10 +5815,7 @@ async fn fidelity_checkpoint_roundtrip_preserves_fidelity() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -6082,10 +5890,7 @@ async fn fidelity_node_thread_id_overrides_edge_thread_id_in_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -6177,10 +5982,7 @@ async fn fidelity_resume_preserves_context_values_across_checkpoint() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -6397,10 +6199,7 @@ mod real_llm { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -6520,10 +6319,7 @@ mod real_llm { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -6668,10 +6464,7 @@ mod real_llm { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -6784,10 +6577,7 @@ mod real_llm { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -6889,10 +6679,7 @@ async fn human_gate_freeform_only_routes_text() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -7029,10 +6816,7 @@ async fn human_gate_freeform_with_fixed_choice_match() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -7153,10 +6937,7 @@ async fn human_gate_freeform_fallback_on_unmatched_text() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -7291,10 +7072,7 @@ async fn human_gate_freeform_sets_allow_freeform_on_question() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -7409,10 +7187,7 @@ async fn human_gate_without_freeform_sets_allow_freeform_false() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -7678,10 +7453,7 @@ fn make_run_config(dir: &std::path::Path) -> RunConfig { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, } @@ -8823,10 +8595,7 @@ async fn arc_e2e_with_real_llm() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -8960,10 +8729,7 @@ async fn run_fidelity_prompt_pipeline(fidelity: &str) -> String { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -9168,10 +8934,7 @@ async fn large_context_values_are_offloaded_to_artifact_store() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -9397,10 +9160,7 @@ async fn artifact_pointers_rewritten_for_remote_sandbox() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -9536,10 +9296,7 @@ async fn node_dir_uses_visit_count_on_revisit() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -10519,10 +10276,7 @@ async fn full_pipeline_with_cli_backend_node() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -10659,10 +10413,7 @@ async fn stylesheet_backend_property_routes_to_cli() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -10949,10 +10700,7 @@ async fn git_checkpoint_host_emits_events_and_diff_patch() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -11144,10 +10892,7 @@ async fn git_checkpoint_host_writes_shadow_branch() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -11347,10 +11092,7 @@ async fn parallel_git_branching_host_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -11615,10 +11357,7 @@ async fn git_checkpoint_host_skips_empty_diff_patch() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12002,10 +11741,7 @@ async fn e2e_circuit_breaker_deterministic_self_loop() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12058,10 +11794,7 @@ async fn e2e_circuit_breaker_custom_limit() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12107,10 +11840,7 @@ async fn e2e_circuit_breaker_ignores_transient_failures() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12163,10 +11893,7 @@ async fn e2e_circuit_breaker_different_reasons_separate_counters() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12212,10 +11939,7 @@ async fn e2e_circuit_breaker_loop_restart() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12283,10 +12007,7 @@ async fn e2e_failure_signature_persisted_in_context() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12356,10 +12077,7 @@ async fn e2e_failure_signature_hint_overrides_reason_in_context() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12421,10 +12139,7 @@ async fn e2e_signature_maps_persist_in_checkpoint() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12557,10 +12272,7 @@ async fn e2e_circuit_breaker_emits_events_before_abort() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12633,10 +12345,7 @@ async fn e2e_circuit_breaker_does_not_fire_below_limit() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12738,10 +12447,7 @@ async fn e2e_circuit_breaker_multi_stage_impl_verify_cycle() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12844,10 +12550,7 @@ async fn e2e_loop_restart_blocked_for_deterministic_failure() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12893,10 +12596,7 @@ async fn e2e_loop_restart_blocked_for_structural_failure() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12942,10 +12642,7 @@ async fn e2e_loop_restart_blocked_for_budget_exhausted_failure() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -12991,10 +12688,7 @@ async fn e2e_loop_restart_blocked_for_canceled_failure() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -13037,10 +12731,7 @@ async fn e2e_loop_restart_blocked_for_compilation_loop_failure() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -13087,10 +12778,7 @@ async fn e2e_loop_restart_allowed_for_transient_infra() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -13200,10 +12888,7 @@ async fn e2e_stall_watchdog_triggers_from_dot_parsed_pipeline() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -13265,10 +12950,7 @@ async fn e2e_stall_watchdog_kept_alive_by_handler_events() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -13320,10 +13002,7 @@ async fn e2e_stall_watchdog_disabled_with_zero_timeout() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -13394,10 +13073,7 @@ async fn e2e_stall_watchdog_with_explicit_timeout_override() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -13534,10 +13210,7 @@ async fn asset_collection_local_sandbox_success() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: vec!["test-results/**".to_string()], workflow_slug: None, }; @@ -13652,10 +13325,7 @@ async fn asset_collection_local_sandbox_on_failure() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: vec!["test-results/**".to_string()], workflow_slug: None, }; @@ -13752,10 +13422,7 @@ async fn asset_collection_docker_sandbox() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, }; @@ -13830,10 +13497,7 @@ async fn wait_timer_e2e() { github_app: None, git_author: fabro_workflows::git::GitAuthor::default(), base_branch: None, - pull_request_enabled: false, - pull_request_draft: false, - pull_request_auto_merge: false, - pull_request_merge_strategy: fabro_workflows::cli::run_config::MergeStrategy::Squash, + pull_request: None, asset_globs: Vec::new(), workflow_slug: None, };