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

Uploaded CPython 3.13Windows x86-64

riftcheck-1.0.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

riftcheck-1.0.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

riftcheck-1.0.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

riftcheck-1.0.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

riftcheck-1.0.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: riftcheck-1.0.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4b50ccf078984eb25f8b3dc0aee7c79f10e87d2e389cf29888706fdc66990d0f
MD5 d52d8786f11de6e03da7baa843da9a60
BLAKE2b-256 3a5f8ce48bc493ee273b9fd43eab6599fe4989c8163d119ce14882812112cfc6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f76f51215d2622f482f2b4fd794912868518a01db402f8a971df5d493f32a80d
MD5 d92a58b4798ae2af9753fcd5a527770c
BLAKE2b-256 f3982e7ac04116beccb9ddde1bb385fba794ed3bd8419bc0bb2ac09e603c300f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 393129f979abe22bf49d2d1ec3db4d038ea36e3a1db4582c3a7b13ce5baad572
MD5 dccc922a35324f28102e95538e7ae183
BLAKE2b-256 f6894312045d4de120ffcf8873be99e444da53cb7d4017132989b28c6e8464a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4f5ad11997628855469eebd3c7e72845d1ef8c4c1ae709107667a98211945cd7
MD5 eaf82a1a98b6ed8a4d17caa622349092
BLAKE2b-256 710f5d161ee6da504cd45fae91d8eb74ae649151e9b43983bd20cda987636afa

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: riftcheck-1.0.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b11577058a143475d119821fcb47480af04b365b8dcb4c75bfef3fb9be8119bd
MD5 a880cc6a87d4fb970b6f40ee594ef0c5
BLAKE2b-256 83ed627f66e671fb51a5b7c5dec884a066638bfd4dbe9ff4bc71f6b86b54a913

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7eeb40a867de830de3817caf0f49a8828dc30f50b9b37f5d23baa184ea51001a
MD5 deafd21c33c12686571b5d0299713bae
BLAKE2b-256 d2e8e55a47e3b243f90cce0fdc16d834776fea090be9462ec9e3d084a84b6e6c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b9668ce866be75f0cd5b8b1bcbc1a347e32487223df22ee593680825a0502f8
MD5 fd511adbf629d4f75ba5749d4c53ace0
BLAKE2b-256 d049190a34fc9b2558aeb713a62f212bf17c89a82854422a197705099732d918

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5b7e3cf9bf740502efe62834352039022880b9ba48123eaafbea17f3d8f51d9c
MD5 2b5615a166ac4605761c36992f729496
BLAKE2b-256 0a4876c9459e39479e23f37a7942abc183690833475bd783f65f6eb341599e81

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: riftcheck-1.0.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 db7448a67fb93c7f6cf8d747701d61beb6c122eabbc39e2bdbbc59eb7e5e6446
MD5 d4bd1305cd9f1d71773f51fe4a56230a
BLAKE2b-256 1ae01f0ff01c2ae72332e839f9a5690cf9eff5f1fa04619da43e4c15ae7eee44

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87153c1b78ce515f68aede2aeaca730e9f0243cadc193c05103764a724c6e0c2
MD5 d2e2a2f5e32ae18c2545d6af951630fd
BLAKE2b-256 d0547657f8bf21a6221178a00f02ba79cfe25b3c0be80fda8e3b04791e3dee2e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8daec89fd3f02b5cc9c3ea3424322069a962a483c089dfb57d382c7fd71a109e
MD5 a296997e5868a529101c52524c125bce
BLAKE2b-256 2295701dc639b39c5b604997cd6fc123b411baed2b89458e8e4aa2e66b6b11a0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dfa0ea70fe987171b50621bfe5acb5ee24dc7e78c7439bc5ade721c1565bbb18
MD5 a2e08a6e3fc1a083826abe75d587b126
BLAKE2b-256 f50b7e8b3ae5cf3d951038911e449c75240ab3c07651bc1b3485d9d8d5c1ec9b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: riftcheck-1.0.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d7051ae7d2adccc48a7ea24c8f9b19a4842245bae2bdb489e1b75d95a75693fb
MD5 70e249f471a9bffb4043b0edbb13f112
BLAKE2b-256 c9e1bee198e6b7d6b2ca1e4baae34a75856a9fb5e79c8f827d45b18f05a156bc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 206c17164f8f458626785be81d7eaac5dcf69552512a0b8ab5088a183d162037
MD5 f911cdbf9255b6c14ab13cc3626dd4d0
BLAKE2b-256 163f12d7197f699e58691b9be535dc00aa0d9a347cca898b64846eca8522ec73

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f7307bb1d0e0dda9302025ba3156a767f57ef244ded11ac4097ee21a60e0ec8
MD5 511b80aec542698fcf7ca38c12559110
BLAKE2b-256 c2fb535eacb7823b2db3c0517b7db997253faacafbd9c7a2269673e10150ad3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for riftcheck-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b58917dc90ab414c5742a6fd76f1c6c7d59aad4aa8c60bfc911eac309ba6a98b
MD5 aa72d71bb5d96039a6f1a1c4f1058654
BLAKE2b-256 656766b7be0f377956f152ce7e26d11dca739e457a5d474aa139e9464a26e10b

See more details on using hashes here.

Provenance

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