Skip to content

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

Closed
wangyb-A wants to merge 6 commits into
plugin-parity-invocation-infofrom
plugin-hook-field-shape
Closed

Add hook-info field-shape conformance handlers#615
wangyb-A wants to merge 6 commits into
plugin-parity-invocation-infofrom
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.py) + 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 parameter (None/unexposed fields OMITTED — a missing key fails its assertion). GA note: experimental payload fields (execution input/result, operation result) are still DUMPED when exposed but are not asserted by the requirements.

Live validation (us-west-2): 22/23 — ONE DELIBERATE FAILURE (SDK parity gap, tracked in #617)

  • 10-19: Python's invocation infos expose no operations map and no externally-updated-operations collection (JS exposes both on every invocation hook). The dump omits those keys, failing the map-count assertions.
  • ✅ 10-20..10-23 pass, plus the entire 10-1..10-18 regression.

@wangyb-A

Copy link
Copy Markdown
Contributor Author

Rebased onto plugin-parity-invocation-info (#623) and retargeted; force-pushed 7537017 -> 81e6e3b.

Rationale: the 10-19 handler dumps operationsCount / updatedOperationsCount, which read info.operations and info.updated_operations — fields that #623 adds. So the SDK parity fix has to land first, and this PR is now stacked on it. Two handler commits moved here from the (now closed) #622, where they had been incorrectly bundled with the SDK change.

The branch was previously based on a main that was 3 commits behind, so this also picks up #620/#621/#612. Handler file contents are byte-identical to before the rebase; the diff against the new base is the 6 handler files only, +646/-0. GitHub should auto-retarget this to main once #623 merges.

Alex Wang added 6 commits August 11, 2026 18:40
The 10-19 handler is a canonical dump of each invocation hook's own
info. Now that the Python infos expose the operation maps, emit the
canonical operationsCount on both hooks and updatedOperationsCount on
invocation-start instead of omitting them.

Refs #617
The handler docstring claimed the Python invocation infos have no
execution-input or execution-result field. They do now; the canonical
dump still omits them because the requirement puts the payload
surfaces out of GA scope and asserts nothing about them.

Refs #616
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