[deep-report] Replace []any round-trip via SliceToSteps/StepsToSlice with typed step slices
- Dominant language
- Go
- Stars
- 5.1k
- Forks
- 541
- Avg merge
- 5h 48m
- Merged PRs (30d)
- 773
Description
### Problem
`pkg/workflow/workflow_builder_steps.go` round-trips step data through `[]any` via 8 call-site pairs of `SliceToSteps`/`StepsToSlice` (lines 23,33,45,55,69,79,121,129,142,150,182,190,202,210,242,250,263,271), converting typed step structs to `interface{}` slices and back rather than operating on the typed slice directly.
### Why it matters
Every round trip is an unchecked type-assertion boundary — a future step-type change that doesn't update all 8 sites fails at runtime with a panic/assertion error instead of a compile error, and the untyped intermediate makes the actual data shape unclear at each call site.
### Suggested fix
Replace the `[]any` intermediate with the typed step slice directly at all 8 call sites, removing the conversion helpers once no callers remain.
### Data source
Typist code-quality analysis (Priority 2), live-verified: confirmed 16 matches / 8 call-site pairs against current `pkg/workflow/workflow_builder_steps.go` in this cycle — no matching open issue found.
**Suggested Agent:** general coding agent (Go)
**Estimated Effort:** Medium (8 call sites, needs careful typing pass + test run)
> [!WARNING]
>
> Firewall blocked 1 domain
>
> The following domain was blocked by the firewall during workflow execution:
>
> - `api.anthropic.com`
>
> To allow these domains, add them to the `network.allowed` list in your workflow frontmatter:
>
> ```yaml
> network:
> allowed:
> - defaults
> - "api.anthropic.com"
> ```
>
> See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information.
>
>
> Generated by [🔬 Deep Report](https://github.com/github/gh-aw/actions/runs/34969464054) · claude · agent · 279.5 AIC · ⌖ 12.7 AIC · ⊞ 12.8K · [◷](https://github.com/search?q=repo%3Agithub%2Fgh-aw+is%3Aissue+%22gh-aw-workflow-call-id%3A+github%2Fgh-aw%2Fdeep-report%22&type=issues)
> - [x] expires on Sep 17, 2026, 4:50 AM UTC-08:00
Contributor guide
Research direction
Start in pkg/workflow/workflow_builder_steps.go and inspect the 8 SliceToSteps/StepsToSlice call-site pairs listed in the issue, along with the conversion helpers. Replace the []any intermediates with the existing typed step slices, remove the helpers once unused, and run the relevant Go tests to confirm the workflow builder still passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- ci-cd, tooling
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 75/100