adj-manifest
A Python reference implementation of the Agent Deliberation Journal (ADJ) specification — the append-only journal format that records every step of a multi-agent deliberation: when it opened, what proposals were emitted, what falsifications happened, when it closed, and what outcome was eventually observed.
This library is one of several reference implementations (C#, 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+.
Install
pip install adj-manifest
Or from source:
git clone https://github.com/ai-manifests/adj-ref-lib-py.git
cd adj-ref-lib-py
pip install -e .
Quick example
from datetime import datetime, timezone
from adj_manifest import (
InMemoryJournalStore,
DeliberationOpened,
ActionDescriptor,
DeliberationConfig,
BrierScorer,
)
store = InMemoryJournalStore()
store.append(DeliberationOpened(
entry_id="adj_01HMX",
deliberation_id="dlb_42",
timestamp=datetime.now(timezone.utc),
prior_entry_hash=None,
action=ActionDescriptor(kind="code.merge", tier="auto", blast_radius="team-scope"),
config=DeliberationConfig(min_agents=3, timeout_seconds=300),
))
# ... append proposals, round events, deliberation close, outcome ...
score = BrierScorer.compute_calibration(scoring_pairs)
# score.value is the Brier-scored calibration score in [0, 1]
API
All public symbols are exported from the adj_manifest package root.
Entry types
JournalEntry, DeliberationOpened, ProposalEmitted, RoundEvent, DeliberationClosed, OutcomeObserved
Value types
ActionDescriptor, DeliberationConfig, TallyRecord, ProposalData, ConditionRecord, CalibrationScore, ScoringPair, ConditionQualityMetrics
Scorers
BrierScorer—compute_calibration(pairs)returns a calibration score from(confidence, outcome)pairs.update(score, pair)folds a new observation into an existing score.ConditionQualityScorer—compute(entries)returns per-condition quality metrics (how often each dissent condition was falsified, how often it was load-bearing, etc.)
Store
InMemoryJournalStore— thread-safe in-memory journal store suitable for tests and prototypes. Implements the store contract from the spec.
Testing
pip install -e .[dev]
pytest
Spec
This library implements the Agent Deliberation Journal 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.
Metadata
Release files for adj-manifest 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adj_manifest-1.0.0.tar.gz | 14.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adj_manifest-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.2 kB
Release files / adj_manifest-1.0.0.tar.gz
| Download URL | adj_manifest-1.0.0.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e0417dd28d2bf7e3b168776fc212f144a8c6d07596f0527d5bae064b7874b8b9
|
|
BLAKE2b-256 checksum How to use checksums |
6dd7a91e07b3f82d43c8cb249c901f4cc60db6227e521b741799297b2a244d8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|
Release files / adj_manifest-1.0.0-py3-none-any.whl
| Download URL | adj_manifest-1.0.0-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4efba7db4d0c0920b73cce8d061ce88f015ec63e69d95a151617476aa1480ba0
|
|
BLAKE2b-256 checksum How to use checksums |
9f387c2c6505a86e763b6c80b174ae5d24a9cd8515dca2bdaec2ed5a8eacf85e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|