Skip to content

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

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

Add hook-info field-shape conformance handlers#800
wangyb-A wants to merge 4 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 (handlers/plugin/plugin_{invocation_info,operation_info,attempt_info,operation_change,context_info}_shape.ts) + 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 via process.stdout.write: a CANONICAL camelCase DUMP of that hook's own info parameter (undefined/null 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. The 10-19/10-23 handlers probe fields from the info objects at runtime and omit absent keys — the resulting reds are the intended signals.

Live validation (us-west-2): 20/23 — THREE DELIBERATE FAILURES (SDK parity gaps, tracked in #803)

  • 10-19: InvocationEndInfo does not expose isFirstInvocation (Python/Java both do).
  • 10-21: FAILED retryable attempt-end records lack startTimestamp/endTimestamp (AttemptEndInfo backfilled from the retry-pending operation, step-handler.ts ~457-465); the SUCCEEDED attempt-end passes.
  • 10-23: attempt/user-function info has no isReplayingChildren (Python/Java expose it; JS models context functions via wrapChildContextFn).
  • ✅ 10-20, 10-22, and the entire 10-1..10-18 regression.

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