Skip to content

[plan] Improve Go type consistency based on Typist analysis #6836

@github-actions

Description

@github-actions

Overview

This tracking issue covers improvements to Go type consistency based on the comprehensive analysis in Discussion #6829. The analysis identified 1 type name collision and several opportunities for improved type safety.

Source: Discussion #6829

Background

The Typist agent analyzed 313 non-test Go files and found that the codebase demonstrates mature, pragmatic Go practices. Most any usage is appropriate for dynamic YAML/JSON configuration. However, a few targeted improvements can enhance code clarity and type safety.

Planned Tasks

This work is broken down into focused, actionable tasks:

  1. Rename duplicated WorkflowStep type - Eliminates naming confusion between comprehensive and simplified versions
  2. Add ValidatableTool interface - Improves type safety for permission validation
  3. Create FeatureFlag type alias - Adds consistency to feature flag constants
  4. Add validation tests - Ensures type improvements don't break existing functionality
  5. Update documentation - Documents new interfaces and type patterns

Success Criteria

  • No type name collisions in the codebase
  • Improved type safety where beneficial
  • All existing tests pass
  • New patterns documented for future contributors

Non-Goals

Per the Typist analysis, we will NOT change:

  • map[string]any for YAML/JSON parsing (correct pattern)
  • any for dynamic GitHub Actions fields (matches GitHub schema)
  • Untyped string constants (standard Go practice)
  • Polymorphic utility functions accepting any (appropriate usage)

AI generated by Plan Command for discussion #6829

Sub-issues

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