0ec86220d3da98c045527af4c9ee095170366471
- DocumentRepository: findByFileHashIsNullAndFilePathIsNotNull() - AnnotationRepository: findByDocumentIdAndFileHashIsNull() - FileService: downloadFileBytes() downloads raw bytes from S3 for hashing - AnnotationService: backfillAnnotationFileHashForDocument() sets hash on null-hash annotations - DocumentService: backfillFileHashes() iterates documents with null hash, downloads bytes, computes SHA-256, saves doc, then propagates hash to annotations - AdminController: POST /api/admin/backfill-file-hashes delegates to DocumentService Closes #56 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
Python
73.1%
TypeScript
11.5%
Java
10.9%
Svelte
4.2%
Shell
0.1%