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 CodeMeaning
UUnknown — item has never been included in a validation scan
VValid — most recent validation scan found no issues
IInvalid — validation failed; see validation_error field
NNo 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 TypesCrateLink
FLAC audio (.flac)claxonclaxon on GitHub
Images (.jpg, .jpeg, .png, .gif, .tiff, .bmp)imageimage on GitHub
PDF documents (.pdf)lopdflopdf 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.