Project NOMAD is an offline-first knowledge and education server. Wikipedia, thousands of books, courses, maps, and optional local AI, all running on hardware you own with no internet required.
This report summarizes scanner evidence for Crosstalk-Solutions/project-nomad, a TypeScript project with 41,431 GitHub stars. SynthScan examined 140,829 lines of code across 574 source files, recording 271 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 4.0 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 143 finding(s).
Are imports declared and package/API names verified? 2 finding(s).
Are wrappers, guards, and repeated structures necessary? 152 finding(s).
Which changes need focused human review? 271 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 271 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | admin/database/seeders/service_seeder.ts | 38 | // ── Core / original services ────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/database/seeders/service_seeder.ts | 213 | // ── Supply Depot — curated catalog (ports 8400–8499) ───────────────────── | COMMENT |
| MEDIUM | admin/types/drug_reference.ts | 8 | // ─── Product type ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/types/drug_reference.ts | 17 | // ─── Manifest (from api.fda.gov/download.json) ──────────────────────────────── | COMMENT |
| MEDIUM | admin/types/drug_reference.ts | 32 | // ─── Download-state marker (persisted in KV, no migration) ──────────────────── | COMMENT |
| MEDIUM | admin/types/drug_reference.ts | 68 | // ─── Install-state metadata (tier-installer → InstalledResource row) ────────── | COMMENT |
| MEDIUM | admin/types/drug_reference.ts | 89 | // ─── Job params ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/types/drug_reference.ts | 146 | // ─── Search result DTO (collapsed by brand+generic) ────────────────────────── | COMMENT |
| MEDIUM | admin/types/drug_reference.ts | 163 | // ─── Detail DTO (full label body) ───────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/types/drug_reference.ts | 188 | // ─── Interaction comparison DTO ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/types/drug_reference.ts | 202 | // ─── Ingest status (two-phase) ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/types/conditions.ts | 18 | // ─── Curated condition spine ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/types/conditions.ts | 47 | // ─── Natural remedies (Phase 2) ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/types/conditions.ts | 103 | // ─── DTOs (server → client) ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/jobs/ingest_drug_data_job.ts | 109 | // ─── Local type aliases for yauzl callbacks ─────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/jobs/ingest_drug_data_job.ts | 155 | // ─── Public API ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/jobs/ingest_drug_data_job.ts | 212 | // ─── Job handler ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/jobs/ingest_drug_data_job.ts | 364 | // ─── Private helpers ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/jobs/download_drug_data_job.ts | 44 | // ─── Public API ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/jobs/download_drug_data_job.ts | 103 | // ─── Job handler ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/jobs/download_drug_data_job.ts | 277 | // ─── Private helpers ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/services/content_auto_update_service.ts | 480 | // ── Per-window budget ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/services/content_auto_update_service.ts | 514 | // ── Backoff + run recording ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/services/content_auto_update_service.ts | 548 | // ── Status snapshot ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/services/drug_reference_service.ts | 798 | // ── Download sub-status ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/services/drug_reference_service.ts | 817 | // ── Ingest sub-status ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/services/kiwix_catalog_service.ts | 161 | // ── ZIM internals ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/services/kiwix_catalog_service.ts | 256 | // ── Map internals ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/app/services/kiwix_catalog_service.ts | 285 | // ── Shared ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/util/conditions.ts | 29 | // ─── Spine parsing (fail-soft) ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/util/conditions.ts | 105 | // ─── Lookup + projection ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/util/conditions.ts | 123 | // ─── Reverse link: indications text → curated situations ────────────────────── | COMMENT |
| MEDIUM | admin/util/conditions.ts | 161 | // ─── FULLTEXT query construction ────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/util/conditions.ts | 195 | // ─── Natural remedies (Phase 2) — parsing + lookup ─────────────────────────── | COMMENT |
| MEDIUM | admin/util/conditions.ts | 333 | // ─── Result ordering ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/util/drug_labels.ts | 19 | // ─── Internal structural types (no Lucid) ──────────────────────────────────── | COMMENT |
| MEDIUM | admin/util/drug_labels.ts | 71 | // ─── Internal helpers ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/util/drug_labels.ts | 145 | // ─── Exported helpers ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/util/drug_labels.ts | 312 | // ─── Two-step ingest helpers (pure — no I/O) ────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/service_catalog_merge.spec.ts | 24 | // ── container_config ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/service_catalog_merge.spec.ts | 94 | // ── ui_location ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/content_auto_update_backoff.spec.ts | 29 | // ── Failure backoff ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/content_auto_update_backoff.spec.ts | 59 | // ── Success reset ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/custom_app_guard.spec.ts | 6 | // ── Bind mounts ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/custom_app_guard.spec.ts | 77 | // ── Image references ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/drug_ingest_status.spec.ts | 14 | // ─── partZipPath ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/drug_ingest_status.spec.ts | 44 | // ─── parseDownloadState ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/drug_ingest_status.spec.ts | 117 | // ─── deriveIngestPhase ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/drug_ingest_status.spec.ts | 177 | // ─── resolveExpectedTotal ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/drug_labels.spec.ts | 9 | // ─── mapDrugLabelRecord ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/drug_labels.spec.ts | 208 | // ─── normalizeDrugName ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/drug_labels.spec.ts | 258 | // ─── parseDrugLabelManifest ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/content_auto_update.spec.ts | 46 | // ── Per-resource eligibility ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/content_auto_update.spec.ts | 126 | // ── Cap-bounded selection ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/content_auto_update.spec.ts | 194 | // ── Window boundary math (per-window budget reset) ───────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/content_auto_update.spec.ts | 208 | // ── Shared update window ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/app_auto_update.spec.ts | 35 | // ── Per-app eligibility ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/unit/app_auto_update.spec.ts | 133 | // ── Shared update window (reused from the core auto-update) ──────────────────── | COMMENT |
| MEDIUM | admin/tests/standalone/drug_ingest_status.standalone.ts | 31 | // ── partZipPath ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | admin/tests/standalone/drug_ingest_status.standalone.ts | 57 | // ── parseDownloadState ─────────────────────────────────────────────────────── | COMMENT |
| 54 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install/migrate-disk-collector.sh | 102 | # Step 1: Stop old host process | COMMENT |
| LOW | install/migrate-disk-collector.sh | 121 | # Step 2: Backup compose.yml | COMMENT |
| LOW | install/migrate-disk-collector.sh | 133 | # Step 3: Remove old bind-mount from admin volumes | COMMENT |
| LOW | install/migrate-disk-collector.sh | 152 | # Step 4: Add disk-collector service block | COMMENT |
| LOW | install/migrate-disk-collector.sh | 202 | # Step 6: Verify | COMMENT |
| LOW | admin/app/jobs/run_download_job.ts | 183 | // Step 1: delete the OUTDATED file if it differs from the new one. | COMMENT |
| LOW | admin/app/services/rag_service.ts | 2015 | // Step 2: is the knowledge base even installed? Short-circuits before any | COMMENT |
| LOW | admin/app/services/rag_service.ts | 2030 | // Step 5: only check liveness once we know we'd otherwise act. The health | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 467 | // Step 4: Mark service as uninstalled | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 473 | // Step 5: Recreate the container | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 1393 | // Step 1: Build/update the XML from current disk state | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 1399 | // Step 2: Stop and remove old container (leave ZIM volumes intact) | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 1824 | // Step 1: Pull new image (runtimeImage diverges from newImage for AMD, see above) | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 1828 | // Step 2: Find and stop existing container | COMMENT |
| LOW | admin/app/services/docker_service.ts | 386 | // Step 1: Try to stop and remove the container if it exists | COMMENT |
| LOW | admin/app/services/docker_service.ts | 416 | // Step 2: Remove the container | COMMENT |
| LOW | admin/app/services/docker_service.ts | 433 | // Step 3: Clear volumes/data if needed | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1414 | // Step 3: Read the service record and authoritatively set the correct command. | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1430 | // Step 4: Recreate container directly (skipping _createContainer to avoid re-downloading | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1847 | // Step 3: Rename old container as safety net | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1879 | // Step 4: Create new container with inspected config + new image | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1954 | // Step 5: Start new container. If the start itself throws (bad device/GPU config, | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1979 | // Step 6: Health check — verify container stays running for 5 seconds | COMMENT |
| LOW⚡ | admin/docs/use-cases.md | 170 | ### Step 1: Identify Your Needs | COMMENT |
| LOW⚡ | admin/docs/use-cases.md | 173 | ### Step 2: Prioritize Content | COMMENT |
| LOW⚡ | admin/docs/use-cases.md | 180 | ### Step 3: Upload Relevant Documents | COMMENT |
| LOW⚡ | admin/docs/use-cases.md | 183 | ### Step 4: Download While You Can | COMMENT |
| LOW⚡ | admin/docs/use-cases.md | 186 | ### Step 5: Practice | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install/uninstall_nomad.sh | 1 | #!/bin/bash | COMMENT |
| LOW | install/management_compose.yaml | 21 | # RELOCATING STORAGE: the host path on the LEFT of the colon below is the single source of | COMMENT |
| LOW | install/install_nomad.sh | 1 | #!/bin/bash | COMMENT |
| LOW | install/install_nomad.sh | 181 | COMMENT | |
| LOW | install/install_nomad.sh | 661 | # read -rp $'\033[39m#\033[0m Do you want to proceed with running the script? (y/N) ' yes_no | COMMENT |
| LOW | install/install_nomad.sh | 681 | # jq '.scripts."'"${script_name}"'" = (.scripts."'"${script_name}"'" | . + {"warnings": {"low-free-disk-space": | COMMENT |
| LOW | install/run_updater_fixes.sh | 1 | #!/bin/bash | COMMENT |
| LOW | install/run_updater_fixes.sh | 21 | # Downloads the updated sidecar Dockerfile (adds jq) and update-watcher.sh | COMMENT |
| LOW | install/update_nomad.sh | 1 | #!/bin/bash | COMMENT |
| LOW | install/migrate-disk-collector.sh | 1 | #!/bin/bash | COMMENT |
| LOW | install/nomad-translate/blocks.py | 41 | } | COMMENT |
| LOW | install/nomad-translate/entrypoint.sh | 1 | #!/bin/sh | COMMENT |
| LOW | admin/types/kv_store.ts | 1 | COMMENT | |
| LOW | admin/types/kv_store.ts | 61 | // model name ({"llama3:8b":1.02,"qwen2.5:0.5b":1.26}). One row rather than a | COMMENT |
| LOW | admin/types/kv_store.ts | 81 | 'gpu.autoRemediatedAt': 'string', | COMMENT |
| LOW | admin/app/utils/gpu_model.ts | 21 | const s = model.trim() | COMMENT |
| LOW | admin/app/jobs/ingest_drug_data_job.ts | 61 | } | COMMENT |
| LOW | admin/app/jobs/ingest_drug_data_job.ts | 441 | const createParser = (await import('stream-json')).default.parser | COMMENT |
| LOW | admin/app/jobs/embed_file_job.ts | 201 | totalArticles: totalArticles || result.totalArticles, | COMMENT |
| LOW | admin/app/jobs/embed_file_job.ts | 361 | // Continuation batches (batchOffset > 0) must NOT reuse the deterministic | COMMENT |
| LOW | admin/app/controllers/ollama_controller.ts | 161 | skipRetrieval: !ragEnabled, | COMMENT |
| LOW | admin/app/services/benchmark_service.ts | 61 | // for the NOMAD Score v2 rollout (uncapped index vs a frozen Reference Build). | COMMENT |
| LOW | admin/app/services/benchmark_service.ts | 101 | type ScoreRawsV2 = Record<ScoreChannelV2, number> | COMMENT |
| LOW | admin/app/services/benchmark_service.ts | 121 | // covers both architectures because a manifest list resolves per-arch on pull. | COMMENT |
| LOW | admin/app/services/benchmark_service.ts | 321 | // Remote inference cannot be attributed to this machine. | COMMENT |
| LOW | admin/app/services/benchmark_service.ts | 561 | }) | COMMENT |
| LOW | admin/app/services/benchmark_service.ts | 1001 | const ollamaService = new (await import('./ollama_service.js')).OllamaService() | COMMENT |
| LOW | admin/app/services/benchmark_service.ts | 1021 | // Best-effort — a warm-up hiccup must not fail the run (the timed loop will | COMMENT |
| LOW | admin/app/services/ollama_service.ts | 141 | // Sampling controls. Left unset for normal chat, which inherits the backend's | COMMENT |
| LOW | admin/app/services/drug_reference_service.ts | 821 | // A pruned-but-successful ingest leaves rows + the last-updated marker and | COMMENT |
| LOW | admin/app/services/rag_pipeline_service.ts | 281 | msg.role === 'assistant' | COMMENT |
| LOW | admin/app/services/eval_generation_service.ts | 281 | ] | COMMENT |
| LOW | admin/app/services/rag_service.ts | 1341 | exact: true, | COMMENT |
| LOW | admin/app/services/rag_service.ts | 2441 | COMMENT | |
| LOW | admin/app/services/docker_service.ts | 321 | // Check if a service wasn't marked as installed but has an existing container | COMMENT |
| LOW | admin/app/services/docker_service.ts | 901 | this._broadcast( | COMMENT |
| LOW | admin/app/services/system_service.ts | 461 | // Clear the bogus value up front. If a probe replaces the entry below | COMMENT |
| LOW | admin/app/services/kiwix_catalog_service.ts | 121 | // carries in a separate `<flavour>` element: `wikibooks_en_all_nopic_2026-04.zim` | COMMENT |
| LOW | admin/config/session.ts | 1 | // import env from '#start/env' | COMMENT |
| LOW | admin/config/session.ts | 21 | // /** | COMMENT |
| LOW | admin/config/session.ts | 41 | // * list of available stores and their config. | COMMENT |
| LOW | admin/config/queue.ts | 1 | import env from '#start/env' | COMMENT |
| LOW | .github/workflows/release.yml | 81 | GH_TOKEN: ${{ secrets.COSMISTACKBOT_ACCESS_TOKEN }} | COMMENT |
| LOW | .github/scripts/finalize-release-notes.sh | 1 | #!/usr/bin/env bash | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install/migrate-disk-collector.sh | 102 | # Step 1: Stop old host process | COMMENT |
| LOW | install/migrate-disk-collector.sh | 121 | # Step 2: Backup compose.yml | COMMENT |
| LOW | install/migrate-disk-collector.sh | 133 | # Step 3: Remove old bind-mount from admin volumes | COMMENT |
| LOW | install/migrate-disk-collector.sh | 152 | # Step 4: Add disk-collector service block | COMMENT |
| LOW | install/migrate-disk-collector.sh | 202 | # Step 6: Verify | COMMENT |
| LOW | admin/app/jobs/run_download_job.ts | 183 | // Step 1: delete the OUTDATED file if it differs from the new one. | COMMENT |
| LOW | admin/app/services/rag_service.ts | 2015 | // Step 2: is the knowledge base even installed? Short-circuits before any | COMMENT |
| LOW | admin/app/services/rag_service.ts | 2030 | // Step 5: only check liveness once we know we'd otherwise act. The health | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 467 | // Step 4: Mark service as uninstalled | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 473 | // Step 5: Recreate the container | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 1393 | // Step 1: Build/update the XML from current disk state | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 1399 | // Step 2: Stop and remove old container (leave ZIM volumes intact) | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 1824 | // Step 1: Pull new image (runtimeImage diverges from newImage for AMD, see above) | COMMENT |
| LOW⚡ | admin/app/services/docker_service.ts | 1828 | // Step 2: Find and stop existing container | COMMENT |
| LOW | admin/app/services/docker_service.ts | 386 | // Step 1: Try to stop and remove the container if it exists | COMMENT |
| LOW | admin/app/services/docker_service.ts | 416 | // Step 2: Remove the container | COMMENT |
| LOW | admin/app/services/docker_service.ts | 433 | // Step 3: Clear volumes/data if needed | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1414 | // Step 3: Read the service record and authoritatively set the correct command. | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1430 | // Step 4: Recreate container directly (skipping _createContainer to avoid re-downloading | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1847 | // Step 3: Rename old container as safety net | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1879 | // Step 4: Create new container with inspected config + new image | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1954 | // Step 5: Start new container. If the start itself throws (bad device/GPU config, | COMMENT |
| LOW | admin/app/services/docker_service.ts | 1979 | // Step 6: Health check — verify container stays running for 5 seconds | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | admin/app/utils/token_estimate.ts | 164 | export function estimateTokensConservative(text: string, ratio = 1): number { | CODE |
| LOW | admin/app/utils/zim_filename.ts | 17 | export function findReplacedWikipediaFiles( | CODE |
| LOW | admin/app/utils/fs.ts | 47 | export async function listDirectoryContentsRecursive(path: string): Promise<FileEntry[]> { | CODE |
| LOW | admin/app/utils/rag_relevance.ts | 25 | export function invalidateMinRelevanceCache(): void { | CODE |
| LOW | admin/app/utils/chat_images.ts | 98 | export function attachImagesToLatestUserMessage( | CODE |
| LOW | admin/app/utils/response_style.ts | 23 | export function invalidateResponseStyleCache(): void { | CODE |
| LOW | admin/app/utils/downloads.ts | 294 | export async function doResumableDownloadWithRetry({ | CODE |
| LOW | admin/app/utils/service_catalog_merge.ts | 120 | export function mergeUiLocationPreservingHostPort( | CODE |
| LOW | admin/app/utils/model_capabilities.ts | 19 | export function capabilitiesFromOllamaShow(value: unknown): ModelCapabilities | null { | CODE |
| LOW | admin/app/utils/model_capabilities.ts | 32 | export function visionCapabilityFromLlamaProps(value: unknown): ModelVisionCapability | null { | CODE |
| LOW | admin/app/utils/model_capabilities.ts | 71 | export function installedModelsFromOpenAIResponse(value: unknown): InstalledModelMetadata[] { | CODE |
| LOW | admin/app/utils/content_auto_update_backoff.ts | 25 | export async function recordResourceUpdateSuccess(resource: InstalledResource): Promise<void> { | CODE |
| LOW | admin/app/utils/content_auto_update_backoff.ts | 35 | export async function recordResourceUpdateFailure( | CODE |
| LOW | admin/app/utils/affirmative_remedies.ts | 21 | export async function affirmativeRemediesEnabled(): Promise<boolean> { | CODE |
| LOW | admin/app/validators/common.ts | 79 | export function assertNotCloudMetadataUrl(urlString: string): void { | CODE |
| LOW | admin/app/services/ollama_compute.ts | 35 | export function classifyOllamaComputeBackend(logText: string): OllamaComputeBackend { | CODE |
| LOW | admin/app/services/ollama_compute.ts | 176 | export function parseAmdGfxTargetFromLogs(logText: string): string | null { | CODE |
| LOW | admin/app/services/kiwix_catalog_service.ts | 313 | export async function reconcileResourceUpdateState( | CODE |
| LOW | admin/util/zim.ts | 3 | export function isRawListRemoteZimFilesResponse(obj: any): obj is RawListRemoteZimFilesResponse { | CODE |
| LOW | admin/util/drug_labels.ts | 472 | export function resolveIngestRecordsShown( | CODE |
| LOW | admin/config/inertia.ts | 8 | export function invalidateAssistantNameCache() { | CODE |
| LOW | …rtia/components/drug-reference/DrugDisclaimerModal.tsx | 12 | export function hasAcknowledgedDrugDisclaimer(): boolean { | CODE |
| LOW | admin/inertia/hooks/useServiceInstallationActivity.ts | 6 | export default function useServiceInstallationActivity() { | CODE |
| LOW | admin/inertia/lib/collections.ts | 12 | function resolveTierResourcesInner( | CODE |
| LOW | admin/inertia/lib/util.ts | 6 | export function setGlobalNotificationCallback(callback: (notification: Notification) => void) { | CODE |
| LOW⚡ | admin/inertia/pages/drug-reference/interactions.tsx | 29 | export default function DrugReferenceInteractions({ ingestStatus, rowCount }: PageProps) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install/uninstall_nomad.sh | 97 | # Check if 'docker compose' (v2 plugin) is available | COMMENT |
| LOW | install/install_nomad.sh | 157 | # Check if the script is being run in debug mode | COMMENT |
| LOW | install/install_nomad.sh | 210 | # Check if Docker was installed successfully | COMMENT |
| LOW | install/install_nomad.sh | 220 | # Check if Docker service is running | COMMENT |
| LOW | install/install_nomad.sh | 237 | # Check if 'docker compose' (v2 plugin) is available | COMMENT |
| LOW | install/install_nomad.sh | 274 | # Check if nvidia-container-toolkit is already installed | COMMENT |
| LOW | install/install_nomad.sh | 321 | # Check if nvidia runtime already exists | COMMENT |
| LOW | install/install_nomad.sh | 511 | # Check if NVIDIA GPU is present | COMMENT |
| LOW | install/install_nomad.sh | 522 | # Check if NVIDIA Container Toolkit is installed | COMMENT |
| LOW | install/install_nomad.sh | 529 | # Check if Docker has NVIDIA runtime | COMMENT |
| LOW | install/update_nomad.sh | 103 | # Check if 'docker compose' (v2 plugin) is available | COMMENT |
| LOW | install/sidecar-updater/update-watcher.sh | 220 | # Check if an update request file exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install/nomad-translate/proxy.py | 222 | except Exception: | CODE |
| LOW | install/nomad-translate/proxy.py | 266 | except Exception as exc: | CODE |
| LOW | install/nomad-translate/proxy.py | 287 | except Exception as exc: | CODE |
| LOW | install/nomad-translate/blocks.py | 147 | except Exception: | CODE |
| LOW | install/nomad-translate/fetch_models.py | 180 | except Exception as exc: | CODE |
| LOW | install/nomad-translate/fetch_models.py | 191 | except Exception as exc: | CODE |
| LOW | admin/tests/eval/corpus/distractor-python-tutorial.md | 2680 | except Exception as err: | CODE |
| LOW | admin/scripts/audit_catalog_ports.py | 61 | except Exception: | CODE |
| LOW | admin/scripts/audit_catalog_ports.py | 97 | except Exception: | CODE |
| MEDIUM | admin/scripts/audit_catalog_ports.py | 58 | def parse_config(raw): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | install/nomad-translate/proxy.py | 319 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | admin/scripts/audit_catalog_ports.py | 87 | except (IndexError, ValueError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | install/management_compose.yaml | 41 | # PORT is the port the admin server listens on *inside* the container and should not be changed. If you want to ch | COMMENT |
| LOW⚡ | install/management_compose.yaml | 51 | # If you change the MySQL port, make sure to update this accordingly | COMMENT |
| LOW⚡ | install/management_compose.yaml | 60 | # If you change the Redis port, make sure to update this accordingly | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | admin/app/controllers/system_controller.ts | 401 | // Security guardrails: hard-block dangerous bind mounts / malformed images regardless of | COMMENT |
| MEDIUM | admin/app/controllers/system_controller.ts | 745 | // Security guardrails (same posture as create). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | admin/app/services/zim_extraction_service.ts | 185 | // that we can leverage for better chunking. If not, we'll just chunk it as one big piece of text. | COMMENT |
| MEDIUM | admin/app/services/kiwix_catalog_service.ts | 113 | // 1. Exact-name lookup (the robust path). Resolves most books, whose OPDS `<name>` | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | install/install_nomad.sh | 422 | # Create a admin.log file in the logs directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | admin/tests/unit/relevance_judge.spec.ts | 48 | const filler = 'Lorem ipsum dolor sit amet. '.repeat(40) | CODE |
| LOW | admin/tests/unit/relevance_judge.spec.ts | 48 | const filler = 'Lorem ipsum dolor sit amet. '.repeat(40) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | admin/scripts/audit_catalog_ports.py | 77 | CODE | |
| LOW | admin/scripts/audit_catalog_ports.py | 101 | CODE |