Deterministic execution recording and replay for AI agents
Project description
Fixtura
Deterministic execution recording and replay for AI agents — turn real agent runs into regression tests.
What this is
Fixtura watches an AI agent's tool calls (filesystem, database, API, etc.), records everything that happens through a permission-checked execution layer, and lets you replay that recording later — deterministically, without touching live systems — to debug failures or gate CI on regressions.
It's built to work with OpenEval, a deterministic (non-LLM-judge) agent evaluation engine already built and published separately. Fixtura produces the recordings; OpenEval scores them.
Why this exists
Most "agent observability" tools (Langfuse, Phoenix, Braintrust, Laminar) are built for production monitoring at scale. Fixtura's angle is narrower and more testable: recorded traces as literal test fixtures, replayable offline, usable to gate pull requests the same way unit test snapshots do. See ARCHITECTURE.md for why this is scoped the way it is, and what was deliberately cut.
Status
✅ v1.0.0 is released. See ROADMAP.md for future features like counterfactual replay (Live Branching).
OpenEval Adapter (optional, manual install required)
The OpenEval evaluation harness (Acceptance Test 4) relies on OpenEval, which is currently unpublished on PyPI. Note that the openeval namespace on PyPI is occupied by an unrelated placeholder package.
To use the OpenEval Adapter, you must manually install OpenEval via git:
ash
pip install git+https://github.com/yash161004/OpenEval.git@4cb6cfe362c770a7674f5b0111ff54646883709b
Without this, pip install fixtura will give you the core recording, permissions, and replay capabilities, but importing ixtura.tools.openeval_adapter will raise a clear RuntimeError prompting this manual installation.
Documents in this repo
| Doc | Purpose |
|---|---|
| ARCHITECTURE.md | System design, components, data flow |
| THREAT_MODEL.md | Trust boundaries, what could go wrong, mitigations |
| ROADMAP.md | Frozen v1 scope table + acceptance tests + v1.1/v2 future work |
| docs/TRACE_FORMAT_SPEC.md | Exact schema every recording must produce |
| docs/COLLABORATION.md | How the owner, Claude, ChatGPT, and Antigravity work together on this project |
Core components
- Tool Execution Layer
- Permission Engine
- Execution Recorder + Sanitizer
- Passive Replay + Step Inspection
- Trace Viewer UI (minimal)
- OpenEval adapter (evaluation harness reuse)
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fixtura-1.0.0.tar.gz.
File metadata
- Download URL: fixtura-1.0.0.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ab4df1e7baa812858c1ae7f4a5e1e7aa1e0a2b6db91b9113d74d90f215f79db
|
|
| MD5 |
28ac76c04f1f9fce13d8b27bd421b09e
|
|
| BLAKE2b-256 |
dd9af51314899ba848413967683ef4b8777c1fb7e07a860a41a83d993c528305
|
File details
Details for the file fixtura-1.0.0-py3-none-any.whl.
File metadata
- Download URL: fixtura-1.0.0-py3-none-any.whl
- Upload date:
- Size: 24.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0faf850e5ed6ed761e0dc426dba2c2198f1f0a0f90007d43fff0d6d3a09ba940
|
|
| MD5 |
c3c7b85f824f06eb91238e4ae3cdba72
|
|
| BLAKE2b-256 |
293976e8dc26c2187eba70aa04c78422c608cf6fa5bd3acd7f4bf33154e2a6d6
|