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.2.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.2-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_arc_status-0.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 9bef2418649ae3ad8d8f9ca234c534950dea7f2b824f444f05f0cd8e7b93aa55
MD5 22edd38af476ef450904434a0556a345
BLAKE2b-256 e6d17eabf6b14f6064271fecc1adfba0e0a7d2915892ab58285598e48d8deddb

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_arc_status-0.3.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_arc_status-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1bcfbe68faa6539b8243a3930725a7f9458ce2bcff15385c09ca77600418924c
MD5 d730239f5dc2192947e1b10c153c3cf2
BLAKE2b-256 6e37d6196786512e7feec3106af8116f3f8a229d48ab86b1236d3356426901ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_arc_status-0.3.2-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