Description
MCPFailureSummary in pkg/cli/logs_models.go (line 173) re-declares 4 fields — Count, Workflows, WorkflowsDisplay, and RunIDs — that are already defined in AggregatedSummaryBase (line 157). The sibling types MissingToolSummary and MissingDataSummary already correctly embed AggregatedSummaryBase, but MCPFailureSummary does not, creating copy-paste drift. The base type's doc comment even flags that sibling types should embed it.
Suggested Changes
- Replace the four duplicate field declarations in
MCPFailureSummary with AggregatedSummaryBase embedding
- Align with the existing pattern used by
MissingToolSummary and MissingDataSummary
// Before:
type MCPFailureSummary struct {
Count int `json:"count"`
Workflows []string `json:"workflows"`
WorkflowsDisplay string `json:"workflows_display"`
RunIDs []string `json:"run_ids"`
// ... MCPFailureSummary-specific fields
}
// After:
type MCPFailureSummary struct {
AggregatedSummaryBase
// ... MCPFailureSummary-specific fields
}
Files Affected
pkg/cli/logs_models.go (lines 157-200, update MCPFailureSummary struct)
Success Criteria
Effort
~30 min · XS
Source
Extracted from Typist — Go Type Consistency Analysis discussion #45983
Priority
Medium — kills copy-paste drift and matches the established embedding pattern
🔍 Task mining by Discussion Task Miner - Code Quality Improvement Agent · 156.6 AIC · ⌖ 7.84 AIC · ⊞ 7K · ◷
Description
MCPFailureSummaryinpkg/cli/logs_models.go(line 173) re-declares 4 fields —Count,Workflows,WorkflowsDisplay, andRunIDs— that are already defined inAggregatedSummaryBase(line 157). The sibling typesMissingToolSummaryandMissingDataSummaryalready correctly embedAggregatedSummaryBase, butMCPFailureSummarydoes not, creating copy-paste drift. The base type's doc comment even flags that sibling types should embed it.Suggested Changes
MCPFailureSummarywithAggregatedSummaryBaseembeddingMissingToolSummaryandMissingDataSummaryFiles Affected
pkg/cli/logs_models.go(lines 157-200, updateMCPFailureSummarystruct)Success Criteria
MCPFailureSummaryembedsAggregatedSummaryBaseinstead of redeclaring its fieldsMCPFailureSummary.Count,.Workflows, etc. still work (embedding is transparent)make fmt && make golint-custom && go test ./pkg/cli/...passesEffort
~30 min · XS
Source
Extracted from Typist — Go Type Consistency Analysis discussion #45983
Priority
Medium — kills copy-paste drift and matches the established embedding pattern