gnoff's Description of Work
resumeAndPrerender fails when the same already emitted Suspense boundary needs to postpone again. This predates #37853: prerendering a suspended boundary, aborting, resuming it while it still suspends, and aborting again hits the missing postponement metadata even when both aborts happen outside rendering.
Initialize tracking for resumed boundaries and preserve the boundary ID already referenced by the emitted HTML. When a pass finishes with postponed holes, flush completed segments as partial output and retain the fallback until a later resume completes the boundary.
Switch the full-flow regression from #37853 from it.failing to it, asserting prerender β resumeAndPrerender β final resume, intermediate HTML, JSON round trips, and removal of placeholders. Add a regression using external aborts to directly cover the existing API bug. Also verify that one resumed boundary can complete while a sibling aborts and postpones again, both at the root and through an already completed Suspense ancestor.
Stacked on #37853. The branch includes that PR's commits; the follow-up diff is here. After #37853 merges, this PR will contain only the API fix.
The browser prerender suite passes in development and production on stable and experimental channels. ESLint and Prettier pass.