JARVIS Component Implementations
This section documents how the first-party JARVIS components are implemented and how to run them locally.
ARP Standard vs. JARVIS
JARVIS is an implementation of the ARP Standard contracts. If you’re looking for normative endpoints and schemas (what every conformant service MUST implement), start with ARP Standard: Services.
How the pieces fit together
JARVIS is a node-centric execution fabric:
Run Gatewayis the client entrypoint (stateless proxy).Run Coordinatoris the run authority (system-of-record; enforcement and dispatch).Atomic Executorexecutes atomicNodeRuns.Composite Executorexecutes compositeNodeRuns (planning + binding + arg-gen).Node RegistrycatalogsNodeTypes.Selection Serviceproduces bounded candidate sets.PDPreturns allow/deny decisions (optional).
Internal persistence/services used by the coordinator:
Run StoreEvent StreamArtifact Store
Components
Recommended local deployment is via the version-pinned JARVIS_Release stack managed with arp-jarvis stack (GHCR images).
| Component | Compose service | Internal URL | Exposed host URL | Docs |
|---|---|---|---|---|
| Run Gateway | run-gateway | http://run-gateway:8080 | http://127.0.0.1:8081 | Run Gateway |
| Run Coordinator | run-coordinator | http://run-coordinator:8081 | http://127.0.0.1:8082 | Run Coordinator |
| Atomic Executor | atomic-executor | http://atomic-executor:8082 | (not exposed) | Atomic Executor |
| Composite Executor | composite-executor | http://composite-executor:8083 | (not exposed) | Composite Executor |
| Node Registry | node-registry | http://node-registry:8084 | (not exposed) | Node Registry |
| Selection Service | selection-service | http://selection-service:8085 | (not exposed) | Selection Service |
| PDP | pdp | http://pdp:8086 | (not exposed) | PDP |
Notes:
- Exposed ports are the default
JARVIS_Releasehost port mappings and may vary by profile. - To debug a non-exposed service, use
arp-jarvis stack exec <service> -- <cmd>(ordocker compose exec) or temporarily add aports:mapping incompose/docker-compose.yml.
Common conventions
- ARP Standard Python packages: components use
arp-standard-model,arp-standard-client, andarp-standard-serverfor spec-aligned types and scaffolding. - Versioned HTTP APIs: ARP services use
/v1/...endpoints and exposeGET /v1/health+GET /v1/version. - Recommended bring-up: for most users,
JARVIS_Release+arp-jarvis stackis the supported way to run JARVIS locally and in production-like environments.