Skip to content

docs: break getWorld into per-entity World SDK pages#1456

Open
Ralph-20 wants to merge 5 commits intomainfrom
lucas/dse-2334-world-docs
Open

docs: break getWorld into per-entity World SDK pages#1456
Ralph-20 wants to merge 5 commits intomainfrom
lucas/dse-2334-world-docs

Conversation

@Ralph-20
Copy link

@Ralph-20 Ralph-20 commented Mar 19, 2026

Summary

Breaks the monolithic get-world.mdx page into 8 per-entity World SDK pages for better discoverability, greppability, and navigation.

Linear: DSE-2334 (child of DSE-2322)
Depends on: PR #1453 (adds workflow/observability export — encryption examples use @expect-error comments until that merges)

Before / After: End-to-End User Impact

If you install the workflow skill (skills.sh → skills/workflow/SKILL.md)

Before: The skill had zero mention of observability, the World SDK, or how to inspect workflow data. If you asked your agent "how do I list workflow runs?" or "how do I hydrate step data?", it had no grep hints pointing to the right docs and no example patterns to follow. Error handling was also undocumented — no guidance on FatalError vs RetryableError vs Promise.allSettled.

After: Two new sections in the skill:

  1. "Observability & Data Hydration" — tells the agent where to grep (grep -r "world.runs" node_modules/workflow/docs/), shows the key imports (getWorld from workflow/runtime, hydrateResourceIO from workflow/observability), and gives a quick hydration code snippet.
  2. "Error Handling Patterns" — a table showing when to use FatalError vs RetryableError vs Promise.allSettled, with code examples.

The doc structure listing now includes api-reference/workflow-api/world/ so the agent knows those files exist to grep into.

If you visit useworkflow.dev

Before: There was ONE page for all World SDK content — getWorld. It had the function signature, a TSDoc block, and a handful of examples crammed together. If you wanted to understand world.events or world.streams, you'd scroll through that single page. Examples were sparse, type information was missing, and method signatures weren't documented.

After: That one page is now 9 pages:

  • getWorld is slimmed to just the function signature + links to entity pages
  • 7 entity pages (runs, steps, hooks, events, streams, queue) each with full method docs, parameter tables, and multiple real-world examples
  • 1 observability page covering hydration, name parsing, and encryption

New data that didn't exist before

The entity pages contain real API documentation that wasn't documented anywhere on the site:

  • Method signatures with parameter tables — e.g., world.events.listByCorrelationId({ correlationId, cursor }) with typed params
  • Complete type tables — WorkflowRun (10 fields), Step (12 fields), Hook (8 fields), 16 event types
  • Real examples: cursor pagination, filtering by status, calculating step duration, webhook token lookup, cancellation via events, correlation ID tracing, encrypted data decryption
  • resolveData: 'none' | 'all' performance pattern documented for the first time
  • Cross-links between entity pages and from the Streaming foundations page

This information was derived from the actual TypeScript types in @workflow/world — it wasn't documented on the site before in any user-facing way.


What Changed

New Pages (8 files in docs/content/docs/api-reference/workflow-api/world/)

Page What it documents
index.mdx World SDK overview with Cards linking to all entities, data hydration snippet
runs.mdx world.runs — get/list/cancel methods, WorkflowRun type table, 5 examples
steps.mdx world.steps — get/list methods, Step type table, hydration + duration examples
hooks.mdx world.hooks — get/getByToken/list methods, Hook type table, webhook resume example
events.mdx world.events — create/get/list/listByCorrelationId, 16 event types in 4 grouped tables
streams.mdx world.streams (Streamer interface) — writeToStream/readFromStream/closeStream/listStreamsByRunId
queue.mdx world.queue (Queue interface) — getDeploymentId/queue/createQueueHandler
observability.mdx workflow/observability imports — hydrateResourceIO, parseStepName, parseWorkflowName, encryption

Modified Pages

Page Change
get-world.mdx Slimmed to just getWorld() signature + TSDoc + World SDK cards + hydration snippet. Fixed import path.
workflow-api/index.mdx Added "World SDK" card
foundations/streaming.mdx Added cross-link to world/streams in Related Documentation

Skill Changes

File Change
skills/workflow/SKILL.md Added world/ doc structure listing, workflow/observability import, "Observability & Data Hydration" section with grep hints, "Error Handling Patterns" section (FatalError/RetryableError/Promise.allSettled)

Typecheck Infrastructure

File Change
packages/docs-typecheck/src/type-checker.ts Added path mappings for workflow/observability, @workflow/core/serialization-format, @workflow/utils
packages/docs-typecheck/src/docs-globals.d.ts Added globals for all World SDK entity methods + variables used in inline examples

Design Decisions

  • Keyword-rich H3 headings for agent greppability (e.g., "List Workflow Runs with Cursor Pagination" not "Listing Runs")
  • resolveData: 'none' | 'all' pattern highlighted in runs + steps for performance
  • Encryption examples use {/* @expect-error:2305,2724 */} until PR feat: re-export parseName + hydrators for observability DX #1453 merges the workflow/observability export
  • 16 event types grouped into 4 tables (run, step, hook, wait) instead of one flat list

Screenshots

World SDK Overview

World SDK Overview

world.runs

world.runs

world.steps

world.steps

world.hooks

world.hooks

world.events

world.events

world.streams

world.streams

world.queue

world.queue

Observability Utilities

Observability Utilities

getWorld (slimmed)

getWorld slimmed

workflow/api index (new World SDK card)

workflow-api index

Streaming cross-link (new world.streams link)

Streaming cross-link

Test plan

  • Docs typecheck: 302 passed (55 new), 23 failed (all pre-existing @workflow/ai failures on main)
  • MDX builds without errors (pnpm dev in docs/)
  • All 8 new pages render correctly (screenshots above)
  • Sidebar nav shows World SDK with correct subpage ordering
  • Cross-links work between entity pages
  • Remove @expect-error comments from observability.mdx after PR feat: re-export parseName + hydrators for observability DX #1453 merges

🤖 Generated with Claude Code

Ralph-20 and others added 2 commits March 19, 2026 16:55
Split monolithic get-world.mdx into 8 pages under world/: - index.mdx (overview + cards) - runs.mdx, steps.mdx, hooks.mdx, events.mdx, streams.mdx, queue.mdx - observability.mdx (hydration, name parsing, encryption) Also: - Slim get-world.mdx to overview + links - Add World SDK card to workflow-api/index.mdx - Add workflow/observability path mapping to docs-typecheck - Add world/step/run ID globals to docs-globals.d.ts - Add observability + error handling sections to SKILL.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix 16 event types to match source (run_created, step_retrying, hook_received, hook_disposed, hook_conflict, wait_created) - Fix Streamer method signatures (name + runId params) - Use string literals in inline code snippets to avoid global name conflict Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Ralph-20 Ralph-20 requested a review from a team as a code owner March 19, 2026 22:00
@changeset-bot
Copy link

changeset-bot bot commented Mar 19, 2026

⚠️ No Changeset found

Latest commit: a5661de

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

@vercel
Copy link
Contributor

vercel bot commented Mar 19, 2026

@github-actions
Copy link
Contributor

github-actions bot commented Mar 19, 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.043s (+11.9% 🔺) 1.005s (~) 0.962s 10 1.00x
💻 Local Express 0.044s (-9.4% 🟢) 1.005s (~) 0.962s 10 1.01x
🐘 Postgres Nitro 0.061s (-12.1% 🟢) 1.011s (-0.8%) 0.951s 10 1.41x
🐘 Postgres Express 0.062s (-22.0% 🟢) 1.011s (~) 0.949s 10 1.44x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 0.512s (-1.1%) 2.339s (-5.1% 🟢) 1.828s 10 1.00x
▲ Vercel Express 0.527s (+1.4%) 2.341s (-3.5%) 1.815s 10 1.03x
▲ Vercel Next.js (Turbopack) 0.565s (-2.1%) 2.163s (-14.0% 🟢) 1.598s 10 1.11x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Express 1.125s (-0.7%) 2.006s (~) 0.881s 10 1.00x
💻 Local Nitro 1.125s (+3.0%) 2.006s (~) 0.880s 10 1.00x
🐘 Postgres Nitro 1.146s (~) 2.012s (~) 0.866s 10 1.02x
🐘 Postgres Express 1.161s (+1.4%) 2.012s (~) 0.851s 10 1.03x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 2.112s (-1.4%) 3.418s (-6.8% 🟢) 1.305s 10 1.00x
▲ Vercel Nitro 2.144s (-2.6%) 3.608s (-5.7% 🟢) 1.463s 10 1.02x
▲ Vercel Express 2.241s (+10.1% 🔺) 3.866s (+5.6% 🔺) 1.625s 10 1.06x

🔍 Observability: Next.js (Turbopack) | Nitro | Express

workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 10.901s (+2.6%) 11.023s (~) 0.122s 3 1.00x
🐘 Postgres Nitro 10.908s (-1.1%) 11.049s (-5.7% 🟢) 0.141s 3 1.00x
💻 Local Express 10.917s (-0.5%) 11.022s (~) 0.105s 3 1.00x
🐘 Postgres Express 10.937s (+0.6%) 11.043s (~) 0.106s 3 1.00x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 16.596s (-1.6%) 18.296s (-2.3%) 1.700s 2 1.00x
▲ Vercel Next.js (Turbopack) 16.640s (-2.3%) 17.809s (-2.7%) 1.169s 2 1.00x
▲ Vercel Express 16.701s (~) 18.361s (~) 1.660s 2 1.01x

🔍 Observability: Nitro | Next.js (Turbopack) | Express

workflow with 25 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 27.227s (~) 28.060s (~) 0.833s 3 1.00x
🐘 Postgres Express 27.249s (~) 28.071s (~) 0.822s 3 1.00x
💻 Local Express 27.462s (-0.6%) 28.051s (~) 0.589s 3 1.01x
💻 Local Nitro 27.487s (+2.8%) 28.051s (+3.7%) 0.565s 3 1.01x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 44.913s (-4.6%) 45.776s (-6.3% 🟢) 0.863s 2 1.00x
▲ Vercel Nitro 45.925s (+2.3%) 47.181s (~) 1.257s 2 1.02x
▲ Vercel Express 47.176s (+4.0%) 48.508s (+4.1%) 1.331s 2 1.05x

🔍 Observability: Next.js (Turbopack) | Nitro | Express

workflow with 50 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 54.489s (+0.5%) 55.107s (~) 0.619s 2 1.00x
🐘 Postgres Nitro 54.557s (~) 55.098s (~) 0.541s 2 1.00x
💻 Local Nitro 56.473s (+2.8%) 57.102s (+3.6%) 0.629s 2 1.04x
💻 Local Express 56.533s (~) 57.102s (~) 0.568s 2 1.04x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 95.645s (-5.9% 🟢) 96.687s (-6.5% 🟢) 1.042s 1 1.00x
▲ Vercel Next.js (Turbopack) 100.664s (+5.3% 🔺) 103.016s (+5.7% 🔺) 2.352s 1 1.05x
▲ Vercel Express 101.541s (+6.3% 🔺) 102.928s (+6.0% 🔺) 1.387s 1 1.06x

🔍 Observability: Nitro | Next.js (Turbopack) | Express

Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.285s (-0.7%) 2.011s (~) 0.726s 15 1.00x
🐘 Postgres Express 1.294s (+1.5%) 2.012s (~) 0.717s 15 1.01x
💻 Local Nitro 1.518s (+2.9%) 2.005s (~) 0.487s 15 1.18x
💻 Local Express 1.539s (+1.1%) 2.006s (~) 0.466s 15 1.20x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.330s (~) 3.773s (~) 1.443s 8 1.00x
▲ Vercel Nitro 2.720s (+9.7% 🔺) 4.172s (+7.2% 🔺) 1.452s 8 1.17x
▲ Vercel Next.js (Turbopack) 2.748s (+9.4% 🔺) 4.000s (+4.8%) 1.252s 8 1.18x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

Promise.all with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 2.462s (~) 3.013s (~) 0.551s 10 1.00x
🐘 Postgres Nitro 2.491s (+0.9%) 3.012s (~) 0.521s 10 1.01x
💻 Local Nitro 2.836s (+10.6% 🔺) 3.108s (+3.4%) 0.272s 10 1.15x
💻 Local Express 2.875s (-5.6% 🟢) 3.452s (~) 0.577s 9 1.17x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.623s (-3.6%) 4.126s (+1.0%) 1.502s 8 1.00x
▲ Vercel Express 2.809s (-0.6%) 4.323s (-0.9%) 1.515s 7 1.07x
▲ Vercel Next.js (Turbopack) 3.001s (+8.3% 🔺) 4.027s (-1.1%) 1.026s 8 1.14x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Promise.all with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 3.613s (~) 4.015s (~) 0.403s 8 1.00x
🐘 Postgres Express 3.654s (+2.1%) 4.014s (~) 0.360s 8 1.01x
💻 Local Nitro 7.760s (+2.3%) 8.018s (-3.0%) 0.257s 4 2.15x
💻 Local Express 7.988s (-6.6% 🟢) 8.521s (-8.1% 🟢) 0.532s 4 2.21x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.910s (+4.6%) 4.409s (+1.8%) 1.499s 7 1.00x
▲ Vercel Nitro 3.140s (+1.2%) 4.547s (+5.2% 🔺) 1.407s 7 1.08x
▲ Vercel Next.js (Turbopack) 3.849s (-4.0%) 5.078s (-3.4%) 1.229s 6 1.32x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.271s (+0.7%) 2.011s (~) 0.740s 15 1.00x
🐘 Postgres Nitro 1.284s (~) 2.011s (~) 0.728s 15 1.01x
💻 Local Nitro 1.494s (~) 2.005s (~) 0.510s 15 1.18x
💻 Local Express 1.548s (-0.6%) 2.006s (~) 0.458s 15 1.22x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.077s (-36.8% 🟢) 3.659s (-22.4% 🟢) 1.582s 9 1.00x
▲ Vercel Nitro 2.115s (-8.3% 🟢) 3.491s (-7.3% 🟢) 1.375s 9 1.02x
▲ Vercel Next.js (Turbopack) 2.294s (-29.0% 🟢) 3.432s (-28.2% 🟢) 1.138s 9 1.10x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 2.449s (-1.2%) 3.011s (~) 0.563s 10 1.00x
🐘 Postgres Express 2.453s (~) 3.012s (~) 0.559s 10 1.00x
💻 Local Nitro 2.928s (+10.7% 🔺) 3.208s (+6.7% 🔺) 0.280s 10 1.20x
💻 Local Express 3.008s (-9.2% 🟢) 3.758s (-9.1% 🟢) 0.751s 8 1.23x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.331s (-11.0% 🟢) 3.539s (-12.9% 🟢) 1.209s 9 1.00x
▲ Vercel Express 2.451s (-8.3% 🟢) 3.747s (-6.3% 🟢) 1.297s 9 1.05x
▲ Vercel Next.js (Turbopack) 2.542s (-18.3% 🟢) 3.782s (-15.1% 🟢) 1.240s 8 1.09x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Promise.race with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 3.598s (~) 4.014s (~) 0.416s 8 1.00x
🐘 Postgres Express 3.601s (~) 4.016s (~) 0.415s 8 1.00x
💻 Local Express 8.376s (-5.7% 🟢) 9.020s (-2.7%) 0.644s 4 2.33x
💻 Local Nitro 8.448s (+9.9% 🔺) 9.025s (+12.6% 🔺) 0.577s 4 2.35x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.199s (+10.1% 🔺) 4.429s (+5.7% 🔺) 1.230s 7 1.00x
▲ Vercel Express 3.205s (+1.7%) 4.632s (-3.9%) 1.427s 7 1.00x
▲ Vercel Next.js (Turbopack) 3.609s (+2.8%) 4.833s (-4.8%) 1.223s 7 1.13x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Stream Benchmarks (includes TTFB metrics)
workflow with stream

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.194s (+40.8% 🔺) 1.003s (~) 0.011s (+16.8% 🔺) 1.017s (~) 0.823s 10 1.00x
💻 Local Express 0.197s (-2.8%) 1.003s (~) 0.011s (-4.3%) 1.017s (~) 0.820s 10 1.02x
🐘 Postgres Nitro 0.226s (-3.8%) 0.997s (~) 0.002s (+15.4% 🔺) 1.013s (~) 0.787s 10 1.16x
🐘 Postgres Express 0.228s (+11.8% 🔺) 0.997s (~) 0.002s (-10.5% 🟢) 1.013s (~) 0.785s 10 1.17x
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 1.709s (+2.4%) 2.463s (+1.7%) 0.005s (-98.8% 🟢) 2.970s (-13.2% 🟢) 1.261s 10 1.00x
▲ Vercel Next.js (Turbopack) 1.758s (+8.8% 🔺) 2.840s (+17.0% 🔺) 0.005s (+29.7% 🔺) 3.336s (+11.0% 🔺) 1.578s 10 1.03x
▲ Vercel Express 1.808s (+14.2% 🔺) 3.025s (+22.8% 🔺) 0.005s (-8.6% 🟢) 3.623s (+19.8% 🔺) 1.816s 10 1.06x

🔍 Observability: Nitro | Next.js (Turbopack) | Express

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Nitro 9/12
🐘 Postgres Nitro 9/12
▲ Vercel Nitro 7/12
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 🐘 Postgres 5/12
Next.js (Turbopack) ▲ Vercel 12/12
Nitro 🐘 Postgres 5/12
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)

📋 View full workflow run

@github-actions
Copy link
Contributor

github-actions bot commented Mar 19, 2026

🧪 E2E Test Results

Some tests failed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 758 0 67 825
✅ 💻 Local Development 782 0 118 900
✅ 📦 Local Production 782 0 118 900
✅ 🐘 Local Postgres 782 0 118 900
✅ 🪟 Windows 72 0 3 75
❌ 🌍 Community Worlds 118 56 15 189
✅ 📋 Other 198 0 27 225
Total 3492 56 466 4014

❌ Failed Tests

🌍 Community Worlds (56 failed)

mongodb (3 failed):

  • hookWorkflow is not resumable via public webhook endpoint | wrun_01KM43B6K93CC04WX859FNWWDV
  • webhookWorkflow | wrun_01KM43BFKMRKE5S9J0DGAV8MQP
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_01KM43GSQ3KVHRZ9B0MA6VKNDQ

redis (2 failed):

  • hookWorkflow is not resumable via public webhook endpoint | wrun_01KM43B6K93CC04WX859FNWWDV
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_01KM43GSQ3KVHRZ9B0MA6VKNDQ

turso (51 failed):

  • addTenWorkflow | wrun_01KM43A39S6HFVTHC8P82EXZCC
  • addTenWorkflow | wrun_01KM43A39S6HFVTHC8P82EXZCC
  • wellKnownAgentWorkflow (.well-known/agent) | wrun_01KM43BCKACCVVSPWYKCRZQPS0
  • should work with react rendering in step
  • promiseAllWorkflow | wrun_01KM43AA34DDQHKWMRC6CXEAR3
  • promiseRaceWorkflow | wrun_01KM43AECB7P6YH0NXFKYYYY6D
  • promiseAnyWorkflow | wrun_01KM43AGGGAJSVD17RFF94XF8Z
  • importedStepOnlyWorkflow | wrun_01KM43BQ30QCFM4AFH2KNPJJCH
  • hookWorkflow | wrun_01KM43AWBHS3NVFYH4ASDGDBW9
  • hookWorkflow is not resumable via public webhook endpoint | wrun_01KM43B6K93CC04WX859FNWWDV
  • webhookWorkflow | wrun_01KM43BFKMRKE5S9J0DGAV8MQP
  • sleepingWorkflow | wrun_01KM43BPFAT8Y7KAEN3A6KYX9X
  • parallelSleepWorkflow | wrun_01KM43C2Y78GAS344NEQWXXHBJ
  • nullByteWorkflow | wrun_01KM43C64WBD7957PCMAG8EE3T
  • workflowAndStepMetadataWorkflow | wrun_01KM43C864D2XGY2G9JQTWC461
  • fetchWorkflow | wrun_01KM43D4MT7FX6WBVM2AKR3QSF
  • promiseRaceStressTestWorkflow | wrun_01KM43D7XWPZBE3Y99CNTAB5EF
  • error handling error propagation workflow errors nested function calls preserve message and stack trace
  • error handling error propagation workflow errors cross-file imports preserve message and stack trace
  • error handling error propagation step errors basic step error preserves message and stack trace
  • error handling error propagation step errors cross-file step error preserves message and function names in stack
  • error handling retry behavior regular Error retries until success
  • error handling retry behavior FatalError fails immediately without retries
  • error handling retry behavior RetryableError respects custom retryAfter delay
  • error handling retry behavior maxRetries=0 disables retries
  • error handling catchability FatalError can be caught and detected with FatalError.is()
  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_01KM43G5G9FV944K0TYGRFM3GJ
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_01KM43GSQ3KVHRZ9B0MA6VKNDQ
  • hookDisposeTestWorkflow - hook token reuse after explicit disposal while workflow still running | wrun_01KM43HEBF2JSYMHRMD28KVTK0
  • stepFunctionPassingWorkflow - step function references can be passed as arguments (without closure vars) | wrun_01KM43J1HMW7WM8N5FRP0525KJ
  • stepFunctionWithClosureWorkflow - step function with closure variables passed as argument | wrun_01KM43JA2H7AK1NYW3ABDPZCFJ
  • closureVariableWorkflow - nested step functions with closure variables | wrun_01KM43JFGKWBNZFBDV99R6G7ZN
  • spawnWorkflowFromStepWorkflow - spawning a child workflow using start() inside a step | wrun_01KM43JJ0GYF4RWWZV28MSK5H5
  • health check (queue-based) - workflow and step endpoints respond to health check messages
  • pathsAliasWorkflow - TypeScript path aliases resolve correctly | wrun_01KM43K13FD4MX58RVRNF1FS8G
  • Calculator.calculate - static workflow method using static step methods from another class | wrun_01KM43K6DYKK7KJ0BJ49FQWWN5
  • AllInOneService.processNumber - static workflow method using sibling static step methods | wrun_01KM43KCSV66DY3B2C9EMJR59C
  • ChainableService.processWithThis - static step methods using this to reference the class | wrun_01KM43KK617SDJZ3544RQCVAYR
  • thisSerializationWorkflow - step function invoked with .call() and .apply() | wrun_01KM43KRJP529P5BH2NP0F0Y1R
  • customSerializationWorkflow - custom class serialization with WORKFLOW_SERIALIZE/WORKFLOW_DESERIALIZE | wrun_01KM43M06PJW5PEHHQ5C0RGNRV
  • instanceMethodStepWorkflow - instance methods with "use step" directive | wrun_01KM43M6KVF873FRBKJMSP11TB
  • crossContextSerdeWorkflow - classes defined in step code are deserializable in workflow context | wrun_01KM43MHEZ9HNB9313VY958JK8
  • stepFunctionAsStartArgWorkflow - step function reference passed as start() argument | wrun_01KM43MRYSSH8FJ4RM3N2GHVP0
  • cancelRun - cancelling a running workflow | wrun_01KM43MZ9YGENYSNHQV3B1Y799
  • cancelRun via CLI - cancelling a running workflow | wrun_01KM43N8N3SNJMFPGQBG9M6K0D
  • pages router addTenWorkflow via pages router
  • pages router promiseAllWorkflow via pages router
  • pages router sleepingWorkflow via pages router
  • hookWithSleepWorkflow - hook payloads delivered correctly with concurrent sleep | wrun_01KM43NMKHPMWNYQ4FTMWYDA64
  • sleepInLoopWorkflow - sleep inside loop with steps actually delays each iteration | wrun_01KM43P8AK8731WPVJ61Q4B73Q
  • sleepWithSequentialStepsWorkflow - sequential steps work with concurrent sleep (control) | wrun_01KM43PJVW5GTQ0P5RN0FG3FD3

Details by Category

✅ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 68 0 7
✅ example 68 0 7
✅ express 68 0 7
✅ fastify 68 0 7
✅ hono 68 0 7
✅ nextjs-turbopack 73 0 2
✅ nextjs-webpack 73 0 2
✅ nitro 68 0 7
✅ nuxt 68 0 7
✅ sveltekit 68 0 7
✅ vite 68 0 7
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 66 0 9
✅ express-stable 66 0 9
✅ fastify-stable 66 0 9
✅ hono-stable 66 0 9
✅ nextjs-turbopack-canary 55 0 20
✅ nextjs-turbopack-stable 72 0 3
✅ nextjs-webpack-canary 55 0 20
✅ nextjs-webpack-stable 72 0 3
✅ nitro-stable 66 0 9
✅ nuxt-stable 66 0 9
✅ sveltekit-stable 66 0 9
✅ vite-stable 66 0 9
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 66 0 9
✅ express-stable 66 0 9
✅ fastify-stable 66 0 9
✅ hono-stable 66 0 9
✅ nextjs-turbopack-canary 55 0 20
✅ nextjs-turbopack-stable 72 0 3
✅ nextjs-webpack-canary 55 0 20
✅ nextjs-webpack-stable 72 0 3
✅ nitro-stable 66 0 9
✅ nuxt-stable 66 0 9
✅ sveltekit-stable 66 0 9
✅ vite-stable 66 0 9
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 66 0 9
✅ express-stable 66 0 9
✅ fastify-stable 66 0 9
✅ hono-stable 66 0 9
✅ nextjs-turbopack-canary 55 0 20
✅ nextjs-turbopack-stable 72 0 3
✅ nextjs-webpack-canary 55 0 20
✅ nextjs-webpack-stable 72 0 3
✅ nitro-stable 66 0 9
✅ nuxt-stable 66 0 9
✅ sveltekit-stable 66 0 9
✅ vite-stable 66 0 9
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 72 0 3
❌ 🌍 Community Worlds
App Passed Failed Skipped
✅ mongodb-dev 3 0 2
❌ mongodb 52 3 3
✅ redis-dev 3 0 2
❌ redis 53 2 3
✅ turso-dev 3 0 2
❌ turso 4 51 3
✅ 📋 Other
App Passed Failed Skipped
✅ e2e-local-dev-nest-stable 66 0 9
✅ e2e-local-postgres-nest-stable 66 0 9
✅ e2e-local-prod-nest-stable 66 0 9

📋 View full workflow run

MDX doesn't support `<!-- -->`, must use `{/* */}` syntax. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant