Skip to content

fix(world): PLAY reloads world after successor health bind - #435

Merged
scrimshawlife-ctrl merged 1 commit into
mainfrom
fix/successor-enter-internal
Aug 21, 2026
Merged

scrimshawlife-ctrl merged 1 commit into
mainfrom
fix/successor-enter-internal

Conversation

@scrimshawlife-ctrl

Copy link
Copy Markdown
Contributor

Summary

Production ENTER/LOOK returned 500 INTERNAL after #434. Preview GET /health can bind world.perihelion-reach-2 on the live Durable Object isolate; PLAY then reused that in-memory world.

  • Reload storage on non-isolated command
  • Catch leftover DO command throws as COMMAND_FAILED
  • Stop value-importing genesis.ts from world-do (frozen genesis id is a literal)

Does not reseed. Does not flip DEFAULT_WORLD_ID.

Verification

npx vitest run test/enter-command-do.test.ts test/genesis-admin-world-id.test.ts test/genesis-successor.test.ts test/genesis.test.ts test/test-world.test.ts — 65/65 pass.

Follow-up

Redeploy and confirm maint LOOK. Production is currently rolled back to 3b72adf5.

Preview health can pin world.perihelion-reach-2 in the live DO isolate.
Command then reused that in-memory world and 500'd INTERNAL on ENTER/LOOK.
Reload storage on non-isolated PLAY; do not value-import genesis.ts from the DO.
@scrimshawlife-ctrl
scrimshawlife-ctrl requested a review from a team as a code owner August 21, 2026 02:25
@scrimshawlife-ctrl
scrimshawlife-ctrl merged commit b4ac186 into main Aug 21, 2026
5 of 7 checks passed
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