caae2ead81f3cd4a960afdcc01d368b05b6447a0
OcrAsyncRunner was bypassing TranscriptionService — building blocks directly and calling blockRepository.save(), skipping sanitizeText() and saveVersion(). Also replaced N individual deleteBlock() calls with a single bulk deleteAllBlocksByDocument() for OCR re-runs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
Python
73.2%
TypeScript
11.5%
Java
10.8%
Svelte
4.2%
Shell
0.1%