Skip to main content

JARVIS Release (Stack Distribution)

JARVIS_Release is the version-pinned, runnable stack distribution for JARVIS (ARP spec/v1). It ships a lock file + Docker Compose setup that brings up a full local stack with sensible defaults.

What this repo ships

Core spec-facing services:

  • Run Gateway
  • Run Coordinator
  • Atomic Executor
  • Composite Executor
  • Node Registry
  • Selection Service
  • PDP

Internal JARVIS services:

  • Run Store
  • Event Stream
  • Artifact Store

Local dev STS (default profile):

  • Keycloak (dev-secure-keycloak)

Version pinning

  • stack.lock.json is the stack source of truth (component versions, node pack versions, helper libs).
  • pyproject.toml pins the same component versions for the arp-jarvis meta package.

Decision: Mode B / per-service GHCR images. Each JARVIS component repo publishes a GHCR image on vX.Y.Z tags. This repo consumes those images via Docker Compose and pins the references in stack.lock.json.

Quickstart (CLI-first, dev-secure-keycloak)

  1. Copy the env template:

Default (dev-secure-keycloak):

cp compose/.env.example compose/.env.local

Dev-insecure (no inbound JWT):

cp compose/.env.example.insecure compose/.env.local

Optional (dev-insecure, macOS/Linux or WSL) one-command bring-up:

bash ./start_dev.sh \
  --llm-api-key "<your_openai_api_key>" \
  --llm-chat-model "gpt-4.1-mini"
  1. Configure the LLM (required for Selection Service + Composite Executor):
  • Set ARP_LLM_API_KEY and ARP_LLM_CHAT_MODEL in compose/.env.local.
  • OpenAI is the default profile; ARP_LLM_PROFILE=openai is optional.
  • For offline tests, you can opt into ARP_LLM_PROFILE=dev-mock (not the default).
  1. Install the meta CLI:
python3 -m pip install -e .
arp-jarvis versions

This installs the arp-jarvis CLI version from your local checkout, while the Docker images remain pinned separately via STACK_VERSION in compose/.env.local and stack.lock.json.

  1. Bring up the stack and verify wiring:
arp-jarvis stack pull
arp-jarvis stack up -d
arp-jarvis doctor
  1. If using dev-secure-keycloak (default), log in once:
arp-jarvis auth login

This is a browser/device flow. The CLI never asks for your password directly. For the default local realm, a dev user is pre-seeded; the credentials are only for the Keycloak login page during the browser step.

  1. Start a run:
arp-jarvis runs start --goal "Generate a UUID, then return it."

Notes:

  • Keycloak is exposed on http://localhost:8080 (issuer default).
  • Run Gateway is exposed on 8081. Run Coordinator is exposed on 8082 (configure via RUN_COORDINATOR_HOST_PORT).
  • If you change KEYCLOAK_HOST_PORT, update ARP_AUTH_ISSUER in compose/profiles/dev-secure-keycloak.env.
  • dev-insecure disables inbound JWT checks but still runs Keycloak for service-to-service token exchange.
  • Node Registry runs with ARP_AUTH_MODE=optional to allow Selection Service calls (current Selection client does not attach bearer tokens).

Docker Compose fallback (no CLI)

docker compose --env-file compose/.env.local -f compose/docker-compose.yml up -d
curl -s http://localhost:8081/v1/health

Stack profiles

Set STACK_PROFILE in compose/.env.local to one of:

  • dev-secure-keycloak (default)
  • dev-insecure
  • enterprise (template only)

Meta CLI (arp-jarvis)

Convenience commands for interacting with the running stack:

arp-jarvis doctor
arp-jarvis auth login
arp-jarvis nodes list
arp-jarvis runs start --goal "Generate a UUID, then return it."

Compose wrapper (does not replace docker compose):

arp-jarvis stack up -d --print-command

You can also invoke component CLIs via arp-jarvis:

arp-jarvis run-gateway --help
arp-jarvis run-coordinator --help
arp-jarvis atomic-executor --help

Repo layout

JARVIS_Release/
  stack.lock.json
  compose/
    docker-compose.yml
    .env.example
    profiles/
      dev-secure-keycloak.env
      dev-insecure.env
      enterprise.env
    keycloak/
      realm-arp-dev.json
  assets/ (diagrams, logos)

Release files for arp-jarvis 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 0.3.8
File Size Uploaded
arp_jarvis-0.3.8.tar.gz 22.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arp-jarvis 0.3.8
File Interpreter ABI Platform
arp_jarvis-0.3.8-py3-none-any.whl Python 3 none any Details

Total release size:44.3 kB

Release files / arp_jarvis-0.3.8.tar.gz

Download URL arp_jarvis-0.3.8.tar.gz
Size 22.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d65851bb31e7bbc4e84cca72603a0b854398a7bd2ae446a299918107523daaf9
BLAKE2b-256 checksum
How to use checksums
13af3d0d2be1e9495ad2df998211a0268ffe11cc70cc01af1c20aa66f75fb46c
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-0.3.8-py3-none-any.whl

Download URL arp_jarvis-0.3.8-py3-none-any.whl
Size 22.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
837bcabfde0111121a72470154571a4da374e532c46c34dc96f51b305c4ff366
BLAKE2b-256 checksum
How to use checksums
9c94c92bd67a45dd7fc989d70adc4f2ef3bd41ee9534395dd7e6f6c4ed494cbe
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.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.1.0

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