Skip to content

Add hook-info field-shape conformance handlers - #602

Draft
wangyb-A wants to merge 3 commits into
mainfrom
plugin-hook-field-shape
Draft

Add hook-info field-shape conformance handlers#602
wangyb-A wants to merge 3 commits into
mainfrom
plugin-hook-field-shape

Conversation

@wangyb-A

@wangyb-A wangyb-A commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds 5 conformance handlers (conformance-tests/src/main/java/plugin/Plugin{InvocationInfo,OperationInfo,AttemptInfo,OperationChange,ContextInfo}Shape.java) + template_plugin.yaml entries implementing plugin hook-info FIELD-SHAPE requirements 10-19..10-23 from aws/aws-durable-execution-conformance-tests#72 (land that PR first).

Each handler logs ONE single-line JSON record per hook event: a CANONICAL camelCase DUMP of that hook's own info record (null/unexposed fields OMITTED — a missing key fails its assertion). GA note: experimental payload fields (execution input/result, operation result) are dumped when exposed but not asserted. Spotless-clean; real SDK APIs only.

Live validation (us-west-2): 18/21 — THREE DELIBERATE FAILURES (SDK parity gaps, tracked in #604)

Req Missing Java API surface
10-19 InvocationInfo has no operations/updated-operations maps; InvocationEndInfo additionally lacks the operations map and executionStartTime. (End-info isFirstInvocation and start-info executionStartTime PASS.)
10-21 UserFunctionStartInfo/EndInfo lack the operation-level isReplay indicator (only the distinct isReplayingChildren). Attempt timestamps PASS (ahead of JS).
10-22 OperationChangeItemInfo lacks attempt and a replay indicator.
  • ✅ 10-20 and 10-23 pass (incl. OperationInfo.status, subType tokens, and correct isReplayingChildren semantics), plus the entire mapped 10-1..10-18 regression.
  • The operation-result payload gap remains tracked separately by behavioral test 10-14 (Add plugin conformance case 10-14 (known SDK gap) #581), which is out of the GA shape-suite scope.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant