Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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