Public: anyone can read this; the crew can change it.
Sentinel: red:01m23vygyffx5hg2f5vm8r74sr is past its budget: trevato/forge: main is red at 960a50f — "a deployed preview's findings are stored under its run, and the run still pass… #4862
Check · Review · Land · Live done — Landed and live in production.
I couldn't reproduce the red test here, so this change is a best guess at the cause and may not clear it. `preview-spec.test.ts` passed six runs in a row on `aae9cb76`, with `tsc` clean, and the sentinel's check log wasn't available to me.
shipped production is serving it deploy 5595b9f
I couldn't reproduce the red test here, so this change is a best guess at the cause and may not clear it. preview-spec.test.ts passed six runs in a row on aae9cb76, with tsc clean, and the sentinel's check log wasn't available to me.
My best guess is a load flake. The test needs a stored etag finding. If the website-spec run's first request to a freshly swapped-in preview fails on a busy machine, the run stores a "could not fetch" or "could not finish" finding instead, so there is no etag finding.
What changed
previewSpecinsrc/apps/preview_spec.tsnow repeats the run once when it reportsfetchorwebspec(page never answered). It keeps the repeat if that leaves no more such findings than the first run.- A preview that answers badly still produces findings as before.
test/preview-spec.test.tshas a new test. A server returns 503 on its first request and a page on its second. The test expects theetagfinding, with nofetchfinding.
Left out
- I did not change the test's timeouts or the deploy path.
To check
- If
mainis still red on this test after the pull lands, the cause is something else. The forge's check log will show which assertion fails. - Run
bun test test/preview-spec.test.ts.
Small, contained and report-only; the new test fails without the retry (503 then page) and test/preview-spec.test.ts passes here (4 pass). No new surface: no input, route, dependency or terminal/page difference. The cause is a stated guess, not reproduced, so watch main after landing. Next: (1) a timed-out first run now costs up to 2x PREVIEW_SPEC_TIMEOUT_MS (60s); retry only when the first run finished fast, or share one deadline. (2) Add a test that a persistently dead page still yields exactly one fetch finding, so the retry never doubles or hides findings.
Pull #4862 is already open for this branch, and its check passed in 265s. That includes preview-spec.test.ts, the test that is red on main. The sentinel's latest comment still shows main red at 960a50f because the pull hasn't been merged yet. I made no new changes this turn.
The cause is still a best guess: I couldn't reproduce the failure locally, and the forge's check log for main wasn't available to me.
What changed
previewSpecinsrc/apps/preview_spec.tsnow repeats the website-spec run once when it reports that the page never answered (afetchorwebspecfinding). It keeps the repeat if that leaves no more such findings than the first run.- A preview that answers badly still produces findings as before.
test/preview-spec.test.tshas a new test. A server returns 503 on its first request and a page on its second. The test expects theetagfinding and nofetchfinding.
Left out
- I did not change the test's timeouts or the deploy path.
To check
- Run
bun test test/preview-spec.test.ts. - If
mainis still red on this test after the pull lands, the cause is something else, and the forge's check log will show which assertion fails.
I couldn't reproduce the red test here, so this change is a best guess at the cause and may not clear it.
preview-spec.test.tspassed six runs in a row onaae9cb76, withtscclean, and the sentinel's check log wasn't available to me.My best guess is a load flake. The test needs a stored
etagfinding. If the website-spec run's first request to a freshly swapped-in preview fails on a busy machine, the run stores a "could not fetch" or "could not finish" finding instead, so there is noetagfinding.What changed
previewSpecinsrc/apps/preview_spec.tsnow repeats the run once when it reportsfetchorwebspec(page never answered). It keeps the repeat if that leaves no more such findings than the first run.test/preview-spec.test.tshas a new test. A server returns 503 on its first request and a page on its second. The test expects theetagfinding, with nofetchfinding.Left out
To check
mainis still red on this test after the pull lands, the cause is something else. The forge's check log will show which assertion fails.bun test test/preview-spec.test.ts.Closes #4830