RxP is the Runtime eXecution Protocol. It defines normalized contracts for runtime invocation and runtime results produced by execution systems.
RuntimeInvocation— normalized request shape for execution systemsRuntimeResult— normalized response shape (status, exit code, artifacts)ArtifactDescriptor— typed descriptor for files produced during executionruntime_kindandruntime_statusvocabularies- JSON Schemas for cross-language validation
- Example payloads for interoperable integration
RxP is not:
- CxRP
- OperationsCenter
- SwitchBoard
- SourceRegistry
- ExecutorRuntime
- a scheduler
- a runner
- a subprocess library
- a package manager
- an agent framework
pip install -e .from rxp import RuntimeInvocation, RuntimeResult
inv = RuntimeInvocation(runtime_kind="subprocess", argv=["echo", "hello"])
# Hand the invocation to ExecutorRuntime; receive a RuntimeResult.JSON Schemas live under rxp/schemas/ for non-Python consumers.
RxP is a contract layer — three Pydantic models (RuntimeInvocation, RuntimeResult, ArtifactDescriptor) plus their runtime_kind / runtime_status enum vocabularies and JSON Schemas. ExecutorRuntime consumes the contract; CxRP describes work routing to a runtime, RxP describes the request/response with the runtime. See CxRP vs RxP below for the split, v0.1 scope for what's frozen, and Example lifecycle for an end-to-end walkthrough.
CxRP = what should happen and how it routes through the system
RxP = how a runtime is invoked and what runtime result came back
- runtime invocation
- runtime result
- artifact descriptor
- runtime status vocabulary
- runtime kind vocabulary
- JSON Schema validation
- examples
OperationsCenter maps CxRP ExecutionRequest to RxP RuntimeInvocation. ExecutorRuntime consumes RxP RuntimeInvocation. ExecutorRuntime produces RxP RuntimeResult. OperationsCenter maps RxP RuntimeResult back to CxRP ExecutionResult.