Base red: cap the hanging fake Chromium start's AsyncStream buffer

TE
3d ago
+0-0

Base red fix. #34250 added a hanging makePage to the test fake FakeChromiumHosting using AsyncStream<Void>.makeStream(). The concurrency gate refuses an unbounded AsyncStream buffer (FakeChromiumHosting.swift:44: unbounded AsyncStream buffer (give it a cap and an overflow policy)), so cmux-next fast gates and cmux-next checks have been red on feat-cmux-next since f3a4babd (base runs 41725135574 and 41727385244).

This gives the stream a one-element .bufferingNewest(1) buffer. Nothing ever yields to it: the stream only ends when the task is cancelled. So behavior is unchanged.

Observed / Not run

  • Observed: the gate's own rule regex no longer matches the line. python3 scripts/cmux-next/prepush-gate.py reports "no new violations".
  • Not run: the Swift test aScriptCallReturnsNilWhenTheChromiumStartNeverEnds. The change only adds a buffer policy to a stream that never receives an element.

Changelog

none

Agent session: agent session

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the red cmux-next gates caused by the unbounded AsyncStream buffer introduced in #34250. The hanging fake Chromium start's stream now gets a one-element .bufferingNewest(1) buffer; since nothing ever yields to it, behavior is unchanged.

  • Observed: the gate's rule regex no longer matches the line, and prepush-gate.py reports no violations.
  • Not run: the Swift test for the hanging start; the change only adds a buffer policy to a stream that never receives an element.