Summary
Java's plugin info records lack metadata/state fields the Python/JS SDKs expose. Live cross-SDK conformance evidence exists per gap.
GA scope update: payload surfaces (execution input/result, operation result) have been moved OUT of GA conformance scope — experimental, no longer asserted by the field-shape requirements (see aws/aws-durable-execution-conformance-tests#72). They remain listed at the end as post-GA parity items; the operation-result gap is still evidenced by the untouched behavioral requirement 10-14 (#581).
In-scope missing fields (verified against sdk/src/main/java/software/amazon/lambda/durable/plugin/)
InvocationInfo — missing operations and updatedOperations maps (JS exposes both on every invocation hook).
InvocationEndInfo — missing the operations map AND executionStartTime (present on the start info but dropped from the end record — confirmed by live probe).
UserFunctionStartInfo/UserFunctionEndInfo (attempt hooks) — missing the operation-level isReplay indicator (Python and JS carry it on attempt infos; Java only has the distinct isReplayingChildren).
OperationChangeItemInfo — missing attempt and a replay indicator (JS/Python change items are full operation infos).
Secondary: UserFunctionEndInfo uses boolean succeeded where JS/Python use a SUCCEEDED/FAILED outcome enum.
Evidence
Field-shape requirements 10-19..10-23 (aws/aws-durable-execution-conformance-tests#72), canonical-dump handlers in #602 — live run 18/21: 10-19 (maps + end-side start time), 10-21 (isReplay presence), 10-22 (item attempt/replay) red; 10-20 and 10-23 green. Notably green: end-info isFirstInvocation (ahead of JS), OperationInfo.status (#597), attempt-end timestamps (ahead of JS), isReplayingChildren semantics.
Post-GA / experimental parity items (not currently asserted)
Suggested fix
Add the operations/updated-operations maps + end-side executionStartTime to the invocation infos (DurableExecutor/ExecutionManager), isReplay to the user-function infos, and attempt+replay indicator to OperationChangeItemInfo (via PluginInfoConverter). Conformance 10-19/10-21/10-22 flip green with no test changes.
Summary
Java's plugin info records lack metadata/state fields the Python/JS SDKs expose. Live cross-SDK conformance evidence exists per gap.
GA scope update: payload surfaces (execution input/result, operation
result) have been moved OUT of GA conformance scope — experimental, no longer asserted by the field-shape requirements (see aws/aws-durable-execution-conformance-tests#72). They remain listed at the end as post-GA parity items; the operation-result gap is still evidenced by the untouched behavioral requirement 10-14 (#581).In-scope missing fields (verified against
sdk/src/main/java/software/amazon/lambda/durable/plugin/)InvocationInfo— missingoperationsandupdatedOperationsmaps (JS exposes both on every invocation hook).InvocationEndInfo— missing theoperationsmap ANDexecutionStartTime(present on the start info but dropped from the end record — confirmed by live probe).UserFunctionStartInfo/UserFunctionEndInfo(attempt hooks) — missing the operation-levelisReplayindicator (Python and JS carry it on attempt infos; Java only has the distinctisReplayingChildren).OperationChangeItemInfo— missingattemptand a replay indicator (JS/Python change items are full operation infos).Secondary:
UserFunctionEndInfousesboolean succeededwhere JS/Python use a SUCCEEDED/FAILED outcome enum.Evidence
Field-shape requirements 10-19..10-23 (aws/aws-durable-execution-conformance-tests#72), canonical-dump handlers in #602 — live run 18/21: 10-19 (maps + end-side start time), 10-21 (
isReplaypresence), 10-22 (item attempt/replay) red; 10-20 and 10-23 green. Notably green: end-infoisFirstInvocation(ahead of JS),OperationInfo.status(#597), attempt-end timestamps (ahead of JS),isReplayingChildrensemantics.Post-GA / experimental parity items (not currently asserted)
executionInput/executionResulton invocation infos;resultonOperationInfo/OperationEndInfo/OperationChangeItemInfo(the OperationEndInfo result gap remains tracked by behavioral test 10-14 / Add plugin conformance case 10-14 (known SDK gap) #581)Suggested fix
Add the operations/updated-operations maps + end-side
executionStartTimeto the invocation infos (DurableExecutor/ExecutionManager),isReplayto the user-function infos, andattempt+replay indicator toOperationChangeItemInfo(viaPluginInfoConverter). Conformance 10-19/10-21/10-22 flip green with no test changes.