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
Run §32330023374 recovered from a ~6-week memory gap (last logged run: R60, 2026-07-08) and pivoted to a fresh analysis angle after confirming the per-linter AST-bug vein is now saturated.
Pre-run open sergo issues: 1 (#53901, unrelated, re-verified still valid, not duplicated)
Finding: errormessage linter has zero live CI enforcement
.github/workflows/error-message-lint.yml — the sole workflow invoking the errormessage analyzer — has been disabled_manually since 2026-05-20 (5 failing runs that day), and was never re-enabled. Meanwhile, a full-repo audit (#50591, closed 2026-08-06) found 1,129 violations, and 8 follow-up squad-plan issues fixed them across pkg/workflow/pkg/cli between 2026-08-11 and 2026-08-12. The cleanup has no regression protection: errormessage is also absent from the golint-customLINTER_FLAGS allowlist (cgo.yml:1372,:1375), so it has no invocation path in CI at all — worse than the 14 other linters merely missing from that allowlist.
Filed as issue sg61a1 (temporary id aw_sg61a1).
Full evidence, impact, and suggested fix
Evidence:
gh api repos/github/gh-aw/actions/workflows/error-message-lint.yml → state: disabled_manually, updated_at: 2026-05-20T03:22:13Z.
Last 5 runs (26134896194...26138647305) all completed/failure, all 2026-05-20; nothing since. Raw logs expired (410 Gone).
error-message-lint.yml:54-58 is the only place invoking -errormessage.changed-files=... (repo-wide grep confirmed).
errormessage absent from cgo.yml:1372/:1375LINTER_FLAGS.
make lint-error-messages-report (Makefile:1032-1037, non-blocking, full-repo) exists but is never called from any workflow.
Impact: Any .go file changed since 2026-05-20 can reintroduce non-actionable error messages or misuse fmt.Errorf instead of NewValidationError in _validation.go files, with no CI signal — not even a non-blocking report.
Suggested fix:
Re-enable: gh api -X PUT repos/github/gh-aw/actions/workflows/error-message-lint.yml/enable, then workflow_dispatch against main to confirm clean post-cleanup.
If still noisy, wire make lint-error-messages-report into cgo.yml as an interim report-only signal first, then flip to blocking — mirroring the enforce-readiness pattern used for other custom linters.
61 logged runs, 409 cumulative findings, 110 cumulative tasks, avg success score 8.75. Across the untracked gap, ~90 issues landed covering nearly every one of the 66 registered linters plus the SuggestedFix-compile-correctness vein (7 issues, all closed — writebytestring, sprintfint, stringsjoinone, bytescomparestring, stringbytesroundtrip). sg60a1 (writebytestring non-compiling autofix) confirmed landed as #44187. The registry-delta detector (grep -c Analyzer main.go) is now broken since cmd/linters/main.go refactored to multichecker.Main(linters.All()...); replacement detector uses pkg/linters/doc.go's bullet count or pkg/linters/registry.go:79.
Recommendations / next-run focus (R62)
Re-enable error-message-lint.yml per the suggested fix above.
Audit repo-wide for other silently disabled_manually CI/lint workflows — this may be a repeating class, not a one-off (gh api actions/workflows --jq '.workflows[]|select(.state=="disabled_manually")').
Re-verify sg61a1 is fixed before re-exploring the same angle.
If the registry grows past 66, prioritize auditing the newest linters first; per-linter AST-bug hunting is otherwise saturated — favor CI-wiring, doc-sync, and enforce-readiness angles going forward.
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.
Overview
Run §32330023374 recovered from a ~6-week memory gap (last logged run: R60, 2026-07-08) and pivoted to a fresh analysis angle after confirming the per-linter AST-bug vein is now saturated.
Strategy:
GAP-RECOVERY(registry 43→66, detector broken) — cached: SuggestedFix vein CONFIRMED EXHAUSTED — new-explore: CI-wiring-liveness audit (errormessage)Key metrics
find_declarationadded)sergoissues: 1 (#53901, unrelated, re-verified still valid, not duplicated)Finding:
errormessagelinter has zero live CI enforcement.github/workflows/error-message-lint.yml— the sole workflow invoking theerrormessageanalyzer — has beendisabled_manuallysince 2026-05-20 (5 failing runs that day), and was never re-enabled. Meanwhile, a full-repo audit (#50591, closed 2026-08-06) found 1,129 violations, and 8 follow-up squad-plan issues fixed them acrosspkg/workflow/pkg/clibetween 2026-08-11 and 2026-08-12. The cleanup has no regression protection:errormessageis also absent from thegolint-customLINTER_FLAGSallowlist (cgo.yml:1372,:1375), so it has no invocation path in CI at all — worse than the 14 other linters merely missing from that allowlist.Filed as issue
sg61a1(temporary idaw_sg61a1).Full evidence, impact, and suggested fix
Evidence:
gh api repos/github/gh-aw/actions/workflows/error-message-lint.yml→state: disabled_manually,updated_at: 2026-05-20T03:22:13Z.26134896194...26138647305) allcompleted/failure, all2026-05-20; nothing since. Raw logs expired (410 Gone).error-message-lint.yml:54-58is the only place invoking-errormessage.changed-files=...(repo-wide grep confirmed).errormessageabsent fromcgo.yml:1372/:1375LINTER_FLAGS.make lint-error-messages-report(Makefile:1032-1037, non-blocking, full-repo) exists but is never called from any workflow.Impact: Any
.gofile changed since 2026-05-20 can reintroduce non-actionable error messages or misusefmt.Errorfinstead ofNewValidationErrorin_validation.gofiles, with no CI signal — not even a non-blocking report.Suggested fix:
gh api -X PUT repos/github/gh-aw/actions/workflows/error-message-lint.yml/enable, thenworkflow_dispatchagainstmainto confirm clean post-cleanup.make lint-error-messages-reportintocgo.ymlas an interim report-only signal first, then flip to blocking — mirroring the enforce-readiness pattern used for other custom linters.Location:
.github/workflows/error-message-lint.yml,.github/workflows/cgo.yml:1372,1375,Makefile:1032-1037,pkg/linters/errormessage/errormessage.goHistorical context
61 logged runs, 409 cumulative findings, 110 cumulative tasks, avg success score 8.75. Across the untracked gap, ~90 issues landed covering nearly every one of the 66 registered linters plus the SuggestedFix-compile-correctness vein (7 issues, all closed —
writebytestring,sprintfint,stringsjoinone,bytescomparestring,stringbytesroundtrip).sg60a1(writebytestring non-compiling autofix) confirmed landed as#44187. The registry-delta detector (grep -c Analyzer main.go) is now broken sincecmd/linters/main.gorefactored tomultichecker.Main(linters.All()...); replacement detector usespkg/linters/doc.go's bullet count orpkg/linters/registry.go:79.Recommendations / next-run focus (R62)
error-message-lint.ymlper the suggested fix above.disabled_manuallyCI/lint workflows — this may be a repeating class, not a one-off (gh api actions/workflows --jq '.workflows[]|select(.state=="disabled_manually")').sg61a1is fixed before re-exploring the same angle.References:
All reactions