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 (NeurIPS 2025) — multi-agent failure taxonomy mapping to our property checkers
  • MAESTRO (arXiv 2601.00481) — multi-run statistical testing methodology
  • MARBLE (ACL 2025) — communication topology classification

License

Proprietary — free for non-commercial use. See LICENSE for details.

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.0-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

riftcheck-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

riftcheck-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

riftcheck-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

riftcheck-1.0.0-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

riftcheck-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

riftcheck-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

riftcheck-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

riftcheck-1.0.0-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

riftcheck-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

riftcheck-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

riftcheck-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

riftcheck-1.0.0-cp310-cp310-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86-64

riftcheck-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

riftcheck-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

riftcheck-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: riftcheck-1.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.5 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7a2dad0e140cefde3a7a9f5fc24429babb67955f711b27a08ee8b647a2cb57c8
MD5 cf7a55bc871707cd54343d28a7935be1
BLAKE2b-256 9abf8982ac0ed7f467d50a7d5a6ae36cc5bcebfd9700562db30fdb6ddfdc4caf

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6514bb61d152715e2548ee59b449583e0f7dee64ccc7b3e38d77f51d7807db5
MD5 66f10a1e460d3ae6f8f4893170660051
BLAKE2b-256 56480d2c8428bbbec775104a02e47d6529ee4f2efa7a584ed82649ee799461cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 709209c937ce6c0877a62b59eacc1e46790da4b2b158b49bbdf60c7b37974fae
MD5 3e915a5fa00287cfbdca4f1af3a363a8
BLAKE2b-256 978456f114761542d57c1a2a748f2d8b4e8cedcb2ea4b325737b3432ebb4115c

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4e4b6167a8688aede6126efbdead509094eb810b892ceef2358b5ef2dfd194b0
MD5 1aaa74ed224d4930b971491c6278a998
BLAKE2b-256 314941958404d2dc0f0e7d86c9aa982f92ad408e8603c6157ec283132389cdd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: riftcheck-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.6 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 464d537676d4fcb87efa214e804d930c1644e94b0ae2e8f43b69d14dac1ceab3
MD5 dfd69bd998a63152b0524ae6d1571861
BLAKE2b-256 7996e9bf1203963e6a0f0443f43725ab31b7b3a9dd7ab069a44d0f285b2b849d

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 61225a2fc4f22c7ed4001662f96a60bd8f5f6664ea4864b1ca3e9997f1fadd0d
MD5 d176be4406034bbda01437922d60784c
BLAKE2b-256 c214c039d8abd7019c252e45179efedc340c3067a49de24447408a5707e8bf4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f455427af488396d3e8d4f2bf0185ea838675cafc8fd1b1ff585afa1a9ff602b
MD5 ec9f92247df63af0e9ad8d5f03a039ff
BLAKE2b-256 dd465708ffbdf0df091c0a5cfb6f8ac63d3384dc9406db30a377e7ea29790a7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6d734c0e709ea684d548bd890c4b6bcf2ddc9bc4bb577d57e6eede3424996a7f
MD5 3a14537940425814b6e1115d9316e7e2
BLAKE2b-256 c4dcf2fe072c6c74e7aea40eec8d2025741f9865590dde994e0a9ba97df7460a

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: riftcheck-1.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.6 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4bace87c93f81adcf4abf8b6eb6bf4e365d94c3f8411a92f699efde6953a4a3d
MD5 0d9635028cff5bb0a6b32ef37c5ff461
BLAKE2b-256 04feb013a91e241c5b06ba7ae5b58dc336290b93be4fa58d4d4e6b383fcd0368

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6a673e85af01ee322ad1ea9bc451fa4cdee7b9a308533b3cee2c32641c1fadaa
MD5 d37d33f1700be4dbbb27451afc6bc88d
BLAKE2b-256 b11f5f410456eaecc85622e5f2fae3af55e719cf788c703f14887b89fd25f6e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be283f851bd04627de67b362996b8c29a37364fce33146a931b49b97062863fc
MD5 f04c0c6b695a0cc0230a7ba92fc9eb88
BLAKE2b-256 600f18a79baa73eae4ccd8912220037a75e2b138ecc2f6384449754712144d59

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 924834777176a19048c2cda58ff62dcfd39bb3278e915093e7041987733e7a36
MD5 736262a358248ab8ece9586eab34e91e
BLAKE2b-256 46fbba7fe0906b32afa7277ecfa3d838ea6baa10b09859a691bba7ce09e727ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: riftcheck-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.6 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6a2e28803465cb8f488bf7ecba21b8d602eaefac493d105ef1c79257bf761174
MD5 9de9881b578a26eb32122f7e65b98ffa
BLAKE2b-256 d514223ed180f99a7f7496e304fa9ee41fc0fca34135250003439da5d205938c

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cf695d75ae56f9941261d8c6a0e81afa1828e89ea81de507a0c3b6667dcdeca0
MD5 91c6fff649832b1c5f773799d4a80e63
BLAKE2b-256 d3b74c0fd99776914f850aa9060d94666179b0f423d9583d495dcb4b3dbabf98

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e4493db1166d203025982a8c46d56302c7a1d85ac998673dd715271f4d2db944
MD5 c60c5d592c648ef084b6394cfa1dbcf8
BLAKE2b-256 2de17141164026e5411d6ab2e70a5320e3a3afb9ed599c67f44aaf1f618d8176

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for riftcheck-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 689e322cf013b28e6d27e62a2e9ebf1ddc8e182e1749317fcb85763cd2f40237
MD5 b92d784f0faf4df7a79aa0b7d4fdf597
BLAKE2b-256 b13d2b5f733e823d8cf8a528cc369f9497ed3914d30c0b09a7bb2d11cc41eea7

See more details on using hashes here.

Provenance

The following attestation bundles were made for riftcheck-1.0.0-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