fixture3 is a CLI for fixture-based approval testing in agent-managed codebases.
cargo install cargo-binstall
cargo binstall fixture3
fixture3 --versionUse cargo binstall fixture3 as the install path. The crates.io package is an install stub for cargo-binstall metadata, not the real CLI implementation.
fixture3 init
fixture3 doctor
fixture3 check --allThe 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.
fixture3 reduce uses DDMin to remove unnecessary fixture content while preserving the same approved result. It can remove directory subtrees and files:
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 50The best report is written under <work-dir>/best/. The active trial is reused at <work-dir>/trial-current/.
The reducer algorithm is also published as a standalone Rust crate:
cargo add fixture3-ddminUse it from Rust as fixture3_ddmin:
use fixture3_ddmin::{DdminInput, DdminOptions, OracleOutcome, ddmin};Docs: https://docs.rs/fixture3-ddmin
- Philosophy — fixtures vs snapshots, fail-closed semantics, why DDMin reduction.
- Comparison — fixture3 vs insta, ApprovalTests, expect-test, cargo-insta.
- The model — fixtures, suites, features, tags, approved and received output.
- Manifest —
fixture3.yamlschema with examples. - Files — committed vs generated paths.
- Workflow — init, check, diff, approve, status, reduce.
- Commands — full CLI reference, exit codes, fail-closed checks.
- Agent output — JSON output for every command.
- Verification — repository self-verification scripts.
- Thanks — DDMin (Zeller and Hildebrandt), ApprovalTests, insta.
- Contributing — open a detailed issue first; PRs must pass the G3RS pre-commit gate and the verification scripts.
Part of Agent Quality Controls.
MIT