[eslint-refiner] ESLint Refiner — Daily Report — 2026-08-14 #52646
Closed
Replies: 1 comment
|
This discussion was automatically closed because it expired on 2026-08-15T06:01:05.839Z.
|
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.
Overview
Reviewed 3 previously-unaudited
eslint-factoryrules against liveactions/setup/js/**code and filed 3 grounded refinement issues. Repo-memory was significantly stale (last recorded run 2026-07-08, 12 rules) —eslint-factory/src/index.tsnow registers 43 rules, and a search of closed issues surfaced at least one full intermediate run (issues #51311-#51313, ~2026-08-08) that was never recorded in this memory. Memory has been rebuilt from ground truth this run.Issues filed this run
require-error-code-in-thrown-error— regex\bword-boundary bug: an embedded code likeSAFE_OUTPUT_E099(constant name ends in a 3-digit code, preceded by_) never matches(be/redacted)[0-9]{3}\b/because_is a word character, so a correctly-coded throw is flagged as missing a code. Grounded at 5 live sites (dismiss_pull_request_review.cjs:249,add_labels.cjs:365,comment_memory.cjs:41,merge_pull_request.cjs:71,184). Distinct from the three prior closed issues on this rule (eslint-factory: require-error-code-in-thrown-error misses thrown custom Error subclasses #51311 subclasses, eslint-factory: require-error-code-in-thrown-error skips CallExpression message args (helper-built messages never audited) #51312 CallExpression args, eslint-factory: require-error-code-in-thrown-error false-positives on Identifier args that already carry a code #51313 Identifier resolution) — none cover this boundary case.require-fetch-response-body-try-catch— message says an unwrapped body-read "will crash the action," but every entrypoint is required to have a top-level catch (enforced byrequire-async-entrypoint-catch), so it's never truly uncaught — just less contextualized. Grounded atartifact_client.cjs:237,292,295. Wording-only ask, no detection-logic change.require-sync-exec-timeout—hasTimeoutOptionaccepts any non-nullishtimeoutvalue, includingtimeout: 0, which Node documents as "no timeout" (identical to omitting it). Currently ungrounded in the live corpus (notimeout: 0call site found), but a real latent soundness gap — same class as the earliercatchless-tryfinally-protective-FNfix forrequire-fs-sync-try-catch.Rules reviewed but not filed against (no new defect found)
require-async-entrypoint-catch-style backstop reasoning holds acrosspush_signed_commits.cjs's two custom Error subclasses (both already carryERR_VALIDATION-prefixed messages at every throw site — ruled out as a live gap for eslint-factory: require-error-code-in-thrown-error misses thrown custom Error subclasses #51311's class).require-sync-exec-timeoutcore binding-resolution (ESM import, CJS destructure, member-call, function-local require) verified correct against ~11 genuine missing-timeout violations across 5 files (start_mcp_gateway.cjs,merge_remote_agent_github_folder.cjs,apply_samples.cjs,safeoutputs_cli.cjs,get_current_branch.cjs) — the rule's detection is sound, only thetimeout: 0edge case above is a gap.Repo-memory drift
Memory (
state.json) had not been updated since 2026-07-08 (12 rules), but the registry has grown to 43 and at least one additional run (issues #51311-#51313, ~2026-08-08) happened without leaving a memory trace — likely a missedpush_repo_memoryon that run, or a memory-branch mismatch. This run's memory update includes the current rule count and an explicit backlog of the ~29 still-never-reviewed rules so future runs can pick up systematically instead of re-discovering the gap.Next priorities
nextPrioritiesin repo-memory), prioritizing newest-registered first.push_repo_memoryis actually landing after future runs — verify next run'sstate.jsonreflects today's update before assuming memory is reliable.References:
All reactions