Run frontier LLMs and VLMs locally on Qualcomm devices across NPU, GPU, and CPU with a few lines of code
This report summarizes scanner evidence for qualcomm/GenieX, a Rust project with 8,428 GitHub stars. SynthScan examined 131,664 lines of code across 429 source files, recording 704 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 6.5 (Moderate 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.
Can maintainers explain intent, assumptions, and trade-offs? 504 finding(s).
Are imports declared and package/API names verified? 120 finding(s).
Are wrappers, guards, and repeated structures necessary? 203 finding(s).
Which changes need focused human review? 704 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 704 distinct pattern matches across 17 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 |
|---|---|---|---|---|
| LOW | cli/server/utils/toolcall_lfm2.go | 1 | // Copyright 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | cli/server/utils/toolcall_gptoss.go | 1 | // Copyright 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | cli/server/utils/toolcall_qwen35.go | 1 | // Copyright 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | cli/release/linux/install.sh | 1 | #!/bin/sh | COMMENT |
| LOW | cli/release/linux/check.sh | 1 | #!/bin/sh | COMMENT |
| LOW | cli/release/linux/entrypoint.sh | 1 | #!/bin/sh | COMMENT |
| LOW | sdk/CMakeLists.txt | 121 | --manifest-path "${RUST_MM_DIR}/Cargo.toml" | COMMENT |
| LOW | sdk/CMakeLists.txt | 141 | # the llama.cpp plugin to tear down HTP FastRPC channels on model unload so | COMMENT |
| LOW | sdk/benchmark/bench.h | 21 | #include <geniex_model.h> | COMMENT |
| LOW | sdk/benchmark/qdc/linux/run_linux.sh | 1 | #!/bin/bash | COMMENT |
| LOW | sdk/plugins/qairt/include/sampler_config_utils.h | 1 | // Copyright (c) 2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/qairt/include/path_utils.h | 1 | // Copyright (c) 2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/qairt/include/chat_message_utils.h | 1 | // Copyright (c) 2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/qairt/include/qnn_runtime_utils.h | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/qairt/src/llm.cpp | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/qairt/src/llm.cpp | 21 | #include "chat_message_utils.h" | COMMENT |
| LOW | sdk/plugins/qairt/src/vlm.cpp | 1 | // Copyright (c) 2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/llama_cpp/include/params.h | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/llama_cpp/include/params.h | 21 | // both the pinned `npu` alias and the `hybrid` per-tensor scheduler — they | COMMENT |
| LOW | sdk/plugins/llama_cpp/include/params.h | 41 | // hybrid -> empty device_id, ngl != 0 -> HTP | COMMENT |
| LOW | sdk/plugins/llama_cpp/include/llm.h | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/llama_cpp/include/vlm.h | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/llama_cpp/src/llm.cpp | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/llama_cpp/src/llm.cpp | 601 | } | COMMENT |
| LOW | sdk/plugins/llama_cpp/src/vlm.cpp | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/llama_cpp/src/plugin.cpp | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/plugins/llama_cpp/src/params.cpp | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/include/registry.h | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/include/power_mode_alias.h | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/include/geniex.h | 21 | #if defined(_WIN32) && !defined(__MINGW32__) | COMMENT |
| LOW | sdk/include/geniex.h | 501 | geniex_Path chat_template_path; // path to chat template file, optional | COMMENT |
| LOW | sdk/include/image_utils.h | 1 | // Copyright (c) 2024-2026 Qualcomm Technologies, Inc. and/or its subsidiaries. | COMMENT |
| LOW | sdk/include/external/httplib.h | 1 | // | COMMENT |
| LOW | sdk/include/external/httplib.h | 21 | "cpp-httplib doesn't support 32-bit Windows. Please use a 64-bit compiler.") | COMMENT |
| LOW | sdk/include/external/httplib.h | 41 | /* | COMMENT |
| LOW | sdk/include/external/httplib.h | 61 | #ifndef CPPHTTPLIB_CONNECTION_TIMEOUT_USECOND | COMMENT |
| LOW | sdk/include/external/httplib.h | 81 | #ifndef CPPHTTPLIB_CLIENT_READ_TIMEOUT_SECOND | COMMENT |
| LOW | sdk/include/external/httplib.h | 101 | #ifndef CPPHTTPLIB_IDLE_INTERVAL_SECOND | COMMENT |
| LOW | sdk/include/external/httplib.h | 121 | #ifndef CPPHTTPLIB_HEADER_MAX_COUNT | COMMENT |
| LOW | sdk/include/external/httplib.h | 141 | #ifndef CPPHTTPLIB_RANGE_MAX_COUNT | COMMENT |
| LOW | sdk/include/external/httplib.h | 161 | #ifndef CPPHTTPLIB_COMPRESSION_BUFSIZ | COMMENT |
| LOW | sdk/include/external/httplib.h | 181 | #define CPPHTTPLIB_LISTEN_BACKLOG 5 | COMMENT |
| LOW | sdk/include/external/httplib.h | 201 | #if defined(_MSC_VER) | COMMENT |
| LOW | sdk/include/external/httplib.h | 221 | #endif // NOMINMAX | COMMENT |
| LOW | sdk/include/external/httplib.h | 241 | using socklen_t = int; | COMMENT |
| LOW | sdk/include/external/httplib.h | 261 | #include <csignal> | COMMENT |
| LOW | sdk/include/external/httplib.h | 281 | #include <array> | COMMENT |
| LOW | sdk/include/external/httplib.h | 301 | #include <sstream> | COMMENT |
| LOW | sdk/include/external/httplib.h | 321 | COMMENT | |
| LOW | sdk/include/external/httplib.h | 341 | #include <openssl/evp.h> | COMMENT |
| LOW | sdk/include/external/httplib.h | 361 | #endif // CPPHTTPLIB_OPENSSL_SUPPORT | COMMENT |
| LOW | sdk/include/external/httplib.h | 4801 | } | COMMENT |
| LOW | sdk/include/external/json.hpp | 21 | #include <algorithm> // all_of, find, for_each | COMMENT |
| LOW | sdk/include/external/json.hpp | 41 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | sdk/include/external/json.hpp | 61 | #if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PA | COMMENT |
| LOW | sdk/include/external/json.hpp | 81 | #define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 | COMMENT |
| LOW | sdk/include/external/json.hpp | 161 | // __ _____ _____ _____ | COMMENT |
| LOW | sdk/include/external/json.hpp | 181 | #include <valarray> // valarray | COMMENT |
| LOW | sdk/include/external/json.hpp | 201 | #include <vector> // vector | COMMENT |
| LOW | sdk/include/external/json.hpp | 221 | // __| | __| | | | JSON for Modern C++ | COMMENT |
| 281 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sdk/CMakeLists.txt | 26 | # =============================================================================== | COMMENT |
| MEDIUM | sdk/CMakeLists.txt | 28 | # =============================================================================== | COMMENT |
| MEDIUM | sdk/CMakeLists.txt | 43 | # =============================================================================== | COMMENT |
| MEDIUM | sdk/CMakeLists.txt | 45 | # =============================================================================== | COMMENT |
| MEDIUM | sdk/CMakeLists.txt | 129 | # =============================================================================== | COMMENT |
| MEDIUM | sdk/CMakeLists.txt | 131 | # =============================================================================== | COMMENT |
| MEDIUM | sdk/plugins/qairt/src/vlm.cpp | 76 | // ── LLM config ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | sdk/plugins/qairt/src/vlm.cpp | 124 | // ── Vision encoder config ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | sdk/plugins/qairt/src/vlm.cpp | 137 | // ── Build VLMConfig and create pipeline ─────────────────────────────────── | COMMENT |
| MEDIUM | sdk/model-manager/crates/core/src/pull.rs | 10 | //! ┌───────────────────┐ ┌───────────────────────────┐ ┌──────────────────┐ | COMMENT |
| MEDIUM | sdk/model-manager/crates/core/src/pull.rs | 16 | //! └───────────────────┘ └───────────────────────────┘ └──────────────────┘ | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 29 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 31 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 95 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 97 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 122 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 125 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 143 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 145 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 180 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 255 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 257 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 318 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/tests/unit/test_error_messages.py | 320 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/geniex/_ffi/_types.py | 20 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/geniex/_ffi/_types.py | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/geniex/_ffi/_types.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | bindings/python/geniex/_ffi/_types.py | 29 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 48 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 50 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 61 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 63 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 101 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 103 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 126 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 128 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 147 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 244 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 246 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 317 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 319 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 358 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | bindings/python/geniex/_ffi/_types.py | 360 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 53 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW | tests/test_qairt.py | 81 | def test_llm_greedy_is_deterministic(cached, model, device_map): | CODE |
| LOW | tests/test_qairt.py | 169 | def test_llm_quality_keywords(cached, model, device_map, prompt, expected): | CODE |
| LOW | tests/test_qairt.py | 201 | def test_llm_logits_self_consistency(qairt_llm_paths, device_map): | CODE |
| LOW | tests/test_qairt.py | 221 | def test_vlm_quality_keywords(cached, model, quality_image, device_map): | CODE |
| LOW | tests/test_qairt.py | 246 | def test_chat_template_roles_and_sentinels(qairt_llm_paths, device_map): | CODE |
| LOW | tests/test_qairt.py | 267 | def test_chat_template_enable_thinking(qairt_llm_paths, device_map): | CODE |
| LOW | tests/test_qairt.py | 284 | def test_chat_template_tools_list_and_json_string_equivalent(qairt_llm_paths, device_map): | CODE |
| LOW⚡ | tests/test_api.py | 17 | def test_llama_cpp_plugin_version_nonempty(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 22 | def test_qairt_plugin_version_nonempty(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 29 | def test_runtime_list_is_non_empty_string_list(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 36 | def test_runtime_list_contains_llama_cpp(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 40 | def test_compute_unit_list_shape_for_each_runtime(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 51 | def test_init_deinit_is_idempotent_within_session(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 56 | def test_set_log_level_accepts_known_levels(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 61 | def test_public_surface_exports(): | CODE |
| LOW⚡ | tests/test_api.py | 92 | def test_qairt_runtime_path_is_locked_after_init(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 102 | def test_resolve_auto_returns_known_runtime(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 109 | def test_resolve_cpu_alias_zeroes_gpu_layers(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 115 | def test_resolve_hybrid_alias_offloads_all_layers(geniex_session): | CODE |
| LOW⚡ | tests/test_api.py | 123 | def test_resolve_llama_cpp_auto_defaults_to_npu(geniex_session): | CODE |
| LOW | tests/test_api.py | 137 | def test_resolve_qairt_npu_alias_resolves_to_qairt(geniex_session): | CODE |
| LOW | tests/test_llama_cpp.py | 50 | def test_model_manager_pull_mtp(llama_cpp_mtp_paths): | CODE |
| LOW | tests/test_llama_cpp.py | 94 | def test_llm_greedy_is_deterministic(cached, model, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 178 | def test_llm_quality_keywords(cached, model, device_map, prompt, expected): | CODE |
| LOW | tests/test_llama_cpp.py | 213 | def test_vlm_quality_keywords(cached, model, quality_image, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 285 | def test_chat_template_roles_and_sentinels(llama_cpp_llm_paths, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 307 | def test_chat_template_enable_thinking(llama_cpp_llm_paths, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 325 | def test_chat_template_tools_list_and_json_string_equivalent(llama_cpp_llm_paths, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 355 | def test_chat_template_renders_tool_response(llama_cpp_llm_paths, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 387 | def test_chat_template_content_load_override(llama_cpp_llm_paths, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 411 | def test_context_shift_fires_on_decode_overflow(llama_cpp_llm_paths, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 434 | def test_context_shift_not_triggered_when_nctx_is_ample(llama_cpp_llm_paths, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 450 | def test_mtmd_marker_prepended_per_image(llama_cpp_vlm_paths, test_image, quality_image, device_map, n_images): | CODE |
| LOW | tests/test_llama_cpp.py | 473 | def test_mtmd_marker_absent_on_text_only_message(llama_cpp_vlm_paths, device_map): | CODE |
| LOW | tests/test_llama_cpp.py | 490 | def test_mtmd_generate_rejects_missing_image_path(llama_cpp_vlm_paths, test_image, device_map): | CODE |
| LOW | tests/qdc/android/conftest.py | 31 | def _prepare_device_for_appium() -> None: | CODE |
| LOW⚡ | cli/server/docs/ui/swagger-ui.js | 1 | !function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"fu | CODE |
| LOW⚡ | cli/server/docs/ui/swagger-ui-es-bundle-core.js | 2 | import*as e from"ieee754";import*as t from"base64-js";import*as r from"react";import*as n from"redux";import*as a from"i | CODE |
| LOW | cli/server/docs/ui/swagger-ui-standalone-preset.js | 2 | !function webpackUniversalModuleDefinition(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"fu | CODE |
| LOW⚡ | bindings/python/tests/test_model_manager.py | 18 | def test_get_paths_returns_existing_files(llama_cpp_paths): | CODE |
| LOW⚡ | bindings/python/tests/test_model_manager.py | 24 | def test_list_contains_pulled_model(llama_cpp_paths): | CODE |
| LOW⚡ | bindings/python/tests/test_model_manager.py | 29 | def test_ensure_cached_idempotent(llama_cpp_paths): | CODE |
| LOW | bindings/python/tests/test_model_manager.py | 43 | def test_resolve_alias_unknown_raises(geniex_session): | CODE |
| LOW | bindings/python/tests/test_local_aihub_pull.py | 105 | def test_pull_from_extracted_dir_produces_qairt_paths(tmp_path, cleanup_model): | CODE |
| LOW | bindings/python/tests/test_local_aihub_pull.py | 131 | def test_pull_from_extracted_dir_supports_vision_yields_vlm(tmp_path, cleanup_model): | CODE |
| LOW | bindings/python/tests/test_local_aihub_pull.py | 146 | def test_pull_from_local_zip_handles_stored_and_deflate(tmp_path, cleanup_model): | CODE |
| LOW | bindings/python/tests/test_local_aihub_pull.py | 173 | def test_pull_rejects_unknown_local_layout(tmp_path, geniex_session): | CODE |
| LOW | bindings/python/tests/test_local_aihub_pull.py | 183 | def test_pull_rejects_safetensors_only_dir_with_clear_error(tmp_path, geniex_session): | CODE |
| LOW | bindings/python/tests/test_local_aihub_pull.py | 194 | def test_pull_localfs_requires_local_path(geniex_session): | CODE |
| LOW⚡ | bindings/python/tests/test_progress.py | 18 | def test_resolve_false_returns_none(): | CODE |
| LOW⚡ | bindings/python/tests/test_progress.py | 22 | def test_resolve_callable_passthrough(): | CODE |
| LOW⚡ | bindings/python/tests/test_progress.py | 27 | def test_resolve_none_returns_default(): | CODE |
| LOW⚡ | bindings/python/tests/test_progress.py | 35 | def test_resolve_rejects_non_callable(): | CODE |
| LOW⚡ | bindings/python/tests/test_progress.py | 44 | def test_finish_noop_on_plain_callable(): | CODE |
| LOW⚡ | bindings/python/tests/test_progress.py | 48 | def test_tqdm_progress_creates_bar_per_file(): | CODE |
| LOW | bindings/python/tests/test_progress.py | 60 | def test_tqdm_progress_seeds_initial_from_downloaded(): | CODE |
| LOW | bindings/python/tests/test_progress.py | 76 | def test_tqdm_progress_updates_existing_bar(): | CODE |
| LOW | bindings/python/tests/test_progress.py | 86 | def test_tqdm_progress_handles_unknown_total(): | CODE |
| LOW | bindings/python/tests/test_progress.py | 98 | def test_default_progress_printer_returns_callable(): | CODE |
| 58 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 6 | CODE | |
| LOW | tests/_quality_data.py | 35 | CODE | |
| LOW | tests/test_qairt.py | 6 | CODE | |
| LOW | tests/_models.py | 6 | CODE | |
| LOW | tests/test_api.py | 6 | CODE | |
| LOW | tests/test_llama_cpp.py | 6 | CODE | |
| LOW | tests/qdc/run_qdc_pytest.py | 17 | CODE | |
| LOW | tests/qdc/android/conftest.py | 11 | CODE | |
| LOW | tests/qdc/android/android_deploy.py | 6 | CODE | |
| LOW | tests/qdc/android/test_run_device.py | 6 | CODE | |
| LOW | sdk/benchmark/qdc/run_qdc_jobs.py | 16 | CODE | |
| LOW | sdk/benchmark/qdc/_qdc.py | 12 | CODE | |
| LOW | sdk/benchmark/qdc/tests/test_bench.py | 20 | CODE | |
| LOW | sdk/benchmark/qdc/tests/utils.py | 6 | CODE | |
| LOW | bindings/sync_siblings.py | 20 | CODE | |
| LOW | bindings/python-qairt/setup.py | 10 | CODE | |
| LOW | bindings/python/_geniex_backend.py | 27 | CODE | |
| LOW | bindings/python/_geniex_backend.py | 27 | CODE | |
| LOW | bindings/python/_geniex_backend.py | 27 | CODE | |
| LOW | bindings/python/_geniex_backend.py | 27 | CODE | |
| LOW | bindings/python/_geniex_backend.py | 27 | CODE | |
| LOW | bindings/python/_geniex_backend.py | 38 | CODE | |
| LOW | bindings/python/_geniex_backend.py | 38 | CODE | |
| LOW | bindings/python/_geniex_backend.py | 38 | CODE | |
| LOW | bindings/python/_geniex_backend.py | 21 | CODE | |
| LOW | bindings/python/_sdk_fetch.py | 6 | CODE | |
| LOW | bindings/python/_shared_setup.py | 12 | CODE | |
| LOW | bindings/python/setup.py | 10 | CODE | |
| LOW | bindings/python/tests/conftest.py | 13 | CODE | |
| LOW | bindings/python/tests/test_model_manager.py | 6 | CODE | |
| LOW | bindings/python/tests/test_local_aihub_pull.py | 17 | CODE | |
| LOW | bindings/python/tests/test_progress.py | 6 | CODE | |
| LOW | bindings/python/tests/test_cli.py | 11 | CODE | |
| LOW | bindings/python/tests/unit/test_modeling_decode.py | 9 | CODE | |
| LOW | bindings/python/tests/unit/test_ensure_cached.py | 10 | CODE | |
| LOW | bindings/python/tests/unit/test_sdk_variant.py | 6 | CODE | |
| LOW | bindings/python/tests/unit/test_cli_load_banner.py | 7 | CODE | |
| LOW | bindings/python/tests/unit/test_quant_validation.py | 12 | CODE | |
| LOW | bindings/python/tests/unit/test_qairt_coerce.py | 6 | CODE | |
| LOW | bindings/python/tests/unit/test_error_messages.py | 11 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 4 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 5 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 17 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 18 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 18 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 18 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 19 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 19 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 19 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 20 | CODE | |
| LOW | bindings/python/geniex/__init__.py | 20 | CODE | |
| 53 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdk/benchmark/qdc/tests/utils.py | 49 | except ValueError: | CODE |
| HIGH | bindings/python/_geniex_backend.py | 43 | except ImportError: | CODE |
| HIGH | bindings/python/tests/test_local_aihub_pull.py | 98 | except geniex.GenieXError: | CODE |
| HIGH | bindings/python/geniex/model_manager.py | 595 | except GenieXError: | CODE |
| HIGH | bindings/python/geniex/cli.py | 45 | except Exception: # noqa: BLE001 | CODE |
| HIGH | bindings/python/geniex/cli.py | 215 | except BaseException: | CODE |
| HIGH | bindings/python/geniex/modeling.py | 405 | except Exception: | CODE |
| HIGH | bindings/python/geniex/modeling.py | 664 | except Exception: | CODE |
| HIGH | bindings/python/geniex/auto.py | 190 | except (GenieXError, FileNotFoundError, OSError): | CODE |
| HIGH | bindings/python/geniex/_ffi/_lib.py | 78 | except OSError: | CODE |
| HIGH | bindings/python/geniex/_ffi/_lib.py | 188 | except OSError: | CODE |
| HIGH | bindings/python/geniex/_ffi/_lib.py | 66 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sdk/benchmark/qdc/run_qdc_jobs.py | 554 | # Phones lack python3/curl, so the appium pytest harness on the QDC host | COMMENT |
| MEDIUM | sdk/benchmark/qdc/run_qdc_jobs.py | 558 | # and the harness skips whichever test the mode did not ask for. | COMMENT |
| MEDIUM | sdk/benchmark/qdc/run_qdc_jobs.py | 907 | # the appium harness's own stdout, which is not one of the logs above. | COMMENT |
| MEDIUM | sdk/include/external/httplib.h | 8938 | // Cross-host/scheme redirect - create new client with robust setup | COMMENT |
| MEDIUM | sdk/include/external/httplib.h | 8943 | // New method for robust redirect client creation | COMMENT |
| MEDIUM | sdk/include/external/httplib.h | 9009 | // Setup client with robust configuration | COMMENT |
| MEDIUM | sdk/include/external/httplib.h | 9017 | // New method for robust client setup (based on basic_manual_redirect.cpp logic) | COMMENT |
| MEDIUM | sdk/include/external/fmt/format.h | 3380 | // Compilers are not aware of how to leverage the maximum value of | COMMENT |
| MEDIUM | .github/workflows/_qdc-test.yml | 51 | # QDC harness bundles the full tests/ tree onto the device, so any | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/qdc/android/android_deploy.py | 123 | adb_shell(f'cd {dest} && tar -xzf tree.tar.gz && rm tree.tar.gz') | CODE |
| HIGH | tests/qdc/android/android_deploy.py | 143 | adb_shell(f'chmod -R +x {DEV_PY}/bin {DEV_PY}/libexec 2>/dev/null; true') | CODE |
| HIGH | tests/qdc/android/android_deploy.py | 151 | f'cd {DEV_SDK}/lib && for f in qairt/htp-files/*.so qairt/htp-files/*.cat llama_cpp/*.so; do ' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdk/benchmark/qdc/_qdc.py | 83 | except Exception as exc: | CODE |
| LOW | sdk/benchmark/qdc/_qdc.py | 147 | except Exception as exc: | CODE |
| LOW | bindings/python/geniex/model_manager.py | 281 | except Exception: | CODE |
| MEDIUM | bindings/python/geniex/model_manager.py | 270 | def _trampoline(files_ptr, count, _user_data): | CODE |
| LOW | bindings/python/geniex/cli.py | 45 | except Exception: # noqa: BLE001 | CODE |
| LOW | bindings/python/geniex/modeling.py | 405 | except Exception: | CODE |
| LOW | bindings/python/geniex/modeling.py | 664 | except Exception: | CODE |
| MEDIUM | bindings/python/geniex/modeling.py | 402 | def __del__(self) -> None: | CODE |
| MEDIUM | bindings/python/geniex/modeling.py | 661 | def __del__(self) -> None: | CODE |
| LOW | bindings/python/geniex/auto.py | 345 | except Exception: # noqa: BLE001 — uncached / unknown → treat as LLM | CODE |
| LOW | bindings/python/geniex/_ffi/_api.py | 86 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | sdk/include/image_utils.h | 93 | // Step 1: Get original image dimensions using ffprobe | COMMENT |
| LOW⚡ | sdk/include/image_utils.h | 97 | // Step 2: For normal aspect ratios (0.5-2.0), directly resize without padding | COMMENT |
| LOW | sdk/include/image_utils.h | 113 | // Step 3: Fallback - If dimension detection fails, directly resize to target size | COMMENT |
| LOW | sdk/include/image_utils.h | 127 | // Step 4: For extreme aspect ratios (< 0.5 or > 2.0), use smart padding | COMMENT |
| LOW | sdk/include/external/fmt/format-inl.h | 1191 | // Step 1: integer promotion & Schubfach multiplier calculation. | COMMENT |
| LOW | sdk/include/external/fmt/format-inl.h | 1246 | // Step 2: Try larger divisor; remove trailing zeros if necessary. | COMMENT |
| LOW | sdk/include/external/fmt/format-inl.h | 1277 | // Step 3: Find the significand with the smaller divisor. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | sdk/include/image_utils.h | 93 | // Step 1: Get original image dimensions using ffprobe | COMMENT |
| LOW⚡ | sdk/include/image_utils.h | 97 | // Step 2: For normal aspect ratios (0.5-2.0), directly resize without padding | COMMENT |
| LOW | sdk/include/image_utils.h | 113 | // Step 3: Fallback - If dimension detection fails, directly resize to target size | COMMENT |
| LOW | sdk/include/image_utils.h | 127 | // Step 4: For extreme aspect ratios (< 0.5 or > 2.0), use smart padding | COMMENT |
| LOW | sdk/include/external/fmt/format-inl.h | 1191 | // Step 1: integer promotion & Schubfach multiplier calculation. | COMMENT |
| LOW | sdk/include/external/fmt/format-inl.h | 1246 | // Step 2: Try larger divisor; remove trailing zeros if necessary. | COMMENT |
| LOW | sdk/include/external/fmt/format-inl.h | 1277 | // Step 3: Find the significand with the smaller divisor. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 53 | CODE | |
| LOW | tests/qdc/run_qdc_pytest.py | 125 | CODE | |
| LOW | tests/qdc/run_qdc_pytest.py | 161 | CODE | |
| LOW | tests/qdc/run_qdc_pytest.py | 206 | CODE | |
| LOW | tests/qdc/android/android_deploy.py | 78 | CODE | |
| LOW | tests/qdc/android/android_deploy.py | 107 | CODE | |
| LOW | sdk/benchmark/qdc/run_qdc_jobs.py | 218 | CODE | |
| LOW | sdk/benchmark/qdc/run_qdc_jobs.py | 932 | CODE | |
| LOW | sdk/benchmark/qdc/_qdc.py | 210 | CODE | |
| LOW | bindings/python/geniex/modeling.py | 423 | CODE | |
| LOW | bindings/python/geniex/auto.py | 244 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bindings/python/geniex/__init__.py | 22 | __all__ = [ | CODE |
| LOW | bindings/python/geniex/model_manager.py | 32 | __all__ = [ | CODE |
| LOW | bindings/python/geniex/model_manager.py | 456 | def set_type(model_name: str, model_type: str) -> None: | CODE |
| LOW | bindings/python/geniex/_progress.py | 18 | __all__ = ['default_progress_printer', 'resolve', 'finish'] | CODE |
| LOW | bindings/python/geniex/_ffi/_api.py | 98 | def set_log_level(level: str) -> None: | CODE |
| LOW | bindings/python/geniex/_ffi/_api.py | 111 | def _set_sdk_log_level(level: str) -> None: | CODE |
| LOW | bindings/python/geniex/_ffi/_api.py | 491 | def set_qairt_runtime_path(path: str) -> None: | CODE |
| LOW | bindings/python/geniex/_ffi/__init__.py | 46 | __all__ = [ | CODE |
| LOW | bindings/python/geniex/_ffi/_lib.py | 70 | def _setup_env(lib_path: str, plugin_path: str, extra_dirs: list[str] | None = None) -> None: | CODE |
| LOW | bindings/python/geniex/generation/__init__.py | 8 | __all__ = ['GenerationConfig', 'GenerateOutput', 'ProfileData', 'TextIteratorStreamer'] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .claude/skills/reshape-pr-commits/SKILL.md | 22 | ## Non-negotiable guardrails | COMMENT |
| MEDIUM | cli/server/handler/chat_messages_test.go | 19 | // One round of an agentic loop: the assistant issues a tool call, the harness | COMMENT |
| MEDIUM | .github/workflows/_unit-test.yml | 161 | # ---------------- python / sdk pytest (shared scaffolding) ---------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | cli/server/docs/ui/swagger-ui.js | 1 | !function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"fu | CODE |
| LOW⚡ | cli/server/docs/ui/swagger-ui.js | 1 | !function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"fu | CODE |
| LOW⚡ | cli/server/docs/ui/swagger-ui-es-bundle-core.js | 2 | import*as e from"ieee754";import*as t from"base64-js";import*as r from"react";import*as n from"redux";import*as a from"i | CODE |
| LOW⚡ | cli/server/docs/ui/swagger-ui-es-bundle-core.js | 2 | import*as e from"ieee754";import*as t from"base64-js";import*as r from"react";import*as n from"redux";import*as a from"i | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bindings/python/geniex/model_manager.py | 227 | CODE | |
| LOW | bindings/python/geniex/modeling.py | 220 | CODE | |
| LOW | bindings/python/geniex/modeling.py | 519 | CODE | |
| LOW | bindings/python/geniex/auto.py | 384 | CODE | |
| LOW | bindings/python/geniex/auto.py | 477 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/release/linux/install.sh | 7 | # Usage: | COMMENT |
| LOW | cli/release/linux/check.sh | 9 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/internal/readline/history.go | 6 | // TODO: implement history persistence | COMMENT |