Skip to content

[deep-report] Remove shadowed GitHubToken field re-declarations in create_project.go / update_project.go / create_project_status [Content truncated due to length] #52313

Description

@github-actions

Description

Three safe-output config structs in pkg/workflow embed BaseSafeOutputConfig (which already has a GitHubToken field) but also hand-declare their own GitHubToken string field, verified at:

  • pkg/workflow/create_project.go:10 (CreateProjectsConfig)
  • pkg/workflow/update_project.go:27 (presumed UpdateProjectConfig)
  • pkg/workflow/create_project_status_update.go:12

Because Go field-shadowing makes the outer (hand-declared) field win, and each struct's parser calls parseBaseSafeOutputConfig (filling the embedded copy) and then separately re-parses "github-token" into the outer field (e.g. create_project.go:29-32), the embedded BaseSafeOutputConfig.GitHubToken is set but never read in all three structs. Currently harmless since both copies receive the same value, but it's dead code masking a latent divergence risk if either parse path is edited independently in the future (e.g. a future change to parseBaseSafeOutputConfig silently stops taking effect for these three outputs).

Expected Impact

Removes a latent divergence bug and ~3 lines of redundant per-struct parsing; aligns all three structs with the already-established BaseSafeOutputConfig DRY convention used elsewhere in the same package.

Suggested Agent

General refactor agent — delete the hand-declared GitHubToken field and its separate parse block in each of the 3 structs, relying solely on the embedded BaseSafeOutputConfig.GitHubToken; verify no external code references the field by its shadowed (outer) form specifically.

Estimated Effort

Quick (< 1 hour)

Data Source

DeepReport Intelligence Briefing 2026-08-12, mined from Typist Report #52283 (Cluster A finding, verified directly against source).

Generated by 🔬 Deep Report · agent · 198.4 AIC · ⌖ 54.5 AIC · ⊞ 11.4K ·

  • expires on Aug 14, 2026, 7:07 AM UTC-08:00

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions