Skip to content

Give update handlers the committed workflow input and signal snapshot #73

Description

@rmcdaniel

Problem

Rust update handlers receive QueryContext, but Worker::execute_update_task in the published 3.3.0 source initializes workflow input to null and signal deliveries to an empty list. Queries populate those same documented context methods from the committed task snapshot.

An update that reconstructs state from original input and signals therefore sees different state from a query for the same run.

Acceptance

  • Populate JSON and lossless Avro workflow input from the original task arguments, preserving separate update arguments.
  • Populate committed signals with the same official decoder and ordering as queries.
  • Reject malformed context payloads before invoking the update handler.
  • Add focused source regressions and a retained replay fixture.
  • Publish a patch and verify the exact installed crate in Sample App's live query/update snapshot check before and after worker replacement, retaining its existing nine client/handler directions and duplicate-completion checks.

Consumer qualification: durable-workflow/sample-app#155. This is a prerequisite for durable-workflow/.github#122's stateful update/query work.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions