Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .console/log.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,7 @@ truth; pre-push catches regressions before they hit GitHub.

- Added CLAUDE.md to .gitignore
- Added .custodian/tmp*.yaml to exclude custodian audit temp files

## 2026-05-19 — ADR 0006 Phase 5: rename ExecutorRuntime → CoreRunner in RxP docs

README.md, SECURITY.md, CONTRIBUTING.md, rxp/vocabulary/runtime_kind.py updated.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ tests/ # contract + schema validation tests

RxP is the **contract layer only**. It must not contain:

- Subprocess execution or runner logic (belongs in ExecutorRuntime)
- Subprocess execution or runner logic (belongs in CoreRunner)
- Source/fork resolution (belongs in SourceRegistry)
- Routing or lane-selection logic (belongs in SwitchBoard)
- Planning, scheduling, watchers, or queue systems
Expand Down Expand Up @@ -71,7 +71,7 @@ OperationsCenter typically maps a CxRP `ExecutionRequest` to an RxP `RuntimeInvo
- [ ] Schemas updated under `schemas/vX.Y/` (if contract changed)
- [ ] Examples updated under `examples/vX.Y/` (if contract changed)
- [ ] Spec updated in `docs/spec/` (if normative behavior changed)
- [ ] Downstream impact noted (ExecutorRuntime, OperationsCenter)
- [ ] Downstream impact noted (CoreRunner, OperationsCenter)

## Code Style

Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ RxP is not:
- OperationsCenter
- SwitchBoard
- SourceRegistry
- ExecutorRuntime
- CoreRunner
- a scheduler
- a runner
- a subprocess library
Expand All @@ -36,14 +36,14 @@ pip install -e .
```python
from rxp import RuntimeInvocation, RuntimeResult
inv = RuntimeInvocation(runtime_kind="subprocess", argv=["echo", "hello"])
# Hand the invocation to ExecutorRuntime; receive a RuntimeResult.
# Hand the invocation to CoreRunner; receive a RuntimeResult.
```

JSON Schemas live under `rxp/schemas/` for non-Python consumers.

## Architecture

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.
RxP is a contract layer — three Pydantic models (`RuntimeInvocation`, `RuntimeResult`, `ArtifactDescriptor`) plus their `runtime_kind` / `runtime_status` enum vocabularies and JSON Schemas. CoreRunner 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 vs RxP

Expand All @@ -65,6 +65,6 @@ RxP = how a runtime is invoked and what runtime result came back
## Example lifecycle

OperationsCenter maps CxRP ExecutionRequest to RxP RuntimeInvocation.
ExecutorRuntime consumes RxP RuntimeInvocation.
ExecutorRuntime produces RxP RuntimeResult.
CoreRunner consumes RxP RuntimeInvocation.
CoreRunner produces RxP RuntimeResult.
OperationsCenter maps RxP RuntimeResult back to CxRP ExecutionResult.
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,6 @@ RxP is a **contract-only specification**. It defines schemas, vocabulary enums,

## Out of Scope

- Vulnerabilities in downstream consumers (ExecutorRuntime, OperationsCenter) — report those to the respective project
- Vulnerabilities in downstream consumers (CoreRunner, OperationsCenter) — report those to the respective project
- Vulnerabilities in `jsonschema` or other upstream dependencies — report upstream
- Misuse of RxP contracts by an implementing system (e.g., trusting unvalidated `command` input)
2 changes: 1 addition & 1 deletion rxp/vocabulary/runtime_kind.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@
polls a status URL until a terminal status. Sync from the caller's POV.
- ``container``: containerized runtime (placeholder).
- ``manual``: caller-supplied dispatcher (used for out-of-process services
whose transport ExecutorRuntime does not own).
whose transport CoreRunner does not own).
- ``unknown``: catch-all for anything else.
"""
Loading