Files
vercel__workflow/packages
Pranay Prakash 6cc851c342 [core] Stop sending a slot snapshot on step executor writes (#4096)
The only thing a World does with `eventCount` is bump-and-report: when the
write lands above the position named, it reads the events in between and
returns them so the writer can merge them without a second round-trip. The
replay loop and the suspension handler merge that page into their loaded
log. The step executor has no log to merge into, so it took the page's
highest position and discarded the rest.

In production that discarded read fell on a third of all `step_started`
writes (10.8M of 13.4M skipped-slot report reads per day were on executor
event types), each a strongly consistent DynamoDB query on the run
partition with resolved refs, on the response path. This removes the
executor's `knownSlot` / `observeSlot` machinery, the `slotSnapshot`
executor param, and the `batchCommittedSlotCeiling` the suspension handler
computed only to seed it. The loop's and the suspension handler's own
snapshots are unchanged; they consume their reports.

The World contract already describes omitting the count for a caller with
no loaded log to be stale against; the executor now matches it.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 12:57:25 -07:00
..
2026-08-31 16:36:07 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:12:11 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:40:45 -07:00
2026-08-31 16:36:07 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:40:45 -07:00
2026-09-09 12:40:45 -07:00