base red: streaming-text-frames' eased follow test holds p95 under half a line (WebKit flake from #29191)
Fixes a base red on feat-cmux-next: web / react-apps-check failed in three base runs, and each time test/streaming-text-frames.test.ts failed both on its first run and on its retry:
The failing test is "webkit: a followed reply rises line by line without jumps". #29191 (19807ed6) added it with expect(eased.follow.p95).toBeLessThanOrEqual(8). On a starved WebKit runner the eased p95 came out at 9.47 and 8.11, against 45.5 for the stepped run. The eased median stays near 3 px.
What changed: the eased run now has to keep its median frame under SNAP_PX / 2 (4 px) and its p95 under half a line (11.4 px). The test's other checks are unchanged:
overSnapmust be under half of stepped.- Stepped p50 must be over SNAP_PX.
- Runway, settle and layout checks are unchanged.
So the before/after difference is still enforced, while the frames-timing tail no longer fails the test. Test-only change.
Agent session: agent session
š¤ Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes a WebKit flake in streaming-text-frames.test.ts that made base runs of feat-cmux-next fail, by relaxing the eased follow p95 budget from SNAP_PX to half a line and adding a p50 assertion under SNAP_PX / 2.
The eased run's timing tail no longer fails the test on a starved WebKit runner, while the before/after difference between eased and stepped runs is still enforced. Test-only change with no behavior change.