variant-smoke-full failed on PR #5884 — a PR that touches only server/_shared/llm-sanitize.* and server/worldmonitor/intelligence/v1/chat-analyst-context.ts (both server/edge-only, unreachable from the dashboard bundle) plus two node-test files. It passed on re-run of the identical SHA.
Failing test
e2e/dashboard-news-request-budget.spec.ts:290 — "a degraded 200 digest with no categories is not mistaken for a landed load" (added by 612bad2, #5376/PR #5878).
Error: a 200 digest carrying no categories leaves every panel empty, so it must stay
retryable exactly like a failed request (attempts: 1)
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 2
Received: 1
Failed on the initial attempt and on Playwright's retry #1 — so it looks deterministic within a job, which is what makes it easy to misread as a real regression.
Evidence it is a flake, not a regression
- Paired local runs, same machine, same environment, only the diff varying: the spec was run at the PR's base content (fix reverted via file copies) and again with the fix restored. 5/5 passed both times, byte-identical results. [run 30562253073 job 90938011607 = fail; re-run job 90940416455 = pass, same SHA]
- No
src/** module imports either changed file, so the change cannot alter the dashboard bundle the spec exercises.
- CI re-run of the identical commit: pass.
Why it is worth tracking
The assertion counts digest requests after a fixed SECOND_LOAD_SETTLE_MS wait. A settle-time-bounded request count is timing-sensitive, and variant-smoke-full runs three e2e suites sequentially in one job, so this one starts under whatever load the previous two left behind. This job is a required PR gate, so a flake here red-lights unrelated PRs and costs a full investigation each time (this one cost a base-vs-head bisect to clear).
Note the test asserts behavior that #5877 is separately fixing (fix/news-degraded-digest-poisons-last-good) — worth confirming the two interact as intended, i.e. that the assertion is not currently passing for a reason unrelated to the retry path.
Suggested fix
Replace the fixed-wait-then-count with a condition-based wait (poll until a second digest request is observed, with a generous timeout) so the assertion measures the retry behavior rather than whether it happened to land inside a wall-clock window.
variant-smoke-fullfailed on PR #5884 — a PR that touches onlyserver/_shared/llm-sanitize.*andserver/worldmonitor/intelligence/v1/chat-analyst-context.ts(both server/edge-only, unreachable from the dashboard bundle) plus two node-test files. It passed on re-run of the identical SHA.Failing test
e2e/dashboard-news-request-budget.spec.ts:290— "a degraded 200 digest with no categories is not mistaken for a landed load" (added by 612bad2,#5376/PR #5878).Failed on the initial attempt and on Playwright's retry #1 — so it looks deterministic within a job, which is what makes it easy to misread as a real regression.
Evidence it is a flake, not a regression
src/**module imports either changed file, so the change cannot alter the dashboard bundle the spec exercises.Why it is worth tracking
The assertion counts digest requests after a fixed
SECOND_LOAD_SETTLE_MSwait. A settle-time-bounded request count is timing-sensitive, andvariant-smoke-fullruns three e2e suites sequentially in one job, so this one starts under whatever load the previous two left behind. This job is a required PR gate, so a flake here red-lights unrelated PRs and costs a full investigation each time (this one cost a base-vs-head bisect to clear).Note the test asserts behavior that #5877 is separately fixing (
fix/news-degraded-digest-poisons-last-good) — worth confirming the two interact as intended, i.e. that the assertion is not currently passing for a reason unrelated to the retry path.Suggested fix
Replace the fixed-wait-then-count with a condition-based wait (poll until a second digest request is observed, with a generous timeout) so the assertion measures the retry behavior rather than whether it happened to land inside a wall-clock window.