Catalog PyPI
PACKAGE EXPLORERView in registry

adp-manifest

PyPI

Python reference implementation of the Agent Deliberation Protocol (ADP)

Versions collected1
Direct dependencies1From release 1.0.0
Last observed20 Oct, 19:48 UTC

README

Version 1.0.0 documentation

adp-manifest

PyPI Downloads Python License Spec

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://github.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.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.02 Jun 20261

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
ai-manifests/adp-ref-lib-py

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:48 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:66dfed595d35cee73e8622a319bc5ce5d789ee27853254b71ba5b61783cd6a7b