In-flight rewritten to what is actually live: design-dev's blur merge is HELD
at 5ded5ff awaiting his explicit 'merge it' ping (both panels dispatched 17:53,
unfolded), the redesign and thumbnails and dates are shipped, and the browser
suite is flaky under load and NOT fixed.
Two detail files added. The dates one is the reusable lesson: three plausible
proxies for a creation date were considered and one was nearly built, and the
real answer was a syscall away — the system already recorded what looked
unavailable. One of the rejected proxies was write-on-read, a shape this repo
had finished paying for hours earlier.
The flake entry is written as OPEN with its limits stated: three tests, two
real defects fixed, neither proven causal, and n=3 cannot show an improvement.
Recent decisions and Tried and abandoned preserved intact (49->51 by addition,
7 unchanged); the index is back under the soft cap at 141 lines from 285, all
of the reduction from settled history leaving the volatile section.
2.2 KiB
The browser suite is flaky under load — UNRESOLVED, and owned by design-dev
2026-09-23 · booth
⚠ OPEN. Not fixed. Do not read a green suite as proof of anything without re-running it.
What is observed, with its limits
Three different browser tests have each failed once under full-suite load while passing repeatedly in isolation:
| test | owner | isolation | full suite |
|---|---|---|---|
test_the_keyboard_flag_actually_submits |
booth-dev | 5/5 pass | 1 failure |
test_a_failed_save_says_so_reloads_and_never_re_posts |
design-dev | 3/3 pass | 1 failure |
test_the_review_keys_judge_in_place_and_stay_out_of_the_note |
design-dev | 10/10 + 5/5 pass | 1 in ~9 |
Three different tests points at the environment under contention, not at any one test. That is a direction, not a finding.
Two real defects found chasing it — NEITHER PROVEN TO BE THE CAUSE
- A keypress race. The flag test fired
ArrowRightandfback to back, assuming the first had finished — butfocus()does ascrollIntoView, so under loadfcould arrive with no cursor set. Now waits forfigure.item.is-cursor. - A port TOCTOU in BOTH browser fixtures. Each did
bind → getsockname → CLOSE → hand uvicorn the port NUMBER, leaving a window for the kernel to give that port away — and this suite runs two browser files that each start a server per test, so the competitor is the other file. The bound socket is now passed toserver.run(sockets=[sock]).
Since those fixes: one failure in three full runs. n=3 CANNOT distinguish that from the prior rate, and no claim of improvement is made.
Who owns it and what the method is
The operator ruled: "let him diagnose it properly." design-dev owns it. His method: a trace hook keeping a Playwright trace (screenshots + DOM snapshots) for every browser test that fails, captured from the run that fails, then full-suite runs until red and the artefact decides. Test-only infra, on his branch as its own commit.
⚠ The methodological trap, and why the artefact must come from the full suite: the failure only reproduces there. A narrowed repro that passes proves nothing and will be mistaken for a fix.