Schemas
ECP (Execution Control Protocol) documents carry aschema 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
ecp compile. Runnable pair: 07-accepts-returns.