Skip to content

docs(internal): add multi-region blog post draft - #3874

Draft
TooTallNate wants to merge 1 commit into
mainfrom
docs/multi-region-blog-draft
Draft

docs(internal): add multi-region blog post draft#3874
TooTallNate wants to merge 1 commit into
mainfrom
docs/multi-region-blog-draft

Conversation

@TooTallNate

@TooTallNate TooTallNate commented Aug 27, 2026

Copy link
Copy Markdown
Member

Summary

Adds an internal draft of a technical blog post, "The ID is the routing table: how Workflow went multi-region", to the preview-only docs/internal section for iteration before publication.

The post covers:

  • Region-encoded run IDs: the tagged-ULID scheme in @workflow/world-vercel/run-id (tag bit + 6-bit region ID + 5-bit version), why the metadata sits at the top of the randomness section (preserves monotonic ordering), and the frozen append-only region table
  • Zero-config routing: region resolution at mint time (start({ region })VERCEL_REGIONiad1), legacy untagged IDs decoding to iad1, and per-send queue routing decoded from the run ID
  • Failure model A (Vercel regional outage): compute fails over while data routing keys on the run ID, so workflows keep progressing via cross-region data access
  • Failure model B (full cloud-provider regional outage): runs homed there pause; durability is preserved by Vercel Queues' cross-region ingest failover plus event-log replay, so recovery is automatic
  • Edges: the year-6400 tag-bit timestamp bug, region-tagged health-check correlation IDs, and the hook-token home region tradeoff

Prose follows the Vercel technical writing guidelines.

Changes

  • docs/content/docs/v5/internal/multi-region-blog-post.mdx: the draft
  • docs/content/docs/v5/internal/meta.json: register the page

Notes

  • The internal section is preview-only (hidden in production, excluded from sitemap/robots), so this is not publicly visible
  • Docs-only change: no changeset needed
  • Verified rendering locally via the docs dev server

@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

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

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

@changeset-bot

changeset-bot Bot commented Aug 27, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 5995cd5

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

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

Click here to learn what changesets are, and how to add one.

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

@github-actions

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

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