Run 35B MoE models in ~2.5 GB of RAM. Weights stream from SSD; a trained router predicts loads a step ahead. Mac, iPhone, Android, Windows supported
This report summarizes scanner evidence for Edge0-AI/Edge0, a Python project with 8,901 GitHub stars. SynthScan examined 183,524 lines of code across 861 source files, recording 501 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 4.2 (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? 292 finding(s).
Are imports declared and package/API names verified? 157 finding(s).
Are wrappers, guards, and repeated structures necessary? 175 finding(s).
Which changes need focused human review? 501 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
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 501 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 |
|---|---|---|---|---|
| CRITICAL | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 22 | val ctx = androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().targetContext | CODE |
| CRITICAL | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 25 | val want = androidx.test.platform.app.InstrumentationRegistry.getArguments() | CODE |
| CRITICAL | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 90 | val ctx = androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().targetContext | CODE |
| CRITICAL⚡ | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 123 | val ctx = androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().targetContext | CODE |
| CRITICAL⚡ | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 124 | val want = androidx.test.platform.app.InstrumentationRegistry.getArguments() | CODE |
| CRITICAL⚡ | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 128 | val syncMode = androidx.test.platform.app.InstrumentationRegistry.getArguments() | CODE |
| CRITICAL⚡ | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 133 | val probeThinking = (androidx.test.platform.app.InstrumentationRegistry.getArguments() | CODE |
| CRITICAL | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 161 | val ctx = androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().targetContext | CODE |
| CRITICAL | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 162 | val want = androidx.test.platform.app.InstrumentationRegistry.getArguments() | CODE |
| CRITICAL | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 206 | val ctx = androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().targetContext | CODE |
| CRITICAL⚡ | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 238 | val mode = androidx.test.platform.app.InstrumentationRegistry.getArguments() | CODE |
| CRITICAL⚡ | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 240 | val ctx = androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().targetContext | CODE |
| CRITICAL⚡ | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 241 | val want = androidx.test.platform.app.InstrumentationRegistry.getArguments().getString("model") ?: "edge0-35b.gg | CODE |
| CRITICAL | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 272 | val ctx = androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().targetContext | CODE |
| CRITICAL | …oidTest/java/dev/edge0/runtime/app/LlamaRuntimeTest.kt | 300 | val ctx = androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().targetContext | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | python/tests/test_moe_spec.py | 56 | def test_block_of_digit_segments(): | CODE |
| LOW⚡ | python/tests/test_moe_spec.py | 64 | def test_layer_exists_stops_at_end_of_list(): | CODE |
| LOW⚡ | python/tests/test_moe_spec.py | 73 | def test_layer_exists_stops_on_attribute_error(): | CODE |
| LOW⚡ | python/tests/test_moe_spec.py | 81 | def test_layer_exists_reraises_unrelated_index_error(): | CODE |
| LOW⚡ | python/tests/test_moe_spec.py | 92 | def test_layer_exists_reraises_unrelated_attribute_error(block_path): | CODE |
| LOW⚡ | python/tests/test_moe_spec.py | 99 | def test_layer_of_defaults_from_block_path(): | CODE |
| LOW⚡ | python/tests/test_moe_spec.py | 106 | def test_layer_of_plain_list_path(): | CODE |
| LOW⚡ | python/tests/test_moe_spec.py | 115 | def test_bundle_projs_layouts(): | CODE |
| LOW⚡ | python/tests/test_registry.py | 12 | def test_both_tiers_registered(): | CODE |
| LOW⚡ | python/tests/test_registry.py | 16 | def test_type_aliases_resolve(): | CODE |
| LOW⚡ | python/tests/test_registry.py | 24 | def test_auto_config_defaults(name): | CODE |
| LOW | python/tests/test_registry.py | 98 | def test_prefill_ondemand_switch_maps_onto_the_tier_preset(): | CODE |
| LOW | python/tests/test_registry.py | 135 | def test_unknown_name_lists_registry(): | CODE |
| LOW | python/tests/test_registry.py | 140 | def test_adapter_module_exposes_config(): | CODE |
| LOW | python/tests/test_tool_calls.py | 52 | def test_ling_parses_real_template_span(): | CODE |
| LOW | python/tests/test_tool_calls.py | 63 | def test_qwen_parses_real_template_span_with_multiline_value(): | CODE |
| LOW⚡ | python/tests/test_tool_calls.py | 76 | def test_no_tool_call_leaves_content_unchanged_stripped(): | CODE |
| LOW⚡ | python/tests/test_tool_calls.py | 83 | def test_prose_before_tool_call_is_preserved_as_content(): | CODE |
| LOW⚡ | python/tests/test_tool_calls.py | 90 | def test_multiple_tool_calls_in_one_response(): | CODE |
| LOW | python/tests/test_tool_calls.py | 105 | def test_qwen_malformed_block_kept_as_content(): | CODE |
| LOW | python/tests/test_tool_calls.py | 123 | def test_incomplete_or_unconsumed_arguments_are_preserved(parser, body): | CODE |
| LOW⚡ | python/tests/test_tool_calls.py | 134 | def test_zero_argument_tool_call(parser, text): | CODE |
| LOW⚡ | python/tests/test_tool_calls.py | 140 | def test_qwen_function_allows_surrounding_whitespace(): | CODE |
| LOW⚡ | python/tests/test_tool_calls.py | 147 | def test_malformed_blocks_survive_between_valid_calls(): | CODE |
| LOW⚡ | python/tests/test_tool_calls.py | 154 | def test_ling_argument_coercion_numbers_and_json(): | CODE |
| LOW | python/tests/test_streaming_math.py | 150 | def test_exact_matches_reference(layer): | CODE |
| LOW | python/tests/test_streaming_math.py | 168 | def test_staged_matches_exact(layer): | CODE |
| LOW | python/tests/test_streaming_math.py | 191 | def test_staged_replace_matches_exact(layer): | CODE |
| LOW | python/tests/test_streaming_math.py | 213 | def test_staged_fallback_when_empty(layer): | CODE |
| LOW | python/tests/test_streaming_math.py | 233 | def test_full_layer_prefill_matches_exact(layer): | CODE |
| LOW | python/tests/test_streaming_math.py | 257 | def test_hot_stack_matches_exact(layer): | CODE |
| LOW | python/tests/test_streaming_math.py | 290 | def test_hot_stack_has_zero_overflow_row(layer): | CODE |
| LOW | python/tests/test_streaming_math.py | 304 | def test_hot_stack_with_misses_matches_exact(layer): | CODE |
| LOW | python/tests/test_streaming_math.py | 322 | def test_double_buffered_swap(layer): | CODE |
| LOW | python/tests/test_streaming_math.py | 349 | def test_install_discovers_layer_count(tmp_path): | CODE |
| LOW⚡ | python/tests/test_cli_flags.py | 13 | def test_prefill_ondemand_reaches_the_engine(cmd): | CODE |
| LOW⚡ | python/tests/test_cli_flags.py | 19 | def test_prefill_ondemand_defaults_off(cmd): | CODE |
| LOW⚡ | python/tests/test_cli_flags.py | 24 | def test_existing_engine_flags_still_map(): | CODE |
| LOW⚡ | python/tests/test_cli_flags.py | 32 | def test_serve_keeps_its_own_flags(): | CODE |
| LOW⚡ | python/tests/test_cli_flags.py | 41 | def test_entrypoint_preserves_prerouter_contract( | CODE |
| LOW⚡ | python/tests/test_prefill_hook.py | 50 | def test_full_layer_disabled_never_loads_a_whole_layer(): | CODE |
| LOW⚡ | python/tests/test_prefill_hook.py | 54 | def test_full_layer_default_still_loads_every_layer(): | CODE |
| LOW⚡ | python/tests/test_prefill_hook.py | 59 | def test_full_layer_honors_the_leading_layer_count(): | CODE |
| LOW⚡ | python/tests/test_prefill_hook.py | 63 | def test_hot_window_survives_full_layer_disabled(): | CODE |
| LOW⚡ | python/tests/test_prefill_hook.py | 69 | def test_hot_stack_layer_is_not_also_loaded_whole(): | CODE |
| LOW | python/tests/test_streaming_install.py | 18 | def test_install_discovers_mixed_layers(monkeypatch): | CODE |
| LOW | python/tests/test_streaming_install.py | 43 | def test_install_rejects_empty_layer_list(): | CODE |
| LOW⚡ | python/tests/test_server.py | 175 | def test_parse_basic_defaults(): | CODE |
| LOW⚡ | python/tests/test_server.py | 185 | def test_parse_multipart_content_joins_text(): | CODE |
| LOW⚡ | python/tests/test_server.py | 195 | def test_parse_stream_flag_and_sampling(): | CODE |
| LOW⚡ | python/tests/test_server.py | 205 | def test_parse_max_completion_tokens(): | CODE |
| LOW⚡ | python/tests/test_server.py | 213 | def test_parse_preserves_tools_and_tool_choice(): | CODE |
| LOW⚡ | python/tests/test_server.py | 219 | def test_parse_message_tool_calls_and_tool_role_roundtrip(): | CODE |
| LOW⚡ | python/tests/test_server.py | 235 | def test_parse_normalizes_tool_arguments_without_mutating_payload(arguments): | CODE |
| LOW⚡ | python/tests/test_server.py | 252 | def test_parse_rejects_invalid_tool_arguments(arguments): | CODE |
| LOW⚡ | python/tests/test_server.py | 262 | def test_parse_rejects_invalid_tool_call_shapes(calls): | CODE |
| LOW⚡ | python/tests/test_server.py | 269 | def test_parse_tool_call_without_arguments_uses_empty_object(): | CODE |
| LOW⚡ | python/tests/test_server.py | 387 | def test_handlers_healthz_and_models(): | CODE |
| LOW⚡ | python/tests/test_server.py | 396 | def test_handlers_completions_rejected(): | CODE |
| LOW⚡ | python/tests/test_server.py | 403 | def test_chat_once_response_shape(): | CODE |
| 60 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/test_moe_spec.py | 3 | CODE | |
| LOW | python/tests/test_registry.py | 3 | CODE | |
| LOW | python/tests/test_registry.py | 7 | CODE | |
| LOW | python/tests/test_tool_calls.py | 15 | CODE | |
| LOW | python/tests/test_streaming_math.py | 10 | CODE | |
| LOW | python/tests/test_cli_flags.py | 3 | CODE | |
| LOW | python/tests/test_prefill_hook.py | 13 | CODE | |
| LOW | python/tests/test_server.py | 9 | CODE | |
| LOW | python/tests/test_server.py | 13 | CODE | |
| LOW | python/tests/test_server.py | 23 | CODE | |
| LOW | python/tests/test_server.py | 32 | CODE | |
| LOW | python/tests/test_e2e_slow.py | 8 | CODE | |
| LOW | python/tests/test_repo_hygiene.py | 14 | CODE | |
| LOW | python/tests/test_strip_vision_weights.py | 6 | CODE | |
| LOW | python/tests/test_sampling.py | 3 | CODE | |
| LOW | python/tests/test_sampling.py | 6 | CODE | |
| LOW | python/tests/test_upload_hf.py | 3 | CODE | |
| LOW | python/examples/bench.py | 24 | CODE | |
| LOW | python/examples/demo.py | 20 | CODE | |
| LOW | python/scripts/generate_example.py | 19 | CODE | |
| LOW | python/scripts/e2e_smoke.py | 12 | CODE | |
| LOW | python/scripts/strip_vision_weights.py | 12 | CODE | |
| LOW | python/scripts/fetch_models.py | 28 | CODE | |
| LOW | python/scripts/fetch_models.py | 32 | CODE | |
| LOW | python/src/edge0/config.py | 3 | CODE | |
| LOW | python/src/edge0/config.py | 5 | CODE | |
| LOW | python/src/edge0/registry.py | 10 | CODE | |
| LOW | python/src/edge0/registry.py | 122 | CODE | |
| LOW | python/src/edge0/registry.py | 88 | CODE | |
| LOW | python/src/edge0/registry.py | 99 | CODE | |
| LOW | python/src/edge0/registry.py | 109 | CODE | |
| LOW | python/src/edge0/__init__.py | 17 | CODE | |
| LOW | python/src/edge0/cli.py | 11 | CODE | |
| LOW | python/src/edge0/cli.py | 18 | CODE | |
| LOW | python/src/edge0/sampling.py | 4 | CODE | |
| LOW | python/src/edge0/attention/spec.py | 15 | CODE | |
| LOW | python/src/edge0/backends/__init__.py | 44 | CODE | |
| LOW | python/src/edge0/backends/__init__.py | 44 | CODE | |
| LOW | python/src/edge0/backends/__init__.py | 44 | CODE | |
| LOW | python/src/edge0/backends/__init__.py | 44 | CODE | |
| LOW | python/src/edge0/backends/base.py | 8 | CODE | |
| LOW | python/src/edge0/backends/mlx/backend.py | 8 | CODE | |
| LOW | python/src/edge0/backends/mlx/backend.py | 10 | CODE | |
| LOW | python/src/edge0/backends/mlx/backend.py | 11 | CODE | |
| LOW | python/src/edge0/backends/mlx/backend.py | 13 | CODE | |
| LOW | python/src/edge0/backends/mlx/backend.py | 13 | CODE | |
| LOW | python/src/edge0/backends/mlx/io.py | 3 | CODE | |
| LOW | python/src/edge0/backends/mlx/__init__.py | 7 | CODE | |
| LOW | python/src/edge0/backends/mlx/__init__.py | 7 | CODE | |
| LOW | python/src/edge0/backends/mlx/__init__.py | 7 | CODE | |
| LOW | python/src/edge0/backends/mlx/__init__.py | 7 | CODE | |
| LOW | python/src/edge0/backends/mlx/__init__.py | 7 | CODE | |
| LOW | python/src/edge0/backends/mlx/quant.py | 3 | CODE | |
| LOW | python/src/edge0/backends/mlx/_impl/bailing_hybrid.py | 2 | CODE | |
| LOW | python/src/edge0/backends/mlx/_impl/qwen3_next.py | 3 | CODE | |
| LOW | python/src/edge0/backends/mlx/_impl/qwen3_next.py | 7 | CODE | |
| LOW | python/src/edge0/prerouter/__init__.py | 11 | CODE | |
| LOW | python/src/edge0/prerouter/__init__.py | 11 | CODE | |
| LOW | python/src/edge0/prerouter/__init__.py | 11 | CODE | |
| LOW | python/src/edge0/prerouter/__init__.py | 12 | CODE | |
| 77 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | macos/crates/engine-native/src/expertio.hpp | 1 | // Expert load/staging: mmap shards, global LRU, prefetch buffer, and staged double-buffer. | COMMENT |
| LOW | macos/crates/engine-native/src/qgemm.cpp | 1 | #include "qgemm.hpp" | COMMENT |
| LOW | macos/crates/engine-native/src/net35.hpp | 1 | // 35b (Qwen3.5-MoE) forward graph: mixed GatedDeltaNet and full attention. | COMMENT |
| LOW | macos/crates/engine-native/src/fwd_common.hpp | 1 | // Resident non-expert weights and shared forward ops (safio read → heap → mlx no-op deleter). | COMMENT |
| LOW | macos/crates/engine-native/src/net8b.hpp | 1 | // 8b (Ling 3.0 hybrid) forward graph: KDA/MLA mix, L0 dense FFN, MoE 128-choose-8 + shared. | COMMENT |
| LOW | macos/crates/engine-native/src/stepprefetch.hpp | 1 | // Async per-step prefetch: submit(step i+1) returns a ticket; IO threads load into | COMMENT |
| LOW | macos/crates/engine-native/src/lora.hpp | 1 | // Unmerged parallel LoRA: y = base(x) + (scale * ((x.f16 @ A^T) @ B^T)).astype(y.dtype), scale = alpha/r. | COMMENT |
| LOW | macos/crates/engine-native/src/net8b.cpp | 1 | #include "net8b.hpp" | COMMENT |
| LOW | macos/crates/engine-native/src/abiface.cpp | 1 | #include "engine-abi.h" | COMMENT |
| LOW | macos/crates/engine-native/src/expertio.cpp | 1 | #include "expertio.hpp" | COMMENT |
| LOW | macos/crates/engine-native/src/hotstack.hpp | 1 | // Cross-layer LRU hot stack: explicit heap buffers + F_NOCACHE pread (eviction is testable). | COMMENT |
| LOW | macos/crates/engine-native/src/genstream.hpp | 1 | // Generation stream: ABI wrapper around net prefill/step plus sampling. | COMMENT |
| LOW | macos/crates/engine-native/src/net35.cpp | 1 | #include "net35.hpp" | COMMENT |
| LOW | macos/crates/edge0-core/src/state.rs | 101 | #[serde(default, skip_serializing_if = "Option::is_none")] | COMMENT |
| LOW | macos/crates/edge0-cli/src/main.rs | 41 | keep_alive: Option<String>, | COMMENT |
| LOW | macos/third_party/mlx/mlx/mlx.h | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/mlx.h | 21 | #include "mlx/random.h" | COMMENT |
| LOW | macos/third_party/mlx/mlx/ops.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/transforms.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/threadpool.h | 1 | // This code was modified from https://github.com/progschj/ThreadPool | COMMENT |
| LOW | macos/third_party/mlx/mlx/threadpool.h | 21 | // 3. This notice may not be removed or altered from any source | COMMENT |
| LOW | macos/third_party/mlx/mlx/small_vector.h | 1 | // Copyright © 2025 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/small_vector.h | 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | COMMENT |
| LOW | macos/third_party/mlx/mlx/small_vector.h | 41 | #else | COMMENT |
| LOW | macos/third_party/mlx/mlx/small_vector.h | 81 | // Minimal SmallVector implementation. Uses inline storage first, switches to | COMMENT |
| LOW | macos/third_party/mlx/mlx/scheduler.h | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/api.h | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/api.h | 21 | #define MLX_API __declspec(dllexport) | COMMENT |
| LOW | macos/third_party/mlx/mlx/export.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/compile.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/primitives.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/primitives.cpp | 5361 | // - A_m = A [..., M, K] * mask_b_lhs [..., MP, KP] | COMMENT |
| LOW | macos/third_party/mlx/mlx/array.h | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/graph_utils.cpp | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/einsum.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/distributed/nccl/nccl.cpp | 1 | // NCCL distributed support currently requires Unix socket APIs | COMMENT |
| LOW | …third_party/mlx/mlx/distributed/mpi/mpi_declarations.h | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/distributed/ring/ring.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/io/load.h | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/io/safetensors.cpp | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/io/safetensors.cpp | 21 | #define ST_I8 "I8" | COMMENT |
| LOW | macos/third_party/mlx/mlx/io/load.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/gpu/primitives.cpp | 1 | // Copyright © 2025 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/quantized.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/distributed.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/device.h | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/matmul.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/compiled.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/hadamard.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/indexing.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/fft.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/fft.cpp | 301 | COMMENT | |
| LOW | macos/third_party/mlx/mlx/backend/metal/device.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/device.cpp | 421 | stream.temporaries.insert( | COMMENT |
| LOW | …mlx/mlx/backend/metal/scaled_dot_product_attention.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/primitives.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/conv.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | …_party/mlx/mlx/backend/metal/make_compiled_preamble.sh | 1 | #!/bin/bash | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/reduce.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | macos/third_party/mlx/mlx/backend/metal/kernels/fft.h | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| 74 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/examples/bench.py | 171 | except ValueError: | CODE |
| HIGH | python/src/edge0/registry.py | 77 | except Exception: | CODE |
| HIGH | python/src/edge0/backends/mlx/io.py | 143 | except Exception: | CODE |
| HIGH | python/src/edge0/server/app.py | 323 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | python/src/edge0/streaming/layer.py | 920 | except Exception: # best-effort | CODE |
| HIGH | python/src/edge0/streaming/layer.py | 755 | except Exception: | CODE |
| HIGH | python/src/edge0/streaming/layer.py | 1452 | except Exception: | CODE |
| HIGH | python/src/edge0/streaming/mmap.py | 49 | except Exception: # noqa: BLE001 — advisory only | CODE |
| HIGH | python/src/edge0/streaming/mmap.py | 76 | except Exception: # noqa: BLE001 — advisory only | CODE |
| HIGH | python/src/edge0/engine/ling.py | 188 | except Exception: # noqa: BLE001 — advisory only | CODE |
| HIGH | python/src/edge0/engine/ling.py | 196 | except Exception: # noqa: BLE001 — advisory only | CODE |
| HIGH | python/src/edge0/engine/ling.py | 149 | except Exception: # noqa: BLE001 — tokenizer optional for CLI | CODE |
| HIGH | python/src/edge0/engine/qwen.py | 146 | except Exception: # noqa: BLE001 — tokenizer optional for CLI | CODE |
| HIGH | python/src/edge0/engine/base.py | 176 | except Exception: # noqa: BLE001 — best-effort | CODE |
| HIGH | python/src/edge0/engine/base.py | 165 | except Exception: # noqa: BLE001 — best-effort shutdown | CODE |
| HIGH | windows/tools/convert_mlx_to_gguf.py | 127 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/src/edge0/registry.py | 77 | except Exception: | CODE |
| LOW | python/src/edge0/backends/mlx/io.py | 143 | except Exception: | CODE |
| MEDIUM | python/src/edge0/backends/mlx/io.py | 140 | def __del__(self): | CODE |
| LOW | python/src/edge0/prerouter/stager.py | 139 | except Exception: # noqa: BLE001 — any shape mismatch: per-head loop | CODE |
| LOW | python/src/edge0/server/chat.py | 162 | except Exception: # noqa: BLE001 | CODE |
| LOW | python/src/edge0/server/chat.py | 164 | except Exception: # noqa: BLE001 — render failed: last resort | CODE |
| LOW | python/src/edge0/server/app.py | 200 | except Exception as exc: # pragma: no cover - transport-dependent | CODE |
| MEDIUM | python/src/edge0/server/app.py | 159 | def produce(): | CODE |
| MEDIUM | python/src/edge0/streaming/layer.py | 522 | def _on_prefetch_done(self, expert, fut): | CODE |
| MEDIUM | python/src/edge0/streaming/layer.py | 778 | def _submit_stage_locked(self, unique): | CODE |
| LOW | python/src/edge0/streaming/layer.py | 408 | except Exception: # noqa: BLE001 — advisory only | CODE |
| LOW | python/src/edge0/streaming/layer.py | 525 | except Exception: | CODE |
| LOW | python/src/edge0/streaming/layer.py | 755 | except Exception: | CODE |
| LOW | python/src/edge0/streaming/layer.py | 807 | except Exception: | CODE |
| LOW | python/src/edge0/streaming/layer.py | 831 | except Exception: | CODE |
| LOW | python/src/edge0/streaming/layer.py | 920 | except Exception: # best-effort | CODE |
| LOW | python/src/edge0/streaming/layer.py | 1452 | except Exception: | CODE |
| LOW | python/src/edge0/streaming/mmap.py | 49 | except Exception: # noqa: BLE001 — advisory only | CODE |
| LOW | python/src/edge0/streaming/mmap.py | 76 | except Exception: # noqa: BLE001 — advisory only | CODE |
| LOW | python/src/edge0/engine/ling.py | 149 | except Exception: # noqa: BLE001 — tokenizer optional for CLI | CODE |
| LOW | python/src/edge0/engine/ling.py | 188 | except Exception: # noqa: BLE001 — advisory only | CODE |
| LOW | python/src/edge0/engine/ling.py | 196 | except Exception: # noqa: BLE001 — advisory only | CODE |
| LOW | python/src/edge0/engine/qwen.py | 146 | except Exception: # noqa: BLE001 — tokenizer optional for CLI | CODE |
| LOW | python/src/edge0/engine/base.py | 165 | except Exception: # noqa: BLE001 — best-effort shutdown | CODE |
| LOW | python/src/edge0/engine/base.py | 176 | except Exception: # noqa: BLE001 — best-effort | CODE |
| LOW | windows/tools/convert_mlx_to_gguf.py | 127 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/examples/bench.py | 211 | CODE | |
| LOW | python/src/edge0/registry.py | 59 | CODE | |
| LOW | python/src/edge0/backends/mlx/_impl/bailing_hybrid.py | 852 | CODE | |
| LOW | python/src/edge0/server/chat.py | 175 | CODE | |
| LOW | python/src/edge0/streaming/layer.py | 392 | CODE | |
| LOW | python/src/edge0/streaming/layer.py | 539 | CODE | |
| LOW | python/src/edge0/streaming/layer.py | 587 | CODE | |
| LOW | python/src/edge0/streaming/layer.py | 709 | CODE | |
| LOW | python/src/edge0/streaming/layer.py | 821 | CODE | |
| LOW | python/src/edge0/streaming/layer.py | 894 | CODE | |
| LOW | python/src/edge0/streaming/layer.py | 933 | CODE | |
| LOW | python/src/edge0/streaming/layer.py | 991 | CODE | |
| LOW | python/src/edge0/streaming/layer.py | 1111 | CODE | |
| LOW | python/src/edge0/engine/ling.py | 233 | CODE | |
| LOW | python/src/edge0/engine/ling.py | 248 | CODE | |
| LOW | python/src/edge0/engine/ling.py | 277 | CODE | |
| LOW | python/src/edge0/engine/qwen.py | 41 | CODE | |
| LOW | python/src/edge0/engine/qwen.py | 201 | CODE | |
| LOW | python/src/edge0/engine/qwen.py | 219 | CODE | |
| LOW | ios/tools/repack_experts.py | 127 | CODE | |
| LOW | ios/tools/repack_experts.py | 209 | CODE | |
| LOW | ios/tools/repack_experts.py | 268 | CODE | |
| LOW | windows/tools/repack_mlx_to_gguf.py | 216 | CODE | |
| LOW | windows/tools/repack_mlx_to_gguf.py | 267 | CODE | |
| LOW | windows/tools/repack_r3_8b.py | 53 | CODE | |
| LOW | windows/tools/lora_mlx_to_gguf.py | 71 | CODE | |
| LOW | windows/tools/convert_mlx_to_gguf.py | 51 | CODE | |
| LOW | windows/tools/convert_mlx_to_gguf.py | 100 | CODE | |
| LOW | windows/tools/repack_r3.py | 104 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | python/tests/test_server.py | 229 | assert req.messages[1].content == "" # null, not the string "None" | CODE |
| HIGH | python/src/edge0/backends/mlx/_impl/bailing_hybrid.py | 425 | # transformers 4.x ``default`` (rope_scaling=null) computes | COMMENT |
| HIGH | python/src/edge0/server/chat.py | 74 | # send content: null, not an omitted key | COMMENT |
| HIGH | python/src/edge0/server/tool_calls.py | 38 | booleans, null, objects, arrays) -- mirrors the template's own | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/src/edge0/__init__.py | 21 | __all__ = [ | CODE |
| LOW | python/src/edge0/backends/__init__.py | 61 | __all__ = ["backend", "core", "io", "nn", "quant"] | CODE |
| LOW | python/src/edge0/backends/mlx/__init__.py | 9 | __all__ = ["BackendImpl", "core", "io", "nn", "quant"] | CODE |
| LOW | python/src/edge0/prerouter/__init__.py | 21 | __all__ = [ | CODE |
| LOW | python/src/edge0/server/__init__.py | 8 | __all__ = [ | CODE |
| LOW | python/src/edge0/models/__init__.py | 17 | __all__ = ["ModelConfig", "edge0_8b", "edge0_35b"] | CODE |
| LOW | python/src/edge0/streaming/__init__.py | 10 | __all__ = [ | CODE |
| LOW | python/src/edge0/adapters/__init__.py | 5 | __all__ = ["LoraLinear", "install_lora"] | CODE |
| LOW | python/src/edge0/engine/__init__.py | 18 | __all__ = [ | CODE |
| LOW | python/src/edge0/moe/__init__.py | 11 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/adding-a-model.md | 17 | ## Step 1: Create the adapter module and directory | COMMENT |
| LOW | docs/adding-a-model.md | 21 | ## Step 2: Define the `Config` subclass and `_defaults` | COMMENT |
| LOW | docs/adding-a-model.md | 73 | ## Step 4: Register with the registry | COMMENT |
| LOW | docs/adding-a-model.md | 112 | ## Step 6: Testing recommendations | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/src/edge0/backends/mlx/_impl/qwen3_5.py | 243 | CODE | |
| LOW | python/src/edge0/backends/mlx/_impl/qwen3_next.py | 389 | CODE | |
| LOW | windows/tools/r3_bench.py | 249 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/architecture.md | 53 | ├── engine/ # inference orchestration (prefill/decode loop, subclassed per model) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | macos/app/src/i18n/locales/en.json | 69 | "placeholder": "Type a message, Enter to send", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/test_upload_hf.py | 20 | def handle_request(self, request): | CODE |