Recipe QA Checklist
Every recipe in this cookbook is verified against this checklist.
Status Block
Each recipe page displays a status block:
> **Status**: Verified | **Idempotent**: Yes | **Coverage**: 95%+
- Verified: Recipe compiles and runs successfully
- Idempotent: Running twice produces identical output
- Coverage: Percentage of code covered by tests
Verification Steps
1. Build Verification
cargo build --example recipe_name
Must exit with code 0.
2. Run Verification
cargo run --example recipe_name
Must produce expected output without errors.
3. Test Coverage
cargo test --example recipe_name
All unit tests pass.
4. Determinism Check
# Run twice, compare output
cargo run --example recipe_name > out1.txt
cargo run --example recipe_name > out2.txt
diff out1.txt out2.txt
No differences for deterministic recipes.
5. Memory Check
# Verify no leaks
valgrind cargo run --example recipe_name
No memory leaks reported.
6. Lint Verification
cargo clippy --example recipe_name -- -D warnings
No warnings.
Property Tests
Each recipe includes property-based tests using proptest:
proptest! {
#[test]
fn prop_invariant_holds(input in strategy()) {
// Verify invariant for all generated inputs
prop_assert!(check_invariant(input));
}
}
Minimum 100 test cases per property.