Skip to main content

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:8082 by default.
python3 -m pip install -e .
jarvis-atomic-executor

[!TIP] Use bash src/scripts/dev_server.sh --host ... --port ... --reload for 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.echo from the core pack.
  • execute_atomic_node_run returns succeeded with outputs={"echo": inputs} for the echo node.
  • Unknown node_type_id returns failed with an error payload.
  • cancel_atomic_node_run cancels 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:

  1. Inbound request hits the Atomic Executor (arp-standard-server).
  2. Auth middleware validates the Authorization: Bearer <JWT> header (when enabled).
  3. The executor routes by node_type_ref.node_type_id and calls the matching handler.
  4. The executor returns AtomicExecuteResult with 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 (default 127.0.0.1)
  • --port (default 8082)
  • --reload (dev only)

Environment variables:

  • Incoming JWT validation is configured via ARP_AUTH_PROFILE and ARP_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 Authorization header. For a quick local run, set ARP_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-keycloak
  • ARP_AUTH_AUDIENCE=arp-atomic-executor
  • ARP_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:execute with Authorization: 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)

Source distribution for arp-jarvis-atomic-executor 0.3.8
File Size Uploaded
arp_jarvis_atomic_executor-0.3.8.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arp-jarvis-atomic-executor 0.3.8
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.3.8 This release

2 release files

0.3.7

2 release files

0.3.5

2 release files

0.3.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page