Skip to content

[docs] Document WORKFLOW_NODE_HTTP in the v4 World docs - #4050

Merged
VaguelySerious merged 1 commit into
mainfrom
peter/nodehttp-docs
Sep 9, 2026
Merged

VaguelySerious merged 1 commit into
mainfrom
peter/nodehttp-docs

Conversation

@VaguelySerious

@VaguelySerious VaguelySerious commented Sep 9, 2026 •

Copy link
Copy Markdown
Member

What

Adds a WORKFLOW_NODE_HTTP entry to docs/content/worlds/v4/vercel.mdx, and a pointer to it from docs/content/worlds/v4/local.mdx.

Why

The flag ships in @workflow/world-vercel@4.7.0 (2026-08-19) and is documented only in the v5 docs (docs/content/docs/v5/configuration/runtime-tuning.mdx and worlds/v5/local.mdx). A 4.x user has no way to find it short of reading package source, and the v4 Vercel World page opens with "requires no configuration when deployed to Vercel".

That is not hypothetical. It is how the flag was actually found in the field, partway through a nine-day outage on a Pro project whose cause the flag addresses: a Next 16 Turbopack build in which the bundled HTTP client library was unusable, so workflows hung before journaling their first step. Same failure class as #3373.

Where it went

v4 has no consolidated environment-variable page (v5's configuration/runtime-tuning.mdx has no v4 counterpart), so the World pages are the only sensible home. The Vercel page carries the full entry and the Local page gets a short entry plus a link, mirroring how v5 splits the same content.

The entry covers:

  • what it does and that it is opt-in;
  • when to reach for it (a bundler that mangles the library, a build pairing a bundled copy with a different one in the runtime, or ruling the transport out while diagnosing);
  • the symptom that leads here, which is the part that was missing: steps all complete while the invocation never returns, and queue messages are delivered repeatedly and never acknowledged. Readers are pointed at the Queues view for a topic with a high received count and a delete count near zero.
  • what the swap costs (no HTTP/2 on event-log requests, no transport-level retry, no stream-close retry), in a warning callout, since it is a throughput regression on every deployment.
  • that a dispatcher passed to createVercelWorld() still wins.

Notes

Changeset is empty: docs only, no published package changed. Internal links use the unprefixed /worlds/vercel form the surrounding v4 pages already use.

Docs Preview

Page Link
v4 Vercel World /v4/worlds/vercel#workflow_node_http
v4 Local World /v4/worlds/local#workflow_node_http

🤖 Generated with Claude Code

The flag ships in @workflow/world-vercel 4.7.0 and is documented only in the
v5 docs, so a 4.x user has no way to find it short of reading package source.
That is how it was actually found in the field, after nine days of an outage
the flag addresses.

Adds the entry to the v4 Vercel World page (when to reach for it, the symptom
that leads here, and what the swap costs) and a pointer from the v4 Local World
page, mirroring how v5 splits it. v4 has no consolidated environment-variable
page, so the World pages are the only home for it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated
example-nextjs-workflow-turbopack Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
example-nextjs-workflow-webpack Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
example-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-astro-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-express-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-fastify-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-hono-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-nestjs-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-nitro-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-nuxt-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-python-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-sveltekit-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-tanstack-start-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workbench-vite-workflow Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workflow-docs Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workflow-swc-playground Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workflow-tarballs Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC
workflow-web Ready Ready Preview, v0 Sep 9, 2026 2:26pm UTC

@changeset-bot

changeset-bot Bot commented Sep 9, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: bb0bdd1

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

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

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

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Sim World

Simulated world deterministic testing for races. Traces

🟠 world-sim scenario book — 1 fail of 41 total

fence=per-spec

scenario outcome events virt replay violations
✅ smoke-no-steps completed 3 0ms ok 0
✅ smoke-one-step completed 6 0ms ok 0
✅ hook-at-step-started completed 12 0ms ok 0
✅ hook-at-step-completed completed 12 0ms ok 0
✅ hook-at-hook-created completed 12 0ms ok 0
✅ deadline-hook-wins completed 7 1.0h ok 0
✅ deadline-expires completed 7 1.0h ok 0
✅ long-sleep completed 11 30.0d ok 0
✅ hook-never-arrives stalled 3 0ms skipped 0
✅ step-retries-twice completed 10 2.0s ok 0
✅ parallel-steps completed 9 0ms ok 0
✅ hook-on-execution-state completed 12 0ms ok 0
✅ peek-hook-before-branch completed 12 0ms ok 0
✅ peek-hook-after-branch completed 12 0ms ok 0
✅ peek-hook-at-registration completed 12 0ms ok 0
✅ race-hook-before-probe completed 12 0ms ok 0
✅ race-hook-after-probe completed 12 0ms ok 0
✅ race-duplicate-delivery completed 13 0ms ok 0
✅ attr-hook-before-step completed 11 0ms ok 0
✅ attr-hook-after-step completed 11 0ms ok 0
✅ attr-from-step-body completed 13 0ms ok 0
✅ fork-hook-after-timeout completed 14 1.0m ok 0
✅ fork-hook-before-timeout completed 14 1.0m ok 0
✅ count-hook-after-timeout completed 17 1.0m ok 0
✅ count-hook-before-timeout completed 20 1.0m ok 0
✅ stale-read-step-count-fork completed 20 1.0m ok 0
✅ stale-read-equal-step-counts completed 14 1.0m ok 0
✅ step-vs-step-fork completed 12 0ms ok 0
✅ step-vs-step-fork-fenced completed 12 0ms ok 0
✅ fence-catches-benign-direction completed 12 5ms ok 0
✅ in-flight-before-decision completed 17 1.0m ok 0
❌ in-flight-before-decision-counted completed 17 1.0m ok 0
✅ in-flight-after-decision completed 19 2.0m ok 0
✅ stale-read-step-count-fork-fenced completed 20 1.0m ok 0
✅ fork-hook-wins completed 13 1.0m ok 0
✅ fork-timeout-wins completed 13 1.0m ok 0
✅ unclaimed-payload-under-fork completed 17 1.0m ok 0
✅ claimed-payload-under-fork completed 17 1.0m ok 0
✅ writers-independent-step-bodies completed 12 0ms ok 0
✅ writers-scripted-tempo completed 12 0ms ok 0
✅ cancel-mid-step cancelled 7 0ms skipped 0

Full trace: world-sim.txt


This exists for deployments where that library is not usable, rather than as a tuning knob. Reach for it when:

- your bundler mangles the library's internals, so requests through it fail or never settle;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this option sounds more like an implementation detail the client should'nt have to ideally configure. but fine as a middle ground for now.

@VaguelySerious
VaguelySerious merged commit 51a181a into main Sep 9, 2026
67 checks passed
@VaguelySerious
VaguelySerious deleted the peter/nodehttp-docs branch September 9, 2026 17:17
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

No backport to stable for 51a181a (AI decision).

The commit only touches docs/content/worlds/v4/{local,vercel}.mdx plus an empty changeset, and I verified that docs/content/worlds/ does not exist on stable at all (git ls-tree origin/stable -- docs/content/ returns only docs/content/docs, and stable has no world pages under docs/content/docs/v4). Cherry-picking would create an orphan docs tree on stable rather than correct anything published there. If 4.x users need WORKFLOW_NODE_HTTP documented, it should be written against the docs layout that actually exists on stable.

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

51a181af91773a288e6d6342a180e926ace97dda

pranaygp added a commit that referenced this pull request Sep 9, 2026
…c-workflow-source

* origin/main: (22 commits)
  feat(streams): add writer session seam (#3832)
  docs: document WORKFLOW_NODE_HTTP in the v4 World docs (#4050)
  [world-vercel] Honor WORKFLOW_NODE_HTTP on the queue transport (#4044)
  feat(streams): add WebSocket capability gate (#3764)
  fix(world-local): retry JSON reads on Windows (#4051)
  [core] Add the wake-loop scenario to the event log race repro (#4017)
  [ci] Cap concurrent Vercel E2E action repo-wide (10 by default) (#4039)
  Add `Run#getWritable()` for appending to another run's stream (#3972)
  feat(streams): add WebSocket v1 client protocol contract (#3763)
  [swc-playground] Update to Next.js v16.3.4 (#4018)
  [core] Add a retention option to start() (#3787)
  fix(swc-plugin): register class expressions via an IIFE instead of by name (#3971)
  [docs] Fix prose typos across v4/v5 docs and the SWC plugin README (#3948)
  Validate pending changesets in CI so a bad one fails the PR, not the Release job (#3964)
  Version Packages (beta) (#3919)
  Classify Workflow stream failures (#3850)
  Drop the ignored @workflow/world-sim package from the hook_conflict delta changeset (#3963)
  Add attribute inspection to the CLI (#3950)
  [core] Settle a hook's awaiter in-process instead of re-invoking, on creation and on conflict (#3938)
  Use the storage APIs for run detail views (#3944)
  ...

This branch was successfully deployed

18 active deployments
Preview – workflow-swc-playground — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workflow-docs — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – example-nextjs-workflow-webpack — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – example-nextjs-workflow-turbopack — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-nuxt-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-tanstack-start-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-vite-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-astro-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-nitro-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workflow-tarballs — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – example-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-hono-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-express-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-sveltekit-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-fastify-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-nestjs-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workflow-web — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
Preview – workbench-python-workflow — bb0bdd12 Deployed Sep 9, 2026 by vercel[bot]
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.

2 participants