Skip to content

Plugin invocation hook infos missing operations and updated-operations maps #617

Description

@wangyb-A

Summary

The plugin invocation-level hook info objects lack the operations-state surfaces the JS SDK exposes on every invocation hook.

GA scope update: execution input/result payload surfaces (execution_input, execution_result) have been moved OUT of GA conformance scope — they are experimental and no longer asserted (see aws/aws-durable-execution-conformance-tests#72). The remaining IN-SCOPE gap for this issue is the operations-state visibility below. The payload fields remain listed at the end as post-GA/experimental parity items.

In-scope missing fields (verified against src/aws_durable_execution_sdk_python/plugin.py)

  • operations — the map of checkpointed operations (JS: operations on InvocationBaseInfo, available at invocation-start AND invocation-end; convert via the existing OperationInfo.from_operation)
  • updated_operations — operations externally updated since the previous invocation (JS: InvocationInfo.updatedOperations, from the invocation input's updated-operation ids; start hook)

Evidence

Conformance requirement plugin/10-19 (aws/aws-durable-execution-conformance-tests#72): Python fails exactly the three operations-map assertions (operationsCount at first start and on both end records, updatedOperationsCount at replay start) — live run 22/23, sole red is 10-19. Handler: plugin_invocation_info_shape.py (#615), a canonical dump — adding the fields flips it green with no test changes.

Post-GA / experimental parity items (not currently asserted)

  • execution_input (JS executionInput), execution_result (JS InvocationEndInfo.executionResult, raw value semantics)

Suggested fix

Add the two map fields to the invocation info dataclasses, populated from the durable invocation input (operations + UpdatedOperationIds); consider lazy construction for operation-heavy executions. Conformance 10-19 flips green with no test changes.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions