Encode, decode, and patch
Operational transforms run on an initialized Ecp instance. They do not emit full run lifecycle hooks the wayrun does.
Result shape
Encode / decode / patch results use protocol schemas withsuccess, .result, validation, and diagnostics — not legacy .content / .document fields.
Encode
.uses(...) for canonical JSON passthrough.
CLI:
Decode
- Decode input field is
inputin extension payloads. - Fluent decode is not supported — use
ecp compilefor TypeScript → JSON.
Patch
steps[<stepId>].field. Workflow builders assign unique step ids so patches stay unambiguous.
Target schema: @executioncontrolprotocol.patch (and @executioncontrolprotocol.patch.result for outcomes).