Skip to main content

Schemas

ECP (Execution Control Protocol) documents carry a schema discriminator and a version. Workflows currently use "version": "1.0" with schema @executioncontrolprotocol.workflow. Generated JSON Schema artifacts ship from @executioncontrolprotocol/types (npm run generate:schema in the monorepo → packages/types/dist/schemas). The files that describe the workflow contract and run I/O are workflow.manifest.json, run.request.json (input, dryRun), and run.result.json (output).

Common schema IDs

Workflow contract

workflow.accepts and workflow.returns are JSON Schema objects. They use the same verbs as Fluent .accepts() / .returns(). Extra unused keys on a valid input object are allowed (the validator does not set additionalProperties: false). Empty object schemas are omitted from the compiled manifest.

Workflow example

Author with the Fluent API; compile with ecp compile. Runnable pair: 07-accepts-returns.

Next steps