Description
pkg/workflow/compiler_types.go has grown to 55 top-level functions across 900+ lines, mixing two distinct concerns: functional-options constructors (WithVerbose, WithEngineOverride, ...) used to build a Compiler at construction time, and *Compiler method mutators (SetSkipValidation, SetContext, ...) that change runtime state after construction. These are conceptually separate lifecycles (build-time config vs. runtime state) living in one file, making it slow to navigate and increasing merge-conflict risk given pkg/workflow is a high-churn package. All functions already have test coverage in a companion _test.go file, so this is a low-risk mechanical split, not a behavior change.
Expected Impact
Splitting into e.g. compiler_options.go (builders) and compiler_mutators.go (or similar) improves navigability and reduces merge-conflict surface on one of the highest-churn files in the repo, with no functional change.
Suggested Agent
General-purpose refactor agent — move functions to new files grouped by concern, relocate corresponding test cases alongside them, verify go build/go test pass unchanged.
Estimated Effort
Medium (1-4 hours)
Data Source
DeepReport analysis 2026-08-11, sourced from Repository Quality Improvement Report (Monolithic File Decomposition) discussion #52059 (2026-08-11).
Generated by 🔬 Deep Report · agent · 142.3 AIC · ⌖ 47.8 AIC · ⊞ 11.4K · ◷
Description
pkg/workflow/compiler_types.gohas grown to 55 top-level functions across 900+ lines, mixing two distinct concerns: functional-options constructors (WithVerbose,WithEngineOverride, ...) used to build aCompilerat construction time, and*Compilermethod mutators (SetSkipValidation,SetContext, ...) that change runtime state after construction. These are conceptually separate lifecycles (build-time config vs. runtime state) living in one file, making it slow to navigate and increasing merge-conflict risk givenpkg/workflowis a high-churn package. All functions already have test coverage in a companion_test.gofile, so this is a low-risk mechanical split, not a behavior change.Expected Impact
Splitting into e.g.
compiler_options.go(builders) andcompiler_mutators.go(or similar) improves navigability and reduces merge-conflict surface on one of the highest-churn files in the repo, with no functional change.Suggested Agent
General-purpose refactor agent — move functions to new files grouped by concern, relocate corresponding test cases alongside them, verify
go build/go testpass unchanged.Estimated Effort
Medium (1-4 hours)
Data Source
DeepReport analysis 2026-08-11, sourced from Repository Quality Improvement Report (Monolithic File Decomposition) discussion #52059 (2026-08-11).