Validators
FsPulse can optionally validate file contents during the analysis phase of a scan. To enable validation, pass the --validate
flag when initiating a scan.
fspulse scan --root-path /your/path --validate
Validation allows FsPulse to go beyond basic metadata inspection and attempt to decode the file's contents using format-specific logic. This helps detect corruption or formatting issues in supported file types.
Validation Status Codes
Each item in the database has an associated validation status:
Status Code | Meaning |
---|---|
U | Unknown — item has never been included in a validation scan |
V | Valid — most recent validation scan found no issues |
I | Invalid — validation failed; see validation_error field |
N | No Validator — FsPulse does not currently support this file type |
The
validation_error
field contains the error message returned by the validator only if the item was marked invalid. This field is empty for valid items or items with no validator.
Note: Some validation "errors" surfaced by the underlying libraries may not indicate corruption, but rather unsupported edge cases or metadata formatting. Always review the error messages before assuming a file is damaged.
Supported Validators
FsPulse relies on external Rust crates for performing format-specific validation. We gratefully acknowledge the work of the developers behind these crates for making them available to the Rust community.
File Types | Crate | Link |
---|---|---|
FLAC audio (.flac ) | claxon | claxon on GitHub |
Images (.jpg , .jpeg , .png , .gif , .tiff , .bmp ) | image | image on GitHub |
PDF documents (.pdf ) | lopdf | lopdf on GitHub |
Validation support may expand in future versions of FsPulse to cover additional file types such as ZIP archives, audio metadata, or XML/JSON files.
$1 See the Query Syntax page for full details on query clauses and supported filters.