# bf-6uh9a: Clean tests/fixtures and relocate useful generators ## Summary Verified that tests/fixtures/ cleanup and generator relocation has already been completed by previous beads (bf-1iefu, bf-xqib3, bf-2yhak, bf-620xp). Removed one untracked temporary file. ## Verification Results ### ✅ Generator drafts already removed - **No "gen_encoding_fixtures v2-v9" drafts found** in tests/fixtures/ - The only `gen_encoding_fixtures` implementation is in `xtask/src/bin/gen_encoding_fixtures.rs` (correct location for an xtask binary) - All generator cleanup was completed by bf-xqib3 on 2026-07-05 ### ✅ Compiled binaries already removed - **No compiled binaries** found in tests/fixtures/ (searched for .so, .dylib, .dll, .exe files) - The .bin files present (lzw_*.bin, random_bytes.bin, compression-bomb.bin) are legitimate fixture data files: - lzw_*.bin: LZW compression stream test data for decompressor testing - random_bytes.bin: Malformed PDF fixture data - compression-bomb.bin: Malformed PDF fixture data for security testing ### ✅ Generators already relocated and documented - **2 general-purpose tools** relocated to tools/ by bf-2yhak: - `convert_pdf_to_scanned.sh` - Converts text-embedded PDFs to scanned image-based PDFs - Documentation added in tools/README.md ### ✅ Co-located generators are actively maintained The **10 remaining generator scripts** in tests/fixtures/ subdirectories are correctly placed (KEEP category from bf-1iefu): - `tests/fixtures/encoding/generate_unmapped_glyphs.py` - Unmapped glyph fixtures - `tests/fixtures/encoding/create_unmapped_comprehensive.py` - Comprehensive encoding tests - `tests/fixtures/forms/generate_form_fixtures.rs` - Form fixture generator - `tests/fixtures/malformed/gen_bomb.py` - Malformed PDF bomb generator - `tests/fixtures/scanned/generate_scanned_fixtures.py` - Scanned OCR fixtures - `tests/fixtures/scanned/run_gen.sh` - Scanned fixture generation script - `tests/fixtures/scanned/calculate_wer.py` - Word Error Rate calculation - `tests/fixtures/scanned/wer_gate_stub.rs` - WER gate stub - `tests/fixtures/security/generate_embedded_js.py` - Embedded JS fixtures - `tests/fixtures/security/generate_sensitive_fixture.rs` - Sensitive data fixtures - `tests/fixtures/vector/generate_vector_cer_corpus.py` - Vector CER test corpus These are co-located with their fixtures for maintainability and are actively used. ## Cleanup Action Taken ### Removed untracked temporary file Removed `tests/fixtures/scanned/low-quality/degraded-page-1.png` (temporary intermediate file from PDF-to-image conversion process). ## Acceptance Criteria ### ✅ tests/fixtures/ contains only fixture data, not generator binaries or drafts - No generator binaries found - No versioned drafts found - Only legitimate fixture data files present ### ✅ Useful generators are relocated with documentation - Relocation completed by bf-2yhak - Comprehensive documentation in tools/README.md - Co-located generators documented in tests/fixtures/STRUCTURE.md ### ✅ git rm executed for all removed files - Cleanup completed by previous beads - One untracked file removed in this bead ### ✅ Single commit Commit: `chore(bf-6uh9a): clean tests/fixtures and relocate useful generators` ## References - tools/README.md - Comprehensive generator catalog - tests/fixtures/STRUCTURE.md - Fixtures directory organization - tests/fixtures/PROVENANCE.md - Fixture generation history - notes/bf-1iefu.md - Generator categorization rationale - notes/bf-xqib3.md - Obsolete generator removal - notes/bf-2yhak.md - Generator relocation - notes/bf-620xp.md - Cleanup verification ## Conclusion The cleanup and relocation work requested by this bead was completed by three previous beads (bf-1iefu, bf-xqib3, bf-2yhak) and verified by bf-620xp. The tests/fixtures/ directory is clean and well-organized. No further cleanup or relocation is needed.