Repository navigation
[eslint-refiner] ESLint Refiner — Daily Report (2026-10-05): open-issue queue hits zero #65788
Closed
Replies: 2 comments
|
This discussion was automatically closed because it expired on 2026-10-06T05:45:06.192Z.
|
0 replies
|
This discussion was automatically closed because it expired on 2026-10-06T05:45:06.192Z.
|
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-10-05)
Headline: the open-issue queue hit zero for the first time. All 3 issues that were open as of yesterday's run closed
completedin the last ~24 hours, and each fix was independently re-verified against current rule source (not just trusted from bot state). No new issues filed today — a disciplined, clean-slate run.Key metrics
no-unguarded-async-timer-callback)completed(confirmed fixed) since last runConfirmed fixes (source-verified, not just bot state)
no-github-request-interpolated-route— fallback-expression Octokit client aliases (x || github, ternaries) now correctly detected.isOctokitSourceExpressiongainedLogicalExpression/ConditionalExpressionrecursion exactly covering the reported gap.require-escaped-regexp-interpolation— regex-fragment constants (e.g.AWF_API_PROXY_HOST_RE_SOURCE) are no longer misflagged as unescaped. A new naming-convention pattern (_PATTERN/_RE/_RE_SOURCE/_CHAR/_DELIMITERSsuffix) plus one-hop const-initializer resolution now recognizes them. Verified against the exact live site inhandle_agent_failure.cjs:72. Theme retired — do not refile.no-unsafe-catch-error-property— one-hop rename-alias resolution (const err = error;thenerr.message) confirmed working, consistent with the 10-04 finding.Today's rule reviews (no new findings)
no-unguarded-async-timer-callback(new, first-ever review)Flags async callbacks passed to
setTimeout/setInterval/setImmediateunless the entire body is a single guardingtry/catch. Only one live call site exists in the wholeactions/setup/jscorpus:process_runner.cjs:458-485(asetInterval(async () => {...})runtime-guard poller).Found a real but untested structural asymmetry: the rule's
isFullyGuardedcheck requires the callback body to be exactly one statement (the try). The test suite explicitly confirms trailing code after the try should be flagged (correct — it can throw and reject). But the same check also rejects a plain leading guard-clause return (if (done) return;) before the try, even though a boolean early-return cannot itself cause a rejection.The one live site does have two such leading guards — but it also has genuinely risky unguarded code after the try (
terminateTree(...),clearInterval(...),log(...)), so the rule's current flag there is still a legitimate true positive overall. Not a clean, isolated false-positive demonstration — not filed. Will revisit if a second, cleaner call site appears.no-core-error-then-process-exit/no-core-error-then-process-exitcode(2nd pass)Checked a fresh angle: named-constant or variable exit codes (
process.exit(EXIT_FAILURE)) aftercore.error(...), since the rule only recognizes literal non-zero integers. Grepped ~30process.exit(/process.exitCode =sites corpus-wide — none pair withcore.error(all useconsole.error/process.stderr.write/a logger instead). Zero grounding, 2nd consecutive clean check (first was 09-14) — demoted further in rotation.Next actions
no-unguarded-async-timer-callback: only refile the leading-guard asymmetry if a second, cleaner live call site appears (guard + try + nothing risky after).create_pull_requestsafe output: the sharedtry-catch-rule-utils.tsVariableDeclaration-suggestion gap (~14 rules affected, twice filed and expired as 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) — report-only, not refiling again.Strategy and full history persisted to repo-memory (
memory/eslint-refinerbranch) for continuity.All reactions