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
Memory hadn't been updated since 2026-07-08 (R60) — an ~8-week gap during which sergo issue activity continued in GitHub (up to #58150) but the strategy/stats logs went silent. This run reconciled state (registry detector was stale, GitHub issue history moved on), re-audited ~13 individual linters, and confirmed a recurrence of a previously-fixed bug class across a meaningfully larger set of files than its first appearance. One new issue filed.
Tool / registry update
Serena LSP: 23 tools, unchanged.
Registry detector was obsolete. The old method (grep -c Analyzer cmd/linters/main.go) now returns effectively nothing because the registry moved: cmd/linters/main.go is now just multichecker.Main(linters.All()...). The actual list lives in pkg/linters/registry.go's allAnalyzers slice, which now holds 67 analyzers (was 43 at R60). Detection method corrected in memory.
Strategy split (50/50)
Cached-reuse: re-verified the R60 finding (writebytestring's isExactString fix, sg60a1/#aw_sg60a1) — confirmed landed correctly (pkg/linters/writebytestring/writebytestring.go:157-160, wraps named string types with string(...) before passing to io.WriteString). Also probed the sibling byte/string-conversion linters (appendbytestring, bytescomparestring) for the same exact-type-vs-underlying-type bug class.
While probing writebytestring/appendbytestring/bytescomparestring for the exact-type bug class, none of the three showed that bug — but all three build SuggestedFixTextEdits spanning the full replaced expression without calling astutil.HasOverlappingComment first. That guard exists precisely to stop -fix from silently deleting a comment sitting inside the replaced span, and was the subject of a prior fix (#57844) for 5 other linters.
A repo-wide grep for the guard turned up only 8 files that call it (directly or via the shared astutil.BuildContainsFix helper). Spot-checking 10 more SuggestedFix-producing linters by grep (tolowerequalfold, stringsindexhasprefix, stringreplaceminusone, sprintfint, lenstringzero, lenstringsplit, fprintlnsprintf, execcommandwithoutcontext, ctxbackground, bytesbufferstring) showed the same pattern: full-span TextEdit, no guard call. 12 of the 13 affected files (all but lenstringzero) are enforced on production code in CI (.github/workflows/cgo.yml, -test=false), so this isn't just a latent risk.
Generated task / issue
Filed #58376: "13 linters build SuggestedFix TextEdits without HasOverlappingComment guard" — covers the 3 confirmed files with exact line references plus the 10 likely files, references the mapdeletecheck.go:84 correct pattern, and recommends (a) applying the guard per-file and (b) considering a structural fix (shared safe-edit constructor or a spec_test.go check) since this is the second time this exact class has appeared across a double-digit number of linters — a sign that fixing it file-by-file isn't preventing recurrence.
Confirm and fix the remaining 10 likely-affected files from this run's HasOverlappingComment finding via full reads + testdata comment-fixture additions.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Executive summary
Memory hadn't been updated since 2026-07-08 (R60) — an ~8-week gap during which sergo issue activity continued in GitHub (up to #58150) but the strategy/stats logs went silent. This run reconciled state (registry detector was stale, GitHub issue history moved on), re-audited ~13 individual linters, and confirmed a recurrence of a previously-fixed bug class across a meaningfully larger set of files than its first appearance. One new issue filed.
Tool / registry update
grep -c Analyzer cmd/linters/main.go) now returns effectively nothing because the registry moved:cmd/linters/main.gois now justmultichecker.Main(linters.All()...). The actual list lives inpkg/linters/registry.go'sallAnalyzersslice, which now holds 67 analyzers (was 43 at R60). Detection method corrected in memory.Strategy split (50/50)
writebytestring'sisExactStringfix, sg60a1/#aw_sg60a1) — confirmed landed correctly (pkg/linters/writebytestring/writebytestring.go:157-160, wraps named string types withstring(...)before passing toio.WriteString). Also probed the sibling byte/string-conversion linters (appendbytestring,bytescomparestring) for the same exact-type-vs-underlying-type bug class.nilctxpassed,logfatallibrary,httprespbodyclose,ioutildeprecated,httpstatuscode,trimleftright,excessivefuncparams,mapdeletecheck,goroutinemissingrecover. All clean exceptgoroutinemissingrecover, which matches the already-open goroutinemissingrecover: recover-defer placed after risky code is accepted as safe, but never protects earlier statements #58150 (no new distinct bug).Findings
While probing
writebytestring/appendbytestring/bytescomparestringfor the exact-type bug class, none of the three showed that bug — but all three buildSuggestedFixTextEditsspanning the full replaced expression without callingastutil.HasOverlappingCommentfirst. That guard exists precisely to stop-fixfrom silently deleting a comment sitting inside the replaced span, and was the subject of a prior fix (#57844) for 5 other linters.A repo-wide grep for the guard turned up only 8 files that call it (directly or via the shared
astutil.BuildContainsFixhelper). Spot-checking 10 moreSuggestedFix-producing linters by grep (tolowerequalfold,stringsindexhasprefix,stringreplaceminusone,sprintfint,lenstringzero,lenstringsplit,fprintlnsprintf,execcommandwithoutcontext,ctxbackground,bytesbufferstring) showed the same pattern: full-spanTextEdit, no guard call. 12 of the 13 affected files (all butlenstringzero) are enforced on production code in CI (.github/workflows/cgo.yml,-test=false), so this isn't just a latent risk.Generated task / issue
Filed #58376: "13 linters build SuggestedFix TextEdits without HasOverlappingComment guard" — covers the 3 confirmed files with exact line references plus the 10 likely files, references the
mapdeletecheck.go:84correct pattern, and recommends (a) applying the guard per-file and (b) considering a structural fix (shared safe-edit constructor or aspec_test.gocheck) since this is the second time this exact class has appeared across a double-digit number of linters — a sign that fixing it file-by-file isn't preventing recurrence.No duplicate filed: checked all 5 currently-open sergo issues (#58150, #57606, #57340, #57339, #56533) — none overlap.
Metrics
Historical context
Recommendations / next-run focus
HasOverlappingCommentfinding via full reads + testdata comment-fixture additions.References:
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
api.anthropic.comTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.
All reactions