Skip to main content

Python reference implementation of the Agent Deliberation Protocol (ADP)

Project description

adp-manifest

A Python reference implementation of the Agent Deliberation Protocol (ADP) specification — the consensus protocol that multi-agent systems use to reach calibrated, falsifiable decisions together. ADP defines proposals, weights, tallies, falsification, termination, and reversibility tiers.

This library is one of several reference implementations (TypeScript) of the same spec. The spec itself is at adp-manifest.dev and is the source of truth; this library implements what the spec says.

Zero runtime dependencies. Requires Python 3.10+.

Looking for a runnable agent? This library is the protocol core — data types, weighting math, and an in-memory orchestrator. For a full federation-ready agent runtime with HTTP endpoints, journal persistence, Ed25519 signing, signed calibration snapshots, ACB pricing, and MCP integration, install @ai-manifests/adp-agent (TypeScript/Node).

Install

pip install adp-manifest

Or from source:

git clone https://git.marketally.com/ai-manifests/adp-ref-lib-py.git
cd adp-ref-lib-py
pip install -e .

Quick example

from adp_manifest import (
    DeliberationOrchestrator,
    DeliberationConfig,
    Proposal,
    Stake,
    Justification,
    Vote,
    StakeMagnitude,
    CalibrationScore,
    compute_weight,
)

proposal = Proposal(
    agent_id="did:adp:test-runner-v1",
    domain="code.correctness",
    vote=Vote.APPROVE,
    confidence=0.82,
    stake=Stake(magnitude=StakeMagnitude.MEDIUM, domain="code.correctness"),
    justification=Justification(rationale="all tests pass", evidence_refs=[]),
    dissent_conditions=[],
)

calibration = CalibrationScore(value=0.78, sample_size=42)
weight = compute_weight(proposal, calibration)
# weight ≈ 0.82 × 0.78 × stake_factor(MEDIUM) × sample_size_discount(42)

API

All public symbols are exported from the adp_manifest package root.

Enums & primitive types

Vote, ReversibilityTier, DissentConditionStatus, TerminationState, StakeMagnitude

Protocol types

Proposal, ProposalAction, BlastRadius, DomainClaim, Justification, Stake, DissentCondition, VoteRevision, Amendment, CalibrationScore, AgentRegistration, TallyResult

Weighting functions

  • compute_weight(proposal, calibration) — canonical proposal weight per ADP §4.2
  • compute_decay(age, half_life) — time decay of calibration evidence
  • stake_factor(magnitude) — maps StakeMagnitude to its numeric factor
  • apply_sample_size_discount(weight, n) — Wilson-interval sample-size discount

Orchestrator

  • DeliberationOrchestrator — in-memory state machine that runs a deliberation through proposal → tally → falsification → termination. Takes a DeliberationConfig. Intended for prototypes, tests, and embedded-in-process use. For production distributed deliberation, see @ai-manifests/adp-agent (TypeScript/Node).

Testing

pip install -e .[dev]
pytest

Spec

This library implements the Agent Deliberation Protocol specification. Read the spec at adp-manifest.dev. If the spec and this library disagree, the spec is correct and this is a bug.

License

Apache-2.0 — see LICENSE for the full license text and NOTICE for attribution.

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

adp_manifest-0.1.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

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

adp_manifest-0.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file adp_manifest-0.1.0.tar.gz.

File metadata

  • Download URL: adp_manifest-0.1.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for adp_manifest-0.1.0.tar.gz
Algorithm Hash digest
SHA256 77c7f61bf8b9fbe6466c6847c943cdfa0132e01d4b6721941b49248490f0d064
MD5 4f1f7d7940750a410baca4c2d196d5b5
BLAKE2b-256 f4ea67cd9834acee2b762179d12eb442fec4a110883f2745b07e2b0c094b65f0

See more details on using hashes here.

File details

Details for the file adp_manifest-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: adp_manifest-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for adp_manifest-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 61bad92d69e84559b64a41f7fcb3c0294c56f33c95824b8eecf94a6487fe12f1
MD5 ba3198d1d67774aaea441e2db91560b0
BLAKE2b-256 3eb98666322b75d7004013523640f957f1d4631dcf0c5880cb47ec4368bc0fbe

See more details on using hashes here.

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