Skip to content

[Code Quality] Rename TitlePrefix field to DefaultTitlePrefix to disambiguate two unrelated concepts #50964

Description

@github-actions

Description

A Go type consistency audit (discussion #50840) found the field name TitlePrefix reused for two unrelated concepts across 8 structs in pkg/workflow: a "default title for new content" meaning in create_issue.go, create_discussion.go, create_pull_request.go, create_project.go, versus a "required-title-prefix validation"/deprecated-filter-alias meaning in push_to_pull_request_branch.go, missing_issue_reporting.go, update_issue.go, and safe_outputs_parser.go's SafeOutputFilterConfig.TitlePrefix. Same field name, different semantics, risks confusing future maintainers.

Suggested Changes

  • Rename the "default title for new content" variant (in create_issue/create_discussion/create_pull_request/create_project) to DefaultTitlePrefix
  • Have update_issue.go embed SafeOutputFilterConfig instead of redeclaring its own TitlePrefix
  • Update yaml tags/docs/tests referencing the old field name where applicable

Files Affected

  • pkg/workflow/create_pull_request.go:36
  • pkg/workflow/create_issue.go:14
  • pkg/workflow/create_discussion.go:16
  • pkg/workflow/create_project.go:12
  • pkg/workflow/push_to_pull_request_branch.go:17
  • pkg/workflow/missing_issue_reporting.go:20
  • pkg/workflow/update_issue.go:19
  • pkg/workflow/safe_outputs_parser.go:20

Success Criteria

  • DefaultTitlePrefix used consistently for the "default title" semantic across the 4 create_* structs
  • update_issue.go embeds SafeOutputFilterConfig rather than redeclaring TitlePrefix
  • make test-unit passes with no regressions
  • make fmt run after edits

Source

Extracted from Typist - Go Type Consistency Analysis (discussion #50840)

Priority

Medium - improves maintainability, moderate effort (2-3 hours per audit estimate)

🔍 Task mining by Discussion Task Miner - Code Quality Improvement Agent · auto · 35.3 AIC · ⌖ 4.12 AIC · ⊞ 10.2K ·

  • expires on Aug 7, 2026, 5:44 PM UTC-08:00

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions