Skip to content

[deep-report] [quick-win] Extract shared SafeOutputAllowBlockConfig (Allowed/Blocked) across safe-output configs #42283

Description

@github-actions

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 ·

  • expires on Jul 1, 2026, 8:05 AM UTC-08:00

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions