JARVIS Atomic Executor
First-party OSS reference implementation of the ARP spec/v1 Atomic Executor.
This JARVIS component implements the Atomic Executor API using the SDK packages:
arp-standard-server, arp-standard-model, and arp-standard-client.
Implements: ARP Standard spec/v1 Atomic Executor API (contract: ARP_Standard/spec/v1/openapi/atomic-executor.openapi.yaml).
Requirements
- Python >= 3.11
Install
python3 -m pip install -e .
Local configuration (optional)
For local dev convenience, copy the example env file:
cp .env.example .env.local
src/scripts/dev_server.sh auto-loads .env.local (or .env).
Run
- Atomic Executor listens on
http://127.0.0.1:8082by default.
python3 -m pip install -e .
jarvis-atomic-executor
[!TIP] Use
bash src/scripts/dev_server.sh --host ... --port ... --reloadfor dev convenience.
Using this repo
This repo is the maintained JARVIS reference for atomic execution. Add or replace handlers while preserving ARP request/response semantics.
This executor auto-loads installed node packs via the jarvis.nodepacks entry point group (see arp-jarvis-atomic-nodes).
If you want to override the default handler registry, pass handlers=... when constructing AtomicExecutor.
Default behavior
- Loads handlers from installed node packs (entry points).
- Includes
jarvis.core.echofrom the core pack. execute_atomic_node_runreturnssucceededwithoutputs={"echo": inputs}for the echo node.- Unknown
node_type_idreturnsfailedwith an error payload. cancel_atomic_node_runcancels in-flight handler execution (best-effort).
Common extensions
- Add more node packs or override the handler registry explicitly.
- Customize cancellation behavior (cooperative cancellation, idempotency, timeouts).
- Configure timeouts/concurrency controls around handler execution.
Implementation overview
Request flow:
- Inbound request hits the Atomic Executor (
arp-standard-server). - Auth middleware validates the
Authorization: Bearer <JWT>header (when enabled). - The executor routes by
node_type_ref.node_type_idand calls the matching handler. - The executor returns
AtomicExecuteResultwith outputs and timing metadata.
System-of-record:
- The Atomic Executor does not store run state or emit durable run events.
- The Run Coordinator is responsible for orchestration, durability, and emitting
atomic_executed.
Quick health check
curl http://127.0.0.1:8082/v1/health
Configuration
CLI flags:
--host(default127.0.0.1)--port(default8082)--reload(dev only)
Environment variables:
- Incoming JWT validation is configured via
ARP_AUTH_PROFILEandARP_AUTH_*overrides (see.env.example). - Optional execution controls:
JARVIS_DEFAULT_TIMEOUT_SECS(coarse per-request timeout)JARVIS_MAX_CONCURRENCY(cap concurrent executions)
Validate conformance (arp-conformance)
python3 -m pip install arp-conformance
arp-conformance check atomic-executor --url http://127.0.0.1:8082 --tier smoke
arp-conformance check atomic-executor --url http://127.0.0.1:8082 --tier surface
Helper scripts
-
src/scripts/dev_server.sh: run the server (flags:--host,--port,--reload). -
src/scripts/send_request.py: execute an atomic NodeRun from a JSON file.python3 src/scripts/send_request.py --request src/scripts/request.json
Note: this helper does not include an
Authorizationheader. For a quick local run, setARP_AUTH_PROFILE=dev-insecure(dev only), or call the Atomic Executor via the Run Coordinator (recommended).
Authentication
This service validates incoming JWTs (authn). It does not perform token exchange.
Auth is enabled by default (JWT). To disable for local dev, set ARP_AUTH_PROFILE=dev-insecure.
If no ARP_AUTH_* env vars are set, the service defaults to required JWT auth with the dev Keycloak issuer.
To enable local Keycloak defaults, set:
ARP_AUTH_PROFILE=dev-secure-keycloakARP_AUTH_AUDIENCE=arp-atomic-executorARP_AUTH_ISSUER=http://localhost:8080/realms/arp-dev
Coordinator → Atomic Executor calls
In the JARVIS stack, the Run Coordinator is expected to:
- mint/exchange a service-scoped JWT for the Atomic Executor audience via STS (OIDC/RFC 8693)
- call
POST /v1/atomic-node-runs:executewithAuthorization: Bearer <token>
The Atomic Executor validates the JWT (signature + optional iss/aud) and executes the handler.
Upgrading
When upgrading to a new ARP Standard SDK release, bump pinned versions in pyproject.toml (arp-standard-*==...) and re-run conformance.
Release files for arp-jarvis-atomic-executor 0.3.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arp_jarvis_atomic_executor-0.3.8.tar.gz | 9.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arp_jarvis_atomic_executor-0.3.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:19.8 kB
Release files / arp_jarvis_atomic_executor-0.3.8.tar.gz
| Download URL | arp_jarvis_atomic_executor-0.3.8.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e244175d74b9e72ccf49f51404c249392c1adc0d0975440c05fd64cda1c34098
|
|
BLAKE2b-256 checksum How to use checksums |
cbef43cacd02760da8a6d7b7b32ad6a66a17b4bb866b736c870677254ab6e4ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 4, 2026.
Transparency logRelease files / arp_jarvis_atomic_executor-0.3.8-py3-none-any.whl
| Download URL | arp_jarvis_atomic_executor-0.3.8-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf6fb32bc0eec7eb2d4e60a96c2f258db7a4e79263f3d92bad6983783efbd62b
|
|
BLAKE2b-256 checksum How to use checksums |
4d6c97c371de98abbd57a5d4d30e91f26eee44861caa1646676a3d7b4378e878
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 4, 2026.
Transparency log