Skip to main content

Reference implementation of the Agent Arc Status Protocol: types, parser, validator, renderer, cadence, state, and delegation-tree tooling. Zero runtime dependencies.

Project description

agent-arc-status (Python reference)

A faithful, zero-dependency Python implementation of the Agent Arc Status Protocol — the same types, validator, renderer, cadence, and state-reduction surface as the TypeScript reference, with Pythonic snake_case names. It passes the shared, language-agnostic conformance corpus, which is the Protocol's cross-language interoperability evidence.

Implements protocol v0.2.

Install

pip install agent-arc-status

Use

from agent_arc_status import validate, validate_sequence, render, reduce_arc

event = {
    "arc_id": "018f9c31-7e40-7a2b-9c00-0000000000a1",
    "phase": "milestone",
    "title": "receiver booted",
    "step": 6,
    "total": 11,
    "eta_minutes": 25,
    "sent_at": "2026-06-14T09:00:00Z",
}

result = validate(event)
if result.ok:
    print(render(result.event))     # "✓ [6/11] receiver booted (ETA 25m)"
else:
    print(result.issues)

# Fold a stream into current state:
state = reduce_arc([started, milestone, done])   # ArcState | None

# Validate phase ordering for one arc:
seq = validate_sequence([started, milestone, done])   # seq.ok, seq.issues

The API mirrors the TypeScript reference one-to-one:

TypeScript Python
validate(e){ok, event} | {ok, issues} validate(e)ValidationOk | ValidationErr
validateSequence(events, {partial}) validate_sequence(events, *, partial=..., check_monotonic_sent_at=...)
parse / parseJsonl parse / parse_jsonl
render(e, {bodyMax}) render(e, *, body_max=...)
reduceArc(events) reduce_arc(events)
CadenceController / SilenceWatchdog same, snake_case methods
RFC3339_PATTERN, PROTOCOL_VERSION same

Develop

python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
ruff check . && ruff format --check .
mypy
pytest

Zero runtime dependencies; jsonschema is used only in the dev/test extra to prove the validator agrees with spec/schema.json.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_arc_status-0.3.1.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_arc_status-0.3.1-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file agent_arc_status-0.3.1.tar.gz.

File metadata

  • Download URL: agent_arc_status-0.3.1.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agent_arc_status-0.3.1.tar.gz
Algorithm Hash digest
SHA256 b8dc0b97fe8d74ff7d1e1d10d0ff35394ebcf5d2f67b83b814a6620cf154292e
MD5 b3828ac439c21d2852ae64c924f4e589
BLAKE2b-256 7477d9a9b6ec3ee856c49432291d74790333b66d73e52c7d30fb44da01158613

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_arc_status-0.3.1.tar.gz:

Publisher: release-pypi.yml on joethefisher/agent-arc-status

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agent_arc_status-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_arc_status-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e5f226c97a7aff36eea737b8980e1aae60874de501365dbdcd3a8c520068af7b
MD5 b19ab38ebb4cced06df922aa218e7a27
BLAKE2b-256 f0079a7771022ad556d61fb9974e974cbd5e22787a6dbb6a738a032012e3d942

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_arc_status-0.3.1-py3-none-any.whl:

Publisher: release-pypi.yml on joethefisher/agent-arc-status

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page