1041 matches across 16 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | CONTRIBUTING.md | 134 | def your_api_request_to_text_generation( |
| LOW | CONTRIBUTING.md | 151 | async def collect_your_api_response( |
| LOW | bench/prefill_decode_bench.py | 65 | def _placement_node_friendly_names( |
| LOW | bench/prefill_decode_bench.py | 195 | def _pick_two_distinct_placements( |
| LOW | bench/eval_tool_calls.py | 301 | def _claude_translate_messages(messages: list[dict[str, Any]]) -> list[dict[str, Any]]: |
| LOW | bench/eval_tool_calls.py | 502 | def _responses_translate_input(messages: list[dict[str, Any]]) -> list[dict[str, Any]]: |
| LOW | bench/eval_tool_calls.py | 569 | def _responses_parse_response(data: dict[str, Any]) -> ParsedResponse: |
| LOW | bench/eval_tool_calls.py | 614 | def _responses_build_followup( |
| LOW | bench/exo_eval.py | 448 | def format_humaneval_question(doc: dict) -> tuple[str, dict]: |
| LOW | bench/exo_eval.py | 464 | def format_livecodebench_question(doc: dict) -> tuple[str, str | None, dict]: |
| LOW | tools/src/exo_tools/harness.py | 48 | def instance_id_from_instance(instance: dict[str, Any]) -> str: |
| LOW | tools/src/exo_tools/harness.py | 77 | def get_runner_failed_message(runner: dict[str, Any]) -> str | None: |
| LOW | tools/src/exo_tools/harness.py | 205 | def fetch_and_filter_placements( |
| LOW | tools/src/exo_tools/harness.py | 269 | def settle_and_fetch_placements( |
| LOW | tools/src/exo_tools/client.py | 63 | def post_bench_chat_completions(self, payload: dict[str, Any]) -> dict[str, Any]: |
| LOW | tools/src/exo_tools/client.py | 66 | def stream_bench_chat_completions(self, payload: dict[str, Any]) -> Iterator[str]: |
| LOW | rust/exo_pyo3_bindings/tests/test_python.py | 15 | async def test_sleep_on_multiple_items() -> None: |
| LOW | tests/conftest.py | 169 | def pytest_runtest_makereport(item, call): |
| LOW | tests/test_dashboard.py | 41 | def _mark_onboarding_complete(session) -> None: |
| LOW | tests/test_dashboard.py | 48 | def test_dashboard_chat_inference(session): |
| LOW | tests/test_1node.py | 20 | def test_place_instance_and_chat(session): |
| LOW | tests/test_1node.py | 54 | def test_download_from_scratch(session): |
| LOW | dashboard/src/lib/stores/app.svelte.ts | 380 | function transformNetworkInterface(iface: RawNetworkInterfaceInfo): { |
| LOW | dashboard/src/lib/utils/downloads.ts | 24 | export function extractModelIdFromDownload( |
| LOW | dashboard/src/lib/utils/downloads.ts | 92 | export function getNodesWithModelDownloaded( |
| LOW | dashboard/src/lib/components/ChatForm.svelte | 73 | function modelSupportsImageGeneration(modelId: string): boolean { |
| LOW | dashboard/src/lib/components/ChatForm.svelte | 83 | function modelSupportsOnlyImageEditing(modelId: string): boolean { |
| LOW | dashboard/src/lib/components/ChatForm.svelte | 88 | function modelSupportsImageEditing(modelId: string): boolean { |
| LOW | dashboard/src/lib/components/ModelPickerModal.svelte | 164 | function getGroupDownloadAvailability( |
| LOW | dashboard/src/lib/components/ChatMessages.svelte | 53 | function updateScrollButtonVisibility() { |
| LOW | dashboard/src/lib/components/ImageParamsPanel.svelte | 49 | function handleInputFidelityChange( |
| LOW | dashboard/src/lib/components/ImageParamsPanel.svelte | 111 | function handleNegativePromptChange(event: Event) { |
| LOW | dashboard/src/lib/components/ImageParamsPanel.svelte | 133 | function handlePartialImagesChange(event: Event) { |
| LOW | dashboard/src/routes/+page.svelte | 823 | function modelSupportsImageGeneration(modelId: string): boolean { |
| LOW | dashboard/src/routes/+page.svelte | 835 | function modelSupportsImageEditing(modelId: string): boolean { |
| LOW | dashboard/src/routes/+page.svelte | 1008 | function toggleInstanceDownloadDetails(nodeId: string): void { |
| LOW | dashboard/src/routes/+page.svelte | 1497 | function extractModelIdFromDownload( |
| LOW | dashboard/src/routes/+page.svelte | 1763 | function getInstanceDownloadStatus( |
| LOW | scripts/download_model_to_cluster.py | 59 | async def ensure_model_card_registered( |
| LOW | tmp/quantize_and_upload.py | 103 | def load_and_save_quantized_model( |
| LOW | tmp/old_tests/test_vision_cache.py | 8 | def test_text_only_no_truncation(self): |
| LOW | tmp/old_tests/test_vision_cache.py | 11 | def test_text_prefix_before_image(self): |
| LOW | tmp/old_tests/test_vision_cache.py | 15 | def test_same_image_same_position(self): |
| LOW | tmp/old_tests/test_vision_cache.py | 20 | def test_different_image_truncates(self): |
| LOW | tmp/old_tests/test_vision_cache.py | 25 | def test_match_below_region_start(self): |
| LOW | tmp/old_tests/test_vision_cache.py | 30 | def test_text_followup_no_images_in_query(self): |
| LOW | tmp/old_tests/test_vision_cache.py | 34 | def test_multiple_images_first_mismatch_truncates(self): |
| LOW | tmp/old_tests/test_vision_cache.py | 45 | def test_multiple_images_all_match(self): |
| LOW | tmp/old_tests/test_vision_cache.py | 60 | def test_cached_region_beyond_match(self): |
| LOW | src/exo/utils/dashboard_path.py | 24 | def _find_resources_in_bundle() -> Path | None: |
| LOW | src/exo/utils/dashboard_path.py | 52 | def _find_dashboard_in_bundle() -> Path | None: |
| LOW | src/exo/utils/async_process.py | 206 | async def _terminate_if_still_alive(self) -> None: |
| LOW | src/exo/utils/fs.py | 17 | def ensure_parent_directory_exists(filename: StrPath) -> None: |
| LOW | src/exo/utils/tests/test_pidfile.py | 33 | def _run_child_acquire_pidfile(path: Path) -> subprocess.CompletedProcess[str]: |
| LOW | src/exo/utils/tests/test_pidfile.py | 42 | def test_acquire_exo_pidfile_writes_current_pid_and_removes_on_drop( |
| LOW | src/exo/utils/tests/test_pidfile.py | 57 | def test_acquire_exo_pidfile_rejects_second_process( |
| LOW | src/exo/utils/tests/test_tagged.py | 8 | def test_plain_union_prefers_first_member_when_shapes_are_identical(): |
| LOW | src/exo/utils/tests/test_tagged.py | 23 | def test_tagged_union_serializes_and_deserializes_two_identical_shapes_correctly(): |
| LOW | src/exo/utils/tests/test_tagged.py | 46 | def test_tagged_union_rejects_unknown_tag(): |
| LOW | src/exo/utils/tests/test_tagged.py | 58 | def test_two_tagged_classes_with_different_shapes_are_independent_and_not_cross_deserializable(): |
| 536 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | packaging/dmg/create-dmg.sh | 32 | # ── Step 1: Generate background image ──────────────────────────────────────── |
| MEDIUM | packaging/dmg/create-dmg.sh | 41 | # ── Step 2: Prepare staging directory ───────────────────────────────────────── |
| MEDIUM | packaging/dmg/create-dmg.sh | 46 | # ── Step 3: Create writable DMG ────────────────────────────────────────────── |
| MEDIUM | packaging/dmg/create-dmg.sh | 58 | # ── Step 4: Mount and configure ────────────────────────────────────────────── |
| MEDIUM | packaging/dmg/create-dmg.sh | 71 | # ── Step 5: Configure window appearance via AppleScript ────────────────────── |
| MEDIUM | packaging/dmg/create-dmg.sh | 107 | # ── Step 6: Finalise ───────────────────────────────────────────────────────── |
| MEDIUM | bench/parallel_requests.py | 32 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/parallel_requests.py | 34 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/parallel_requests.py | 102 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/parallel_requests.py | 104 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 193 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 195 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 60 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 62 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 99 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 101 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 118 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 120 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 276 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 278 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 362 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 364 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 522 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 524 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 683 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 685 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 1086 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 1088 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 1196 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 1198 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 1265 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 1267 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 1317 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/exo_eval.py | 1319 | # --------------------------------------------------------------------------- |
| MEDIUM | bench/eval_configs/models.toml | 19 | # ─── Qwen3.5 (Feb 2026) ───────────────────────────────────────────── |
| MEDIUM | bench/eval_configs/models.toml | 79 | # ─── Qwen3 (Apr 2025) ─────────────────────────────────────────────── |
| MEDIUM | bench/eval_configs/models.toml | 146 | # ─── GPT-OSS (OpenAI) ─────────────────────────────────────────────── |
| MEDIUM | bench/eval_configs/models.toml | 165 | # ─── DeepSeek ──────────────────────────────────────────────────────── |
| MEDIUM | bench/eval_configs/models.toml | 186 | # ─── NVIDIA Nemotron ─────────────────────────────────────────────────── |
| MEDIUM | bench/eval_configs/models.toml | 206 | # ─── GLM (ZhipuAI / THUDM) ────────────────────────────────────────── |
| MEDIUM | bench/eval_configs/models.toml | 237 | # ─── Kimi (Moonshot AI) ───────────────────────────────────────────── |
| MEDIUM | bench/eval_configs/models.toml | 265 | # ─── MiniMax ───────────────────────────────────────────────────────── |
| MEDIUM | bench/eval_configs/models.toml | 295 | # ─── Step (StepFun) ───────────────────────────────────────────────── |
| MEDIUM | bench/eval_configs/models.toml | 310 | # ─── Llama (Meta) ─────────────────────────────────────────────────── |
| MEDIUM | tools/src/exo_tools/harness.py | 537 | # --------------------------------------------------------------------------- |
| MEDIUM | tools/src/exo_tools/harness.py | 539 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/conftest.py | 155 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/conftest.py | 157 | # --------------------------------------------------------------------------- |
| MEDIUM | .github/workflows/build-app.yml | 40 | # ============================================================ |
| MEDIUM | .github/workflows/build-app.yml | 42 | # ============================================================ |
| MEDIUM | .github/workflows/build-app.yml | 148 | # ============================================================ |
| MEDIUM | .github/workflows/build-app.yml | 150 | # ============================================================ |
| MEDIUM | .github/workflows/build-app.yml | 241 | # ============================================================ |
| MEDIUM | .github/workflows/build-app.yml | 244 | # ============================================================ |
| MEDIUM | .github/workflows/build-app.yml | 315 | # ============================================================ |
| MEDIUM | .github/workflows/build-app.yml | 317 | # ============================================================ |
| MEDIUM | .github/workflows/build-app.yml | 508 | # ============================================================ |
| MEDIUM | .github/workflows/build-app.yml | 510 | # ============================================================ |
| MEDIUM | src/exo/download/tests/test_model_dirs.py | 45 | # --------------------------------------------------------------------------- |
| MEDIUM | src/exo/download/tests/test_model_dirs.py | 47 | # --------------------------------------------------------------------------- |
| 42 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | packaging/dmg/generate-background.py | 14 | |
| LOW | bench/prefill_decode_bench.py | 18 | |
| LOW | bench/eval_tool_calls.py | 2 | |
| LOW | bench/exo_eval.py | 28 | |
| LOW | bench/exo_bench.py | 18 | |
| LOW | tools/src/exo_tools/harness.py | 8 | |
| LOW | tools/src/exo_tools/client.py | 4 | |
| LOW | tools/src/exo_tools/cluster.py | 9 | |
| LOW | tests/test_2node.py | 8 | |
| LOW | tests/conftest.py | 22 | |
| LOW | tests/test_resilience.py | 8 | |
| LOW | tests/test_dashboard.py | 11 | |
| LOW | tests/test_4node.py | 8 | |
| LOW | tests/framework.py | 17 | |
| LOW | tests/test_1node.py | 8 | |
| LOW | scripts/fetch_kv_heads.py | 12 | |
| LOW | scripts/download_model_to_cluster.py | 16 | |
| LOW | tmp/quantize_and_upload.py | 17 | |
| LOW | src/exo/__main__.py | 1 | |
| LOW | src/exo/utils/async_process.py | 1 | |
| LOW | src/exo/utils/tests/test_pidfile.py | 1 | |
| LOW | src/exo/shared/tracing.py | 1 | |
| LOW | src/exo/download/coordinator.py | 1 | |
| LOW | src/exo/api/types/ollama_api.py | 1 | |
| LOW | src/exo/api/types/__init__.py | 1 | |
| LOW | src/exo/api/types/__init__.py | 2 | |
| LOW | src/exo/api/types/__init__.py | 3 | |
| LOW | src/exo/api/types/__init__.py | 4 | |
| LOW | src/exo/api/types/__init__.py | 5 | |
| LOW | src/exo/api/types/__init__.py | 6 | |
| LOW | src/exo/api/types/__init__.py | 7 | |
| LOW | src/exo/api/types/__init__.py | 8 | |
| LOW | src/exo/api/types/__init__.py | 9 | |
| LOW | src/exo/api/types/__init__.py | 10 | |
| LOW | src/exo/api/types/__init__.py | 11 | |
| LOW | src/exo/api/types/__init__.py | 12 | |
| LOW | src/exo/api/types/__init__.py | 13 | |
| LOW | src/exo/api/types/__init__.py | 14 | |
| LOW | src/exo/api/types/__init__.py | 15 | |
| LOW | src/exo/api/types/__init__.py | 16 | |
| LOW | src/exo/api/types/__init__.py | 17 | |
| LOW | src/exo/api/types/__init__.py | 18 | |
| LOW | src/exo/api/types/__init__.py | 19 | |
| LOW | src/exo/api/types/__init__.py | 20 | |
| LOW | src/exo/api/types/__init__.py | 21 | |
| LOW | src/exo/api/types/__init__.py | 22 | |
| LOW | src/exo/api/types/__init__.py | 23 | |
| LOW | src/exo/api/types/__init__.py | 24 | |
| LOW | src/exo/api/types/__init__.py | 25 | |
| LOW | src/exo/api/types/__init__.py | 26 | |
| LOW | src/exo/api/types/__init__.py | 27 | |
| LOW | src/exo/api/types/__init__.py | 28 | |
| LOW | src/exo/api/types/__init__.py | 29 | |
| LOW | src/exo/api/types/__init__.py | 30 | |
| LOW | src/exo/api/types/__init__.py | 31 | |
| LOW | src/exo/api/types/__init__.py | 32 | |
| LOW | src/exo/api/types/__init__.py | 33 | |
| LOW | src/exo/api/types/__init__.py | 34 | |
| LOW | src/exo/api/types/__init__.py | 35 | |
| LOW | src/exo/api/types/__init__.py | 36 | |
| 57 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | bench/prefill_decode_bench.py | 294 | except Exception as e: |
| LOW | bench/prefill_decode_bench.py | 512 | except Exception: |
| LOW | bench/parallel_requests.py | 176 | except Exception as e: |
| LOW | bench/eval_tool_calls.py | 701 | except Exception as exc: |
| LOW | bench/eval_tool_calls.py | 807 | except Exception as exc: |
| LOW | bench/exo_eval.py | 189 | except Exception: |
| LOW | bench/exo_eval.py | 216 | except Exception as e: |
| LOW | bench/exo_eval.py | 486 | except Exception: |
| LOW | bench/exo_eval.py | 613 | except Exception: |
| LOW | bench/exo_eval.py | 652 | except Exception as e: |
| LOW | bench/exo_eval.py | 726 | except Exception as e: |
| LOW | bench/exo_eval.py | 1533 | except Exception as e: |
| LOW | bench/exo_bench.py | 211 | except Exception: |
| LOW | bench/exo_bench.py | 541 | except Exception: |
| LOW | bench/exo_bench.py | 639 | except Exception as e: |
| LOW | bench/exo_bench.py | 708 | except Exception as e: |
| LOW | bench/exo_bench.py | 792 | except Exception as e: |
| LOW | tools/src/exo_tools/harness.py | 465 | except Exception: |
| LOW | tools/src/exo_tools/harness.py | 569 | except Exception: |
| LOW | tests/conftest.py | 180 | except Exception: |
| LOW | tests/test_dashboard.py | 32 | except Exception: |
| LOW | tests/framework.py | 194 | except Exception: |
| LOW | scripts/fetch_kv_heads.py | 35 | except Exception as e: |
| LOW | tmp/quantize_and_upload.py | 201 | except Exception as e: |
| MEDIUM | tmp/quantize_and_upload.py | 311 | print("Error: All variants skipped. Nothing to do.") |
| MEDIUM | tmp/run_llm.py | 75 | print(f"Error reading file {args.file}: {e}", file=sys.stderr) |
| LOW | src/exo/utils/disk_event_log.py | 183 | except Exception as e: |
| LOW | src/exo/utils/banner.py | 60 | except Exception: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 290 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 368 | except Exception: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 415 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 472 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 481 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 507 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 526 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 536 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 549 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 561 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 570 | except Exception as e: |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 641 | except Exception as e: |
| MEDIUM | src/exo/utils/info_gatherer/info_gatherer.py | 357 | def _has_nvml_cuda() -> bool: |
| LOW | src/exo/shared/models/model_cards.py | 110 | except Exception: |
| LOW | src/exo/download/coordinator.py | 297 | except Exception as e: |
| LOW | src/exo/download/coordinator.py | 471 | except Exception as e: |
| LOW | src/exo/download/download_utils.py | 273 | except Exception: |
| LOW | src/exo/download/download_utils.py | 332 | except Exception: |
| LOW | src/exo/download/download_utils.py | 430 | except Exception as e: |
| LOW | src/exo/download/download_utils.py | 477 | except Exception as e: |
| LOW | src/exo/download/download_utils.py | 651 | except Exception as e: |
| LOW | src/exo/download/download_utils.py | 691 | except Exception as e: |
| LOW | src/exo/download/download_utils.py | 749 | except Exception as e: |
| LOW | src/exo/download/download_utils.py | 848 | except Exception: |
| LOW | src/exo/download/impl_shard_downloader.py | 268 | except Exception as e: |
| LOW | src/exo/api/main.py | 423 | except Exception as e: |
| LOW | src/exo/api/main.py | 523 | except Exception as exc: |
| LOW | src/exo/api/main.py | 1725 | except Exception as exc: |
| LOW | src/exo/api/main.py | 1825 | except Exception as exc: |
| LOW | src/exo/api/adapters/claude.py | 100 | except Exception: |
| LOW | src/exo/routing/router.py | 219 | except Exception as exception: |
| MEDIUM | src/exo/routing/router.py | 188 | def _networking_recv(self): |
| 26 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | bench/prefill_decode_bench.py | 390 | |
| LOW | bench/parallel_requests.py | 53 | |
| LOW | bench/parallel_requests.py | 116 | |
| LOW | bench/parallel_requests.py | 185 | |
| LOW | bench/eval_tool_calls.py | 301 | |
| LOW | bench/eval_tool_calls.py | 392 | |
| LOW | bench/eval_tool_calls.py | 502 | |
| LOW | bench/eval_tool_calls.py | 569 | |
| LOW | bench/eval_tool_calls.py | 673 | |
| LOW | bench/eval_tool_calls.py | 892 | |
| LOW | bench/exo_eval.py | 123 | |
| LOW | bench/exo_eval.py | 137 | |
| LOW | bench/exo_eval.py | 617 | |
| LOW | bench/exo_eval.py | 688 | |
| LOW | bench/exo_eval.py | 1201 | |
| LOW | bench/exo_eval.py | 1340 | |
| LOW | bench/exo_eval.py | 795 | |
| LOW | bench/exo_bench.py | 63 | |
| LOW | bench/exo_bench.py | 272 | |
| LOW | bench/exo_bench.py | 428 | |
| LOW | bench/exo_bench.py | 201 | |
| LOW | tools/src/exo_tools/harness.py | 83 | |
| LOW | tools/src/exo_tools/harness.py | 296 | |
| LOW | scripts/fetch_kv_heads.py | 85 | |
| LOW | scripts/download_model_to_cluster.py | 106 | |
| LOW | tmp/quantize_and_upload.py | 33 | |
| LOW | tmp/quantize_and_upload.py | 159 | |
| LOW | tmp/run_llm.py | 9 | |
| LOW | src/exo/main.py | 277 | |
| LOW | src/exo/main.py | 179 | |
| LOW | src/exo/utils/async_process.py | 68 | |
| LOW | src/exo/utils/tests/test_async_process.py | 293 | |
| LOW | src/exo/utils/info_gatherer/system_info.py | 59 | |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 46 | |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 79 | |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 485 | |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 540 | |
| LOW | src/exo/utils/info_gatherer/info_gatherer.py | 574 | |
| LOW | src/exo/shared/topology.py | 244 | |
| LOW | src/exo/master/placement_utils.py | 296 | |
| LOW | src/exo/master/placement.py | 325 | |
| LOW | src/exo/master/main.py | 171 | |
| LOW | src/exo/master/main.py | 471 | |
| LOW | src/exo/download/coordinator.py | 354 | |
| LOW | src/exo/download/download_utils.py | 260 | |
| LOW | src/exo/download/download_utils.py | 278 | |
| LOW | src/exo/download/download_utils.py | 487 | |
| LOW | src/exo/download/huggingface_utils.py | 100 | |
| LOW | src/exo/api/main.py | 411 | |
| LOW | src/exo/api/main.py | 1097 | |
| LOW | src/exo/api/main.py | 1211 | |
| LOW | src/exo/api/main.py | 1786 | |
| LOW | src/exo/api/main.py | 1969 | |
| LOW | src/exo/api/adapters/responses.py | 133 | |
| LOW | src/exo/api/adapters/claude.py | 108 | |
| LOW | src/exo/api/adapters/chat_completions.py | 60 | |
| LOW | src/exo/api/adapters/ollama.py | 83 | |
| LOW | src/exo/routing/event_router.py | 116 | |
| LOW | src/exo/routing/router.py | 245 | |
| LOW | src/exo/worker/main.py | 140 | |
| 30 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | src/exo/utils/dashboard_path.py | 38 | "Unable to locate dashboard assets - you probably forgot to run `cd dashboard && npm install && npm run buil |
| HIGH | src/exo/download/tests/test_safetensors_index.py | 33 | raw = '{"metadata": null, "weight_map": {"a.safetensors": "a.safetensors"}}' |
| HIGH | src/exo/worker/runner/llm_inference/batch_generator.py | 186 | queue.push(response) |
| HIGH | src/exo/worker/runner/llm_inference/batch_generator.py | 451 | queue.push(response) |
| HIGH | …/tests/unittests/test_runner/test_finish_reason_sse.py | 502 | queue.push(token) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tmp/quantize_and_upload.py | 180 | # Create the repo if it doesn't exist |
| MEDIUM | src/exo/master/main.py | 524 | # This function is re-entrant, take care! |
| MEDIUM | src/exo/download/tests/test_download_verification.py | 42 | # Create a local file with wrong size |
| MEDIUM | src/exo/download/tests/test_download_verification.py | 103 | # Create a local file |
| MEDIUM | src/exo/download/tests/test_download_verification.py | 142 | # Create a local file |
| MEDIUM | src/exo/routing/event_router.py | 156 | # This function is started whenever we receive an event that is out of sequence. |
| MEDIUM | src/exo/worker/engines/image/generate.py | 49 | # Create a small dummy image for warmup (needed for edit models) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tmp/test_trust_remote_code_attack.sh | 23 | # Step 0: Clean up any stale card from previous runs |
| LOW | tmp/test_trust_remote_code_attack.sh | 33 | # Step 1: Add the malicious model via API |
| LOW | tmp/test_trust_remote_code_attack.sh | 50 | # Step 2: Verify the saved TOML has trust_remote_code = false |
| LOW | tmp/test_trust_remote_code_attack.sh | 66 | # Step 3: Place the instance |
| LOW | tmp/test_trust_remote_code_attack.sh | 119 | # Step 4: Clean up — delete instance and custom model |
| LOW | …xo/worker/tests/unittests/test_runner/test_dsml_e2e.py | 106 | # Step 1: Encode the prompt (with tools available) |
| LOW | …xo/worker/tests/unittests/test_runner/test_dsml_e2e.py | 153 | # Step 1: Encode prompt |
| LOW | …xo/worker/tests/unittests/test_runner/test_dsml_e2e.py | 161 | # Step 2: Simulate realistic token-by-token model output |
| LOW | …xo/worker/tests/unittests/test_runner/test_dsml_e2e.py | 119 | # Step 2: Simulate model response — plain text tokens (no DSML) |
| LOW | …xo/worker/tests/unittests/test_runner/test_dsml_e2e.py | 130 | # Step 3: Verify all tokens pass through as GenerationResponse |
| LOW | …xo/worker/tests/unittests/test_runner/test_dsml_e2e.py | 181 | # Step 3: Verify |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | app/EXO/uninstall-exo.sh | 73 | # Check if running as root |
| LOW | app/EXO/uninstall-exo.sh | 176 | # Check if EXO.app exists in common locations |
| LOW | tests/test_dashboard.py | 24 | # Check if Chromium is installed by attempting a quick launch |
| LOW | src/exo/download/coordinator.py | 200 | # Check if already downloading, complete, or recently failed |
| LOW | src/exo/api/main.py | 998 | # Check if model is actually downloaded |
| LOW | src/exo/api/main.py | 1077 | # Check if streaming is requested |
| LOW | src/exo/api/main.py | 1142 | # Check if this image is complete |
| LOW | src/exo/routing/router.py | 57 | # Check if we should send to network |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | src/exo/worker/plan.py | 92 | ) in runner.bound_instance.instance.shard_assignments.node_to_runner.values(): |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | src/exo/worker/engines/image/models/__init__.py | 49 | Get configuration for a model ID. Args: model_id: The model identifier (e.g., "black-forest-labs/FLUX.1-sch |
| HIGH | src/exo/worker/engines/image/models/__init__.py | 75 | Create a model adapter for the given configuration. Args: config: The model configuration model_id: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | src/exo/download/download_utils.py | 845 | |
| MEDIUM | src/exo/routing/router.py | 255 | |
| MEDIUM | src/exo/routing/router.py | 259 | |
| MEDIUM | src/exo/worker/engines/image/builder.py | 116 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | packaging/dmg/create-dmg.sh | 1 | #!/usr/bin/env bash |
| LOW | bench/bench.toml | 1 | # Canary benchmark manifest |
| LOW | bench/eval_configs/models.toml | 1 | # Model evaluation configurations for exo_eval. |
| LOW | app/EXO/uninstall-exo.sh | 1 | #!/usr/bin/env bash |
| LOW | rust/exo_pyo3_bindings/src/pidfile.rs | 41 | /// lock it, detect already running daemons. It is backed by [`pidfile`][] |
| LOW | dashboard/src/routes/integrations/+page.svelte | 141 | if (caps.includes("vision")) { |
| LOW | src/exo/worker/engines/mlx/utils_mlx.py | 241 | pass |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | dashboard/package-lock.json | 3001 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", |
| MEDIUM | dashboard/src/routes/+page.svelte | 2743 | // Launch a model for seamless chat |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/exo/download/coordinator.py | 150 | # don't forget to clean up resources |
| LOW | src/exo/download/coordinator.py | 150 | # don't forget to clean up resources |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | packaging/dmg/create-dmg.sh | 4 | # Usage: |