Skip to content

world: support workflow spec version 6 (slot identity) - #166

Open
marcopiraccini wants to merge 1 commit into
mainfrom
fix/world-spec-version-6
Open

world: support workflow spec version 6 (slot identity)#166
marcopiraccini wants to merge 1 commit into
mainfrom
fix/world-spec-version-6

Conversation

@marcopiraccini

@marcopiraccini marcopiraccini commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Supersedes #160 and #163, the two halves of the SDK's jump to spec version 6 that Renovate split into separate PRs. Neither passes alone: #163 (workflow → beta.42) makes the runtime demand a spec-6 World while ours still declared 5 (hard startup gate → 500s), and #160 (@workflow/world → beta.27) advances SPEC_VERSION_CURRENT to 6 while the runtime still stamps runs at 5, so the cbor test asserts 5 !== 6. This bumps both together and implements what spec 6 actually requires.

Spec 6 is "slot identity": an event id must be slot-numbered — evnt_ followed by the event's dense, 1-based position in its run's log, zero-padded to 26 characters. The runtime calls requireEventSlot on every event id it loads and fails the run if it cannot read a slot, and it enforces density (no holes) by default. Our service previously exposed eventId = String(row.id) (the Postgres serial), which the runtime rejects with "Event id is not slot-numbered".

Signed-off-by: marcopiraccini <marco.piraccini@gmail.com>
@marcopiraccini
marcopiraccini marked this pull request as ready for review August 15, 2026 06:05
@marcopiraccini
marcopiraccini requested review from ShogunPanda and mcollina and removed request for ShogunPanda August 15, 2026 06:05
@marcopiraccini marcopiraccini changed the title spec v6 support world: support workflow spec version 6 (slot identity) Aug 15, 2026
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