Summary
lint-go job fails because golangci-lint detects an unused helper type in pkg/workflow/missing_issue_reporting.go. Removing the unused type resolves the failure and allows the job to finish.
Failure Details
Root Cause Analysis
issueReportingJobParams was introduced to capture the variances between the missing-data and missing-tool safe-output jobs but is not referenced anywhere in pkg/workflow anymore. Golangci-lint's unused analyzer flags the definition, make golint exits with error, and the entire lint-go job fails before the workflow can complete.
Failed Jobs and Errors
lint-go – Run golangci-lint step failed with pkg/workflow/missing_issue_reporting.go:24:6: type issueReportingJobParams is unused (unused)
Investigation Findings
golangci-lint runs as part of make golint inside the lint-go job. The log shows unused: 1 with the unused struct definition, so the target aborts with Error 1 and the job terminates with exit code 2. Removing the dead definition (as implemented in this change) clears the unused violation and allows the job to succeed.
Recommended Actions
Prevention Strategies
Run golangci-lint early in the development cycle when refactoring helpers, and keep helper structs tied to active code paths so the unused analyzer does not fail CI.
AI Team Self-Improvement
Before introducing helper structs, rg (TypeName) over the repo to confirm they stay referenced; if they are later unused, remove them or reintroduce their usage before merging.
Historical Context
No prior CI Failure Doctor investigations matched this exact unused-type failure in the current cache.
🩺 Diagnosis provided by CI Failure Doctor
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/ci-doctor.md@ea350161ad5dcc9624cf510f134c6a9e39a6f94d
Summary
lint-gojob fails because golangci-lint detects an unused helper type inpkg/workflow/missing_issue_reporting.go. Removing the unused type resolves the failure and allows the job to finish.Failure Details
Root Cause Analysis
issueReportingJobParamswas introduced to capture the variances between the missing-data and missing-tool safe-output jobs but is not referenced anywhere inpkg/workflowanymore. Golangci-lint'sunusedanalyzer flags the definition,make golintexits with error, and the entirelint-gojob fails before the workflow can complete.Failed Jobs and Errors
lint-go–Run golangci-lintstep failed withpkg/workflow/missing_issue_reporting.go:24:6: type issueReportingJobParams is unused (unused)Investigation Findings
golangci-lintruns as part ofmake golintinside thelint-gojob. The log showsunused: 1with the unused struct definition, so the target aborts withError 1and the job terminates with exit code 2. Removing the dead definition (as implemented in this change) clears theunusedviolation and allows the job to succeed.Recommended Actions
issueReportingJobParamsstruct so golangci-lint stops flagging it.make fmt/make golintto ensure no other dead code leaks in.Prevention Strategies
Run
golangci-lintearly in the development cycle when refactoring helpers, and keep helper structs tied to active code paths so theunusedanalyzer does not fail CI.AI Team Self-Improvement
Before introducing helper structs,
rg (TypeName)over the repo to confirm they stay referenced; if they are later unused, remove them or reintroduce their usage before merging.Historical Context
No prior CI Failure Doctor investigations matched this exact unused-type failure in the current cache.