Skip to main content

TruAssure

Know what your AI agents actually did, not just what they said.

TruAssure is a black-box, evidence-based quality engineering framework for AI agents: chat assistants, task agents (LangGraph, OpenAI Agents SDK, custom loops) and multi-agent workflows. It judges every checkpoint on independent evidence (the agent's tool calls as a recording proxy saw them, its handoffs, the data it changed) and compares that with what the agent claims. It runs the same scenarios under injected faults, rephrasings and repeats, and turns the results into release decisions.

pip install truassure                    # the ta / truassure commands and the library
pip install "truassure[mcp,proxy,otel]"  # plus the MCP server, the recording proxy and A2A tap, the OTel receiver

Python 3.11 or later, on Windows, Linux or macOS. MIT licence.

Five minutes, offline

ta demo                               # the whole tour on a scripted agent: no Docker, no LLM, no network
ta console --runs-dir ta_demo --open  # browse the runs, reports, comparisons and gates
ta docs --open                        # the full guide, shipped inside the package

Test your own agent

ta new task my-agent-tests            # or: ta new workflow ... / ta new chat ...
cd my-agent-tests                     # catalog.yaml, environment.py, truassure-gate.yaml, .env.example, README.md
ta validate catalog.yaml
ta run catalog.yaml --env environment:environment --repeats 3 --perturbations all
ta report latest
ta gate latest --policy truassure-gate.yaml
ta init --ci github --catalog catalog.yaml --env environment:environment   # or --ci azure

Enterprise systems

pip install "truassure[postgres]"     # or [sqlserver], [mysql], [oracle], [sql] for SQLAlchemy alone
from truassure.adapters.state.factory import make_state
from truassure.adapters.drivers.queue import QueueDriver, ServiceBusTransport
from truassure.profiles.task import task_environment


def environment(worker):
    return task_environment(
        name="claims",
        driver=QueueDriver(ServiceBusTransport.from_env(), request="claims-events", reply="claims-results"),
        state=[
            make_state("oracle+oracledb://reader:***@db:1521/?service_name=CLAIMS", schema="CLAIMS"),
            make_state("https://crm.test.example/api", resources={"cases": "/cases"}),
        ],
    )

Any SQL database SQLAlchemy supports, read-only, with tables and keys found by reflection. A factory picks the adapter from a URL or path. There are drivers for HTTP, chat, OpenAI-compatible endpoints, Azure Service Bus and Kafka. ta library lists reusable scenario packs (privacy, prompt injection, unsafe writes, payments and approvals, identity across handoffs, conversation handling, answers and boundaries, tone and policy) that a catalog includes with its own parameters; each tags its scenarios with catalogue test types.

Across initiatives

pip install "truassure[s3]"           # or [azure-blob], or [postgres] etc. for a database store; a folder needs nothing
ta push                               # share the latest run (store, initiative and team in truassure.yaml)
ta run catalog.yaml --env environment:environment --publish
ta portfolio --store s3://quality-results/truassure --csv portfolio.csv
ta console --store s3://quality-results/truassure --open

The portfolio shows every initiative and project: the latest gate verdict, pass rate, pass^k, open defects by severity, the trend, and each run's report. Nothing is shared without ta push or --publish.

The starter project connects to an agent behind HTTP. Put ta proxy in front of the agent's tools, and ta a2a between its agents, to get an independent record of every call and handoff and to inject faults.

How an agent is judged

Each checkpoint is judged at five stages, and TruAssure reports the first one that failed:

Stage Question
goal Did it understand the request?
plan Was its course sensible (steps, loops, handoffs, approvals before writes)?
action Did it take only allowed, correct actions, with the right arguments, for the right person?
end state Is the data right afterwards, and did nothing else change?
output Is what it told the user true, complete and consistent with what it did?

Seven evidence seams (SE-01 to SE-07) catch the failures an agent's own account hides. Examples: a call it reported that never happened, a write it never mentioned, success announced after a failure, a handoff that carries another customer's identity, and a different deployment that behaves differently.

What you get

  • Profiles: conversational, task and workflow (handoffs, identity on every hop, failure containment).
  • Reliability: repeats and perturbations, pass^k, robustness and flaky detection, plus fault injection in the tool server's own format.
  • Change: run-by-run comparison, and deployment parity (model, host, framework) judged against run-to-run noise.
  • Governance:
    • defect lists (JSON and CSV) and JUnit for CI;
    • capability packs and a release gate with per-capability thresholds;
    • a 71-type test scorecard, with each type's catalogue metrics measured or marked not measured;
    • grader calibration (Cohen's kappa), and rubric grading for tone and written policy.
  • Reports: a customer-facing execution report (execution-report.html and .json): a readiness statement, KPI cards and charts, test-type and test-data coverage, persona views, findings with evidence and next actions, and the trend against the previous comparable run; personal details masked. Plus the one-file engineering report.
  • Sharing: a local token-protected console and a shared store across initiatives.
  • Automation: ta mcp gives an AI assistant one tool per command. GitHub Actions and Azure DevOps templates come from ta init.
  • Security defaults:
    • listeners bind to 127.0.0.1 and need tokens;
    • secrets come only from the environment or .env and are never printed;
    • personal data is masked before evidence is stored, and retention is enforced.

Commands

Command Purpose
demo, new, docs The offline tour, a starter project, the guide
library The scenario library: list packs, show one, add it to a catalog
push, pull, portfolio Share runs to a folder, S3 or Azure Blob store; copy them back; the cross-initiative view
validate, translate Check catalogs; convert a suite catalog
run, show, report, gc Run a catalog; inspect runs; the engineering and execution reports; retention
compare, defects, junit, scorecard, pack, gate, calibrate Run-level analysis and governance
init A CI pipeline that runs, reports and gates
console, mcp The browser console; the MCP server
proxy, a2a, otel Observers: recording MCP proxy, agent-to-agent tap, OpenTelemetry receiver

ta <command> --help lists every option. Examples use fictitious data (Harbor Mutual).

Metadata

Release files for truassure 1.6.0

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

Source distribution (sdist)

Source distribution for truassure 1.6.0
File Size Uploaded Provenance Actions
truassure-1.6.0.tar.gz 1.8 MB With provenance Details for truassure-1.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for truassure 1.6.0
File Interpreter ABI Platform Actions
truassure-1.6.0-py3-none-any.whl Python 3 none any Details for truassure-1.6.0-py3-none-any.whl

Total release size: 2.1 MB

Release files / truassure-1.6.0.tar.gz

Download URL truassure-1.6.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
655ea30e1f8dbaf0c30b821e71f9182c52dc59180b6babafa3db62cbfd5c586d
BLAKE2b-256 checksum
How to use checksums
2707a5a3e5227f93d6061dcae7f86fdbb9a0868c0b2defd3d8cad7c68741ca93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 9, 2026.

Transparency log

Release files / truassure-1.6.0-py3-none-any.whl

Download URL truassure-1.6.0-py3-none-any.whl
Size 339.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9fdaf5ae7ce602eaff6d5e850809489bc43ea8475410d2869b8b99137366ae1c
BLAKE2b-256 checksum
How to use checksums
26e975ea4f6dcee56721b5a125bfcc18bbcdb19ad4f83a843fd96f502665f714
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 9, 2026.

Transparency log

Security for truassure 1.6.0

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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for truassure-1.6.0.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 Nov 9, 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.

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