You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[deep-report] Deduplicate token-usage and integrity-level types flagged by Typist (agentUsageEntry/TokenCoreMetrics, DisapprovalIntegrity/GitH #55469
pkg/cli/token_usage_types.go:107 — agentUsageEntry hand-duplicates the exact 6-field quartet already defined once as TokenCoreMetrics (line 12, doc-commented as "the single source of truth"): InputTokens, OutputTokens, CacheReadTokens, CacheWriteTokens, ReasoningTokens, EffectiveTokens. Embed TokenCoreMetrics in agentUsageEntry instead of redeclaring the fields (JSON tags on TokenCoreMetrics already match, so this should be a transparent change for encoding/json).
pkg/workflow/tools_types.go:367,372 — DisapprovalIntegrity and EndorserMinIntegrity are typed string, even though the identical enum GitHubIntegrityLevel (defined lines 290–302, values none/unapproved/approved/merged) already exists and is used two lines away for the sibling MinIntegrity field. Retyping both to GitHubIntegrityLevel removes the need for the two duplicated map[string]bool validation maps in pkg/workflow/tools_validation_github_integrity_reactions.go:22-33.
Expected Impact
Removes two verified sources of struct/enum duplication that could silently drift out of sync (e.g. a new token field or integrity level added in one place but not the other). Both are pure type changes with no behavior change.
Suggested Agent
New Agent (or any general coding agent) — mechanical, low-risk refactor with existing tests to catch regressions.
Estimated Effort
Quick (< 1 hour) for both combined.
Data Source
DeepReport Intelligence Briefing analysis, 2026-08-24 cycle, mining Typist #55369. Both findings independently verified live against main before filing (a third finding from the same report, a checkStepGHToken parameter-narrowing suggestion, was checked and found invalid — its caller passes an any from a []any list, not a map[string]any, so the type assertion is required — and is intentionally excluded from this issue).
Generated by 🔬 Deep Report · claude · agent · 267.3 AIC · ⌖ 9.56 AIC · ⊞ 12.4K · ◷
Activity
github-actions commentedon Aug 24, 2026
🍪 Issue Monster selected this for Copilot
I've identified this issue as a good candidate for automated resolution and requested assignment to the Copilot coding agent.
If assignment succeeds, the Copilot coding agent will analyze the issue and create a pull request with the fix.
Om nom nom! 🍪