c3e53a3fc4
Addresses two pre-merge review notes: 1. Extract the sentinel-returning threshold check from getSummary into a small package-private helper (checkSufficientSummaryContent) and add a unit test for it. The new test pins the behavior the caller in ProcessSummaryGeneration relies on: the sentinel is returned for empty / image-only / sub-threshold / scanned-PDF-without-OCR inputs, and nil is returned for legitimate short notes and scanned PDFs where VLM OCR succeeded. The downstream "errors.Is(err, errInsufficientSummaryContent) → SummaryStatusFailed + skip summary chunk" branch is mechanical (no branching beyond the errors.Is check); covering it end-to-end would require mocking KnowledgeRepository / ChunkRepository / chat.Chat, for which there is no precedent in this package. 2. Switch minTextContentRunes from const to var so tests can override the threshold and so future config plumbing can adjust it at runtime without a rebuild. The new test exercises the override.