Problem
The polyglot codec guide implies that plain PHP stdClass values are safe at the v2 payload boundary and says producer-side adaptation failures raise WorkflowPayloadDecodeException. The fixed Avro Value encoder accepts arrays/string-keyed maps but rejects stdClass and other arbitrary objects with an encode-time InvalidArgumentException diagnostic. A PHP workflow author following the guide can therefore choose an unsupported value and receive a different failure than documented.
Acceptance criteria
- Describe the PHP values that can cross the fixed Avro Value boundary and the required adaptation for
stdClass and arbitrary objects.
- Distinguish producer-side encode failures from consumer-side decode failures using the actual public exception behavior.
- Keep the PHP guidance symmetric with the Python/Rust adapter guidance without prescribing brittle headings or paragraph layout.
- Add focused behavioral coverage, or bind existing coverage, for array success and object rejection so future documentation updates have an authoritative contract.
Delete when
Delete when a PHP author can select a supported value and understand the observed encode failure from the polyglot guide, with the described behavior pinned by product tests.
Problem
The polyglot codec guide implies that plain PHP
stdClassvalues are safe at the v2 payload boundary and says producer-side adaptation failures raiseWorkflowPayloadDecodeException. The fixed Avro Value encoder accepts arrays/string-keyed maps but rejectsstdClassand other arbitrary objects with an encode-timeInvalidArgumentExceptiondiagnostic. A PHP workflow author following the guide can therefore choose an unsupported value and receive a different failure than documented.Acceptance criteria
stdClassand arbitrary objects.Delete when
Delete when a PHP author can select a supported value and understand the observed encode failure from the polyglot guide, with the described behavior pinned by product tests.