Repository Analysis

LibrePhotos/librephotos

A self-hosted open source photo management service.

15.5 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of LibrePhotos/librephotos, a Python project with 8,000 GitHub stars. SynthScan v2.0 examined 137,797 lines of code across 1200 source files, recording 1809 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 15.5 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

15.5
Adjusted Score
15.5
Raw Score
100%
Time Factor
2026-07-07
Last Push
8.0K
Stars
Python
Language
137.8K
Lines of Code
1.2K
Files
1.8K
Pattern Hits
2026-07-14
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 6HIGH 2MEDIUM 112LOW 1689

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1809 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers1264 hits · 1275 pts
SeverityFileLineSnippetContext
LOWapps/frontend/src/api_client/stacks/hooks.ts150export function useRemoveFromStackMutation() {CODE
LOWapps/frontend/src/api_client/stacks/hooks.ts178export function useCreateManualStackMutation() {CODE
LOW…c/api_client/photos/hooks/usePhotoMetadataMutations.ts21export function useUpdatePhotoMetadataMutation() {CODE
LOW…c/api_client/photos/hooks/usePhotoMetadataMutations.ts42export function useRevertMetadataEditMutation() {CODE
LOW…c/api_client/photos/hooks/usePhotoMetadataMutations.ts61export function useRevertAllMetadataEditsMutation() {CODE
LOW…c/api_client/photos/hooks/usePhotoMetadataMutations.ts80export function useBulkUpdateMetadataMutation() {CODE
LOW…pi_client/photos/hooks/useFetchMetadataHistoryQuery.ts14export function useFetchMetadataHistoryQuery(CODE
LOW…/api_client/photos/hooks/useFetchPhotoMetadataQuery.ts14export function useFetchPhotoMetadataQuery(CODE
LOWapps/frontend/src/util/util.ts42export function getPhotosFlatFromSingleGroup(group: DatePhotosGroup) {CODE
LOWapps/frontend/src/util/util.ts46export function getPhotosFlatFromGroupedByDate(photosGroupedByDate: DatePhotosGroup[]) {CODE
LOWapps/frontend/src/util/util.ts62export function addTempElementsToFlatList(photosCount: number) {CODE
LOWapps/frontend/src/util/util.ts74export function getPhotosFlatFromGroupedByUser(photosGroupedByUser: any[]) {CODE
LOWapps/frontend/src/components/react-pig/index.tsx122// export function addTempElementsToFlatList(photosCount: number): ImageItem[] {COMMENT
LOW…ps/frontend/src/components/charts/FaceClusterGraph.tsx42function extractPhotoHashFromFaceUrl(faceUrl: string): string | null {CODE
LOW…d/src/components/charts/LocationDurationStackedBar.tsx11export function LocationDurationStackedBar() {CODE
LOW…/components/modals/ModalNextcloudScanDirectoryEdit.tsx15export function ModalNextcloudScanDirectoryEdit(props: Props) {CODE
LOW…nd/src/components/modals/ModalConfigBurstDetection.tsx52export function ModalConfigBurstDetection({ opened, onClose, availableRules, onAddRules }: Props) {CODE
LOWapps/frontend/src/service/notifications/albums.ts52function deleteAutogeneratedAlbums() {CODE
LOWapps/frontend/src/routes/__root.tsx9export function AppShellPublicWithoutHeader() {CODE
LOWapps/backend/api/batch_jobs.py12def batch_calculate_clip_embedding(user):CODE
LOWapps/backend/api/stack_detection.py132def _detect_bursts_hard_criteria(user, hard_rules, progress_callback=None):CODE
LOWapps/backend/api/stack_detection.py200def _detect_bursts_soft_criteria(CODE
LOWapps/backend/api/image_similarity.py71def build_image_similarity_index(user):CODE
LOWapps/backend/api/services.py173def has_required_cpu_features(service):CODE
LOWapps/backend/api/date_time_extractor.py64def _extract_no_tz_datetime_from_str(x, regexp=REGEXP_NO_TZ, group_mapping=None):CODE
LOWapps/backend/api/date_time_extractor.py253 def _check_condition_filename(self, path):CODE
LOWapps/backend/api/background_tasks.py41def add_photos_to_album_things():CODE
LOWapps/backend/api/perceptual_hash.py21def calculate_perceptual_hash(image_path: str, hash_size: int = 8) -> str | None:CODE
LOWapps/backend/api/perceptual_hash.py47def calculate_hash_from_thumbnail(thumbnail_path: str) -> str | None:CODE
LOWapps/backend/api/admin.py22def deduplicate_faces_function(queryset):CODE
LOWapps/backend/api/stats.py541def get_searchterms_wordcloud(user):CODE
LOWapps/backend/api/burst_detection_rules.py122 def _check_condition_filename(self, path):CODE
LOWapps/backend/api/burst_detection_rules.py211 def _check_exif_sequence_number(self, photo, exif_tags):CODE
LOWapps/backend/api/burst_detection_rules.py335def group_photos_by_timestamp(photos, interval_ms=2000, require_same_camera=True):CODE
LOWapps/backend/api/burst_detection_rules.py399def group_photos_by_visual_similarity(photos, similarity_threshold=15):CODE
LOWapps/backend/api/burst_detection_rules.py541def get_default_burst_detection_rules():CODE
LOWapps/backend/api/burst_detection_rules.py546def get_all_predefined_burst_rules():CODE
LOWapps/backend/api/face_classify.py233def delete_persons_without_faces():CODE
LOWapps/backend/api/thumbnails.py119def create_animated_thumbnail(input_path, output_height, output_path, hash, file_type):CODE
LOWapps/backend/api/thumbnails.py145def create_thumbnail_for_video(input_path, output_path, hash, file_type):CODE
LOWapps/backend/api/thumbnails.py166def does_static_thumbnail_exist(output_path, hash):CODE
LOWapps/backend/api/thumbnails.py172def does_video_thumbnail_exist(output_path, hash):CODE
LOWapps/backend/api/semantic_search.py28def calculate_query_embeddings(query):CODE
LOWapps/backend/api/face_extractor.py92def extract_from_face_service(image_path, big_thumbnail_path):CODE
LOWapps/backend/api/stacks/live_photo.py38def _locate_google_embedded_video(data: bytes) -> int:CODE
LOWapps/backend/api/stacks/live_photo.py48def _locate_samsung_embedded_video(data: bytes) -> int:CODE
LOWapps/backend/api/stacks/live_photo.py57def has_embedded_motion_video(path: str) -> bool:CODE
LOWapps/backend/api/stacks/live_photo.py88def extract_embedded_motion_video(path: str, output_hash: str) -> str | None:CODE
LOWapps/backend/api/stacks/live_photo.py129def find_apple_live_photo_video(image_path: str) -> str | None:CODE
LOWapps/backend/api/stacks/live_photo.py186def _create_embedded_live_photo_stack(CODE
LOWapps/backend/api/stacks/live_photo.py229def _create_apple_live_photo_stack(CODE
LOWapps/backend/api/stacks/live_photo.py277def process_live_photos_batch(user: "User", photos: list["Photo"]) -> dict:CODE
LOWapps/backend/api/directory_watcher/scan_jobs.py86def _select_groups_to_process(CODE
LOWapps/backend/api/directory_watcher/scan_jobs.py117def wait_for_group_and_process_metadata(CODE
LOWapps/backend/api/directory_watcher/file_grouping.py94def find_matching_image_for_video(video_path: str, user) -> Photo | None:CODE
LOWapps/backend/api/directory_watcher/utils.py28def _exceeds_failure_threshold(error_count: int, target: int) -> bool:CODE
LOWapps/backend/api/directory_watcher/repair_jobs.py16def repair_ungrouped_file_variants(user, job_id: UUID):CODE
LOW…ckend/api/tests/test_bktree_and_duplicate_detection.py362 def test_batch_detection_exact_only(self):CODE
LOW…ckend/api/tests/test_bktree_and_duplicate_detection.py377 def test_batch_detection_visual_only(self):CODE
LOW…ckend/api/tests/test_bktree_and_duplicate_detection.py419 def test_batch_detection_with_null_options(self):CODE
1204 more matches not shown…
Excessive Try-Catch Wrapping183 hits · 232 pts
SeverityFileLineSnippetContext
LOWapps/backend/nextcloud/directory_watcher.py25 except Exception:CODE
LOWapps/backend/nextcloud/directory_watcher.py87 except Exception as e:CODE
LOWapps/backend/nextcloud/views.py46 except Exception:CODE
LOWapps/backend/api/batch_jobs.py65 except Exception as e:CODE
LOWapps/backend/api/stack_detection.py167 except Exception as e:CODE
LOWapps/backend/api/stack_detection.py368 except Exception as e:CODE
LOWapps/backend/api/duplicate_detection.py531 except Exception as e:CODE
LOWapps/backend/api/services.py125 except Exception as e:CODE
MEDIUMapps/backend/api/services.py98def stop_service(service):CODE
LOWapps/backend/api/background_tasks.py37 except Exception:CODE
LOWapps/backend/api/perceptual_hash.py42 except Exception as e:CODE
LOWapps/backend/api/perceptual_hash.py78 except Exception as e:CODE
LOWapps/backend/api/all_tasks.py65 except Exception:CODE
LOWapps/backend/api/all_tasks.py74 except Exception:CODE
LOWapps/backend/api/all_tasks.py114 except Exception as e:CODE
LOWapps/backend/api/all_tasks.py135 except Exception as e:CODE
LOWapps/backend/api/util.py44 except Exception:CODE
LOWapps/backend/api/util.py77 except Exception:CODE
MEDIUMapps/backend/api/util.py73def is_number(s):CODE
LOWapps/backend/api/nextcloud.py18 except Exception:CODE
LOWapps/backend/api/llm.py28 except Exception as e:CODE
MEDIUMapps/backend/api/llm.py29 print(f"Error converting image to data URI: {str(e)}")CODE
LOWapps/backend/api/llm.py57 except Exception as e:CODE
MEDIUMapps/backend/api/llm.py58 print(f"Error converting image: {e}")CODE
MEDIUMapps/backend/api/llm.py75 print("Error with LLM service: Cannot connect to service on port 8008")CODE
MEDIUMapps/backend/api/llm.py78 print("Error with LLM service: Request timeout")CODE
LOWapps/backend/api/llm.py80 except Exception as e:CODE
MEDIUMapps/backend/api/llm.py81 print(f"Error with LLM service: {e}")CODE
LOWapps/backend/api/apps.py17 except Exception:CODE
LOWapps/backend/api/autoalbum.py41 except Exception as e:CODE
LOWapps/backend/api/autoalbum.py151 except Exception as e:CODE
LOWapps/backend/api/autoalbum.py207 except Exception as e:CODE
MEDIUMapps/backend/api/image_captioning.py38 print("Error with Moondream captioning service: Request timeout")CODE
LOWapps/backend/api/image_captioning.py40 except Exception as e:CODE
MEDIUMapps/backend/api/image_captioning.py41 print(f"Error with Moondream captioning service: {e}")CODE
LOWapps/backend/api/stats.py587 except Exception:CODE
LOWapps/backend/api/stats.py610 except Exception:CODE
LOWapps/backend/api/stats.py673 except Exception:CODE
LOWapps/backend/api/stats.py734 except Exception:CODE
LOWapps/backend/api/stats.py750 except Exception:CODE
LOWapps/backend/api/api_util.py36 except Exception:CODE
MEDIUMapps/backend/api/api_util.py33def has_hidden_attribute(filepath):CODE
LOWapps/backend/api/thumbnails.py114 except Exception as e:CODE
LOWapps/backend/api/thumbnails.py140 except Exception as e:CODE
LOWapps/backend/api/thumbnails.py161 except Exception as e:CODE
MEDIUMapps/backend/api/thumbnails.py57def create_thumbnail(CODE
MEDIUMapps/backend/api/thumbnails.py119def create_animated_thumbnail(input_path, output_height, output_path, hash, fileCODE
MEDIUMapps/backend/api/thumbnails.py145def create_thumbnail_for_video(input_path, output_path, hash, file_type):CODE
LOWapps/backend/api/face_extractor.py95 except Exception:CODE
MEDIUMapps/backend/api/face_extractor.py92def extract_from_face_service(image_path, big_thumbnail_path):CODE
LOWapps/backend/api/social_graph.py127 except Exception:STRING
MEDIUMapps/backend/api/social_graph.py94def build_social_graph(user):CODE
LOWapps/backend/api/stacks/live_photo.py83 except Exception as e:CODE
LOWapps/backend/api/stacks/live_photo.py124 except Exception as e:CODE
LOWapps/backend/api/stacks/live_photo.py299 except Exception as e:CODE
LOWapps/backend/api/directory_watcher/scan_jobs.py147 except Exception as e:CODE
LOWapps/backend/api/directory_watcher/scan_jobs.py209 except Exception as e:CODE
LOWapps/backend/api/directory_watcher/scan_jobs.py405 except Exception as e:CODE
LOWapps/backend/api/directory_watcher/scan_jobs.py428 except Exception as e:CODE
LOWapps/backend/api/directory_watcher/scan_jobs.py465 except Exception as e:CODE
123 more matches not shown…
Self-Referential Comments55 hits · 192 pts
SeverityFileLineSnippetContext
MEDIUMapps/backend/api/face_classify.py35 # Create a color mapping for each personCOMMENT
MEDIUMapps/backend/api/directory_watcher/file_handlers.py68 # Create the File record (File.create handles race conditions via unique path constraint)COMMENT
MEDIUMapps/backend/api/tests/test_file_path_uniqueness.py88 # Create a temp directory for test filesCOMMENT
MEDIUMapps/backend/api/tests/test_duplicate_filtering.py272 # Create a pending duplicate firstCOMMENT
MEDIUMapps/backend/api/tests/test_api_robustness.py42 # Create a duplicateCOMMENT
MEDIUMapps/backend/api/tests/test_social_graph.py24 # Create a photoCOMMENT
MEDIUMapps/backend/api/tests/test_social_graph.py31 # Create a personCOMMENT
MEDIUMapps/backend/api/tests/test_social_graph.py34 # Create a faceCOMMENT
MEDIUMapps/backend/api/tests/test_social_graph.py51 # Create a photoCOMMENT
MEDIUMapps/backend/api/tests/test_photo_metadata.py556 # Create an editCOMMENT
MEDIUMapps/backend/api/tests/test_thumbnail_migration.py19 # Create a temporary directory for test thumbnailsCOMMENT
MEDIUMapps/backend/api/tests/test_photo_model_integration.py292 # Create a photo with search dataCOMMENT
MEDIUMapps/backend/api/tests/test_photo_model_integration.py313 # Create a photo with search dataCOMMENT
MEDIUMapps/backend/api/tests/test_photo_model_integration.py320 # Create an album date and add the photo to itCOMMENT
MEDIUMapps/backend/api/tests/test_search_term_examples.py16 # Create a photo with captions and geolocationCOMMENT
MEDIUMapps/backend/api/tests/test_search_term_examples.py51 # Create a photo without captionsCOMMENT
MEDIUMapps/backend/api/tests/test_search_term_examples.py86 # Create a photo with captions and geolocationCOMMENT
MEDIUMapps/backend/api/tests/test_duplicate_detection.py477 # Create a duplicate and manually remove all but one photoCOMMENT
MEDIUMapps/backend/api/tests/test_multi_user_isolation.py231 # Create a stack for user1COMMENT
MEDIUMapps/backend/api/tests/test_redetection_idempotency.py500 # Create a photo (create_test_photo adds its own file)COMMENT
MEDIUMapps/backend/api/tests/test_redetection_idempotency.py509 # Create a JPEG fileCOMMENT
MEDIUMapps/backend/api/tests/test_redetection_idempotency.py276 # Create a duplicateCOMMENT
MEDIUMapps/backend/api/tests/test_redetection_idempotency.py306 # Create a manual stackCOMMENT
MEDIUMapps/backend/api/tests/test_redetection_idempotency.py330 # Create a duplicate groupCOMMENT
MEDIUMapps/backend/api/tests/test_redetection_idempotency.py363 # Create a pending duplicateCOMMENT
MEDIUMapps/backend/api/tests/test_detection_edge_cases.py256 # Create a regular test photo (which has main_file)COMMENT
MEDIUMapps/backend/api/tests/test_thumbnail_naming.py19 # Create a photo with thumbnailCOMMENT
MEDIUMapps/backend/api/tests/test_thumbnail_naming.py49 # Create a photoCOMMENT
MEDIUMapps/backend/api/tests/test_stats_accuracy.py292 # Create a valid stackCOMMENT
MEDIUMapps/backend/api/tests/test_stats_accuracy.py300 # Create an old duplicate-type stack (should be excluded)COMMENT
MEDIUMapps/backend/api/tests/test_perceptual_hash.py391 # Create a horizontal gradient patternCOMMENT
MEDIUMapps/backend/api/tests/test_perceptual_hash.py398 # Create a vertical gradient pattern (different structure)COMMENT
MEDIUMapps/backend/api/tests/test_perceptual_hash.py550 # Create a large list of hashesCOMMENT
MEDIUMapps/backend/api/tests/test_perceptual_hash.py564 # Create a CMYK imageCOMMENT
MEDIUMapps/backend/api/tests/test_perceptual_hash.py655 # Create a list of 100 hashesCOMMENT
MEDIUMapps/backend/api/tests/utils.py176 # Create the photo with remaining kwargsCOMMENT
MEDIUMapps/backend/api/tests/test_im2txt.py60 # Define the path to the output JSON fileCOMMENT
MEDIUMapps/backend/api/tests/test_photo_lifecycle.py533 # Create a temp file to simulate a real fileCOMMENT
MEDIUMapps/backend/api/tests/test_photo_lifecycle.py539 # Create a file that's only used by one photoCOMMENT
MEDIUMapps/backend/api/tests/test_photo_lifecycle.py486 # Create a shared fileCOMMENT
MEDIUMapps/backend/api/tests/test_live_photo.py290 # Create a regular JPEG without embedded videoCOMMENT
MEDIUMapps/backend/api/tests/test_live_photo.py263 # Create a fake motion photo fileCOMMENT
MEDIUMapps/backend/api/tests/test_live_photo.py422 # Create a mock photo with existing stackCOMMENT
MEDIUMapps/backend/api/tests/test_live_photo.py444 # Create a test fileCOMMENT
MEDIUMapps/backend/api/tests/test_live_photo.py455 # Create a test photo with required fieldsCOMMENT
MEDIUMapps/backend/api/tests/test_live_photo.py474 # Create a real video file to avoid foreign key issuesCOMMENT
MEDIUMapps/backend/api/tests/test_live_photo.py508 # Create a real video fileCOMMENT
MEDIUMapps/backend/api/tests/test_stack_detection.py200 # Create a test stackCOMMENT
MEDIUMapps/backend/api/tests/test_scan_percentage_bug.py150 # Create a temporary empty directory for testingCOMMENT
MEDIUMapps/backend/api/tests/test_migration_0101.py38 # Create a photo with captionCOMMENT
MEDIUMapps/backend/api/tests/test_directory_watcher_fix.py14 # Create a photo without places365 captionsCOMMENT
MEDIUMapps/backend/api/tests/test_directory_watcher_fix.py43 # Create a photo with places365 captionsCOMMENT
MEDIUMapps/backend/api/serializers/album_date.py68 # This method is removed as we're directly including paginated photos in the response.COMMENT
MEDIUMapps/backend/api/views/photo_metadata.py152 # Create a new edit record for the revertCOMMENT
MEDIUM…end/service/image_captioning/api/im2txt/build_vocab.py53 # Create a vocab wrapper and add some special tokens.COMMENT
Fake / Example Data85 hits · 86 pts
SeverityFileLineSnippetContext
LOWdeploy/docker/unified/entrypoint.sh56email = os.environ.get('ADMIN_EMAIL', 'admin@example.com')CODE
LOWapps/frontend/e2e/test/pages/login-page.ts15 .should("have.attr", "placeholder", "Username")CODE
LOWapps/frontend/e2e/test/pages/login-page.ts24 .should("have.attr", "placeholder", "Password")CODE
LOWapps/frontend/src/locales/sk/translation.json22 "placeholder": "Minimálne hodnotenie"CODE
LOWapps/frontend/src/locales/sk/translation.json116 "placeholder": "Výsledky sémantického vyhľadávania",CODE
LOWapps/frontend/src/locales/sk/translation.json182 "placeholder": "Názov albumu",CODE
LOWapps/frontend/src/locales/pl/translation.json101 "placeholder": "Wyniki wyszukiwania semantycznego",CODE
LOWapps/frontend/src/locales/pl/translation.json111 "placeholder": "Minimalna ocena"CODE
LOWapps/frontend/src/locales/pl/translation.json421 "placeholder": "Tytuł albumu",CODE
LOWapps/frontend/src/locales/sv/translation.json101 "placeholder": "Lägsta betyg"CODE
LOWapps/frontend/src/locales/sv/translation.json115 "placeholder": "Semantiska sökresultat",CODE
LOWapps/frontend/src/locales/sv/translation.json203 "placeholder": "Albumtitel"CODE
LOWapps/frontend/src/locales/da/translation.json131 "placeholder": "Semantisk søgning resultater",CODE
LOWapps/frontend/src/locales/da/translation.json141 "placeholder": "Minimum vurdering"CODE
LOWapps/frontend/src/locales/pt_BR/translation.json78 "placeholder": "Máximo de resultados de pesquisa semântica",CODE
LOWapps/frontend/src/locales/pt_BR/translation.json95 "placeholder": "Classificação mínima"CODE
LOWapps/frontend/src/locales/pt_BR/translation.json272 "placeholder": "Título do álbum",CODE
LOWapps/frontend/src/locales/ja/translation.json76 "placeholder": "セマンティック検索結果",CODE
LOWapps/frontend/src/locales/ja/translation.json85 "placeholder": "最小レート"CODE
LOWapps/frontend/src/locales/it/translation.json84 "placeholder": "Minimo voto"CODE
LOWapps/frontend/src/locales/it/translation.json148 "placeholder": "Risultati ricerca semantica",CODE
LOWapps/frontend/src/locales/it/translation.json340 "placeholder": "Titolo album"CODE
LOWapps/frontend/src/locales/nb_NO/translation.json82 "placeholder": "Semantiske søkeresultater",CODE
LOWapps/frontend/src/locales/nb_NO/translation.json100 "placeholder": "Minimumsvurdering"CODE
LOWapps/frontend/src/locales/nb_NO/translation.json619 "placeholder": "Albumsnavn",CODE
LOWapps/frontend/src/locales/cs/translation.json100 "placeholder": "Výsledky sémantického vyhledávání",CODE
LOWapps/frontend/src/locales/cs/translation.json109 "placeholder": "Minimální hodnocení"CODE
LOWapps/frontend/src/locales/cs/translation.json170 "placeholder": "Název alba",CODE
LOWapps/frontend/src/locales/zh_Hans/translation.json85 "placeholder": "语义化搜索结果",CODE
LOWapps/frontend/src/locales/zh_Hans/translation.json95 "placeholder": "最低等级"CODE
LOWapps/frontend/src/locales/zh_Hans/translation.json646 "placeholder": "相册标题",CODE
LOWapps/frontend/src/locales/ru/translation.json106 "placeholder": "Результаты семантического поиска",CODE
LOWapps/frontend/src/locales/ru/translation.json116 "placeholder": "Минимальный рейтинг"CODE
LOWapps/frontend/src/locales/ru/translation.json206 "placeholder": "Название альбома",CODE
LOWapps/frontend/src/locales/zh_Hant/translation.json98 "placeholder": "最低評級"CODE
LOWapps/frontend/src/locales/zh_Hant/translation.json163 "placeholder": "相冊名稱"CODE
LOWapps/frontend/src/locales/pt/translation.json47 "placeholder": "Resultados da pesquisa semântica",CODE
LOWapps/frontend/src/locales/pt/translation.json105 "placeholder": "Classificação mínima"CODE
LOWapps/frontend/src/locales/pt/translation.json323 "placeholder": "Título do álbum",CODE
LOWapps/frontend/src/locales/pt/translation.json944 "placeholder": "Procurar fotos, correr comandos...",CODE
LOWapps/frontend/src/locales/uk/translation.json108 "placeholder": "Результати семантичного пошуку"CODE
LOWapps/frontend/src/locales/uk/translation.json140 "placeholder": "Мінімальний рейтинг"CODE
LOWapps/frontend/src/locales/uk/translation.json234 "placeholder": "Назва альбому",CODE
LOWapps/frontend/src/locales/nl/translation.json106 "placeholder": "Semantische zoekresultaten",CODE
LOWapps/frontend/src/locales/nl/translation.json118 "placeholder": "Minimale waardering"CODE
LOWapps/frontend/src/locales/nl/translation.json651 "placeholder": "Albumnaam",CODE
LOWapps/frontend/src/locales/hi/translation.json145 "placeholder": "सिमेंटिक खोज परिणाम"CODE
LOWapps/frontend/src/locales/hi/translation.json151 "placeholder": "न्यूनतम रेटिंग"CODE
LOWapps/frontend/src/locales/hi/translation.json454 "placeholder": "एल्बम का शीर्षक",CODE
LOWapps/frontend/src/locales/de/translation.json93 "placeholder": "Anzahl der Resultate",CODE
LOWapps/frontend/src/locales/de/translation.json103 "placeholder": "Minimale Bewertung"CODE
LOWapps/frontend/src/locales/de/translation.json661 "placeholder": "Albumtitel",CODE
LOWapps/frontend/src/locales/ko/translation.json142 "placeholder": "시맨틱(의미 기반) 검색 결과",CODE
LOWapps/frontend/src/locales/ko/translation.json152 "placeholder": "최소 평점"CODE
LOWapps/frontend/src/locales/ko/translation.json239 "placeholder": "앨범 제목",CODE
LOWapps/frontend/src/locales/fi/translation.json97 "placeholder": "Semanttiset hakutulokset"CODE
LOWapps/frontend/src/locales/fi/translation.json114 "placeholder": "Vähimmäisarvosana"CODE
LOWapps/frontend/src/locales/fi/translation.json163 "placeholder": "Albumin otsikko",CODE
LOWapps/frontend/src/locales/eo/translation.json183 "placeholder": "Titolo de albumo",CODE
LOWapps/frontend/src/locales/fr/translation.json93 "placeholder": "Résultat recherche sémantique",CODE
25 more matches not shown…
Hallucination Indicators6 hits · 60 pts
SeverityFileLineSnippetContext
CRITICALapps/backend/api/models/photo_search.py68 for face in api.models.face.Face.objects.filter(photo=self.photo).all():CODE
CRITICALapps/backend/api/models/photo.py237 return api.models.album_place.AlbumPlace.objects.filter(CODE
CRITICALapps/backend/api/models/photo.py416 api.models.face.Face.objects.filter(photo=self).values_list(CODE
CRITICALapps/backend/api/models/photo_caption.py248 for album_thing in api.models.album_thing.AlbumThing.objects.filter(CODE
CRITICALapps/backend/api/models/photo_caption.py349 for album_thing in api.models.album_thing.AlbumThing.objects.filter(CODE
CRITICALapps/backend/api/models/photo_caption.py382 for album_thing in api.models.album_thing.AlbumThing.objects.filter(CODE
Unused Imports58 hits · 52 pts
SeverityFileLineSnippetContext
LOWapps/backend/librephotos/settings/development.py1CODE
LOWapps/backend/librephotos/settings/test.py1CODE
LOWapps/backend/librephotos/settings/test_sqlite.py8CODE
LOWapps/backend/api/stacks/__init__.py14CODE
LOWapps/backend/api/stacks/__init__.py14CODE
LOWapps/backend/api/stacks/__init__.py14CODE
LOWapps/backend/api/stacks/__init__.py14CODE
LOWapps/backend/api/stacks/__init__.py14CODE
LOWapps/backend/api/stacks/live_photo.py26CODE
LOWapps/backend/api/directory_watcher/__init__.py16CODE
LOWapps/backend/api/directory_watcher/__init__.py16CODE
LOWapps/backend/api/directory_watcher/__init__.py16CODE
LOWapps/backend/api/directory_watcher/__init__.py16CODE
LOWapps/backend/api/directory_watcher/__init__.py24CODE
LOWapps/backend/api/directory_watcher/__init__.py24CODE
LOWapps/backend/api/directory_watcher/__init__.py24CODE
LOWapps/backend/api/directory_watcher/__init__.py24CODE
LOWapps/backend/api/directory_watcher/__init__.py24CODE
LOWapps/backend/api/directory_watcher/__init__.py33CODE
LOWapps/backend/api/directory_watcher/__init__.py33CODE
LOWapps/backend/api/directory_watcher/__init__.py33CODE
LOWapps/backend/api/directory_watcher/__init__.py33CODE
LOWapps/backend/api/directory_watcher/__init__.py33CODE
LOWapps/backend/api/directory_watcher/__init__.py33CODE
LOWapps/backend/api/directory_watcher/__init__.py43CODE
LOWapps/backend/api/directory_watcher/__init__.py43CODE
LOWapps/backend/api/directory_watcher/__init__.py43CODE
LOWapps/backend/api/directory_watcher/__init__.py43CODE
LOWapps/backend/api/directory_watcher/__init__.py43CODE
LOWapps/backend/api/directory_watcher/__init__.py43CODE
LOWapps/backend/api/directory_watcher/__init__.py53CODE
LOWapps/backend/api/directory_watcher/__init__.py58CODE
LOWapps/backend/api/directory_watcher/__init__.py58CODE
LOWapps/backend/api/directory_watcher/__init__.py58CODE
LOWapps/backend/api/directory_watcher/__init__.py58CODE
LOWapps/backend/api/directory_watcher/__init__.py58CODE
LOWapps/backend/api/directory_watcher/__init__.py67CODE
LOWapps/backend/api/models/__init__.py1CODE
LOWapps/backend/api/models/__init__.py2CODE
LOWapps/backend/api/models/__init__.py3CODE
LOWapps/backend/api/models/__init__.py4CODE
LOWapps/backend/api/models/__init__.py5CODE
LOWapps/backend/api/models/__init__.py6CODE
LOWapps/backend/api/models/__init__.py7CODE
LOWapps/backend/api/models/__init__.py8CODE
LOWapps/backend/api/models/__init__.py9CODE
LOWapps/backend/api/models/__init__.py10CODE
LOWapps/backend/api/models/__init__.py11CODE
LOWapps/backend/api/models/__init__.py12CODE
LOWapps/backend/api/models/__init__.py13CODE
LOWapps/backend/api/models/__init__.py14CODE
LOWapps/backend/api/models/__init__.py14CODE
LOWapps/backend/api/models/__init__.py14CODE
LOWapps/backend/api/models/__init__.py15CODE
LOWapps/backend/api/models/__init__.py16CODE
LOWapps/backend/api/models/__init__.py17CODE
LOWapps/backend/api/models/__init__.py18CODE
LOWapps/backend/api/models/__init__.py19CODE
Decorative Section Separators14 hits · 48 pts
SeverityFileLineSnippetContext
MEDIUMapps/backend/api/util.py144# ---------------------------------------------------------------------------COMMENT
MEDIUMapps/backend/api/util.py146# ---------------------------------------------------------------------------COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py552# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py554# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py585# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py587# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py31# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py33# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py62# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py64# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py293# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py295# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py515# ============================================================================COMMENT
MEDIUMapps/backend/api/tests/test_migration_0099.py517# ============================================================================COMMENT
Deep Nesting47 hits · 46 pts
SeverityFileLineSnippetContext
LOWapps/backend/api/batch_jobs.py12CODE
LOWapps/backend/api/stack_detection.py200CODE
LOWapps/backend/api/duplicate_detection.py274CODE
LOWapps/backend/api/services.py140CODE
LOWapps/backend/api/date_time_extractor.py292CODE
LOWapps/backend/api/date_time_extractor.py308CODE
LOWapps/backend/api/all_tasks.py30CODE
LOWapps/backend/api/autoalbum.py48CODE
LOWapps/backend/api/admin.py22CODE
LOWapps/backend/api/stats.py541CODE
LOWapps/backend/api/stats.py657CODE
LOWapps/backend/api/stats.py719CODE
LOWapps/backend/api/burst_detection_rules.py233CODE
LOWapps/backend/api/drf_optimize.py42CODE
LOWapps/backend/api/face_classify.py276CODE
LOWapps/backend/api/thumbnails.py57CODE
LOWapps/backend/api/ml_models.py246CODE
LOWapps/backend/api/face_extractor.py10CODE
LOWapps/backend/api/stacks/live_photo.py88CODE
LOWapps/backend/api/stacks/live_photo.py277CODE
LOWapps/backend/api/directory_watcher/scan_jobs.py238CODE
LOWapps/backend/api/directory_watcher/utils.py117CODE
LOWapps/backend/api/directory_watcher/repair_jobs.py16CODE
LOWapps/backend/api/tests/test_face_writeback.py92CODE
LOWapps/backend/api/tests/test_perceptual_hash.py578CODE
LOWapps/backend/api/tests/utils.py231CODE
LOWapps/backend/api/tests/test_iptc_integration.py51CODE
LOW…s/backend/api/tests/test_metadata_ordering_sentinel.py96CODE
LOWapps/backend/api/management/commands/scan.py30CODE
LOWapps/backend/api/models/photo_search.py28CODE
LOWapps/backend/api/models/album_auto.py30CODE
LOWapps/backend/api/models/photo_stack.py124CODE
LOWapps/backend/api/serializers/photos.py207CODE
LOWapps/backend/api/views/jobs.py36CODE
LOWapps/backend/api/views/photos.py874CODE
LOWapps/backend/api/views/views.py43CODE
LOWapps/backend/api/views/views.py660CODE
LOWapps/backend/api/views/views.py695CODE
LOWapps/backend/api/metadata/face_regions.py20CODE
LOWapps/backend/api/metadata/writer.py9CODE
LOWapps/backend/service/llm/main.py32CODE
LOWapps/backend/service/tags/siglip2/siglip2.py64CODE
LOWapps/backend/service/exif/main.py17CODE
LOW…ackend/service/image_captioning/api/im2txt/blip/med.py665CODE
LOW…ackend/service/image_captioning/api/im2txt/blip/med.py741CODE
LOW…ackend/service/image_captioning/api/im2txt/blip/vit.py273CODE
LOW…ackend/service/image_captioning/api/im2txt/blip/vit.py277CODE
Structural Annotation Overuse24 hits · 40 pts
SeverityFileLineSnippetContext
LOWapps/backend/CONTRIBUTING.md25### Step 1: Clone the MonorepoCOMMENT
LOWapps/backend/CONTRIBUTING.md49### Step 2: Configure EnvironmentCOMMENT
LOWapps/backend/CONTRIBUTING.md71### Step 3: Start the Development EnvironmentCOMMENT
LOWapps/backend/CONTRIBUTING.md265### Step 1: Fork the RepositoryCOMMENT
LOWapps/backend/CONTRIBUTING.md277### Step 2: Create a Feature BranchCOMMENT
LOWapps/backend/CONTRIBUTING.md287### Step 3: Make Your ChangesCOMMENT
LOWapps/backend/CONTRIBUTING.md305### Step 4: Push and Create Pull RequestCOMMENT
LOWapps/backend/CONTRIBUTING.md320### Step 5: Respond to ReviewCOMMENT
LOWapps/backend/api/tests/test_face_writeback.py228 # Step 1: Convert pixel -> normalized (writeback path)COMMENT
LOWapps/backend/api/tests/test_face_writeback.py238 # Step 2: Simulate read-back (face_extractor.py lines 82-90)COMMENT
LOWapps/docs/docs/user-guide/first-steps.md11### Step 1: Create Your Admin AccountCOMMENT
LOWapps/docs/docs/user-guide/first-steps.md24### Step 2: Site SettingsCOMMENT
LOWapps/docs/docs/user-guide/first-steps.md33### Step 3: Configure Your Scan DirectoryCOMMENT
LOWapps/docs/docs/user-guide/offline-setup.md9### Step 1: Download the Models ManuallyCOMMENT
LOWapps/docs/docs/user-guide/offline-setup.md37### Step 2: Place the Models in the Correct LocationCOMMENT
LOWapps/docs/docs/user-guide/offline-setup.md60### Step 3: Verify Model PlacementCOMMENT
LOWapps/docs/docs/user-guide/offline-setup.md83### Step 4: Run LibrePhotosCOMMENT
LOWapps/docs/docs/user-guide/places.md56### Step 1: Configure Geocoding Provider (Optional)COMMENT
LOWapps/docs/docs/user-guide/places.md63### Step 2: Scan Your PhotosCOMMENT
LOWapps/docs/docs/user-guide/places.md69### Step 3: View Your PlacesCOMMENT
LOWapps/docs/docs/development/dev-install.md27### Step 1: Clone the MonorepoCOMMENT
LOWapps/docs/docs/development/dev-install.md51### Step 2: Configure EnvironmentCOMMENT
LOWapps/docs/docs/development/dev-install.md80### Step 3: Start Development EnvironmentCOMMENT
LOWapps/docs/docs/development/dev-install.md92### Step 4: Access LibrePhotosCOMMENT
Redundant / Tautological Comments25 hits · 37 pts
SeverityFileLineSnippetContext
LOWdeploy/docker/unified/entrypoint.sh7# Check if we should serve frontendCOMMENT
LOWdeploy/docker/unified/entrypoint.sh46# Check if we need to create a superuserCOMMENT
LOWdeploy/compose/build-unified.sh10# Check if we're in the right directoryCOMMENT
LOWapps/backend/api/services.py146 # Check if we're on ARM architectureCOMMENT
LOWapps/backend/api/services.py182 # Check if we're on ARM architectureCOMMENT
LOWapps/backend/api/image_captioning.py8 # Check if Moondream is selected as captioning modelCOMMENT
LOWapps/backend/api/burst_detection_rules.py374 # Check if same camera (if required)COMMENT
LOWapps/backend/api/face_classify.py265 if len(encoding) == expected_shape: # Check if shape is consistentCODE
LOWapps/backend/api/stacks/live_photo.py235 # Check if video is already a known photo/fileCOMMENT
LOWapps/backend/api/directory_watcher/file_handlers.py107 # Check if a Photo already exists with any of these files. Matching onCOMMENT
LOWapps/backend/api/directory_watcher/file_handlers.py223 # Check if this RAW file is already attachedCOMMENT
LOWapps/backend/api/directory_watcher/file_handlers.py237 # Check if this video is already attachedCOMMENT
LOWapps/backend/api/directory_watcher/repair_jobs.py53 # Check if this RAW photo has any IMAGE files (already grouped)COMMENT
LOWapps/backend/api/tests/test_duplicate_api_edge_cases.py409 # Check if duplicate still exists (might be deleted due to Bug #12 fix)COMMENT
LOWapps/backend/api/tests/test_im2txt.py102 # Check if the required files exist in the fixtures directoryCOMMENT
LOWapps/backend/api/models/file.py68 # Check if a File with this path already existsCOMMENT
LOWapps/backend/api/models/duplicate.py259 # Check if any photo is already in a duplicate group of the same typeCOMMENT
LOWapps/backend/api/models/photo.py526 # Check if this file is used by other Photos (via files M2M or as main_file)COMMENT
LOWapps/backend/api/models/photo_stack.py216 # Check if any photo is already in a stack of the same typeCOMMENT
LOWapps/backend/api/serializers/photos.py625 # Check if this is the main fileCOMMENT
LOWapps/backend/api/views/views.py762 # Check if fname is UUID format (36 chars with 4 hyphens) or image_hashCOMMENT
LOWapps/backend/api/views/stacks.py429 # Check if any photo is already in a manual stackCOMMENT
LOW…/backend/service/image_captioning/api/im2txt/sample.py49 # Check if the image has 3 channels (RGB)COMMENT
LOWapps/backend/image_similarity/retrieval_index.py21 # Check if we have any embeddings to processCOMMENT
LOWapps/backend/image_similarity/retrieval_index.py57 # Add hashes to the listCOMMENT
AI Slop Vocabulary4 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMdeploy/docker/unified/production_noproxy.py271 # Based on best practices from https://alldjango.com/articles/definitive-guide-to-using-django-sqlite-in-productionCOMMENT
MEDIUMapps/backend/api/perceptual_hash.py39 # More robust than average hash or difference hashCOMMENT
MEDIUMapps/backend/api/tests/test_photo_search_model.py175 # Create comprehensive test dataCOMMENT
MEDIUMapps/backend/api/serializers/photos.py107 # Use len() instead of .count() to leverage prefetched embedded_mediaCOMMENT
Over-Commented Block14 hits · 14 pts
SeverityFileLineSnippetContext
LOWdeploy/k8s/ingress.yaml21 service:COMMENT
LOWdeploy/k8s/ingress.yaml41# - photos.example.comCOMMENT
LOW…ontend/src/components/react-pig/computeLayoutGroups.js41 // or when we're out of images, we say that we have all the images weCOMMENT
LOWapps/frontend/src/components/react-pig/utils/getUrl.js1// This is the default getUrl function, which you can overwrite using a prop;COMMENT
LOW…rontend/src/components/react-pig/utils/getOffsetTop.js1// /**COMMENT
LOWapps/backend/requirements.txt61# On the GPU image (Python 3.10) the Dockerfile swaps this forCOMMENT
LOWapps/backend/chunked_upload/tests.py1# Tests for chunked_upload should be created on the app where it is being used,COMMENT
LOWapps/backend/api/directory_watcher/scan_jobs.py301 metadata_paths.append(path)COMMENT
LOWapps/backend/api/models/photo_stack.py41 class StackType(models.TextChoices):COMMENT
LOWapps/backend/api/metadata/__init__.py1# api/metadata — organized metadata reading, writing, and tag constants.COMMENT
LOWapps/backend/service/tags/places365/places365.py161 # output the prediction of scene categoryCOMMENT
LOWapps/mobile/ios/LibrePhotosMobile/AppDelegate.mm1#import "AppDelegate.h"COMMENT
LOW…oid/app/src/main/jni/MainApplicationModuleProvider.cpp1#include "MainApplicationModuleProvider.h"COMMENT
LOWapps/mobile/src/Config/index.js1// import { store } from '../Store'COMMENT
AI Structural Patterns14 hits · 14 pts
SeverityFileLineSnippetContext
LOWapps/backend/api/stats.py431CODE
LOWapps/backend/api/stats.py495CODE
LOWapps/backend/api/social_graph.py143CODE
LOWapps/backend/api/tests/utils.py55CODE
LOWapps/backend/api/serializers/person.py32CODE
LOWapps/backend/api/serializers/album_user.py53CODE
LOWapps/backend/api/serializers/album_thing.py33CODE
LOWapps/backend/api/serializers/album_place.py34CODE
LOWapps/backend/service/tags/places365/wideresnet.py47CODE
LOW…ackend/service/image_captioning/api/im2txt/blip/med.py453CODE
LOW…ackend/service/image_captioning/api/im2txt/blip/med.py741CODE
LOW…ackend/service/image_captioning/api/im2txt/blip/med.py929CODE
LOW…ackend/service/image_captioning/api/im2txt/blip/vit.py109CODE
LOW…ackend/service/image_captioning/api/im2txt/blip/vit.py155CODE
Modern Structural Boilerplate9 hits · 9 pts
SeverityFileLineSnippetContext
LOWapps/backend/api/apps.py5logger = logging.getLogger(__name__)CODE
LOWapps/backend/api/stacks/__init__.py22__all__ = [CODE
LOWapps/backend/api/directory_watcher/__init__.py69__all__ = [CODE
LOWapps/backend/api/tests/test_authz_scoping.py18logger = logging.getLogger(__name__)CODE
LOWapps/backend/api/tests/test_user.py12logger = logging.getLogger(__name__)CODE
LOWapps/backend/api/tests/test_bulk_operations.py17logger = logging.getLogger(__name__)CODE
LOWapps/backend/api/tests/test_share_photos.py9logger = logging.getLogger(__name__)CODE
LOWapps/backend/api/tests/test_public_photos.py10logger = logging.getLogger(__name__)CODE
LOWapps/backend/api/models/__init__.py21__all__ = [CODE
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHapps/backend/api/models/user.py44 "share_captions": False, # AI-generated or user captionsCODE
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHapps/backend/api/views/photo_filters.py14Build a Photo queryset from filter parameters. This function reuses the same filtering logic as AlbumDateListViewSeSTRING
Modern AI Meta-Vocabulary2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMapps/backend/service/llm/main.py55 n_ctx=2048, # Increase context window for image processingCODE
MEDIUMapps/backend/service/tags/siglip2/siglip2.py168 # Use prompt template for better zero-shot performanceCOMMENT
Verbosity Indicators2 hits · 4 pts
SeverityFileLineSnippetContext
LOWapps/backend/api/tests/test_face_writeback.py228 # Step 1: Convert pixel -> normalized (writeback path)COMMENT
LOWapps/backend/api/tests/test_face_writeback.py238 # Step 2: Simulate read-back (face_extractor.py lines 82-90)COMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWapps/backend/scripts/setup_test_env.sh5# Usage:COMMENT