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

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_arc_status-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 6591a7da49a51a3afa7cc315864e24bf15a13be21de3a479dbe16553c5b22c9c
MD5 45aa8ab9558132d95da19cf604d055f2
BLAKE2b-256 0c43cf05b7d06ff91562f825dd207a853126134478dec22b1aba3d7bc04911ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for agent_arc_status-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13e573c09c34629e3380bf95647d30247c9b431f4824bc980c8c3d669ffbaf6d
MD5 13000afe06d654992d1fc018166c58d5
BLAKE2b-256 4435ab2db0a5a2582e7372f28c30fff54a5ed70b3b064ab42e42a0d59de5603a

See more details on using hashes here.

Provenance

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