Description
Six safe-output config structs each embed the shared base trio and then repeat an identical Allowed []string / Blocked []string pair:
pkg/workflow/add_labels.go:14 AddLabelsConfig
pkg/workflow/remove_labels.go:14 RemoveLabelsConfig
pkg/workflow/assign_to_user.go:14 AssignToUserConfig
pkg/workflow/unassign_from_user.go UnassignFromUserConfig
pkg/workflow/set_issue_type.go:14 SetIssueTypeConfig (Allowed only)
pkg/workflow/assign_milestone.go:14 AssignMilestoneConfig (Allowed only)
Fix
Extract SafeOutputAllowBlockConfig { Allowed, Blocked []string } and embed it inline (matching the existing base-embedding pattern like BaseSafeOutputConfig); per-type extras stay local. Mechanical change.
Expected Impact
Removes duplication, gives one canonical place to evolve allow/block semantics, follows the codebase's established embedding idiom.
Suggested Agent
Code Simplifier / Typist / Copilot SWE Agent.
Estimated Effort
Quick (1-2 hours)
Data Source
DeepReport 2026-06-29; Typist Go Type Consistency #42244 (verified on main).
Generated by 🔬 DeepReport - Intelligence Gathering Agent · 212.1 AIC · ⌖ 11.9 AIC · ⊞ 9.8K · ◷
Description
Six safe-output config structs each embed the shared base trio and then repeat an identical
Allowed []string/Blocked []stringpair:pkg/workflow/add_labels.go:14AddLabelsConfigpkg/workflow/remove_labels.go:14RemoveLabelsConfigpkg/workflow/assign_to_user.go:14AssignToUserConfigpkg/workflow/unassign_from_user.goUnassignFromUserConfigpkg/workflow/set_issue_type.go:14SetIssueTypeConfig(Allowed only)pkg/workflow/assign_milestone.go:14AssignMilestoneConfig(Allowed only)Fix
Extract
SafeOutputAllowBlockConfig { Allowed, Blocked []string }and embed it inline (matching the existing base-embedding pattern likeBaseSafeOutputConfig); per-type extras stay local. Mechanical change.Expected Impact
Removes duplication, gives one canonical place to evolve allow/block semantics, follows the codebase's established embedding idiom.
Suggested Agent
Code Simplifier / Typist / Copilot SWE Agent.
Estimated Effort
Quick (1-2 hours)
Data Source
DeepReport 2026-06-29; Typist Go Type Consistency #42244 (verified on
main).