Skip to content

fix(core): skip replay after terminal event refresh#2215

Merged
pranaygp merged 1 commit into
mainfrom
pranaygp/codex/forward-port-run-failed-replay
Jun 2, 2026
Merged

fix(core): skip replay after terminal event refresh#2215
pranaygp merged 1 commit into
mainfrom
pranaygp/codex/forward-port-run-failed-replay

Conversation

@pranaygp
Copy link
Copy Markdown
Contributor

@pranaygp pranaygp commented Jun 2, 2026

Summary

Forward-ports the terminal run event replay guard from stable PR #2214 to main's refactored runtime path.

main already skipped replay when the initially loaded/preloaded event snapshot contained a terminal run event. This adds the same terminal-event check after the elapsed-wait completion path refreshes the event snapshot, so a concurrently recorded run_failed, run_cancelled, or run_completed ends the current delivery instead of being passed into workflow replay as an orphaned event.

Root Cause

A handler can load a running materialized run and an event snapshot, complete an elapsed wait, then refresh events before replaying. If another handler records a terminal run event during that refresh window, the refreshed event log already establishes the run outcome even though this handler's materialized workflowRun.status is still running.

Without a post-refresh terminal check, runWorkflow can see the terminal event as unrelated replay input and the runtime can record or queue an additional divergence/failure path for a run that is already terminal.

Validation

  • fnm exec --using v22.18.0 pnpm install
  • fnm exec --using v22.18.0 pnpm --filter '@workflow/core...' build
  • fnm exec --using v22.18.0 pnpm --dir packages/core exec vitest run src/runtime.test.ts src/runtime/wait-completion-replay.test.ts
  • git diff --check
  • fnm exec --using v22.18.0 pnpm exec biome check packages/core/src/runtime.ts packages/core/src/runtime/wait-completion-replay.test.ts .changeset/terminal-run-event-replay-main.md

Validation caveat: the Biome check completed with the pre-existing runtime.ts complexity warnings and the existing unused suppression warning around the constant replay loop; no formatting fixes were applied.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Jun 2, 2026

🦋 Changeset detected

Latest commit: 0658e32

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
Name Type
@workflow/core Patch
@workflow/builders Patch
@workflow/cli Patch
@workflow/next Patch
@workflow/nitro Patch
@workflow/vitest Patch
@workflow/web-shared Patch
@workflow/web Patch
workflow Patch
@workflow/world-testing Patch
@workflow/astro Patch
@workflow/nest Patch
@workflow/rollup Patch
@workflow/sveltekit Patch
@workflow/vite Patch
@workflow/nuxt Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Jun 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview, Comment Jun 2, 2026 5:40pm
example-nextjs-workflow-webpack Ready Ready Preview, Comment Jun 2, 2026 5:40pm
example-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workbench-astro-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workbench-express-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workbench-fastify-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workbench-hono-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workbench-nitro-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workbench-nuxt-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workbench-sveltekit-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workbench-tanstack-start-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workbench-vite-workflow Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workflow-docs Ready Ready Preview, Comment, Open in v0 Jun 2, 2026 5:40pm
workflow-swc-playground Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workflow-tarballs Ready Ready Preview, Comment Jun 2, 2026 5:40pm
workflow-web Ready Ready Preview, Comment Jun 2, 2026 5:40pm

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026

📊 Benchmark Results

📈 Comparing against baseline from main branch. Green 🟢 = faster, Red 🔺 = slower.

workflow with no steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.039s (-3.2%) 1.006s (~) 0.966s 10 1.00x
💻 Local Express 0.044s (+5.3% 🔺) 1.005s (~) 0.961s 10 1.12x
🐘 Postgres Nitro 0.057s (-9.7% 🟢) 1.012s (~) 0.954s 10 1.45x
🐘 Postgres Express 0.059s (-6.5% 🟢) 1.011s (~) 0.952s 10 1.51x
💻 Local Next.js (Turbopack) 0.061s (+28.1% 🔺) 1.007s (~) 0.946s 10 1.56x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Express 1.089s (-0.7%) 2.006s (~) 0.917s 10 1.00x
💻 Local Nitro 1.097s (+0.7%) 2.006s (~) 0.909s 10 1.01x
🐘 Postgres Nitro 1.108s (-0.5%) 2.009s (~) 0.901s 10 1.02x
🐘 Postgres Express 1.110s (~) 2.009s (~) 0.899s 10 1.02x
💻 Local Next.js (Turbopack) 1.125s (+1.8%) 2.006s (~) 0.882s 10 1.03x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 10.505s (~) 11.022s (~) 0.517s 3 1.00x
💻 Local Express 10.546s (~) 11.023s (~) 0.478s 3 1.00x
🐘 Postgres Nitro 10.552s (~) 11.020s (~) 0.468s 3 1.00x
🐘 Postgres Express 10.595s (~) 11.018s (~) 0.423s 3 1.01x
💻 Local Next.js (Turbopack) 10.800s (+1.5%) 11.021s (~) 0.222s 3 1.03x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 25 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Express 13.767s (~) 14.025s (~) 0.258s 5 1.00x
💻 Local Nitro 13.807s (+0.8%) 14.026s (~) 0.219s 5 1.00x
🐘 Postgres Nitro 13.817s (~) 14.019s (~) 0.202s 5 1.00x
🐘 Postgres Express 13.846s (~) 14.018s (~) 0.173s 5 1.01x
💻 Local Next.js (Turbopack) 14.592s (+4.5%) 15.281s (+7.4% 🔺) 0.689s 4 1.06x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 50 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 12.308s (-1.0%) 13.025s (~) 0.716s 7 1.00x
💻 Local Express 12.452s (~) 13.024s (~) 0.572s 7 1.01x
🐘 Postgres Express 12.604s (~) 13.017s (~) 0.413s 7 1.02x
🐘 Postgres Nitro 12.666s (+0.5%) 13.021s (~) 0.355s 7 1.03x
💻 Local Next.js (Turbopack) 13.658s (+5.8% 🔺) 14.027s (+5.4% 🔺) 0.370s 7 1.11x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.167s (-1.6%) 2.007s (~) 0.839s 15 1.00x
💻 Local Nitro 1.177s (-4.7%) 2.006s (~) 0.829s 15 1.01x
🐘 Postgres Express 1.192s (~) 2.007s (~) 0.815s 15 1.02x
💻 Local Express 1.210s (~) 2.006s (~) 0.796s 15 1.04x
💻 Local Next.js (Turbopack) 1.374s (+5.1% 🔺) 2.006s (~) 0.632s 15 1.18x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
Promise.all with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.222s (-2.3%) 2.007s (~) 0.785s 15 1.00x
🐘 Postgres Express 1.252s (~) 2.007s (~) 0.755s 15 1.02x
💻 Local Nitro 1.702s (~) 2.005s (~) 0.303s 15 1.39x
💻 Local Next.js (Turbopack) 1.736s (+6.4% 🔺) 2.073s (~) 0.337s 15 1.42x
💻 Local Express 1.833s (+3.9%) 2.140s (+3.3%) 0.307s 15 1.50x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
Promise.all with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.326s (-4.6%) 2.008s (~) 0.681s 15 1.00x
🐘 Postgres Express 1.338s (-4.0%) 2.008s (~) 0.670s 15 1.01x
💻 Local Nitro 4.725s (+5.3% 🔺) 5.344s (+6.6% 🔺) 0.619s 6 3.56x
💻 Local Next.js (Turbopack) 4.834s (+30.4% 🔺) 5.345s (+25.5% 🔺) 0.511s 6 3.64x
💻 Local Express 5.440s (+22.5% 🔺) 6.013s (+20.0% 🔺) 0.573s 6 4.10x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.180s (~) 2.008s (~) 0.828s 15 1.00x
🐘 Postgres Express 1.182s (-0.5%) 2.008s (~) 0.826s 15 1.00x
💻 Local Next.js (Turbopack) 1.398s (+7.7% 🔺) 2.006s (~) 0.608s 15 1.19x
💻 Local Nitro 1.549s (+1.9%) 2.073s (+3.3%) 0.524s 15 1.31x
💻 Local Express 1.560s (-2.2%) 2.007s (~) 0.446s 15 1.32x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.234s (-7.7% 🟢) 2.008s (-3.3%) 0.774s 15 1.00x
🐘 Postgres Express 1.237s (-2.2%) 2.007s (~) 0.770s 15 1.00x
💻 Local Next.js (Turbopack) 1.951s (+7.5% 🔺) 2.316s (+11.7% 🔺) 0.365s 13 1.58x
💻 Local Nitro 1.973s (-7.9% 🟢) 2.393s (-15.3% 🟢) 0.420s 13 1.60x
💻 Local Express 2.189s (+6.3% 🔺) 2.735s (+9.1% 🔺) 0.546s 11 1.77x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
Promise.race with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.351s (-4.7%) 2.010s (~) 0.659s 15 1.00x
🐘 Postgres Express 1.379s (-2.7%) 2.073s (+3.3%) 0.694s 15 1.02x
💻 Local Nitro 5.077s (-6.0% 🟢) 5.682s (-5.5% 🟢) 0.605s 6 3.76x
💻 Local Next.js (Turbopack) 5.298s (+30.3% 🔺) 6.016s (+27.3% 🔺) 0.718s 6 3.92x
💻 Local Express 5.853s (+3.7%) 6.617s (+6.5% 🔺) 0.763s 5 4.33x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 10 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.574s (-3.1%) 1.023s (~) 0.450s 59 1.00x
🐘 Postgres Nitro 0.581s (-2.1%) 1.006s (-1.7%) 0.425s 60 1.01x
💻 Local Nitro 0.582s (-0.8%) 1.005s (~) 0.422s 60 1.02x
💻 Local Express 0.606s (+2.3%) 1.005s (~) 0.399s 60 1.06x
💻 Local Next.js (Turbopack) 0.879s (+23.6% 🔺) 1.057s (+1.8%) 0.178s 57 1.53x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 25 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.347s (~) 2.007s (~) 0.659s 45 1.00x
🐘 Postgres Express 1.352s (-2.3%) 2.007s (-1.1%) 0.655s 45 1.00x
💻 Local Nitro 1.465s (-1.0%) 2.006s (~) 0.541s 45 1.09x
💻 Local Express 1.513s (~) 2.006s (~) 0.493s 45 1.12x
💻 Local Next.js (Turbopack) 2.144s (+24.2% 🔺) 3.008s (+50.0% 🔺) 0.864s 30 1.59x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 50 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 2.661s (-2.2%) 3.032s (-1.7%) 0.371s 40 1.00x
🐘 Postgres Express 2.690s (-1.5%) 3.111s (-0.8%) 0.422s 39 1.01x
💻 Local Nitro 3.247s (+1.4%) 3.912s (-2.4%) 0.665s 31 1.22x
💻 Local Express 3.323s (+2.7%) 4.010s (~) 0.687s 30 1.25x
💻 Local Next.js (Turbopack) 4.390s (+22.2% 🔺) 5.010s (+25.0% 🔺) 0.620s 24 1.65x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 10 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.210s (-9.5% 🟢) 1.006s (~) 0.796s 60 1.00x
🐘 Postgres Nitro 0.231s (+6.1% 🔺) 1.023s (+1.6%) 0.792s 59 1.10x
💻 Local Nitro 0.428s (-7.4% 🟢) 1.004s (~) 0.576s 60 2.04x
💻 Local Express 0.446s (+2.9%) 1.004s (~) 0.559s 60 2.12x
💻 Local Next.js (Turbopack) 0.594s (+19.0% 🔺) 1.040s (+1.6%) 0.446s 58 2.83x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 25 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.323s (-10.1% 🟢) 1.006s (~) 0.683s 90 1.00x
🐘 Postgres Nitro 0.332s (-4.6%) 1.006s (~) 0.674s 90 1.03x
💻 Local Express 2.168s (+3.4%) 2.736s (+6.1% 🔺) 0.568s 33 6.71x
💻 Local Nitro 2.170s (+1.7%) 2.714s (-0.8%) 0.544s 34 6.72x
💻 Local Next.js (Turbopack) 2.336s (+14.8% 🔺) 3.078s (+18.1% 🔺) 0.742s 30 7.23x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
workflow with 50 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 0.631s (-9.0% 🟢) 1.014s (+0.8%) 0.383s 119 1.00x
🐘 Postgres Express 0.633s (-8.0% 🟢) 1.006s (~) 0.373s 120 1.00x
💻 Local Nitro 9.373s (-3.6%) 9.871s (-3.2%) 0.498s 13 14.85x
💻 Local Express 9.736s (+2.2%) 10.360s (+1.6%) 0.624s 12 15.42x
💻 Local Next.js (Turbopack) 10.465s (+14.0% 🔺) 11.121s (+11.8% 🔺) 0.656s 11 16.58x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -
Stream Benchmarks (includes TTFB metrics)
workflow with stream

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 1.156s (-1.2%) 2.004s (~) 0.011s (+1.9%) 2.017s (~) 0.861s 10 1.00x
🐘 Postgres Nitro 1.161s (~) 2.002s (~) 0.001s (-35.3% 🟢) 2.010s (~) 0.849s 10 1.00x
💻 Local Express 1.162s (-0.9%) 2.005s (~) 0.013s (+11.1% 🔺) 2.020s (~) 0.858s 10 1.01x
🐘 Postgres Express 1.196s (+1.9%) 2.001s (~) 0.001s (-25.0% 🟢) 2.009s (~) 0.813s 10 1.03x
💻 Local Next.js (Turbopack) 1.213s (-1.9%) 2.004s (~) 0.011s (+34.6% 🔺) 2.019s (~) 0.806s 10 1.05x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - - -
stream pipeline with 5 transform steps (1MB)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Express 1.587s (~) 2.010s (~) 0.010s (+14.0% 🔺) 2.022s (~) 0.435s 30 1.00x
🐘 Postgres Nitro 1.604s (+0.6%) 2.005s (~) 0.003s (-22.3% 🟢) 2.020s (~) 0.416s 30 1.01x
🐘 Postgres Express 1.607s (~) 2.003s (~) 0.003s (-8.1% 🟢) 2.023s (~) 0.417s 30 1.01x
💻 Local Next.js (Turbopack) 1.715s (+8.4% 🔺) 2.008s (~) 0.011s (+23.9% 🔺) 2.022s (~) 0.307s 30 1.08x
💻 Local Nitro 1.749s (+10.9% 🔺) 2.009s (~) 0.010s (-6.5% 🟢) 2.200s (+8.8% 🔺) 0.451s 28 1.10x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - - -
10 parallel streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 0.733s (+1.3%) 1.052s (+2.1%) 0.000s (-32.2% 🟢) 1.060s (+1.0%) 0.327s 57 1.00x
🐘 Postgres Express 0.743s (+1.5%) 1.050s (-1.6%) 0.000s (+96.5% 🔺) 1.069s (-1.0%) 0.325s 57 1.01x
💻 Local Nitro 1.395s (-1.8%) 2.013s (~) 0.000s (+14.3% 🔺) 2.015s (~) 0.620s 30 1.90x
💻 Local Express 1.399s (+3.6%) 2.013s (~) 0.000s (+16.7% 🔺) 2.015s (~) 0.616s 30 1.91x
💻 Local Next.js (Turbopack) 1.485s (+25.3% 🔺) 2.013s (+6.8% 🔺) 0.001s (+137.0% 🔺) 2.017s (+6.8% 🔺) 0.532s 30 2.03x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - - -
fan-out fan-in 10 streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.383s (-2.2%) 2.069s (-1.6%) 0.000s (+Infinity% 🔺) 2.078s (-2.2%) 0.695s 29 1.00x
🐘 Postgres Express 1.492s (-5.4% 🟢) 2.104s (-8.7% 🟢) 0.000s (-10.3% 🟢) 2.113s (-9.0% 🟢) 0.621s 29 1.08x
💻 Local Next.js (Turbopack) 2.917s (+23.8% 🔺) 3.472s (+13.1% 🔺) 0.001s (+205.6% 🔺) 3.476s (+13.1% 🔺) 0.559s 18 2.11x
💻 Local Nitro 3.137s (-0.7%) 3.965s (+1.6%) 0.001s (+142.9% 🔺) 3.968s (+1.6%) 0.832s 16 2.27x
💻 Local Express 3.546s (+1.6%) 3.895s (~) 0.001s (~) 4.232s (~) 0.687s 15 2.56x
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - - -

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Nitro 14/21
🐘 Postgres Nitro 17/21
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 🐘 Postgres 14/21
Next.js (Turbopack) 💻 Local 21/21
Nitro 🐘 Postgres 15/21
Column Definitions
  • Workflow Time: Runtime reported by workflow (completedAt - createdAt) - primary metric
  • TTFB: Time to First Byte - time from workflow start until first stream byte received (stream benchmarks only)
  • Slurp: Time from first byte to complete stream consumption (stream benchmarks only)
  • Wall Time: Total testbench time (trigger workflow + poll for result)
  • Overhead: Testbench overhead (Wall Time - Workflow Time)
  • Samples: Number of benchmark iterations run
  • vs Fastest: How much slower compared to the fastest configuration for this benchmark

Worlds:

  • 💻 Local: In-memory filesystem world (local development)
  • 🐘 Postgres: PostgreSQL database world (local development)
  • ▲ Vercel: Vercel production/preview deployment
  • 🌐 Turso: Community world (local development)
  • 🌐 MongoDB: Community world (local development)
  • 🌐 Redis: Community world (local development)
  • 🌐 Jazz: Community world (local development)
  • 🌐 Redis: Community world (local development)
  • 🌐 Redis + BullMQ: Community world (local development)
  • 🌐 Cloudflare: Community world (local development)
  • 🌐 MySQL: Community world (local development)
  • 🌐 Azure: Community world (local development)
  • 🌐 NATS JetStream: Community world (local development)
  • 🌐 Upstash: Community world (local development)

📋 View full workflow run


Some benchmark jobs failed:

  • Local: success
  • Postgres: failure
  • Vercel: failure

Check the workflow run for details.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026

🧪 E2E Test Results

Some tests failed

Summary

Passed Failed Skipped Total
❌ ▲ Vercel Production 1262 4 219 1485
❌ 💻 Local Development 1554 1 200 1755
❌ 📦 Local Production 1670 1 219 1890
✅ 🐘 Local Postgres 1671 0 219 1890
✅ 🪟 Windows 135 0 0 135
✅ 📋 Other 769 0 176 945
Total 7061 6 1033 8100

❌ Failed Tests

▲ Vercel Production (4 failed)

express (2 failed):

  • outputStreamWorkflow no startIndex (reads all chunks)
  • AbortController abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step

hono (1 failed):

  • AbortController abortFetchInFlightWorkflow: aborting cancels an in-flight fetch

nextjs-turbopack (1 failed):

  • stepFunctionAsStartArgWorkflow - step function reference passed as start() argument | wrun_01KT4Q2JVMAAFKP78DWXAZE7WJ | 🔍 observability
💻 Local Development (1 failed)

nextjs-turbopack-stable-lazy-discovery-disabled (1 failed):

  • addTenWorkflow | wrun_01KT4PKX0BD9YMB88GD3FKASBD
📦 Local Production (1 failed)

express-stable (1 failed):

  • hookWithSleepFinalStepWorkflow - step only on final payload | wrun_01KT4Q40P52FGB90BJ0SW360F7

Details by Category

❌ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 109 0 26
✅ example 109 0 26
❌ express 107 2 26
✅ fastify 109 0 26
❌ hono 108 1 26
❌ nextjs-turbopack 132 1 2
✅ nextjs-webpack 133 0 2
✅ nitro 109 0 26
✅ nuxt 109 0 26
✅ sveltekit 128 0 7
✅ vite 109 0 26
❌ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 110 0 25
✅ express-stable 110 0 25
✅ fastify-stable 110 0 25
✅ hono-stable 110 0 25
✅ nextjs-turbopack-canary 116 0 19
❌ nextjs-turbopack-stable-lazy-discovery-disabled 134 1 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 135 0 0
✅ nextjs-webpack-stable-lazy-discovery-disabled 135 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 135 0 0
✅ nitro-stable 110 0 25
✅ nuxt-stable 110 0 25
✅ sveltekit-stable 129 0 6
✅ vite-stable 110 0 25
❌ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 110 0 25
❌ express-stable 109 1 25
✅ fastify-stable 110 0 25
✅ hono-stable 110 0 25
✅ nextjs-turbopack-canary 116 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 135 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 135 0 0
✅ nextjs-webpack-canary 116 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 135 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 135 0 0
✅ nitro-stable 110 0 25
✅ nuxt-stable 110 0 25
✅ sveltekit-stable 129 0 6
✅ vite-stable 110 0 25
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 110 0 25
✅ express-stable 110 0 25
✅ fastify-stable 110 0 25
✅ hono-stable 110 0 25
✅ nextjs-turbopack-canary 116 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 135 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 135 0 0
✅ nextjs-webpack-canary 116 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 135 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 135 0 0
✅ nitro-stable 110 0 25
✅ nuxt-stable 110 0 25
✅ sveltekit-stable 129 0 6
✅ vite-stable 110 0 25
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 135 0 0
✅ 📋 Other
App Passed Failed Skipped
✅ e2e-local-dev-nest-stable 110 0 25
✅ e2e-local-dev-tanstack-start- 110 0 25
✅ e2e-local-postgres-nest-stable 110 0 25
✅ e2e-local-postgres-tanstack-start- 110 0 25
✅ e2e-local-prod-nest-stable 110 0 25
✅ e2e-local-prod-tanstack-start- 110 0 25
✅ e2e-vercel-prod-tanstack-start 109 0 26

📋 View full workflow run


Some E2E test jobs failed:

  • Vercel Prod: failure
  • Local Dev: failure
  • Local Prod: failure
  • Local Postgres: success
  • Windows: success

Check the workflow run for details.

@pranaygp pranaygp force-pushed the pranaygp/codex/forward-port-run-failed-replay branch from 15057e7 to ebfe9ea Compare June 2, 2026 04:06
@pranaygp pranaygp marked this pull request as ready for review June 2, 2026 04:08
@pranaygp pranaygp requested a review from a team as a code owner June 2, 2026 04:08
Copilot AI review requested due to automatic review settings June 2, 2026 04:08
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026

No backport to stable for 12c35b5 (AI decision).

This commit explicitly forward-ports stable PR #2214 to main's refactored runtime path. The PR body states the fix already exists on stable via #2214, so backporting this main-specific adaptation would conflict with or duplicate the equivalent fix already present on stable.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

12c35b54ebf3d3c9fbc30462b42b05e5ce476a2b

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.

3 participants