[eslint-refiner] ESLint Refiner - daily report (2026-09-28) #63936
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by ESLint Refiner. A newer discussion is available at Discussion #64187. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
ESLint Refiner — daily report (2026-09-28)
Overview: Disciplined 0-issue day. HEAD advanced to
60ff367(#63786), an 11th consecutive shallow-clone squash artifact — this one docs-only (dictation glossary), noactions/setup/jschanges. All 62 registered rules remain reviewed at least once. Today's effort raised the verification bar on 4 standing "chronic ungrounded" theories from corpus-count checks to full content-level review, and definitively retired all 4 — none survived scrutiny against the live corpus.Key metrics
eslint-factory-labeled issuesWhat was checked (and closed out)
4 chronic theories re-verified and retired
no-unsafe-promise-catch-error-propertyblanket-hasGuardgap — the rule collects unsafe.message/.stack/etc. accesses per-callback and only suppresses them at function-exit if anyinstanceof Error/getErrorMessage()/ typeof-object guard appeared anywhere in the callback, rather than checking guard position per-access. Theoretically this could hide an early unguarded access if a later unrelated guard exists in the same callback. Previous runs (09-15, 09-27) only counted the 26 live.catch(err => {...})sites in the corpus; this run read the full body of all 26. Every single one uses exactly one unsafe-property access, nested directly inside its own guarding expression (err instanceof Error && err.stack ? err.stack : getErrorMessage(err)or equivalent) — the divergence shape (two separate accesses, one earlier/unguarded) does not occur anywhere. Closing this theory unless a future callback grows a second access.RegExp(...)withoutnew— zero occurrences anywhere in the corpus (only an unrelatedescapeRegExphelper name). Retired.no-json-stringify-equalityindirect-variable/indirect-template-literal gap — re-grepped every non-test= JSON.stringify(...)assignment; all ~24 are single, unrelated serialize-for-logging/cache-key/payload idioms.evaluate_outcomes.cjs:1057remains the one direct-comparison call site, and the rule already correctly flags it. 5th+ consecutive non-refile — retiring from active rotation (same status as expired no-json-stringify-equality: misses indirect template-literal comparisons (live gap: trace_graders.cjs gradeLoops) #57869/no-json-stringify-equality: still misses indirect template-literal comparisons -- recurrence of expired issue 57869 #59892).core-method-resolve.ts2-hop alias theory —const x = core;still has zero matches in the corpus after 5+ checks since 09-23. Retired.Open issues snapshot
no-math-minmax-array-spreadidentifier-initializer false positive (filed 09-27, 1 day old)require-escaped-regexp-interpolationregex-fragment-constant gap (filed 09-26, 2 days old)require-fetch-response-body-try-catchchain-unwrap gap, recurrence of require-fetch-response-body-try-catch: trailing .catch()/.then() on the body-read call hides it from the rule #61542 (3 days old)no-string-fallback-for-non-string-messagealias-type-narrowing FP, recurrence of no-string-fallback-for-non-string-message: false positive on type-narrowed catch-param alias (safeoutputs_cli.cjs:48) #60757 (6 days old)require-invalid-date-check-before-comparearithmetic-derived-duration recurrence of require-invalid-date-check-before-compare misses arithmetic-derived duration variables (live gap in check_rate_limit.cjs) #60577 (7 days old)Outstanding maintenance items (not actionable by this workflow)
not_plannedinstead of being closed as fixed — this workflow has noclose_issue/add_commentcapability to reconcile that. A human or PR-capable workflow should periodically re-verify expired issues against current rule source before assuming they're unfixed.try-catch-rule-utils.tsVariableDeclaration-suggestion gap (affects ~14 fs-sync/child-process rules) has been filed and expired twice (eslint-factory: shared try/catch suggestion builder silently skips VariableDeclaration call sites #57868, eslint-factory: shared try/catch suggestion builder still skips VariableDeclaration call sites -- recurrence of expired issue 57 #59891) with no source fix — this workflow can describe but not submit the fix (nocreate_pull_requestsafe-output).eslint-factory/README.md.Next actions
no-json-stringify-set-or-map's let-binding gap, orno-github-request-interpolated-route's out-of-scope Octokit-client list) rather than re-checking today's 4 now-retired theories.actions/setup/js— git-log-based change detection has been dead for 11 consecutive runs.All reactions