Skip to content

[deep-report] Fix any-typed fields that are always concrete types (RunID/RunNumber, timeout, Ports) #53994

Description

@github-actions

Description

The Typist Go Type Consistency Analysis (discussion #53980, 2026-08-19) found three call sites where a field or constant is typed any/bare int/string even though its actual usage is always a single concrete type — verified against call sites, not guessed:

  1. pkg/cli/logs_models.go:358-359AwInfo.RunID any / RunNumber any. Every sibling RunID field in the same package (logs_models.go:123,280, audit_cross_run.go, logs_episode.go) is int64 — GitHub Actions run IDs/numbers are always numeric.
  2. pkg/cli/run_workflow_execution.go:25const workflowCompletionWaitTimeoutMinutes = 6 * 60 (bare int, ambiguous unit), consumed by WaitForWorkflowCompletion(ctx, repoSlug, runID string, timeoutMinutes int, ...), called from pkg/cli/pr_automerge.go:120. Every sibling timeout in pkg/constants/constants.go (DefaultAgenticWorkflowTimeout, DefaultToolTimeout, DefaultHTTPClientTimeout) is a typed time.Duration.
  3. pkg/workflow/service_ports.go:86Ports any, immediately type-asserted to []any at every call site (service_ports.go:144). Declaring the field as []any directly removes a redundant runtime assertion.

Expected Impact

Removes ambiguous "is this seconds or minutes?" risk on fix #2, matches the established time.Duration convention used everywhere else in pkg/constants, and eliminates unnecessary type assertions for #1 and #3. Zero behavior change, low risk.

Suggested Agent

Copilot coding agent (mechanical, well-scoped Go refactor).

Estimated Effort

Quick (< 1 hour)

Data Source

DeepReport analysis 2026-08-19, based on Typist - Go Type Consistency Analysis (discussion #53980, "Priority 1" recommendations).

Generated by 🔬 Deep Report · agent · 174 AIC · ⌖ 12.1 AIC · ⊞ 11.9K ·

  • expires on Aug 21, 2026, 4:34 AM 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