Skip to main content

JEP-Agent SDK 2.1 — JEP Core 0.7

Record signed statements about agent calls and inspect their evidence. The current source implements JEP Core 0.7; historical 2.0.x releases implement the earlier JEP-04/JAC-01 format. See migration before upgrading.

JEP is an individual IETF Internet-Draft, not an IETF-endorsed standard. Valid signatures do not establish factual truth, authorization, legality, successful external execution, or payment readiness.

Install the current source

pip install .
# Optional framework dependencies:
pip install '.[langchain,openai]'

Package index publication is separate from a merge to main. Check the installed version before assuming a registry package includes these changes. Imports use jep_agent; the command is jep-agent, independent of jep-sdk-py and jep-cli.

Signed trace

from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey
from jep_agent import AuditChain, record

key = Ed25519PrivateKey.generate()
chain = AuditChain("agent:example", private_key=key)

@record(issuer=chain.issuer, chain=chain)
def task(value):
    return value * 2

assert task(21) == 42
assert chain.verify_chain(key.public_key())
chain.save("events.jsonl")

Recording without a key is allowed for local traces, but produces unsigned, unverified records. Use a securely persisted key in a real deployment; this example generates a temporary key.

Core and companion boundaries

Concern Behavior
Event Identity Stable (who, id)
Signing payload RFC 8785 canonical unsigned event
Baseline signature Detached JWS, alg: Ed25519, protected kid
Event Hash SHA-256 of the complete signed artifact, including sig
Validation Independent syntax, cryptographic, extension and requested profile checks
Retry Same identity and unsigned content returns already_accepted
Conflict Same identity with different unsigned content is rejected
Freshness / audience Checked only when requested
Unknown critical extension Rejected before acceptance
Audit-chain linkage ext['jep-agent.chain']; separate from Core ref
Task linkage Local ext['jep-agent.jac'] companion; no formal JAC conformance claim

The in-memory JEPVerifier acceptance store is for a single process. It is not a durable distributed acceptance service. An independently trusted public key must be supplied; kid alone does not prove actor identity. Reference resolution, actor binding, domain policy and external effects remain unchecked unless provided by a separate profile or application.

A function failure/cancellation produces a result statement, not a Core Termination event. Async tracing records completion only after the call finishes.

Inspect and verify

jep-agent verify events.jsonl --public-key public-key.pem
jep-agent export events.jsonl --output report.html
jep-agent web --port 8080

The CLI checks Core signatures and any local audit-chain links. It does not resolve arbitrary external references. The viewer and HTML export show recorded relationships and Signed (unverified) status; visual links do not establish causality or legal responsibility.

Framework adapters are experimental: the OpenAI adapter targets synchronous Chat Completions, and the LangChain auto patch targets historical AgentExecutor APIs. Current Agents SDK integrations use the separate middleware repository.

Development

pip install '.[dev,langchain,openai]' build
make lint
python -m pytest -q
python validate.py
python -m build --wheel
python scripts/check_coexistence.py dist/*.whl

CI uses fixed Core 0.7 J/D/T/V vectors and a commit-pinned independent Core validator. It also installs the built wheel beside the Python SDK and CLI in both orders and checks independent uninstalls.

BSD-3-Clause. Author: Yuqiang Wang, HJS Foundation, signal@humanjudgment.org.

Metadata

Release files for jep-agent-sdk 2.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jep-agent-sdk 2.1.1
File Size Uploaded
jep_agent_sdk-2.1.1.tar.gz 42.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jep-agent-sdk 2.1.1
File Interpreter ABI Platform
jep_agent_sdk-2.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 72.8 kB

Release files / jep_agent_sdk-2.1.1.tar.gz

Download URL jep_agent_sdk-2.1.1.tar.gz
Size 42.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f63b8e50a10dae01e04483a381a42413c316dfb6dd704164220874a4f9741c12
BLAKE2b-256 checksum
How to use checksums
31acc8254a23859696dd3049a35a5489b0a476b7c70967c7686283d39218a0e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / jep_agent_sdk-2.1.1-py3-none-any.whl

Download URL jep_agent_sdk-2.1.1-py3-none-any.whl
Size 30.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3589618b930f0805fe7012c517b40547e1cce4285e8e6e60ef622280a8f2e1b
BLAKE2b-256 checksum
How to use checksums
77fbf856e390808e827a6bccdcbbbd85aa92bd7c2abfe8fa19a75a169caa2a93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

This release

2.1.1 This release

2 release files

2.0.0

2 release files

1.0.1

2 release 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