Skip to main content

ARP Conformance Toolkit arp-conformance

arp-conformance is the official conformance checker for ARP Standard (v1) HTTP services in the node-centric stack:

  • Run Gateway
  • Run Coordinator
  • Atomic Executor
  • Composite Executor
  • Node Registry
  • Selection
  • PDP (optional component)

It runs black-box HTTP checks against a base URL and validates:

  • Required routes exist and are reachable
  • Success + error responses match the ARP envelopes (including ErrorEnvelope)
  • Response bodies validate against the normative JSON Schemas embedded in this package

What it does not validate:

  • Planner/model quality
  • Performance, scalability, or security posture
  • Internal implementation details (wire-level only)

This package is SDK-independent: it does not depend on generated SDK packages like arp-standard-model, arp-standard-client, or arp-standard-server.

[!IMPORTANT] Version pinning

This toolkit embeds a spec snapshot. Pin arp-conformance==X.Y.Z to validate services built against the same ARP spec / SDK version X.Y.Z.

View the embedded snapshot:

  • arp-conformance --version
  • python -c "import arp_conformance; print(arp_conformance.SPEC_REF)"

Install

python3 -m pip install arp-conformance

Quick start

Smoke test

Safest level of testing (GET-only).

arp-conformance check run-gateway --url http://localhost:8080 --tier smoke

Surface conformance

Validates required endpoints and envelope schemas without creating resources.

arp-conformance check run-gateway --url http://localhost:8080 --tier surface
arp-conformance check run-coordinator --url http://localhost:8081 --tier surface
arp-conformance check node-registry --url http://localhost:8082 --tier surface

Run conformance on multiple services

arp-conformance check all \
  --run-gateway-url http://localhost:8080 \
  --run-coordinator-url http://localhost:8081 \
  --node-registry-url http://localhost:8082 \
  --tier surface

Tiers at a glance

Tier What it tests Creates state? Safe for prod? Typical use
smoke Service is reachable + speaking ARP (/v1/health, /v1/version) No Yes Fast local sanity check; PR gating
surface Required routes exist + success/error envelopes are schema-valid No Usually Early implementation; contract regression
core Placeholder for end-to-end success-paths (see note below) No Yes Future staged validation
deep Placeholder for optional endpoints + richer behaviors No Yes Future pre-release validation

[!NOTE] For node-centric v1, core and deep are not yet defined. The toolkit reports SKIP for these tiers until the spec defines portable end-to-end flows. Use smoke and surface for now.

Output and reports

Example output (text)

service=run-gateway tier=surface spec=spec/v1@v0.3.7
counts={'PASS': 5, 'FAIL': 0, 'WARN': 0, 'SKIP': 0} ok=True
- PASS smoke.health: OK
- PASS smoke.version: OK

Export JSON / JUnit

arp-conformance check run-gateway --url http://localhost:8080 --tier surface --format json --out arp-conformance.json
arp-conformance check run-gateway --url http://localhost:8080 --tier surface --format junit --out arp-conformance.xml

CI gating

  • By default, the CLI exits non-zero when there is at least one FAIL.
  • Use --strict to also fail on WARN and SKIP.

Compatibility / pinning

Rule of thumb: pin arp-conformance==X.Y.Z to validate services targeting the ARP spec / SDK release X.Y.Z.

pipx install "arp-conformance==0.3.7"
arp-conformance --version
python -c "import arp_conformance; print(arp_conformance.SPEC_REF)"

Authentication and headers

If your service requires auth, pass headers:

arp-conformance check run-gateway \
  --url https://example.com \
  --tier surface \
  --headers "Authorization=Bearer ..."

For CI, prefer a headers file:

cat > headers.env <<'EOT'
Authorization=Bearer ...
EOT

arp-conformance check run-gateway --url https://example.com --tier surface --headers-file headers.env

CI recipes (GitHub Actions)

This repo provides a composite action that installs arp-conformance from PyPI and runs it:

  • AgentRuntimeProtocol/ARP_Standard/.github/actions/arp-conformance

By default, when you reference the action as .../arp-conformance@vX.Y.Z, it installs arp-conformance==X.Y.Z.

Surface gate on PR (no resource creation)

name: arp-conformance
on: [pull_request]
jobs:
  surface:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      # Start your service under test (docker compose, process, etc) before running conformance.
      - uses: AgentRuntimeProtocol/ARP_Standard/.github/actions/arp-conformance@v0.3.7
        with:
          service: run-gateway
          url: http://localhost:8080
          tier: surface
          report_format: json
          report_path: arp-conformance.json

Commands at a glance

  • arp-conformance check run-gateway --url <base-url> [flags]
  • arp-conformance check run-coordinator --url <base-url> [flags]
  • arp-conformance check atomic-executor --url <base-url> [flags]
  • arp-conformance check composite-executor --url <base-url> [flags]
  • arp-conformance check node-registry --url <base-url> [flags]
  • arp-conformance check selection --url <base-url> [flags]
  • arp-conformance check pdp --url <base-url> [flags]
  • arp-conformance check all --run-gateway-url ... --run-coordinator-url ... [flags]

Flags (common)

  • --tier smoke|surface|core|deep
  • --headers KEY=VALUE (repeatable)
  • --headers-file path
  • --timeout <seconds>
  • --retries <n>
  • --strict
  • --format text|json|junit
  • --out <path>
  • --spec v1
  • --spec-path <path>

Release files for arp-conformance 0.3.7

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-conformance 0.3.7
File Size Uploaded
arp_conformance-0.3.7.tar.gz 33.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arp-conformance 0.3.7
File Interpreter ABI Platform
arp_conformance-0.3.7-py3-none-any.whl Python 3 none any Details

Total release size:114.8 kB

Release files / arp_conformance-0.3.7.tar.gz

Download URL arp_conformance-0.3.7.tar.gz
Size 33.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3fdd2d7847aec6ac3f9358f3ba6c731b8f293e1625f31c8e2b2027b85aaea111
BLAKE2b-256 checksum
How to use checksums
05ce3c343728ce8a8431735bc57c70ea96f9302cd0536e31f05dc4d46641bd3b
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 3, 2026.

Transparency log

Release files / arp_conformance-0.3.7-py3-none-any.whl

Download URL arp_conformance-0.3.7-py3-none-any.whl
Size 81.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
07d76dd8a8df593acaa03ca2a6d39db1a892faa051cdb7eb3425df9c21d73c2c
BLAKE2b-256 checksum
How to use checksums
97a79dc1222ca8db3035ca67f073696c5c6010871b3eec02ec636464ec6a6798
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 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.7 This release

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

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