Skip to main content

Open Agent Contract

Vendor-neutral contracts for governed agent consequence.

CI status version contract license

Publication status — 2026-08-14: this repository is public. The current target package line is 0.4.0; Governed Contract semantics are 1.1.0. See PUBLICATION_STATUS.md for exact release state.

The project defines a portable Governed Contract for describing who may attempt what action, on which resource, for which purpose, under which authority, evidence, constraints and validity window.

It is designed for A2A and human-to-agent interoperability. It does not require a specific model, agent framework, identity provider, transport, policy engine or execution-governance product.

Governed Contract v1.1

Core fields:

  • issuer and subject identity references
  • explicit authority grants and delegation chain
  • allowed actions, resources and purposes
  • explicit prohibitions and constraints
  • evidence requirements with freshness bounds
  • validity window
  • completion conditions
  • downstream receipt requirement
  • vendor/domain extension namespace

Deterministic conformance outcomes:

  • conformant
  • non_conformant
  • insufficient_evidence
  • not_yet_valid
  • expired

A conformant result is not permission to execute. It means the intent satisfies the portable contract and may be submitted to a separate organization-controlled authorization/enforcement boundary.

Every newly produced conformance result binds the exact contract ID, spec version and digest used for evaluation. verify_contract_continuity() detects amendment/replacement before a prior result is reused. contract_changed requires fresh conformance.

Legacy results without a contract spec version remain readable, but continuity fails closed to fresh conformance.

Persistence also creates no standing: files, memory, config, instructions, handoffs or cached artifacts do not become contract authority or evidence merely because they survived into another agent/session.

See docs/governed-contract-v1.md and open_agent_contract.governed.

Reference flow

agent discovery / transport
        |
        v
Governed Contract
        |
        v
contract conformance + exact contract digest
        |
        v
continuation check if reused later
        |
        v
organization-controlled authorization boundary
        |
        v
execution / settlement
        |
        v
receipt / evidence

Relationship to other governed-contract work

This repository remains an independently usable portable contract/reference implementation.

The exact canonical relationship between Open Agent Contract and VALO GCoP is unresolved as of 2026-08-14. They MUST NOT be described as aliases, replacements or parent/child profiles until that relationship is explicitly resolved.

This uncertainty does not weaken the local contract invariants:

conformance != execution authorization
persistence != standing
contract drift -> fresh conformance

Existing contract lifecycle

The package also retains the original general and isolated ephemeral agent-contract implementation:

  • DRAFT → PROPOSED → ACTIVE → SUSPENDED → TERMINATED / EXPIRED
  • scope, authority, constraints, obligations, prohibitions and permissions
  • enforcement and violation records
  • integrity verification and deterministic digests
  • isolated ephemeral contracts for bounded acquisition work

These modules remain backward compatible. Product-specific integrations are optional adapters, not requirements of the open Governed Contract.

Quick start

pip install -e '.[test]'
pytest --tb=short
from datetime import datetime, timedelta, timezone
from open_agent_contract import (
    ActionIntent,
    AuthorityGrant,
    GovernedContract,
    PartyRef,
    check_conformance,
    verify_contract_continuity,
)

now = datetime.now(timezone.utc)
org = PartyRef(party_id="org:example", kind="organization")
agent = PartyRef(party_id="agent:buyer", kind="agent")

contract = GovernedContract(
    contract_id="gc-1",
    issuer=org,
    subject=agent,
    authority=[AuthorityGrant(
        grant_id="g-1",
        granted_by=org.party_id,
        granted_to=agent.party_id,
        actions=["purchase"],
        resources=["catalog:item-42"],
        purposes=["restock"],
    )],
    allowed_actions=["purchase"],
    allowed_resources=["catalog:item-42"],
    allowed_purposes=["restock"],
    valid_from=now,
    valid_until=now + timedelta(hours=1),
)

intent = ActionIntent(
    intent_id="i-1",
    actor=agent,
    action="purchase",
    resource="catalog:item-42",
    purpose="restock",
    requested_at=now,
)

result = check_conformance(contract, intent, checked_at=now)
continuity = verify_contract_continuity(result, contract)
print(result.outcome, continuity.outcome)

Project governance

Wire-format/spec versions and Python package versions are intentionally independent. Substantive additive contract semantics increment the Governed Contract minor version. The pre-1.0 Python package increments its own minor version when its public API/behavior expands materially.

Discussion, issues, publisher review and external standards work are proposal/evidence surfaces. They do not silently change the contract; accepted versioned contract/API state is normative for this repository until an explicit canonical transfer.

Publication

This repository is public and open source. A formal release is identified only by an exact version, tag and commit hash; repository visibility by itself is not a release claim. Historical tags are immutable and corrections move forward through new versions.

License

MIT. The contract format and reference implementation are intended to be usable independently of any single vendor.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_agent_contract-0.4.0.post1.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

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

open_agent_contract-0.4.0.post1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file open_agent_contract-0.4.0.post1.tar.gz.

File metadata

File hashes

Hashes for open_agent_contract-0.4.0.post1.tar.gz
Algorithm Hash digest
SHA256 f27182b2bb9263c9dd4916feb2ac24e3997b3cdb260219b20349f8910ae32b04
MD5 b199b28afeb7c1e5c8966021ea26929c
BLAKE2b-256 a888ac78b352811f1252852c2bdc20a7b17298543b0f6368197a287cc3763eda

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_agent_contract-0.4.0.post1.tar.gz:

Publisher: publish.yml on nsolland/open-agent-contract

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file open_agent_contract-0.4.0.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for open_agent_contract-0.4.0.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 92d495625d5e56c9af792b81dd0e5f521a4bc5dcd651893dcd621994d123b749
MD5 1bc445cffd312d36fb9bb31c749970f3
BLAKE2b-256 5631afe8f174afeecee7906c3621242d8faffeedfe71e4de45fdf445d25d43e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_agent_contract-0.4.0.post1-py3-none-any.whl:

Publisher: publish.yml on nsolland/open-agent-contract

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.4.0.post1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page