mirror of
https://github.com/vercel/workflow.git
synced 2026-09-14 19:59:43 +08:00
e3574b9f4c
Resolves four conflicts, all against #3704's writing-standards pass over the whole corpus, which rewrote the same paragraphs this branch had edited. Took main's normalized text everywhere it was purely style, kept this branch's meaning where the two disagreed: the spec-7 paragraph main still had at spec 6, the `/v4/...` link the flip makes expressible, and the batch-write contract note. Restyled this branch's own additions to the standard main just adopted, so no prose em dashes come back with it. Content this landed on top: - **The WebSocket events transport is the default now**, not opt-in. The What's new entry said the opposite, which was the most wrong sentence in the v5 docs after #3702. - **Process-wide state has to live on `globalThis`.** New contract note in the World upgrade guide, and a step of its own in the World skill, since it type-checks, passes tests in isolation, and fails only in a host that bundles the World. Named after its casualty: the WS transport registered its channel in one bundler layer and looked it up in another layer's empty copy, so every event fell back to HTTP silently. - **One World per process.** The entrypoint's queue handler is built from `getWorld()` rather than `getWorldHandlers()`, so a stateful World stops getting duplicate pools and queue workers. The build-integration row that still sent custom hosts to `getWorldHandlers()` is corrected. - **A World's transport is its own business, except for the tracing.** A non-HTTP transport still owes the per-event client span, or the per-event view of a run disappears. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>