https://github.com/agent-quality-controls/fixture3
Fixture-based approval testing CLI for agent-managed codebases
https://github.com/agent-quality-controls/fixture3
agent-managed ai approval-testing behavior-testing cargo cli ddmin fixture json quality rust snapshot-testing test-reduction testing verification
Last synced: 8 days ago
JSON representation
Fixture-based approval testing CLI for agent-managed codebases
- Host: GitHub
- URL: https://github.com/agent-quality-controls/fixture3
- Owner: agent-quality-controls
- License: mit
- Created: 2026-05-15T10:12:44.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2026-05-18T11:12:14.000Z (12 days ago)
- Last Synced: 2026-05-19T00:35:42.125Z (11 days ago)
- Topics: agent-managed, ai, approval-testing, behavior-testing, cargo, cli, ddmin, fixture, json, quality, rust, snapshot-testing, test-reduction, testing, verification
- Language: Rust
- Homepage: https://github.com/agent-quality-controls/fixture3
- Size: 288 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Agents: AGENTS.md
Awesome Lists containing this project
README
# fixture3
[](https://crates.io/crates/fixture3)
[](LICENSE)
[](rust-toolchain.toml)
[](https://github.com/agent-quality-controls/fixture3/actions/workflows/ci.yml)
[](https://github.com/agent-quality-controls/fixture3/issues)
`fixture3` is a CLI for fixture-based approval testing in agent-managed codebases.
## Install
```bash
cargo install cargo-binstall
cargo binstall fixture3
fixture3 --version
```
Use `cargo binstall fixture3` as the install path. The crates.io package is an install stub for cargo-binstall metadata, not the real CLI implementation.
## Quick start
```bash
fixture3 init
fixture3 doctor
fixture3 check --all
```
The full agent guide is in `fixture3 --help`. It covers the model, manifest schema, fixture substitution, files, feature selectors, JSON output, approval flow, and exit codes from the top-level help screen.
## Reducer
`fixture3 reduce` uses DDMin to remove unnecessary fixture content while preserving the same approved result. It can remove directory subtrees and files:
```bash
fixture3 reduce --suite my-suite --fixture-root behavior/fixtures/my-suite/project --work-dir .fixture3/reduce/my-suite
fixture3 reduce --suite my-suite --fixture-root behavior/fixtures/my-suite/project --work-dir .fixture3/reduce/my-suite --reducers dirs,files
fixture3 reduce --suite my-suite --fixture-root behavior/fixtures/my-suite/project --work-dir .fixture3/reduce/my-suite --reducers dirs
fixture3 reduce --suite my-suite --fixture-root behavior/fixtures/my-suite/project --work-dir .fixture3/reduce/my-suite --reducers files
fixture3 reduce --suite my-suite --fixture-root behavior/fixtures/my-suite/project --work-dir .fixture3/reduce/my-suite --max-oracle-calls 50
```
The best report is written under `/best/`. The active trial is reused at `/trial-current/`.
## DDMin Library
The reducer algorithm is also published as a standalone Rust crate:
```bash
cargo add fixture3-ddmin
```
Use it from Rust as `fixture3_ddmin`:
```rust
use fixture3_ddmin::{DdminInput, DdminOptions, OracleOutcome, ddmin};
```
Docs: https://docs.rs/fixture3-ddmin
## More
- [Philosophy](https://github.com/agent-quality-controls/fixture3/wiki/Philosophy) — fixtures vs snapshots, fail-closed semantics, why DDMin reduction.
- [Comparison](https://github.com/agent-quality-controls/fixture3/wiki/Comparison) — fixture3 vs insta, ApprovalTests, expect-test, cargo-insta.
- [The model](https://github.com/agent-quality-controls/fixture3/wiki/The-Model) — fixtures, suites, features, tags, approved and received output.
- [Manifest](https://github.com/agent-quality-controls/fixture3/wiki/Manifest) — `fixture3.yaml` schema with examples.
- [Files](https://github.com/agent-quality-controls/fixture3/wiki/Files) — committed vs generated paths.
- [Workflow](https://github.com/agent-quality-controls/fixture3/wiki/Workflow) — init, check, diff, approve, status, reduce.
- [Commands](https://github.com/agent-quality-controls/fixture3/wiki/Commands) — full CLI reference, exit codes, fail-closed checks.
- [Agent output](https://github.com/agent-quality-controls/fixture3/wiki/Agent-Output) — JSON output for every command.
- [Verification](https://github.com/agent-quality-controls/fixture3/wiki/Verification) — repository self-verification scripts.
- [Thanks](https://github.com/agent-quality-controls/fixture3/wiki/Thanks) — DDMin (Zeller and Hildebrandt), ApprovalTests, insta.
- [Contributing](.github/CONTRIBUTING.md) — open a detailed issue first; PRs must pass the G3RS pre-commit gate and the verification scripts.
---
Part of [Agent Quality Controls](https://github.com/agent-quality-controls).
## License
MIT