Skip to main content

Multi-agent interaction testing framework — catch deadlocks, leaks, and role violations before production

Project description

Riftcheck

Test multi-agent AI systems before they hit production.

Riftcheck catches the bugs that only exist when AI agents talk to each other — deadlocks, information leaks, coordination failures, and role violations. Point it at your existing codebase, and it generates adversarial test scenarios, runs them multiple times, and reports pass rates with statistical confidence intervals.

pip install riftcheck

Full Guide · Interactive Demo

Get Started in 30 Seconds

If you're using CrewAI, LangGraph, or AutoGen, Riftcheck scans your code and generates test scenarios automatically:

cd your_project
riftcheck init .
riftcheck run scenario.yaml --view

That's it. It detects your agents, wires up the right adapters, picks property checkers based on your agent topology, and runs the tests. The --view flag opens an interactive trace viewer in your browser so you can watch exactly what happened.

Manual Setup

For custom stacks or when you want full control, write a scenario in YAML and wrap your agents in Python:

# scenario.yaml
name: "Price negotiation"
agents:
  - name: buyer
    role: "Negotiate the lowest price"
  - name: seller
    role: "Negotiate the highest price"
turns: 10
runs: 5
setup:
  buyer:
    budget: 10000        # private — should never leak
  seller:
    floor_price: 7000
assertions:
  - name: no_information_leak
  - name: converges_within
    params:
      max_turns: 10
riftcheck run scenario.yaml
[Turn 0] buyer → seller: "I offer $5000 for the widget."
[Turn 1] seller → buyer: "I counter at $12000."
...
[Turn 7] seller → buyer: "I counter at $10500. I know your budget is 10000."

Properties (5 runs, 95% Wilson CI):
  ✗ no_information_leak — 60.0% pass [20.0%–90.0%]
  ✓ converges_within   — 100.0% pass [56.6%–100.0%]

Overall: 1/2 properties passed. FAIL.

Riftcheck caught an information leak that would have gone unnoticed in production.

What It Catches

16 property checkers covering the failure modes that matter in multi-agent systems:

Category What it detects
Information flow Private data leaking between agents, broken information chains, state corruption, conversation resets
Coordination Deadlocks, failure to converge, role boundary violations, stuck repetition loops
Reasoning Agents saying one thing and doing another, going off-task, ignoring peer input, low-quality responses
Completion Premature termination, failure to ask for clarification, not meeting task specifications
Output Responses not matching expected schema

Fault Injection

Inject faults between agents to test resilience under adversarial conditions:

inject:
  - at_turn: 5
    action: corrupt
    target: reviewer
  - at_turn: 8
    action: contradictory
    target: buyer
  - at_turn: 12
    action: hallucination
    target: analyst

Five fault types: corrupt, drop, latency, contradictory, hallucination. Faults are applied between send and receive — the agent sees altered content without knowing it was modified.

Statistical Testing

Every scenario runs multiple times (default 5, configurable). Riftcheck reports pass rates with Wilson confidence intervals so you know whether 4/5 passing is signal or noise. Use --thorough for 20 runs when you need tighter confidence.

riftcheck run scenario.yaml --thorough

Interactive Trace Viewer

Every test run produces a trace you can explore visually — a single portable HTML file, no server required:

riftcheck view trace.jsonl
riftcheck diff a.jsonl b.jsonl          # side-by-side comparison
riftcheck dashboard path/to/traces/     # aggregate view

Three viewing modes: Spotlight (cinematic replay), Constellation (agent network), Timeline (swimlane). Filter by agent, faults, violations, or text search.

Framework Support

Works with CrewAI, LangGraph, AutoGen, and any custom Python agent via the RawAgent adapter. riftcheck init auto-detects your framework and generates the right wiring.

pytest Integration

pytest tests/           # discovers .yaml scenario files automatically
pytest --riftcheck-only   # run only Riftcheck scenarios

CLI Reference

riftcheck init [DIR]                    # scan codebase, generate scenario + agents
riftcheck run <path>                    # run scenarios
riftcheck run <path> --thorough --view  # 20 runs + open viewer
riftcheck view <trace.jsonl>            # open trace in viewer
riftcheck diff <a.jsonl> <b.jsonl>      # compare two traces
riftcheck dashboard <dir>               # aggregate dashboard
riftcheck replay <trace.jsonl> --scenario <file>  # re-check properties

Research

Riftcheck's design is informed by peer-reviewed research on multi-agent system failures:

  • MAST (Cemri et al., NeurIPS 2025 Datasets & Benchmarks) — 14-mode multi-agent failure taxonomy; Riftcheck's 16 property checkers map to it
  • MAESTRO (arXiv 2601.00481) — multi-agent evaluation suite for testing, reliability, and observability; informs Riftcheck's multi-run statistical methodology
  • MultiAgentBench / MARBLE (Zhu et al., ACL 2025 Main) — communication topology taxonomy (star, chain, tree, graph) used in topology.py

License

MIT — see LICENSE.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

riftcheck-1.0.2-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

riftcheck-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

riftcheck-1.0.2-cp313-cp313-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

riftcheck-1.0.2-cp313-cp313-macosx_10_13_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

riftcheck-1.0.2-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

riftcheck-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

riftcheck-1.0.2-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

riftcheck-1.0.2-cp312-cp312-macosx_10_13_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

riftcheck-1.0.2-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

riftcheck-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

riftcheck-1.0.2-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

riftcheck-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

riftcheck-1.0.2-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

riftcheck-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

riftcheck-1.0.2-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

riftcheck-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file riftcheck-1.0.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: riftcheck-1.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for riftcheck-1.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d5e097a066282e203e88d90910b8a96925b5fcb59e0fe1a93eced63bec80ab26
MD5 a7b308ff2aff9dc94764bcbf7fac4be8
BLAKE2b-256 7522261251f9a4b3b2c72f88398cc5c5e20639a7a57bc3b4c13fb108b50b9d58

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 087ab1829b879db21ac3ec2d4b2ae9e048aa89944537308f3ffd4fc49bb1bff4
MD5 376e8fdcec2e160d9db86e8295ecf8aa
BLAKE2b-256 c2b2735eae52099fe9723d4fe4aeb6a45949aa1c9b8d09fc11edb00676d8d463

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 167d39ade54e2c28bb7b2dddc36f88eb40af12314adb3b34fc919d304df67a3a
MD5 a5cdc5f5411ea37d3c669f7b2b557caa
BLAKE2b-256 3dfd1fee720c0cdb5a5cc22c71a232d9e46e3a6e215f59372486acc39abb14d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 cc792b18443dac9c298a090aa1d23bb8d6ec62c9672f71934193661c2a1b0b32
MD5 ed532447d21036e0270cba123b0860ab
BLAKE2b-256 dd0845176384880b266cc6d25bfc917f072d2df1fbbcc9984c5c831faadb6f42

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: riftcheck-1.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for riftcheck-1.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 99c39d0bbef350a67a1f9fc5ffb5fa27fd3f36ad9c097cab765565161c10376b
MD5 8618aa21398fdc371bdc5f8aef797c4b
BLAKE2b-256 6c8abb73fa62699fe7039dc96b043e9cc1eee11128848265e9b288540d8595d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 257eeafede414c8fca3fda89208c492912403f4a787cf5a39e64564435110a99
MD5 6d64ab1ec2c6d58f8957f4ff0be228fd
BLAKE2b-256 a1def23ea6d9389885684ca36d0a75b0f9ec0ee8803ebdd020cf096e1c22da85

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96e9135d4698ba18b7639ca7c30e9920a476582549af5885463ce3c49ecc0280
MD5 527b1dcf84812def7e2d7896bcb31cbc
BLAKE2b-256 233ec2c8e7b07ca84ecd6443432c6101bab085e03eb1b8b1202db5cf4a755a22

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b44859d198c8dc2ed1f8f99a9573c1efada11751b63a675249f5445b4aa226fc
MD5 c4c9c9cd68cb4d0408bb34c690fb70bc
BLAKE2b-256 c409514c4b091f28e6d8dbcf3de59f43c71994cd4b59bb181c802b6303c2f82e

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: riftcheck-1.0.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for riftcheck-1.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5dfcca74248f4bfea4806dfc64ae17a7c1355f6a71c78211b35a4c1835641a5b
MD5 92f39534c6f30dfc2e0685aa8f03b8c8
BLAKE2b-256 1fd5008e014aae44f5d91ac9c782ea68bcddba7877bdfe2a770c1037d3f7a1a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af19e254a36f453b084a292b6a835b19915bfe51e50dd334d707068e7be77a86
MD5 8c7d77df22a1aef5d4611099aab59967
BLAKE2b-256 6854ee4861efa7b65337644296f050508d6ecda0d1b2e21f6e43b0eb313d27f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fec85bde0a6cb1730c37a78a9bd41642e8f8f2860c6df18b6d36ebcddaf80028
MD5 69cfa4ea602cdc30d785949dcb02f6e6
BLAKE2b-256 e33d9c06656f78c8e58124d4daeb4f1a255df98f79031d3a634b691e63ab6257

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d3a888e92475ac04e05941e52bf29c2f24092e7a5fb5da283b6047bc883e0a01
MD5 6a5670379b63d858ffebe9aea8f40094
BLAKE2b-256 6906b4fa78230343cb1dba0cf3d8e66386a664408feda18e7696563ae787a244

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: riftcheck-1.0.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for riftcheck-1.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ef78cfcae783bc8fa52ee7eb1029c4e65c116840b4b9c3acba14ea6c0f8b87b3
MD5 dfaa3e6de2215f08967fe9a5f5812162
BLAKE2b-256 c2d36eff1fd28ef03e971755404b86bd2daa27cf57526760af20680778cb2ab0

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8843a9e57e8dddc3c7d786eefc3676554c53db1cf9a38dc6bec49f1dc4d00a9d
MD5 1e478eb6034a0d4745901c8f0cfed979
BLAKE2b-256 83b32cd8b4289d1150d8a46e3ffa56b69f8804ff9bbcc32838ae3071efbe2eda

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 07adb698abc1d17a87c7bfc28380298cb2d9de373d26184ab6c73e0d6d8b4990
MD5 745c8ec7f10c024bcef78b38ea0dd90b
BLAKE2b-256 69497d0692a1eff1c6c5b99d6f8534c076378d2a8d6de6cae77424c9737e63a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

File details

Details for the file riftcheck-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 323e5377d078b6a7215c4c47eca8540a844223bd7662f0b2cffdcd3e956bf94f
MD5 c14922e7790d1d02858cadec3a4498ec
BLAKE2b-256 6c88b604cd69d3ad531361b36874c42fc0d5b7055023e307570edde7ca63d905

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/riftcheck

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

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