**Goal**: Verify the integrity of registered data files by comparing their current SHA256 hashes against stored baseline values. Detect any unauthorized or accidental modifications.
Verify data integrity by comparing current SHA256 hashes against stored baselines. Use after major analysis steps or weekly to detect unauthorized changes, corruption, or accidental modifications.
/plugin marketplace add syfyufei/adrian-marketplace/plugin install truth-verification@LLM-Research-MarketplaceGoal: Verify the integrity of registered data files by comparing their current SHA256 hashes against stored baseline values. Detect any unauthorized or accidental modifications.
When to use: Verify data regularly (weekly or after major analysis steps) to detect corruption or changes.
Before running this command:
.truth/manifest.json exists with registered files/truth-verification:verify
/truth-verification:verify --file data/raw/dataset.csv
/truth-verification:verify --directory data/raw
/truth-verification:verify --report-format detailed
/truth-verification:verify --report-format json --output-file verify-report.json
/truth-verification:verify --fail-fast
Stops checking after first file integrity failure.
Hash Calculation:
Comparison:
Status Recording:
last_verified timestamp in manifest for each file.truth/logs/verify.logintegrity_status in manifestReport Generation:
✓ Verification Complete
Files verified: 15
Files modified: 0
Files missing: 0
Status: ALL DATA INTEGRITY VERIFIED ✓
Last verification: 2025-12-15T15:30:00Z
⚠ Verification Complete
Files verified: 15
Files modified: 2
Files missing: 0
Status: INTEGRITY ISSUES DETECTED
Modified Files:
❌ data/raw/dataset.csv
Expected hash: a7b3f8d9e2c1...
Current hash: c9d5b1a4e2f3...
Last verified: 2025-12-15T10:30:00Z
Time since change: 5 hours
❌ data/cleaned/results.csv
Expected hash: b8c4a9e3d1f2...
Current hash: d1e6c2b5f4a9...
Last verified: 2025-12-15T14:30:00Z
Time since change: 1 hour
| Error | Cause | Solution |
|---|---|---|
| "File not found: ..." | Registered file no longer exists | Use --mark-missing to update manifest, then investigate deletion |
| "Permission denied" | Can't read a file | Check file permissions: ls -l filename |
| "Invalid manifest" | .truth/manifest.json corrupted | Restore backup: git checkout .truth/manifest.json |
| "Hash computation timeout" | Very large file or slow disk | Use --timeout-minutes 30 to extend limit |
| "No files to verify" | Manifest has empty data_sources array | Register files first: /truth-verification:register ... |
After successful execution:
integrity_status field updated with verification timestamp.truth/logs/verify.log contains verification recordFile's current hash matches registered baseline exactly. Data is unchanged.
File's hash differs from baseline. This can happen due to:
File was registered but no longer exists on disk. This can happen due to:
/truth-verification:verify --auto-update-modified --backup-old-hashes
Recalculates hashes for files that changed, and backs up old hashes.
/truth-verification:verify --modified-since "2025-12-15T12:00:00Z"
Only reports files modified since specified timestamp.
/truth-verification:verify --compare-with-previous
Shows detailed diff of what changed since last verification.
If all files verify:
/truth-verification:status to view overall health.truth/manifest.json to version controlIf issues found:
git log -p -- data/raw/dataset.csv/truth-verification:register --file data/raw/dataset.csv --update/truth-verification:register - Register new files to establish baseline/truth-verification:status - View verification status and recommendations/truth-verification:reproduce - Check if results are reproducible given current data/truth-verification:audit - Generate comprehensive audit report/verifySmart verification command - run quality checks and final verification