Skip to content

fix(cloudflare): complete warmup response and promotion contracts - #3046

Draft
james-elicx wants to merge 6 commits into
codex/rsc-prewarm-discovery-fail-closedfrom
codex/rsc-prewarm-terminal-responses
Draft

fix(cloudflare): complete warmup response and promotion contracts#3046
james-elicx wants to merge 6 commits into
codex/rsc-prewarm-discovery-fail-closedfrom
codex/rsc-prewarm-terminal-responses

Conversation

@james-elicx

@james-elicx james-elicx commented Aug 22, 2026

Copy link
Copy Markdown
Member

Summary

Consolidates the deployed HTML proof and terminal/no-promote response handling previously split across #3041#3046.

  • prove the first post-promotion Pages and App HTML requests are untouched CDN hits from the uploaded build
  • reject no-promote mode when discovery is empty, HTML identity is unverifiable, readiness fails, or any warm request remains unsuccessful
  • validate complete Pages getStaticPaths() results rather than emitting partial plans
  • skip same-build 3xx/404 responses only when cache policy and Cloudflare admission explicitly prove they are non-cacheable
  • warm admitted cacheable redirects and not-found responses after the same content, build, and Vary validation as successful responses
  • continue rejecting 5xx, wrong-build, unsupported variants, and contradictory cache policy

Scope

Only CDN warm response classification, no-promote completion semantics, and deployed proof for discovered ISR keys. Application status codes, rendering, middleware, and general cache policy are unchanged.

Validation

The retained commits keep their focused warm/deploy/discovery tests and deployed App/Pages HTML assertions. The cumulative exact head has passed the complete CI suite and deployed browser-reuse proof.

Consolidates #3041 through #3046. Stacked on #3040.

@pkg-pr-new

pkg-pr-new Bot commented Aug 22, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@vinext/cloudflare@3046
npm i https://pkg.pr.new/create-vinext-app@3046
npm i https://pkg.pr.new/@vinext/types@3046
npm i https://pkg.pr.new/vinext@3046

commit: fa424bc

@github-actions

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared fa424bc against base d7794d6 using alternating same-runner rounds. Next.js was unchanged and skipped.

0 improved · 0 regressed · 6 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.2 KB 142.2 KB ⚫ 0.0%
Client entry size (gzip) vinext 129.5 KB 129.5 KB ⚫ -0.0%
Dev server cold start vinext 3.11 s 3.08 s ⚫ -0.7%
Production build time vinext 3.46 s 3.50 s ⚫ +1.2%
RSC entry closure size (gzip) vinext 116.0 KB 116.0 KB ⚫ +0.0%
Server bundle size (gzip) vinext 197.5 KB 197.5 KB ⚫ +0.0%

View detailed results and traces

🟢 improvement · 🔴 regression · ⚫ change below 1.5% · paired base/head

@github-actions

Copy link
Copy Markdown
Contributor
Example Preview Production Original
app-router-cloudflare preview production
pages-router-cloudflare preview production
app-router-playground preview production original
realworld-api-rest preview production
nextra-docs-template preview production
benchmarks preview production
hackernews preview production original
workers-cache preview production
web preview production

@james-elicx james-elicx changed the title fix(cloudflare): warm cacheable terminal ISR responses fix(cloudflare): complete warmup response and promotion contracts Aug 22, 2026
@james-elicx
james-elicx changed the base branch from codex/rsc-prewarm-no-promote-contract to codex/rsc-prewarm-discovery-fail-closed August 22, 2026 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant