Description
RunOptions (pkg/cli/run_workflow_execution.go:31) and RunWorkflowOptions (pkg/cli/run_interactive.go:366) are two separate structs in the same package that share 8 of their 10/13 fields verbatim (Verbose, EngineOverride, RepoOverride, RefOverride, AutoMergePRs, Push, DryRun, Approve) — confirmed via direct read of both declarations.
Expected Impact
A future shared run flag (e.g. a --timeout) only needs to be added to one struct instead of two; removes the current risk of the two option sets silently drifting apart.
Suggested Fix
Extract a shared WorkflowRunFlags struct holding the 8 common fields and embed it in both RunOptions and RunWorkflowOptions.
Suggested Agent
General Go-focused coding agent.
Estimated Effort
Quick (1-2 hours)
Data Source
Typist — Go Type Consistency Analysis, discussion #67180 (2026-10-09), Cluster 1 / Priority 1 item #3. Live-verified via direct source read of both struct declarations before filing.
Generated by 🔬 Deep Report · claude · agent · 270.5 AIC · ⌖ 8.95 AIC · ⊞ 7.1K · ◷
Description
RunOptions(pkg/cli/run_workflow_execution.go:31) andRunWorkflowOptions(pkg/cli/run_interactive.go:366) are two separate structs in the same package that share 8 of their 10/13 fields verbatim (Verbose,EngineOverride,RepoOverride,RefOverride,AutoMergePRs,Push,DryRun,Approve) — confirmed via direct read of both declarations.Expected Impact
A future shared run flag (e.g. a
--timeout) only needs to be added to one struct instead of two; removes the current risk of the two option sets silently drifting apart.Suggested Fix
Extract a shared
WorkflowRunFlagsstruct holding the 8 common fields and embed it in bothRunOptionsandRunWorkflowOptions.Suggested Agent
General Go-focused coding agent.
Estimated Effort
Quick (1-2 hours)
Data Source
Typist — Go Type Consistency Analysis, discussion #67180 (2026-10-09), Cluster 1 / Priority 1 item #3. Live-verified via direct source read of both struct declarations before filing.