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.
Problem
Rust update handlers receive
QueryContext, butWorker::execute_update_taskin 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
Consumer qualification: durable-workflow/sample-app#155. This is a prerequisite for durable-workflow/.github#122's stateful update/query work.