Skip to main content

jep-langgraph-adapter

JEP runtime adapter for LangGraph: replayable delegation and verifiable AI accountability semantics.

This package instruments LangGraph-style node callables without modifying LangGraph core. Wrapped node execution naturally emits a deterministic, hash-linked JEP accountability chain containing:

  • Judgment Event
  • Delegation Event
  • Termination Event
  • Verification Event

Each event records node_name, agent_id, tool_name, state_transition, authority_scope, and previous_event_hash.

Install

pip install -e .

LangGraph is optional for tests and examples because the adapter works at the callable-node boundary:

pip install -e '.[langgraph]'

Usage

from jep_langgraph_adapter import LangGraphEventAdapter

adapter = LangGraphEventAdapter(
    session_id="demo-session",
    agent_id="planner-agent",
    authority_scope={"tools": ["search"], "max_steps": 3},
)

def plan(state):
    return {**state, "plan": "call search"}

wrapped_plan = adapter.wrap_node(plan, node_name="plan")
next_state = wrapped_plan({"question": "What changed?"})
adapter.exporter().export_jsonl("session.jsonl")

For a StateGraph, add wrapped nodes through instrument_state_graph:

adapter.instrument_state_graph(graph, {"plan": plan, "answer": answer})

Replay CLI

jep-langgraph replay session.jsonl

The replay command validates deterministic event hashes, sequence numbers, and previous_event_hash links.

Components

  • JEPNodeMiddleware: wraps sync or async LangGraph node callables.
  • JEPExecutionTracer: records judgment, delegation, termination, and verification events.
  • JEPReplayExporter: exports JSON/JSONL and validates replay chains.
  • LangGraphEventAdapter: high-level facade for node and graph instrumentation.

Examples

  • examples/multi_step_graph.py: multi-step graph execution.
  • examples/sub_agent_delegation.py: sub-agent delegation chain.
  • examples/tool_invocation_replay.py: tool invocation verification and replay.

Runtime and verification notes

See HARDENING.md for supported behavior, regression checks, and compatibility boundaries.

Metadata

Release files for jep-langgraph-adapter 0.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-langgraph-adapter 0.1.1
File Size Uploaded Provenance
jep_langgraph_adapter-0.1.1.tar.gz 10.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for jep-langgraph-adapter 0.1.1
File Interpreter ABI Platform
jep_langgraph_adapter-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 21.7 kB

Release files / jep_langgraph_adapter-0.1.1.tar.gz

Download URL jep_langgraph_adapter-0.1.1.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7db382bebba2095882348cf65aca958f6894a32b058f79c0291b8789fe444e1b
BLAKE2b-256 checksum
How to use checksums
6ba14885d5d5c5f88606818f19dfb348e40e2466811816a42e3d12a6a771523a
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 13, 2026.

Transparency log

Release files / jep_langgraph_adapter-0.1.1-py3-none-any.whl

Download URL jep_langgraph_adapter-0.1.1-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ec1a25e4ffec57b5b4f8d0d01e7ce27a672bb5e8b609d76e3fc311316b4b4d2d
BLAKE2b-256 checksum
How to use checksums
5b90030084c3a31f9990fa35df02e03bc83d474aece17a0fba4793cf4406f6d5
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 13, 2026.

Transparency log

Security for jep-langgraph-adapter 0.1.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for jep_langgraph_adapter-0.1.1.tar.gz

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 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

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