Skip to main content

Local-first assurance and observability for AI agents

Project description

PathProof

Evidence-driven path assurance for AI agents.

Release status: 0.2.0rc1 is a public release candidate for testing. It is not yet a stable production release.

Current MVP version: 0.1.2

PathProof is a local-first Python library for monitoring, evaluating, and enforcing policies on AI-agent runs.

Quick start

pip install pathproof-ai==0.2.0rc1
from pathproof import AgentMonitor, Policy

policy = Policy(
    allowed_tools={"verify_customer", "search_orders", "create_ticket"},
    max_tool_calls=10,
)

monitor = AgentMonitor(
    agent_name="support_agent",
    version="0.1.0",
    policy=policy,
)

with monitor.run(task="Resolve customer complaint") as run:
    run.tool_call(
        name="verify_customer",
        arguments={"customer_id": "C-102"},
        function=lambda customer_id: {"verified": True},
    )
    run.record_output({"status": "resolved"})

report = run.evaluate()
print(report.to_text())

Included in v0.1

  • Run and event recording
  • Tool-call monitoring
  • Policy checks
  • Repeated-call detection
  • Missing-prerequisite detection
  • Human-approval gates
  • Trust score with explanations
  • Text and JSON reports
  • In-memory, JSON, and SQLite storage
  • Basic run comparison

Easier tool wrapping

with monitor.run(task="Demo") as run:
    @run.tool()
    def search(query: str):
        return {"results": [query]}

    result = search(query="agent assurance")
    run.record_output(result)

Runtime limits are enforced before an extra step or tool call in warning, approval, and blocking modes. Tool failures can be explicitly marked as handled with run.handle_tool_failure(...).

Evidence bundles (v0.1.3)

bundle = run.evidence()
assert bundle.verify()
bundle.to_json()

The bundle fingerprints the complete run and evaluation. Any later payload change causes verification to fail. This is tamper evidence, not yet a digital signature or legal certificate.

Regression cases (v0.1.3)

case = run.regression_case(name="Prevent repeated search")
case.save("regressions/repeated-search.json")

result = check_regression(case, candidate_report)
assert result.passed

Deeper comparisons

compare_runs() now detects tool and step sequence changes, new or removed tools, new failure classes, new policy violations, and trust-score changes.

Causal evidence graph

PathProof now links steps, tool requests, tool results, and outputs. It can distinguish a successful-looking output from an unsafe execution path.

Development installation

python -m pip install -e ".[dev]"
python -m pytest

Privacy

PathProof is local-first. It does not require a cloud service and does not transmit recorded data by default. Review stored inputs, outputs, and tool arguments before using it with sensitive information.

Important limitation

PathProof provides technical monitoring, evidence, and configurable policy enforcement. It does not by itself certify that an AI decision is legally, ethically, or factually correct.

Project details


Download files

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

Source Distribution

pathproof_ai-0.2.0rc1.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

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

pathproof_ai-0.2.0rc1-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file pathproof_ai-0.2.0rc1.tar.gz.

File metadata

  • Download URL: pathproof_ai-0.2.0rc1.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for pathproof_ai-0.2.0rc1.tar.gz
Algorithm Hash digest
SHA256 827757b3eeef269ddccd991c08dd0ba25ea0cd4570fc7d0c1965ac589a0288d9
MD5 be23539ac0d6f82523dae33d5eef90eb
BLAKE2b-256 a22ecdd79f53cf8a484e8d9f899bc2a15385bafbdf543b1a118ef8ee4b918f54

See more details on using hashes here.

File details

Details for the file pathproof_ai-0.2.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for pathproof_ai-0.2.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 141e83c52074535e404d62669338c48ac753bd06b566104577211b06acaf2ed6
MD5 b2e3b7359e185fbe92f0b486bc14a69b
BLAKE2b-256 7878db17c3c5dfb44fc17015bc0eb153e1c4250d8ebe1b314cde63ca50e4166d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page