Skip to content

fix(cli): a check that hits its deadline keeps the findings it already made - #6190

Merged
miguel-heygen merged 1 commit into
mainfrom
fix/check-deadline-keeps-findings
Oct 24, 2026
Merged

miguel-heygen merged 1 commit into
mainfrom
fix/check-deadline-keeps-findings

Conversation

@miguel-heygen

Copy link
Copy Markdown
Collaborator

What changes for you

When check hits its deadline (no progress for 120 s), the report now keeps what it had already found: the layout and contrast findings from the samples that finished, and the page's own console and network findings. The deadline error is still in the report and still names the step it stopped at, for example "while running the overlap pass", with the seconds spent per step. Before, all of that was dropped and the report held the deadline error alone.

Why

A large project can run check for a long time. When the deadline fired, the work of every finished sample was thrown away, so the person got no result at all.

How

CheckDeadline.keepPartial lets a stage register how to read what it has so far. The sample grid registers its finished samples, and the browser step registers the runtime findings. When the check fails, the pipeline builds the report from those instead of an empty result, and browserSkipped is false when anything was kept.

Tests

A deadline during the overlap pass keeps the layout finding from the finished samples, marks the browser as not skipped, and still carries the deadline finding. The test fails without the change. The check, deadline, browser and progress suites pass 3 runs in a row (182 tests).

What I did not do

This covers the CLI's own deadline. A caller that kills check from outside after its own wall-clock limit gets no report, because the process never gets to write one. I could not reproduce a slow check: a 40-minute project with about 1,760 elements finished in 43 s. The step that is slow on the reporter's project is still unknown.

PR_SIZE_OK: an 88-line change in one concern.

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE · 0 blocker · 0 important · 3 nits · head 5cae478e

Partial results are read lazily: the grid closure reads perTime, and helper-dropped samples are deleted before they're re-queued. skipped stays true when nothing was kept. I ran the new test: it fails with the old catch and passes at this head. The check, deadline and browser suites pass locally (181 tests). CI was still running when I posted and had no failures yet.

Nits. Each one only shows up on the deadline path:

  1. checkPipeline.ts:1667: a partial report clears browserSkipped, so the "empty placeholders, not a clean pass" warning goes away. Motion and craft are still empty with nothing marking them as unrun (motion.samples: 0). The deadline error keeps ok false, but a JSON reader could take an empty Motion section as clean. A partial: true flag, or keeping the warning for unreached sections, would close that.
  2. checkBrowser.ts:316: the partial runtime findings skip dropMotionBlurConsoleEcho. If the deadline fires after collectMotionBlurDrafts, the report shows the [motion-blur] off: console warning alongside the blur finding.
  3. Under --component, partial findings never get componentMatch. The filter at :2019 keeps undefined, so a filtered run that hits the deadline shows unfiltered layout and contrast findings.

@github-actions

Copy link
Copy Markdown
Contributor

Edit accuracy: accurate 271 (base branch 271), smooth 114 of those

The gate passes.
Smoothness is reported in the artifact, not gated. A case fails only if it fails 2 of 3 runs.

Quarantined, measured but not gated (0)

Unstable (1)

  • seqplainkeys-none-pct-r0-root-z100: tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo false, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true

@miguel-heygen
miguel-heygen added this pull request to the merge queue Oct 24, 2026
Merged via the queue into main with commit ebb057f Oct 24, 2026
68 checks passed
@miguel-heygen
miguel-heygen deleted the fix/check-deadline-keeps-findings branch October 24, 2026 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant