# Verification Note: bf-4mkhv - Fix pdftract-cli hash.rs API drift ## Task Description Fix six compile errors in `crates/pdftract-cli/src/hash.rs` from pdftract-core API changes. ## Investigation Upon inspection, the hash.rs file **had no compile errors** - only unused import warnings: - `use std::fs::File;` (line 12) - unused - `use std::io::{self, Read};` (line 13) - unused The specific API issues mentioned in the bead description were already correctly implemented: 1. **compute_fingerprint arity** (line 123): Already takes 3 arguments with `Some(&source as &dyn PdfSource)` 2. **len Result** (line 187): Already propagates with `?` operator: `let len = source.len()?;` 3. **read_range vs read_at** (line 192): Already uses correct method `read_at` 4. **Catalog fields** (lines 254, 256): Code correctly accesses trailer dictionary, not catalog fields ## Changes Made Cleaned up unused imports in hash.rs: - Removed `use std::fs::File;` - Removed `use std::io::{self, Read};` ## Verification ```bash cargo check -p pdftract-cli --lib --bins # Result: Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s # Errors: 0 # Warnings: 204 (none in hash.rs) ``` hash.rs compiles cleanly with no errors or warnings. ## Acceptance Criteria - ✅ `cargo check -p pdftract-cli` emits none of the hash.rs errors (no errors existed) - ✅ `cargo check --workspace` compiles cleanly (0 errors) - ✅ No logic changes — only cleaned up unused imports ## Conclusion The bead described compile errors that were either already fixed or were attributed to the wrong file. The hash.rs API usage was already correct. Only minor cleanup of unused imports was performed.