The fastest local AI engine for Apple Silicon. 4.2x faster than Ollama, 0.08s cached TTFT, 100% tool calling. 17 tool parsers, prompt cache, reasoning separation, cloud routing. Drop-in OpenAI replacement. Works with Claude Code, Cursor, Aider.
This report presents the forensic synthetic code analysis of raullenchai/Rapid-MLX, a Python project with 3,266 GitHub stars. SynthScan v2.0 examined 473,475 lines of code across 1053 source files, recording 13326 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 40.2 places this repository in the Strong AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 13326 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | install.sh | 16 | # ── Helpers ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | install.sh | 54 | # ── Banner ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | install.sh | 63 | # ── 1. Check platform ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | install.sh | 85 | # ── 2. Detect RAM → recommend model ────────────────────────────────────────── | COMMENT |
| MEDIUM | install.sh | 96 | # ── 3. Find or install Python 3.10+ ───────────────────────────────────────── | COMMENT |
| MEDIUM | install.sh | 139 | # ── 4. Migrate from old install location ───────────────────────────────────── | COMMENT |
| MEDIUM | install.sh | 147 | # ── 5. Create or update venv + install ─────────────────────────────────────── | COMMENT |
| MEDIUM | install.sh | 191 | # ── 6. Create symlinks ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | install.sh | 206 | # ── 7. Ensure ~/.local/bin is in PATH ──────────────────────────────────────── | COMMENT |
| MEDIUM | install.sh | 227 | # ── 8. Verify + done ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | evals/run_eval.py | 253 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | evals/run_eval.py | 255 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | evals/run_eval.py | 485 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | evals/run_eval.py | 487 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 406 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 408 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 972 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 974 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 1095 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 1097 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 1248 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 1250 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 1558 | # ============================================================================= | COMMENT |
| MEDIUM | evals/run_eval.py | 1560 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | evals/results/baseline_benchmark.json | 333 | "content": "# Building a Distributed System on Apple Silicon: A Comprehensive Technical Guide## IntroductionThe ad | CODE |
| MEDIUM⚡ | evals/results/baseline_benchmark.json | 333 | "content": "# Building a Distributed System on Apple Silicon: A Comprehensive Technical Guide## IntroductionThe ad | CODE |
| MEDIUM⚡ | evals/results/tier1_benchmark.json | 333 | "content": "# Building a Distributed System on Apple Silicon: A Comprehensive Technical Guide## IntroductionApple | CODE |
| MEDIUM | community-benchmarks/scripts/aggregate.py | 73 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | community-benchmarks/scripts/aggregate.py | 75 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | community-benchmarks/scripts/aggregate.py | 95 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | community-benchmarks/scripts/aggregate.py | 97 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | community-benchmarks/scripts/aggregate.py | 136 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | community-benchmarks/scripts/aggregate.py | 138 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | community-benchmarks/scripts/aggregate.py | 226 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | community-benchmarks/scripts/aggregate.py | 228 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 86 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 1332 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 1334 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 1542 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 1544 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 1695 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 1712 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 2077 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 2079 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 2230 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 2232 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 19 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 51 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 53 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 228 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 230 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 311 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 313 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 1631 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 1633 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 2045 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 2047 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 2409 | # --------------------------------------------------------------------------- | COMMENT |
| 2407 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | community-benchmarks/scripts/validate.py | 352 | def _check_summary_matches_rounds(bucket_name: str, bucket: dict) -> None: | CODE |
| LOW | community-benchmarks/scripts/validate.py | 399 | def _check_path_in_submissions(path: Path) -> None: | CODE |
| LOW | community-benchmarks/scripts/validate.py | 423 | def _check_no_duplicate_submission_id( | CODE |
| LOW | community-benchmarks/scripts/validate.py | 465 | def _load_submission_id_index( | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 66 | def extract_reasoning_streaming(self, prev, curr, delta): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 72 | def test_finalize_streaming_default_none(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 77 | def extract_reasoning_streaming(self, prev, curr, delta): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 101 | def test_both_tags_empty_reasoning(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 107 | def test_both_tags_empty_content(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 113 | def test_both_tags_whitespace_reasoning(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 119 | def test_only_end_tag_implicit(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 272 | def test_both_tags_in_single_delta(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 280 | def test_start_tag_only_in_delta(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 287 | def test_no_tags_early_defaults_to_reasoning(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 351 | def test_streaming_no_tag_past_threshold(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 358 | def test_streaming_no_tag_under_threshold(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 365 | def test_finalize_short_no_tag_correction(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 389 | def test_finalize_long_no_tag_no_correction(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 396 | def test_finalize_with_tags_no_correction(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 403 | def test_finalize_empty_no_correction(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1338 | def test_extract_channel_analysis(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1343 | def test_extract_channel_final(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1348 | def test_extract_channel_not_found(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1353 | def test_extract_channel_empty_content(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1358 | def test_extract_channel_with_constrain(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1363 | def test_channel_regex_matches_analysis(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1369 | def test_channel_regex_matches_final(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1375 | def test_channel_regex_matches_constrain(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1381 | def test_structural_tokens_regex(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1460 | def test_detect_phase_analysis(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1468 | def test_detect_phase_transition(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1472 | def test_streaming_analysis_phase(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1480 | def test_streaming_final_phase(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1488 | def test_streaming_phase_transition_to_analysis(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1497 | def test_streaming_phase_transition_to_final(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1506 | def test_streaming_init_phase_skips(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1513 | def test_streaming_structural_token_stripped(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1527 | def test_extract_content_after_marker(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1534 | def test_extract_content_after_marker_not_found(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1550 | def test_think_parser_full_stream(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 1714 | def test_bare_thinking_process_prefix_no_close_tag(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2061 | def test_no_tags_enable_thinking_true_still_routes_to_content(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2067 | def test_no_tags_enable_thinking_false_routes_to_content(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2086 | def test_direct_content_code_block(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2098 | def test_direct_content_tool_call(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2104 | def test_reasoning_pattern_english(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2111 | def test_reasoning_pattern_i_need(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2118 | def test_reasoning_pattern_let_me(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2124 | def test_reasoning_pattern_chinese(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2129 | def test_no_reasoning_pattern(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2168 | def test_explicit_think_tag_in_delta(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2172 | def test_explicit_think_tag_with_content(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2178 | def test_end_think_tag_transition(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2211 | def test_finalize_undecided_empty(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2216 | def test_finalize_content_phase(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2222 | def test_finalize_reasoning_reclassifies(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2290 | def test_analysis_channel_switch(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2297 | def test_final_channel_switch(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2304 | def test_commentary_channel_switch(self): | CODE |
| LOW⚡ | tests/test_reasoning_parsers.py | 2313 | def test_message_start_skipped(self): | CODE |
| 6933 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 41 | # default_stream / new_stream / new_thread_local_stream) are materialised | COMMENT |
| LOW | pyproject.toml | 61 | # ``transformers==5.7.0`` — that release is treated as the *canonical | COMMENT |
| LOW | pyproject.toml | 81 | "psutil>=5.9.0", | COMMENT |
| LOW | pyproject.toml | 101 | "argcomplete>=3.6", | COMMENT |
| LOW | pyproject.toml | 121 | "opencv-python>=4.8.0", | COMMENT |
| LOW | pyproject.toml | 141 | # checkpoint contains an image-processor preprocessor_config.json (the | COMMENT |
| LOW | pyproject.toml | 201 | # in the linter/typer toolchain. | COMMENT |
| LOW | pyproject.toml | 221 | # to catch format regressions. NOT used at runtime — the route | COMMENT |
| LOW | pyproject.toml | 261 | "vllm>=0.4.0", | COMMENT |
| LOW | pyproject.toml | 301 | # 2. ``phonemizer-fork`` (NOT vanilla ``phonemizer``) is the only | COMMENT |
| LOW | pyproject.toml | 401 | "vllm_mlx/models/deepseek_v4.py" = ["UP", "B", "SIM", "N", "F", "I", "E"] | COMMENT |
| LOW | community-benchmarks/scripts/aggregate.py | 81 | # Metrics we surface per bucket. Keep this list in lockstep with what | COMMENT |
| LOW | community-benchmarks/scripts/validate.py | 81 | COMMENT | |
| LOW | community-benchmarks/scripts/validate.py | 141 | "and re-run." | COMMENT |
| LOW | community-benchmarks/scripts/validate.py | 161 | # loose: it accepts date-only strings (``"2026-06-16"``) and | COMMENT |
| LOW | community-benchmarks/scripts/validate.py | 301 | ) | COMMENT |
| LOW | community-benchmarks/scripts/validate.py | 541 | # and the file read. The previous version called | COMMENT |
| LOW | community-benchmarks/scripts/validate.py | 621 | # id) so two files with the same id are correctly flagged: removing | COMMENT |
| LOW | tests/test_reasoning_parsers.py | 201 | assert "Line 1" in reasoning | COMMENT |
| LOW | tests/test_reasoning_parsers.py | 1701 | # then the user-facing answer. Sometimes the model restates the | COMMENT |
| LOW | tests/test_reasoning_parsers.py | 1741 | reasoning, content = self.parser.extract_reasoning(text) | COMMENT |
| LOW | tests/test_reasoning_parsers.py | 1901 | "world-class — let me think of an example... Pok Pok was iconic." | COMMENT |
| LOW | tests/test_no_mllm_flag.py | 721 | # starts appearing here, the gates automatically include it. | COMMENT |
| LOW | tests/test_no_mllm_flag.py | 761 | (DeepSeek round-3 #3). | COMMENT |
| LOW | tests/test_no_mllm_flag.py | 901 | # Codex round-H fix (PR #409): the later prongs in | COMMENT |
| LOW | tests/test_no_mllm_flag.py | 1061 | "KWARGS_FORWARDED_BUT_NOT_VIA_MODEL_CONFIG. Either set " | COMMENT |
| LOW | tests/test_no_mllm_flag.py | 1161 | # literal RoutingFlagPair(...) calls inside it. The assignment is | COMMENT |
| LOW | tests/test_no_mllm_flag.py | 1381 | for conftest in tests_dir.rglob("conftest.py"): | COMMENT |
| LOW | tests/test_no_mllm_flag.py | 1601 | continue | COMMENT |
| LOW | tests/test_gemma4_tool_parser.py | 181 | COMMENT | |
| LOW | tests/test_harmony_stop_final_channel_only.py | 421 | assert stop_str == "</execute_ipython>" | COMMENT |
| LOW | tests/test_deep_nest_dos.py | 81 | # NOTE: ``ChatCompletionRequest`` MUST be referenced from a | COMMENT |
| LOW | tests/test_envelope_field_extraction.py | 601 | _walk_loc_with_root, | COMMENT |
| LOW | tests/test_audio_upload_size_limit.py | 21 | # SKIP NOTE: this test file has heavy environmental requirements that | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 61 | # Codex round-D fix (PR #409): allowlisting by NAME alone is bypass- | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 101 | } | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 121 | # not consulted at runtime by the engine. | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 141 | # This is a cache placement/testing knob; model routing and DDTree | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 161 | # Operator ceiling for accepted generation token budgets. | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 181 | # Plumbs ``--mcp-config`` from the CLI to the FastAPI lifespan and is | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 201 | # from* — strictly a download/CDN knob — not which model alias loads, | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 221 | # (the scheduler's cache-self-pressure trigger) tick on real | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 241 | # selects a model, parser, or routing tier. | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 261 | # F-072 slow-DoS body-receive idle timeout (seconds, float). | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 281 | "RAPID_MLX_CORS_ALLOW_HEADERS", | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 301 | # Legacy alias for the rescue opt-out (PR #802 / #860 / issue | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 321 | # never selects a model, parser, or routing tier; consumed | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 341 | # PID of the supervising parent process for the parent-watchdog | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 361 | # pure-silence and trailing-silence clips (issue #961). Pure | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 921 | "var access bypasses the string-Constant scan (matches " | COMMENT |
| LOW | tests/test_no_out_of_band_routing.py | 1261 | "suffix_decoding_tier", # one of VALID_SUFFIX_TIERS — non-routing data | COMMENT |
| LOW | tests/test_ui_tars_fixes.py | 821 | assert tc_expr is not None, "tool_choice= kwarg missing" | COMMENT |
| LOW | tests/test_no_pydantic_error_leak.py | 221 | # Cases chosen to hit each Pydantic v2 error class that would normally | COMMENT |
| LOW | tests/test_tokenizer_gemma4_hybrid.py | 361 | # Pre-repair: ``Ġ`` leaks. | COMMENT |
| LOW | tests/test_model_auto_config.py | 381 | # 3B base = Qwen2.5-Coder-3B). Verify both the alias paths | COMMENT |
| LOW | tests/test_model_auto_config.py | 1341 | # body, matched by deepseek_v3 / deepseek_r1_0528. V3.1-line | COMMENT |
| LOW | tests/test_model_auto_config.py | 1361 | ("deepseek-ai/DeepSeek-V3-0324", "deepseek_v3"), | COMMENT |
| LOW | tests/test_model_auto_config.py | 1461 | # replaced with an explicit hermes pin — codex r6 PR-validate NIT, | COMMENT |
| LOW | tests/test_model_auto_config.py | 1481 | assert "deepseek_v3" in msg | COMMENT |
| LOW | tests/test_model_auto_config.py | 1621 | # would have fired under the r5 same-parser-only gate), suppress | COMMENT |
| 1256 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bench/bench_spec_decode_mtp.py | 459 | except Exception as exc: # pragma: no cover — bench | CODE |
| LOW⚡ | evals/run_eval.py | 265 | except Exception: | CODE |
| LOW⚡ | evals/run_eval.py | 475 | except Exception: | CODE |
| LOW | evals/run_eval.py | 280 | except Exception: | CODE |
| LOW | evals/run_eval.py | 290 | except Exception: | CODE |
| LOW | evals/run_eval.py | 947 | except Exception as e: | CODE |
| LOW | evals/run_eval.py | 1072 | except Exception as e: | CODE |
| LOW | evals/run_eval.py | 1226 | except Exception as e: | CODE |
| LOW | evals/run_eval.py | 1537 | except Exception as e: | CODE |
| LOW | evals/run_eval.py | 1679 | except Exception: | CODE |
| LOW | tests/test_no_mllm_flag.py | 588 | except Exception: | CODE |
| LOW | tests/test_continuous_batching.py | 68 | except Exception: | CODE |
| LOW | tests/test_mllm_executor_cancel.py | 199 | except Exception: | CODE |
| LOW | tests/test_mllm.py | 47 | except Exception: | CODE |
| LOW | tests/test_mllm.py | 73 | except Exception: | CODE |
| LOW | tests/regression_suite.py | 39 | except Exception: | CODE |
| LOW | tests/regression_suite.py | 443 | except Exception as e: | CODE |
| LOW | tests/regression_suite.py | 593 | except Exception as e: | CODE |
| LOW | tests/regression_suite.py | 608 | except Exception as e: | CODE |
| LOW | tests/regression_suite.py | 680 | except Exception as e: | CODE |
| LOW | tests/test_anthropic_stop_sequences.py | 279 | except Exception: | CODE |
| LOW | tests/test_telemetry_cli.py | 164 | except Exception: | CODE |
| LOW | tests/test_batching_deterministic.py | 73 | except Exception as e: # pragma: no cover - environment-dependent | CODE |
| MEDIUM | tests/test_batching_deterministic.py | 68 | def _load(): | CODE |
| LOW | tests/test_event_loop.py | 256 | except Exception as e: | CODE |
| LOW | tests/test_batching.py | 371 | except Exception as e: | CODE |
| LOW | tests/test_streaming_latency.py | 153 | except Exception as e: | CODE |
| LOW | tests/test_body_receive_timeout.py | 646 | except Exception: | CODE |
| LOW⚡ | tests/test_metal_error_recovery.py | 42 | except Exception as e: | CODE |
| LOW⚡ | tests/test_mtp_real_weights.py | 169 | except Exception: | CODE |
| LOW | tests/test_idle_event_wakeup.py | 96 | except Exception: | CODE |
| MEDIUM | tests/test_server.py | 341 | def make_requests(): | CODE |
| MEDIUM | tests/test_server.py | 440 | def register_files(): | CODE |
| MEDIUM | tests/test_server.py | 481 | def manipulate_counter(): | CODE |
| LOW | tests/test_server.py | 346 | except Exception as e: | CODE |
| LOW | tests/test_server.py | 449 | except Exception as e: | CODE |
| LOW | tests/test_server.py | 488 | except Exception as e: | CODE |
| LOW | tests/test_cache_routes.py | 1674 | except Exception: | CODE |
| LOW | tests/test_anthropic_stream_finalize.py | 332 | except Exception: | CODE |
| LOW | tests/test_mllm_cache.py | 624 | except Exception as exc: | CODE |
| LOW | tests/test_mllm_cache.py | 655 | except Exception as exc: | CODE |
| MEDIUM | tests/test_paged_cache.py | 559 | def allocate_blocks(): | CODE |
| LOW | tests/test_paged_cache.py | 565 | except Exception as e: | CODE |
| LOW | tests/test_tool_call_e2e.py | 273 | except Exception: | STRING |
| LOW | tests/test_tool_call_e2e.py | 331 | except Exception as e: | CODE |
| LOW | tests/test_tool_call_e2e.py | 344 | except Exception as e: | CODE |
| MEDIUM | tests/test_telemetry_redact.py | 201 | def trigger_and_fingerprint() -> str: | CODE |
| LOW | tests/test_telemetry_redact.py | 250 | except Exception as e: | CODE |
| LOW | tests/evals/gsm8k/gsm8k_eval.py | 176 | except Exception as e: | CODE |
| LOW | tests/evals/gsm8k/gsm8k_eval.py | 280 | except Exception as e: | CODE |
| LOW | tests/evals/gsm8k/gsm8k_eval.py | 347 | except Exception as e: | CODE |
| LOW | tests/integrations/conftest.py | 234 | except Exception as exc: # noqa: BLE001 — surface the underlying error | CODE |
| LOW | tests/integrations/test_openwebui.py | 40 | except Exception as e: | CODE |
| LOW | tests/integrations/test_openwebui.py | 69 | except Exception as e: | CODE |
| LOW | tests/integrations/test_openwebui.py | 100 | except Exception as e: | CODE |
| LOW | tests/integrations/test_openwebui.py | 143 | except Exception as e: | CODE |
| LOW⚡ | tests/integrations/test_langchain.py | 27 | except Exception: | CODE |
| LOW | tests/integrations/test_langchain.py | 51 | except Exception: | CODE |
| LOW | tests/integrations/test_langchain.py | 70 | except Exception as e: | CODE |
| LOW | tests/integrations/test_langchain.py | 88 | except Exception as e: | CODE |
| 703 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | evals/results/baseline_benchmark.json | 156 | "content": "# Performance Analysis & BenchmarksHere's a comprehensive analysis with benchmarks:\n\n```pythonim | CODE |
| MEDIUM⚡ | evals/results/baseline_benchmark.json | 333 | "content": "# Building a Distributed System on Apple Silicon: A Comprehensive Technical Guide## IntroductionThe ad | CODE |
| MEDIUM⚡ | evals/results/baseline_benchmark.json | 333 | "content": "# Building a Distributed System on Apple Silicon: A Comprehensive Technical Guide## IntroductionThe ad | CODE |
| MEDIUM⚡ | evals/results/baseline_benchmark.json | 333 | "content": "# Building a Distributed System on Apple Silicon: A Comprehensive Technical Guide## IntroductionThe ad | CODE |
| MEDIUM⚡ | evals/results/tier1b_benchmark.json | 333 | "content": " about building a distributed system on Apple Silicon. They want it to cover architecture design, netw | CODE |
| MEDIUM⚡ | evals/results/tier1b_benchmark.json | 333 | "content": " about building a distributed system on Apple Silicon. They want it to cover architecture design, netw | CODE |
| MEDIUM⚡ | evals/results/tier1_benchmark.json | 333 | "content": "# Building a Distributed System on Apple Silicon: A Comprehensive Technical Guide## IntroductionApple | CODE |
| MEDIUM⚡ | evals/results/tier1_benchmark.json | 333 | "content": "# Building a Distributed System on Apple Silicon: A Comprehensive Technical Guide## IntroductionApple | CODE |
| MEDIUM⚡ | evals/results/tier1_benchmark.json | 333 | "content": "# Building a Distributed System on Apple Silicon: A Comprehensive Technical Guide## IntroductionApple | CODE |
| MEDIUM⚡ | community-benchmarks/scripts/aggregate.py | 90 | # adding harness pass-rate columns). Consumers should skip aggregates | COMMENT |
| MEDIUM⚡ | tests/test_no_mllm_flag.py | 1550 | # serving entrypoints (test helpers, internal probes, doctor harness | COMMENT |
| MEDIUM⚡ | tests/test_no_mllm_flag.py | 1556 | # Eval harness — bench / scoring tool, not a serving entrypoint. | COMMENT |
| MEDIUM | tests/test_harmony_stop_final_channel_only.py | 6 | Discovered by PR #1048's real Docker OpenHands E2E harness: the | STRING |
| MEDIUM | tests/test_no_out_of_band_routing.py | 132 | # Port for doctor harness probe checks, not engine routing. | COMMENT |
| MEDIUM | tests/test_no_out_of_band_routing.py | 245 | # harness name (or comma-separated subset) when running a scoped | COMMENT |
| MEDIUM | tests/test_no_out_of_band_routing.py | 247 | # profiles_filter`` consumes it to whittle the harness loop down | COMMENT |
| MEDIUM⚡ | tests/test_audio_r11_b_bundle.py | 72 | # with the same harness pattern. | COMMENT |
| MEDIUM | tests/test_mtp_cli_wiring.py | 655 | """Codex round-D BLOCKING #1 regression guard (bench-harness path). | STRING |
| MEDIUM | tests/test_mtp_cli_wiring.py | 890 | """Codex round-G NIT #4 + round-D cross-check: bench-harness path | STRING |
| MEDIUM | tests/regression_suite.py | 19 | # Port can be overridden by the doctor harness (which picks a free port). | COMMENT |
| MEDIUM⚡ | tests/test_stream_include_usage_honored.py | 112 | # Test harness | COMMENT |
| MEDIUM⚡ | tests/test_pflash_needle.py | 39 | # in ``pytest.ini`` is reserved for the deferred engine-level harness | COMMENT |
| MEDIUM | tests/test_pflash_needle.py | 91 | [4_096, 8_192, 16_384], # token-level only — engine harness exercises longer | CODE |
| MEDIUM⚡ | tests/test_pflash_needle.py | 187 | # Engine-level harness — deferred. | COMMENT |
| MEDIUM⚡ | tests/test_pflash_needle.py | 204 | # When someone re-introduces an engine-level harness here, the right | COMMENT |
| MEDIUM | tests/test_pflash_needle.py | 217 | # Env contract for that future harness: ``PFLASH_NEEDLE_MODEL`` selects | COMMENT |
| MEDIUM | tests/test_pflash_needle.py | 219 | # Re-instate as module-level reads when the harness lands; reading them | COMMENT |
| MEDIUM⚡ | tests/test_audio_r8_a_bundle.py | 66 | # Helpers (copied from r7-C so this file stands alone — the harness pattern | COMMENT |
| MEDIUM | tests/test_audio_r8_a_bundle.py | 747 | # The test harness may run on a workstation whose HF cache | COMMENT |
| MEDIUM | tests/test_audio_r8_a_bundle.py | 813 | # snapshot in the test harness) so the cold-start fallback | COMMENT |
| MEDIUM | tests/test_bench_tier_submit_combo.py | 362 | # tier=smoke / harness / all). The speed numbers carry through | COMMENT |
| MEDIUM⚡ | tests/test_prefix_cache_persistence.py | 1705 | # and the next save attempt (e.g. an embedded harness that does multiple | COMMENT |
| MEDIUM⚡ | tests/test_routes_models_effective_parsers.py | 44 | # Test harness | COMMENT |
| MEDIUM⚡ | tests/test_completions_spec_parity.py | 1027 | # representation is robust against future ``Annotated[int, ...]`` | COMMENT |
| MEDIUM⚡ | tests/test_ui_tars_parser.py | 224 | # pyautogui, the Anthropic computer-tool harness) — expects | COMMENT |
| MEDIUM⚡ | tests/test_dflash_integration.py | 1099 | # response. Mirrors the PoC bench harness but goes through our server. | COMMENT |
| MEDIUM | tests/test_hermes_harness_contract.py | 41 | # on a real server. The point of this test is the harness invocation | COMMENT |
| MEDIUM | tests/test_bench_tier_all.py | 157 | # Speed failed → overall fail, but harness must still have run. | COMMENT |
| MEDIUM⚡ | tests/test_responses_bundle.py | 25 | # Lightweight engine harness — copy of routes/test_responses_route.py's | COMMENT |
| MEDIUM⚡ | tests/test_agent_query_context_skip.py | 116 | # the harness wanted vs what the model offered. | COMMENT |
| MEDIUM | tests/test_agent_query_context_skip.py | 193 | # genuine harness misconfiguration. | COMMENT |
| MEDIUM | tests/test_cache_routes.py | 2905 | # the shared device default-stream context. This is test-harness plumbing | COMMENT |
| MEDIUM | tests/test_probe_fastpath.py | 555 | """Codex r3 BLOCKING #1: an ASGI server / harness that ships | STRING |
| MEDIUM | tests/test_release_check_m3_port_thread.py | 45 | # integration harness with a different env-var convention. | COMMENT |
| MEDIUM | tests/test_pflash_metrics.py | 152 | assert dropped_expected > 0 # sanity — the harness must be compressing | CODE |
| MEDIUM⚡ | tests/test_tool_choice_enforcement.py | 73 | # Test harness — recording mock engine + client builder | COMMENT |
| MEDIUM | tests/test_bench_tier_harness.py | 28 | # tier=harness tests that incidentally hit the smoke probe | COMMENT |
| MEDIUM | tests/test_bench_tier_harness.py | 101 | # Each harness name should appear in the per-tier detail block. | COMMENT |
| MEDIUM | tests/test_bench_tier_harness.py | 197 | # Crash → tier-level FAIL, but every harness was visited. | COMMENT |
| MEDIUM | tests/test_bench_tier_harness.py | 314 | _ = _time.time() - t0 # touched for clarity; harness sweep is mocked | CODE |
| MEDIUM | tests/test_bench_tier_harness.py | 50 | the post-#682 harness session would conclude the (mock) server is | STRING |
| MEDIUM | tests/parsers/fake_tokenizer.py | 118 | # harness aligned with the existing OutputRouter test fixtures. | COMMENT |
| MEDIUM | …est_issue_468_tool_choice_required_harmony_compound.py | 78 | # — we reuse get_weather as the recipient since the harness | COMMENT |
| MEDIUM | tests/integrations/test_agents_matrix.py | 453 | # Pass the FULL parsed base_url to the harness — the harness | COMMENT |
| MEDIUM | tests/integrations/test_agents_matrix.py | 478 | # +60 s over the harness's internal ``timeout(1)`` so | COMMENT |
| MEDIUM | tests/integrations/test_agents_matrix.py | 498 | # — the harness itself already prints BEFORE/AFTER add.py and | COMMENT |
| MEDIUM⚡ | tests/integrations/test_agents_matrix.py | 589 | # harness, not just the port. The old ``--port`` path silently | COMMENT |
| MEDIUM⚡ | tests/integrations/test_agents_matrix.py | 594 | # authoritative; the harness still accepts ``--port`` for | COMMENT |
| MEDIUM⚡ | tests/integrations/test_agents_matrix.py | 599 | # LiteLLM's ``openai/<model>`` prefix in the harness lines up | COMMENT |
| MEDIUM⚡ | tests/integrations/test_agents_matrix.py | 606 | # even if the harness accidentally strips them. | COMMENT |
| 121 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bench/bench_spec_decode_mtp.py | 39 | CODE | |
| LOW | bench/bench_radix_vs_hash.py | 44 | CODE | |
| LOW | community-benchmarks/scripts/aggregate.py | 62 | CODE | |
| LOW | community-benchmarks/scripts/validate.py | 37 | CODE | |
| LOW | tests/test_audio_boot_check.py | 15 | CODE | |
| LOW | tests/test_audio_extras_lockin.py | 24 | CODE | |
| LOW | tests/test_no_mllm_flag.py | 25 | CODE | |
| LOW | tests/test_cli_embeddings_extra.py | 30 | CODE | |
| LOW | tests/test_generation_config_loader.py | 4 | CODE | |
| LOW | tests/test_completions_log_redaction.py | 24 | CODE | |
| LOW | tests/test_seed_reproducibility.py | 36 | CODE | |
| LOW | tests/test_ddtree_integration.py | 4 | CODE | |
| LOW | tests/test_anthropic_stream_reasoning.py | 19 | CODE | |
| LOW | tests/test_r15_routes_stability_batch.py | 36 | CODE | |
| LOW | tests/test_mllm_penalty_passthrough.py | 24 | CODE | |
| LOW | tests/test_reasoning_content_null_rescue.py | 37 | CODE | |
| LOW | tests/test_llama_tool_parser_bare_json.py | 19 | CODE | |
| LOW | tests/test_harmony_stop_final_channel_only.py | 36 | CODE | |
| LOW | tests/test_audio_probe_consistency.py | 25 | CODE | |
| LOW | tests/test_telemetry_queue.py | 12 | CODE | |
| LOW | tests/test_deep_nest_dos.py | 40 | CODE | |
| LOW | tests/test_r12_reasoning_sanitizer_required.py | 50 | CODE | |
| LOW | tests/test_envelope_field_extraction.py | 43 | CODE | |
| LOW | tests/test_audio_upload_size_limit.py | 10 | CODE | |
| LOW | tests/test_mllm_executor_cancel.py | 41 | CODE | |
| LOW | tests/test_prefix_cache_radix_e2e.py | 21 | CODE | |
| LOW | tests/test_chat_route_vlm_image.py | 33 | CODE | |
| LOW | tests/test_stt_corrupted_file.py | 16 | CODE | |
| LOW | tests/test_no_out_of_band_routing.py | 29 | CODE | |
| LOW | tests/test_audio_r11_b_bundle.py | 40 | CODE | |
| LOW | tests/test_request_time_alias_resolution.py | 27 | CODE | |
| LOW | tests/test_mllm_usage_tracking.py | 26 | CODE | |
| LOW | tests/test_share_cli.py | 14 | CODE | |
| LOW | tests/test_orphan_tool_validation.py | 34 | CODE | |
| LOW | tests/test_ui_tars_fixes.py | 37 | CODE | |
| LOW | tests/test_serve_port_collision.py | 39 | CODE | |
| LOW | tests/test_pr_validate_runner.py | 17 | CODE | |
| LOW | tests/test_serve_listen_fd.py | 21 | CODE | |
| LOW | tests/test_r10_scrub_validation_bundle.py | 45 | CODE | |
| LOW | tests/test_tokenizer_gemma4_hybrid.py | 43 | CODE | |
| LOW | tests/test_447_stream_tool_choice_auto.py | 49 | CODE | |
| LOW | tests/test_anthropic_tool_param_validation.py | 18 | CODE | |
| LOW | tests/test_deepseek_v3_tool_parser.py | 32 | CODE | |
| LOW | tests/test_responses_chat_template_kwargs.py | 34 | CODE | |
| LOW | tests/test_mllm_hybrid_probe.py | 12 | CODE | |
| LOW | tests/test_mtp_cli_wiring.py | 30 | CODE | |
| LOW | tests/test_pr_validate_test_env.py | 19 | CODE | |
| LOW | tests/test_pr_validate_test_env.py | 153 | CODE | |
| LOW | tests/test_schema_v2_rejects_partial_harness.py | 16 | CODE | |
| LOW | tests/test_stress_test_stream_usage.py | 4 | CODE | |
| LOW | tests/test_embeddings_timeout_admission.py | 21 | CODE | |
| LOW | tests/test_cli_jlens.py | 13 | CODE | |
| LOW | tests/test_mllm_corrupt_image.py | 44 | CODE | |
| LOW | tests/test_ubc_evict.py | 25 | CODE | |
| LOW | tests/test_gemma4_unified_routing.py | 36 | CODE | |
| LOW | tests/test_community_bench_aggregate.py | 26 | CODE | |
| LOW | tests/test_aliases_contract.py | 24 | CODE | |
| LOW | tests/test_telemetry_transport.py | 13 | CODE | |
| LOW | tests/test_disconnect_counter_prod_shape.py | 53 | CODE | |
| LOW | tests/test_tool_parser_wire_formats.py | 29 | CODE | |
| 639 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | evals/results/tier1b_benchmark.json | 333 | "content": " about building a distributed system on Apple Silicon. They want it to cover architecture design, netw | CODE |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 1700 | # supposed to emit its chain-of-thought followed by ``</think>`` and | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_parsers.py | 1706 | # response — which is pure chain-of-thought — into ``content`` and | COMMENT |
| MEDIUM | tests/test_reasoning_parsers.py | 2016 | # reclassified as the model's own chain-of-thought. | COMMENT |
| MEDIUM⚡ | tests/test_reasoning_content_null_rescue.py | 827 | # in the same orchestration the chat route runs, against every | COMMENT |
| MEDIUM | tests/test_reasoning_content_null_rescue.py | 1071 | # parser-specific reasoning trace's last RESCUE_TAIL_LENGTH | COMMENT |
| MEDIUM | tests/test_no_out_of_band_routing.py | 290 | # chars of the reasoning trace on length-cut mid-think. Power | COMMENT |
| MEDIUM | tests/test_no_out_of_band_routing.py | 356 | # F-K-WHISPER-961 anti-hallucination VAD pre-trim opt-out | COMMENT |
| MEDIUM | tests/test_no_out_of_band_routing.py | 360 | # before Whisper for silence-hallucination suppression on | COMMENT |
| MEDIUM | tests/test_model_auto_config.py | 1755 | # V3Beta hallucination — V3 pattern needs the same boundary. | COMMENT |
| MEDIUM | tests/test_embeddings_timeout_admission.py | 175 | # H-09 (route guard) requires the embedding model to be configured. | COMMENT |
| MEDIUM⚡ | tests/test_pflash_needle.py | 195 | # async-runtime scaffolding into this test module or (b) drift from the | COMMENT |
| MEDIUM⚡ | tests/test_r12_h06_repair_context_guard.py | 45 | # tokenizer + a tunable max-context window so we can hit the H-06 | COMMENT |
| MEDIUM | tests/test_embeddings.py | 187 | # H-09: the route now requires the embedding model to be | COMMENT |
| MEDIUM⚡ | tests/test_finalize_harmony_raw_text.py | 506 | # the byte-identical reasoning trace into BOTH ``content`` AND | COMMENT |
| MEDIUM | tests/test_finalize_harmony_raw_text.py | 861 | # started with the REMAINDER of the reasoning trace ("answer succinctly, | COMMENT |
| MEDIUM | tests/test_finalize_harmony_raw_text.py | 933 | # Long no-tag reasoning trace (chat-template pre-injected <think>, | COMMENT |
| MEDIUM | tests/test_batching_deterministic.py | 158 | "Bisected to PR #280 (event-driven idle wakeup). The test adds 4 " | CODE |
| MEDIUM⚡ | tests/test_prefix_cache_persistence.py | 1699 | # from a fs-event-driven antivirus touching cache_dir mid-rename, observed | COMMENT |
| MEDIUM | …ts/test_r12_m3_responses_stream_leading_items_order.py | 333 | # The reasoning summary must carry the model's chain-of-thought. | COMMENT |
| MEDIUM⚡ | tests/test_chat_route_tool_tag_leak.py | 241 | # ``reasoning_content`` must contain the chain-of-thought. | COMMENT |
| MEDIUM | tests/test_anthropic_think_leak_r12_m1b.py | 497 | f"(PR #802 design — agentic auto-retry pattern-matches the prefix); " | CODE |
| MEDIUM | tests/test_routes.py | 999 | # context window — both ids share the loaded engine. | COMMENT |
| MEDIUM | tests/test_routes.py | 1318 | # H-09 route guard requires an embedding model to be | COMMENT |
| MEDIUM⚡ | tests/test_ui_tars_parser.py | 409 | # parser owns the chain-of-thought channel, the tool parser owns | COMMENT |
| MEDIUM⚡ | tests/test_ui_tars_parser.py | 412 | # mirror so the chain-of-thought doesn't double-render when the | COMMENT |
| MEDIUM | tests/test_stt_vad_pretrim.py | 217 | # anti-hallucination invariant. | COMMENT |
| MEDIUM⚡ | tests/test_pr_validate_codex.py | 1774 | "### context window exceeded\nNo blocking issues found.", | CODE |
| MEDIUM | tests/test_mxfp4_moe_guardrail.py | 416 | # passed to e.g. monkeypatch.setattr in test scaffolding, which | COMMENT |
| MEDIUM | tests/test_harmony_finalize.py | 588 | # The reasoning trace must still flow on the reasoning channel | COMMENT |
| MEDIUM | tests/test_routes_models.py | 102 | # Both cards must be present — the chat model AND the embedding model. | COMMENT |
| MEDIUM | tests/test_streaming_newlines.py | 303 | # The reasoning trace from inside ``<think>...</think>`` MUST | COMMENT |
| MEDIUM | tests/test_agent_query_context_skip.py | 81 | # ~100 cols so the phrase "context window" ends up split as | COMMENT |
| MEDIUM⚡ | tests/test_agent_query_context_skip.py | 131 | initial #659 fix used a literal ``"context window" in output`` | STRING |
| MEDIUM | tests/test_silent_drop_rescue_569.py | 540 | # The rescued content is the accumulated reasoning trace. | COMMENT |
| MEDIUM | tests/test_silent_drop_rescue_569.py | 943 | # them should carry the reasoning trace. Per-delta reasoning | COMMENT |
| MEDIUM | tests/test_doctor_runner.py | 220 | # The doctor CLI no longer owns server-boot orchestration; that moved to | COMMENT |
| MEDIUM⚡ | tests/test_chat_template_tool_call_arguments.py | 292 | env = jinja2.Environment( # noqa: S701 - test scaffolding | CODE |
| MEDIUM | tests/test_chat_logprobs_channel_routing.py | 189 | # #569: rescue fires — content carries the reasoning trace so the | COMMENT |
| MEDIUM⚡ | tests/test_mtp_gemma4_assistant_inject.py | 337 | # SIGNATURE contract, and unlike the PR #989 scaffold path, the | COMMENT |
| MEDIUM⚡ | tests/test_mtp_gemma4_assistant_inject.py | 758 | # make_mtp_cache returns a list from the inner scaffold — assert | COMMENT |
| MEDIUM | tests/test_tool_choice_enforcement.py | 177 | # No-fake-API clause names the most common hallucination shapes. | COMMENT |
| MEDIUM⚡ | tests/test_api_validation_bundle.py | 457 | # - C3: chat rejects image/video on text-only models (no silent hallucination) | COMMENT |
| MEDIUM | tests/test_api_validation_bundle.py | 260 | # H-09 route guard rejects requests when no embedding model is | COMMENT |
| MEDIUM | tests/integrations/test_agents_matrix.py | 10 | Existing wire cells (from #1030 scaffold): | STRING |
| MEDIUM⚡ | tests/integrations/test_hermes.py | 109 | # context window is below what Hermes's full tool-rich prompt | COMMENT |
| MEDIUM⚡ | tests/integrations/test_hermes.py | 116 | # literal ``"context window"`` substring would miss when | COMMENT |
| MEDIUM⚡ | tests/integrations/test_hermes.py | 509 | # Deep agentic tests (requires hermes binary, tests real workflows) | COMMENT |
| MEDIUM | tests/integrations/test_hermes.py | 656 | # Deep agentic tests | COMMENT |
| MEDIUM | docs/getting-started/quickstart.md | 12 | rapid-mlx chat --think # surface chain-of-thought reasoning | CODE |
| MEDIUM | docs/guides/embeddings.md | 17 | ### Start the server with an embedding model | COMMENT |
| MEDIUM | docs/guides/embeddings.md | 20 | # Pre-load a specific embedding model at startup | COMMENT |
| MEDIUM | docs/guides/audio.md | 264 | #### Silence-hallucination guard (Whisper only) | COMMENT |
| MEDIUM | scripts/bench_readme_refresh.py | 437 | # chunks (= the chain-of-thought stream), but those chunks come out | COMMENT |
| MEDIUM | scripts/bench_suffix_decoding.py | 99 | # An agentic ReAct trace — the model has just emitted Thought/Action/ | STRING |
| MEDIUM | scripts/release_check_m3.sh | 137 | # expectations that small models hallucinate. Run for the contract | COMMENT |
| MEDIUM | scripts/agent_promo_gen.py | 61 | [Rapid-MLX](https://github.com/raullenchai/Rapid-MLX) is an inference server for Apple Silicon that provides an OpenAI-c | CODE |
| MEDIUM | scripts/pr_validate/golden_models.yaml | 199 | # (or when our Gemma chat template ships better few-shot priming), add | COMMENT |
| MEDIUM | vllm_mlx/memory_cache.py | 1573 | # This handles the agentic pattern: same system+context prefix | COMMENT |
| MEDIUM | vllm_mlx/memory_cache.py | 2515 | # PermissionError from a fs-event-driven antivirus touching | COMMENT |
| 61 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bench/bench_spec_decode_mtp.py | 413 | CODE | |
| LOW | evals/run_eval.py | 328 | CODE | |
| LOW | evals/run_eval.py | 490 | CODE | |
| LOW | evals/run_eval.py | 516 | CODE | |
| LOW | evals/run_eval.py | 555 | CODE | |
| LOW | evals/run_eval.py | 626 | CODE | |
| LOW | evals/run_eval.py | 1000 | CODE | |
| LOW | evals/run_eval.py | 1400 | CODE | |
| LOW | evals/run_eval.py | 1565 | CODE | |
| LOW | evals/generate_scorecard.py | 84 | CODE | |
| LOW | community-benchmarks/scripts/aggregate.py | 193 | CODE | |
| LOW | tests/test_no_mllm_flag.py | 744 | CODE | |
| LOW | tests/test_no_mllm_flag.py | 862 | CODE | |
| LOW | tests/test_no_mllm_flag.py | 1133 | CODE | |
| LOW | tests/test_no_mllm_flag.py | 1363 | CODE | |
| LOW | tests/test_no_mllm_flag.py | 1657 | CODE | |
| LOW | tests/test_no_mllm_flag.py | 1901 | CODE | |
| LOW | tests/test_reasoning_content_null_rescue.py | 1406 | CODE | |
| LOW | tests/test_reasoning_content_null_rescue.py | 1889 | CODE | |
| LOW | tests/test_stt_corrupted_file.py | 184 | CODE | |
| LOW | tests/test_no_out_of_band_routing.py | 575 | CODE | |
| LOW | tests/test_no_out_of_band_routing.py | 731 | CODE | |
| LOW | tests/test_no_out_of_band_routing.py | 854 | CODE | |
| LOW | tests/test_no_out_of_band_routing.py | 987 | CODE | |
| LOW | tests/test_ui_tars_fixes.py | 718 | CODE | |
| LOW | tests/test_serve_listen_fd.py | 144 | CODE | |
| LOW | tests/test_responses_engine_failure_envelope.py | 272 | CODE | |
| LOW | tests/regression_suite.py | 44 | CODE | |
| LOW | tests/test_anthropic_stop_sequences.py | 245 | CODE | |
| LOW | tests/test_anthropic_stop_sequences.py | 296 | CODE | |
| LOW | tests/test_responses_sse_event_order.py | 170 | CODE | |
| LOW | tests/test_anthropic_streaming_reasoning.py | 77 | CODE | |
| LOW | tests/test_anthropic_streaming_reasoning.py | 111 | CODE | |
| LOW | tests/test_truncation_no_synthetic_text.py | 235 | CODE | |
| LOW | tests/test_truncation_no_synthetic_text.py | 352 | CODE | |
| LOW | tests/test_truncation_no_synthetic_text.py | 456 | CODE | |
| LOW | tests/test_response_format_json_schema_strict.py | 576 | CODE | |
| LOW | tests/test_community_bench.py | 1250 | CODE | |
| LOW | tests/test_community_bench.py | 1274 | CODE | |
| LOW | tests/test_r12_h06_repair_context_guard.py | 101 | CODE | |
| LOW | tests/test_prefix_cache_persistence.py | 1036 | CODE | |
| LOW | tests/test_prefix_cache_persistence.py | 1057 | CODE | |
| LOW | tests/test_responses_591_followups.py | 253 | CODE | |
| LOW | tests/test_pr_validate_stress_timeout.py | 108 | CODE | |
| LOW | tests/test_responses_budget_exhaust_streaming.py | 627 | CODE | |
| LOW | tests/test_responses_budget_exhaust_streaming.py | 926 | CODE | |
| LOW | tests/test_streaming_latency.py | 28 | CODE | |
| LOW | …ts/test_r12_m3_responses_stream_leading_items_order.py | 232 | CODE | |
| LOW | tests/test_mirror_pull.py | 2763 | CODE | |
| LOW | tests/test_anthropic_route_thinking_gate.py | 601 | CODE | |
| LOW | tests/test_responses_bundle.py | 254 | CODE | |
| LOW | tests/test_sampling_params_passthrough.py | 399 | CODE | |
| LOW | tests/test_context_overflow_400.py | 55 | CODE | |
| LOW | tests/test_paired_compat.py | 118 | CODE | |
| LOW | tests/test_paired_compat.py | 131 | CODE | |
| LOW | tests/test_paired_compat.py | 162 | CODE | |
| LOW | tests/test_paired_compat.py | 206 | CODE | |
| LOW | tests/test_responses_route.py | 753 | CODE | |
| LOW | tests/test_chat_streaming_no_reasoning_alias.py | 120 | CODE | |
| LOW | tests/test_silent_drop_rescue_569.py | 546 | CODE | |
| 355 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_reasoning_content_null_rescue.py | 1023 | strict-null, but the sentinel-absence assertion is what | STRING |
| HIGH | tests/test_envelope_field_extraction.py | 11 | "param":null,"code":null}} | STRING |
| HIGH | tests/test_no_pydantic_error_leak.py | 15 | "v/missing","type":"invalid_request_error","code":null, | STRING |
| HIGH | tests/test_no_pydantic_error_leak.py | 16 | "param":null}} | STRING |
| HIGH | tests/test_r10_scrub_validation_bundle.py | 32 | ``reasoning_effort`` accepted any value (int, list, null, | STRING |
| HIGH | tests/regression_suite.py | 486 | # every leaf in the schema (qty must be int|null, no extra keys, | COMMENT |
| HIGH | tests/test_stream_include_usage_honored.py | 205 | f"chunk (not just emit null); got {len(chunks_with_usage_key)} " | CODE |
| HIGH | tests/test_stream_include_usage_honored.py | 233 | f"chunk (not just emit null); got {len(chunks_with_usage_key)} " | CODE |
| HIGH | tests/test_stream_include_usage_honored.py | 304 | f"every chunk (not just emit null); got " | CODE |
| HIGH | tests/test_stream_include_usage_honored.py | 332 | f"KEY from every chunk (not just emit null); got " | CODE |
| HIGH⚡ | tests/test_stream_include_usage_honored.py | 182 | be absent from every chunk (not just present-but-null). Codex | STRING |
| HIGH | tests/test_finalize_harmony_raw_text.py | 1009 | spec — the tool call IS the visible response, ``content`` is null). | STRING |
| HIGH | tests/test_routes_models_effective_parsers.py | 470 | f"entry's live ``tool_call_parser=None`` must surface as null; " | CODE |
| HIGH | tests/test_routes_models_effective_parsers.py | 474 | f"entry's live ``reasoning_parser=None`` must surface as null; " | CODE |
| HIGH | tests/test_api_models.py | 897 | # D-MISSING-CONTENT-KEY (r12-7): empty string, not null, so the | COMMENT |
| HIGH | tests/test_api_models.py | 166 | carrying ``{"role":"user","content":null}`` (or "system" / | STRING |
| HIGH⚡ | tests/test_openai_tool_choice_validation.py | 234 | """``tool_choice=null`` (JSON null) — same semantics as | STRING |
| HIGH⚡ | tests/test_mcp_security.py | 69 | validator.validate_command("npx && rm -rf /", "test-server") | CODE |
| HIGH⚡ | tests/test_mcp_security.py | 65 | """Test that command injection via && is blocked.""" | STRING |
| HIGH | tests/test_audio_r11_b_pure.py | 161 | """``{"format": null}`` is the JSON shape an SDK might emit when | STRING |
| HIGH⚡ | tests/test_casual_chat_auto_disable_thinking.py | 438 | """Codex r1 MEDIUM #3: ``reasoning={"effort": null}`` is | STRING |
| HIGH⚡ | tests/test_casual_chat_auto_disable_thinking.py | 443 | round-trips ``reasoning={"effort": null}`` (e.g. an SDK that | STRING |
| HIGH⚡ | tests/test_tool_param_enforcement.py | 201 | _validate_tool_call_params([_call("nick", '{"name": null}')], tools) | CODE |
| HIGH | tests/test_bench_vs_ollama.py | 142 | 'data: {"choices":[null,{"delta":null},{"delta":[]}]}', | CODE |
| HIGH | tests/test_bench_vs_ollama.py | 175 | '{"message":null}', | CODE |
| HIGH | tests/test_vision_extra_install.py | 305 | f"`pip install rapid-mlx && rapid-mlx serve gemma-4-12b-4bit` " | CODE |
| HIGH | tests/test_vision_extra_install.py | 472 | "`pip install rapid-mlx && rapid-mlx serve gemma-4-12b-4bit` " | CODE |
| HIGH | tests/test_vision_extra_install.py | 13 | ``pip install rapid-mlx==0.10.0 && rapid-mlx serve gemma-4-12b-4bit`` | STRING |
| HIGH | scripts/agent_promo_gen.py | 154 | pip install rapid-mlx && rapid-mlx serve <model> | CODE |
| HIGH | vllm_mlx/tool_parsers/gemma4_tool_parser.py | 121 | # Try to parse as JSON literal (int, float, bool, null) | COMMENT |
| HIGH | vllm_mlx/middleware/body_size.py | 568 | "code": "request_too_large", "param": null}} | STRING |
| HIGH | vllm_mlx/models/gemma4_text.py | 591 | # * ``None`` reaching here means the key was ABSENT (not explicit null, | COMMENT |
| HIGH | vllm_mlx/models/gemma4_text.py | 611 | # ``TypeError`` on a ``None`` that reached it via an explicit config null). | COMMENT |
| HIGH | vllm_mlx/models/gemma4_vendored/__init__.py | 8 | lean; but a fresh `pip install rapid-mlx==0.10.0 && rapid-mlx serve | STRING |
| HIGH | vllm_mlx/community_bench/hardware.py | 139 | submission still ships without it (schema allows null). | STRING |
| HIGH | vllm_mlx/api/models.py | 464 | # null, garbage like ``"banana"``) with HTTP 200 — the field was | COMMENT |
| HIGH | vllm_mlx/api/models.py | 904 | # the null, but many existing clients (and the response shape | COMMENT |
| HIGH | vllm_mlx/api/models.py | 1784 | # bool, null) are rejected with a clear envelope BEFORE Pydantic's | COMMENT |
| HIGH | vllm_mlx/api/responses_adapter.py | 413 | shape). Only a non-null string counts; ``{"effort": null}`` / | STRING |
| HIGH | vllm_mlx/service/helpers.py | 1871 | # NON-NULL ``effort`` only: ``reasoning={"effort": null}`` and | COMMENT |
| HIGH | vllm_mlx/routes/models.py | 324 | three-way (text / image / null) shape instead of the documented | STRING |
| HIGH | vllm_mlx/routes/health.py | 301 | # Always emit an object (never null) so dashboards with strict | COMMENT |
| HIGH | vllm_mlx/routes/anthropic.py | 1244 | # (explicit null) are accepted by the count_tokens contract — | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integrations/conftest.py | 664 | __all__ = [ | CODE |
| LOW | examples/video_benchmark.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/test_video.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/extract_hy3_mtp.py | 47 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/extract_mtp_weights.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/pr_validate/steps/codex_review.py | 254 | 1. [BLOCKING] vllm_mlx/routes/chat.py:918 — `assert isinstance(_msg, dict)` is stripped under `python -O`, leaving the g | CODE |
| LOW | vllm_mlx/model_runner.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/_tempfile_safe.py | 365 | __all__ = ["managed_tempfile_path"] | CODE |
| LOW | vllm_mlx/mllm_cache.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/worker.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/_mlx_compat.py | 47 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/memory_cache.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/attention.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/server.py | 155 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/vision_embedding_cache.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/output_router.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/embedding.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/request.py | 232 | def set_finished(self, status: RequestStatus, reason: str | None = None) -> None: | CODE |
| LOW | vllm_mlx/turboquant.py | 52 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/multimodal_processor.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/__init__.py | 117 | __all__ = [ | CODE |
| LOW⚡ | vllm_mlx/kv_cache_dtype.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/optimizations.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/_parent_watchdog.py | 61 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/output_router_harmony.py | 58 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/engine_core.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/mllm_scheduler.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/paged_cache.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/vllm_platform.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/vllm_platform.py | 213 | def set_device(cls, device: torch.device) -> None: | CODE |
| LOW | vllm_mlx/model_auto_config.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/plugin.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/_signal_observability.py | 56 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/cloud_router.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/prefix_cache.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/scheduler.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/_mxfp4_moe_guardrail.py | 76 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/model_registry.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/mllm_batch_generator.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/tool_parsers/lfm_tool_parser.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/tool_parsers/deepseek_v3_tool_parser.py | 74 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/tool_parsers/qwen3coder_tool_parser.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/tool_parsers/__init__.py | 77 | __all__ = [ | CODE |
| LOW | vllm_mlx/tool_parsers/seed_oss_tool_parser.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/tool_parsers/deepseekv31_tool_parser.py | 52 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/tool_parsers/nemotron_tool_parser.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/tool_parsers/ui_tars_tool_parser.py | 63 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/middleware/auth.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/middleware/probe_fastpath.py | 67 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/middleware/body_size.py | 51 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/middleware/body_depth.py | 56 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | vllm_mlx/kernels/turboquant_fused.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/bench/_server.py | 242 | __all__ = ["serve", "find_free_port", "ServerStartFailed"] | CODE |
| LOW | vllm_mlx/cache/protocol.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/cache/__init__.py | 24 | __all__ = [ | CODE |
| LOW | vllm_mlx/config/__init__.py | 6 | __all__ = ["ServerConfig", "get_config", "reset_config"] | CODE |
| LOW | vllm_mlx/patches/qwen3_next_mtp.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/patches/deepseek_v32_indexer_gate.py | 95 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_mlx/launch/__init__.py | 45 | __all__ = ["ADAPTERS", "claude_code", "cline", "continue_dev", "cursor"] | CODE |
| LOW | vllm_mlx/doctor/runner.py | 25 | logger = logging.getLogger(__name__) | CODE |
| 85 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evals/run_eval.py | 768 | # Check if model called the recovery tool | COMMENT |
| LOW | tests/test_paged_cache_benefits.py | 313 | # Check if root is shared | COMMENT |
| LOW | tests/test_paged_cache.py | 176 | # Increment ref | COMMENT |
| LOW | examples/video_benchmark.py | 577 | # Print results | STRING |
| LOW | examples/mcp_tool_use.py | 97 | # Check if model wants to use tools | COMMENT |
| LOW | examples/mic_realtime.py | 111 | # Check if audio has content (not silence) | COMMENT |
| LOW | examples/test_openai_compatibility.py | 805 | # Check if server is reachable | STRING |
| LOW | examples/mllm_benchmark.py | 451 | # Print results | STRING |
| LOW | examples/mic_live.py | 130 | # Check if silence long enough to trigger transcription | COMMENT |
| LOW | examples/demo_openai_video.py | 109 | # Check if there's a sample video in the examples directory | COMMENT |
| LOW | scripts/add_mtp_weights.py | 296 | # Check if MTP weights already exist | COMMENT |
| LOW | scripts/benchmark_engines.py | 500 | # Check if tool call was returned in structured format | COMMENT |
| LOW | scripts/benchmark_engines.py | 502 | # Check if content contains text-format tool calls (degraded) | COMMENT |
| LOW | scripts/agent_discovery.py | 347 | # Check if it's actually an agent | COMMENT |
| LOW | scripts/agent_discovery.py | 385 | # Check if title mentions AI agents | COMMENT |
| LOW | vllm_mlx/memory_cache.py | 1496 | # Check if cached_key is a prefix of tokens_key | COMMENT |
| LOW | vllm_mlx/memory_cache.py | 1516 | # Check if tokens_key is a prefix of cached_key | COMMENT |
| LOW | vllm_mlx/memory_cache.py | 1729 | # Check if single entry exceeds limit | COMMENT |
| LOW | vllm_mlx/memory_cache.py | 3045 | # Check if it fits against the running (live+staged in | COMMENT |
| LOW | vllm_mlx/gradio_app.py | 167 | # Check if this message had media cached | COMMENT |
| LOW | vllm_mlx/cli.py | 3178 | # Set SO_REUSEADDR to match uvicorn's bind behavior — without it, this | COMMENT |
| LOW | vllm_mlx/mllm_scheduler.py | 958 | # Check if finished | COMMENT |
| LOW | vllm_mlx/vllm_platform.py | 157 | # Check if bfloat16 is supported | COMMENT |
| LOW⚡ | vllm_mlx/plugin.py | 30 | # Check if running on macOS | COMMENT |
| LOW⚡ | vllm_mlx/plugin.py | 35 | # Check if running on Apple Silicon (ARM) | COMMENT |
| LOW⚡ | vllm_mlx/plugin.py | 40 | # Check if MLX is installed and working | COMMENT |
| LOW | vllm_mlx/plugin.py | 59 | # Check if mlx-lm is available | COMMENT |
| LOW | vllm_mlx/prefix_cache.py | 143 | # Check if we have a shorter prefix with cache | COMMENT |
| LOW | vllm_mlx/prefix_cache.py | 212 | # Check if cache supports trimming | COMMENT |
| LOW | vllm_mlx/prefix_cache.py | 591 | # Check if cache_data contains extracted tensor states | COMMENT |
| LOW | vllm_mlx/prefix_cache.py | 625 | # Check if this block already exists (deduplication) | COMMENT |
| LOW | vllm_mlx/scheduler.py | 2799 | # Check if it's a list of cache layers | COMMENT |
| LOW | vllm_mlx/scheduler.py | 2807 | # Check if layer has expected structure | COMMENT |
| LOW | vllm_mlx/scheduler.py | 4514 | # Check if finished | COMMENT |
| LOW | vllm_mlx/mllm_batch_generator.py | 412 | # Check if this is actually a VLM with separate language model | COMMENT |
| LOW | vllm_mlx/tool_parsers/qwen3coder_tool_parser.py | 477 | # Check if we need to advance to next tool. The tool boundary is | COMMENT |
| LOW | vllm_mlx/tool_parsers/granite_tool_parser.py | 62 | # Check if it starts with JSON array | COMMENT |
| LOW | vllm_mlx/tool_parsers/seed_oss_tool_parser.py | 294 | # Check if we need to advance to next tool | COMMENT |
| LOW | vllm_mlx/tool_parsers/seed_oss_tool_parser.py | 309 | # Check if thinking ended (or never started) | COMMENT |
| LOW | vllm_mlx/tool_parsers/gemma4_tool_parser.py | 460 | # Check if we're inside a tool call. Either the pristine wire | COMMENT |
| LOW | vllm_mlx/tool_parsers/gemma4_tool_parser.py | 511 | # Check if we have a complete text tool call | COMMENT |
| LOW | vllm_mlx/utils/tokenizer.py | 776 | # Check if model needs fallback (e.g., Nemotron) | COMMENT |
| LOW | vllm_mlx/mcp/security.py | 154 | # Check if command is in whitelist | COMMENT |
| LOW | vllm_mlx/mcp/security.py | 156 | # Check if it's an absolute path to an allowed command | COMMENT |
| LOW | vllm_mlx/mcp/executor.py | 459 | # Check if tool exists | COMMENT |
| LOW⚡ | vllm_mlx/models/mllm.py | 512 | # Check if it's a local file | COMMENT |
| LOW⚡ | vllm_mlx/models/mllm.py | 516 | # Check if it's a URL | COMMENT |
| LOW⚡ | vllm_mlx/models/mllm.py | 520 | # Check if it's base64 | COMMENT |
| LOW⚡ | vllm_mlx/models/mllm.py | 599 | # Check if it's base64 FIRST (before Path.exists() which fails on long strings) | COMMENT |
| LOW⚡ | vllm_mlx/models/mllm.py | 603 | # Check if it's a URL | COMMENT |
| LOW⚡ | vllm_mlx/models/mllm.py | 607 | # Check if it's a local file (only for short strings that could be paths) | COMMENT |
| LOW | vllm_mlx/reasoning/deepseek_r1_parser.py | 120 | # Check if any tags are in the current text | COMMENT |
| LOW | vllm_mlx/reasoning/minimax_parser.py | 173 | # Check if output starts with reasoning patterns | COMMENT |
| LOW⚡ | vllm_mlx/reasoning/gemma4_parser.py | 321 | # Check if we just entered thought channel | COMMENT |
| LOW⚡ | vllm_mlx/reasoning/gemma4_parser.py | 326 | # Check if we just entered content channel | COMMENT |
| LOW⚡ | vllm_mlx/reasoning/gemma4_parser.py | 331 | # Check if thought ended (first <channel|> after thought start) | COMMENT |
| LOW | vllm_mlx/api/tool_logits.py | 353 | # Check if we should start tracking a pattern | COMMENT |
| LOW | vllm_mlx/routes/chat.py | 3589 | # Check if we should include usage in the final chunk | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_tool_logits.py | 126 | # Create a token ID that corresponds to the last char of '<invoke' | COMMENT |
| MEDIUM⚡ | tests/test_video.py | 193 | # Create a temp file to act as a "video" | COMMENT |
| MEDIUM | tests/test_server.py | 373 | # Create a real temp file | COMMENT |
| MEDIUM | tests/test_fix_reasoning_mtp_doctor.py | 97 | # Create a small QuantizedSwitchLinear | COMMENT |
| MEDIUM | tests/test_memory_stability.py | 40 | # Create a mock BatchGenerator with close() | COMMENT |
| MEDIUM | tests/test_memory_stability.py | 171 | # Create a mock request with extracted cache (dict-state format) | COMMENT |
| MEDIUM | tests/test_memory_stability.py | 218 | # Create a mock response with prompt_cache | COMMENT |
| MEDIUM | tests/test_turboquant.py | 544 | # Create a mix: KVCache + non-KVCache | COMMENT |
| MEDIUM | tests/test_mtp_gemma4_assistant_inject.py | 1238 | # Create the well-known name AND an "extra" shard. | COMMENT |
| MEDIUM | tests/test_mllm_continuous_batching.py | 723 | # Create a request with stop sequences | COMMENT |
| MEDIUM | tests/test_mllm_cache.py | 77 | # Create a temp file with some content | COMMENT |
| MEDIUM | tests/integrations/test_hermes.py | 597 | # Create a test file first | COMMENT |
| MEDIUM | examples/test_openai_compatibility.py | 63 | # Create a simple 100x100 red square image | COMMENT |
| MEDIUM | examples/test_openai_compatibility.py | 490 | # Create a simple video with 3 colored frames (red, green, blue) | COMMENT |
| MEDIUM | examples/test_video.py | 68 | # Create a simple video with colored frames | COMMENT |
| MEDIUM | examples/demo_openai_image.py | 80 | # Create a simple red square image for testing | COMMENT |
| MEDIUM | examples/demo_openai_image.py | 86 | # Create a simple 100x100 red image | COMMENT |
| MEDIUM | examples/benchmark_audio.py | 42 | # Create a simple sine wave tone | COMMENT |
| MEDIUM | examples/demo_curl_image.sh | 77 | # Create a simple red PNG using Python (smallest valid PNG) | COMMENT |
| MEDIUM | scripts/pr_validate/steps/targeted_tests.py | 253 | # Create a worktree pointing at base_ref (sha-pinned when given). | COMMENT |
| MEDIUM | vllm_mlx/gradio_app.py | 274 | # Create a public share link | COMMENT |
| MEDIUM | vllm_mlx/mllm_batch_generator.py | 941 | # Create a fresh KVCache for this request's language model prefill | COMMENT |
| MEDIUM | vllm_mlx/_integration_tests/test_hermes.py | 597 | # Create a test file first | COMMENT |
| MEDIUM | vllm_mlx/api/guided.py | 103 | # Create the model dynamically | COMMENT |
| MEDIUM | vllm_mlx/speculative/dflash/server.py | 400 | # Create the generator on the same worker that will drive it, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | vllm_mlx/paged_cache.py | 276 | Pop n non-pinned blocks from the front. Pinned blocks are skipped to prevent eviction of important | STRING |
| HIGH | vllm_mlx/paged_cache.py | 653 | Allocate multiple blocks at once (vLLM style). Args: num_blocks: Number of blocks to alloc | STRING |
| HIGH | vllm_mlx/model_registry.py | 58 | Attempt to acquire ownership of a model. Args: model: The MLX model engine: Th | STRING |
| HIGH | vllm_mlx/tool_parsers/abstract_tool_parser.py | 381 | Retrieve a registered ToolParser class by name. Args: name: Parser name (e.g., 'mistral', | STRING |
| HIGH | vllm_mlx/runtime/model_registry.py | 101 | Get the engine for a model name. Falls back to default. Args: model_name: Model name from request. | STRING |
| HIGH | vllm_mlx/mcp/config.py | 39 | Load MCP configuration from file. Search order: 1. Explicit path argument 2. RAPID_MLX_MCP_CONFIG envi | STRING |
| HIGH | vllm_mlx/mcp/config.py | 123 | Validate and parse configuration dictionary. Args: data: Raw configuration dictionary Returns: | STRING |
| HIGH | vllm_mlx/mcp/tools.py | 50 | Parse OpenAI tool call back to MCP format. Args: tool_call: OpenAI tool call from model response | STRING |
| HIGH | vllm_mlx/models/mllm.py | 225 | Decode base64 image to bytes. Args: base64_string: Base64 encoded image (optionally with data URL pref | STRING |
| HIGH | vllm_mlx/models/mllm.py | 253 | Download image from URL and return local path. Args: url: Image URL timeout: Download timeout | STRING |
| HIGH | vllm_mlx/models/mllm.py | 341 | Download video from URL and return local path. Args: url: Video URL (http/https) timeout: Down | STRING |
| HIGH | vllm_mlx/models/mllm.py | 440 | Decode base64 video to temp file and return path. Supports format: data:video/mp4;base64,AAAA... Args: | STRING |
| HIGH | vllm_mlx/reasoning/__init__.py | 51 | Get a reasoning parser class by name. Args: name: Name of the parser (e.g., "qwen3", "deepseek_r1"). | STRING |
| HIGH | vllm_mlx/spec_decode/mtp/qwen3_5_inject.py | 217 | Inject MTP support into a loaded Qwen3.5 / Qwen3.6 model. Args: model: A model loaded via ``mlx_lm.load()`` | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_llama_tool_parser_bare_json.py | 351 | # Step 1: prose preface — passes through. | COMMENT |
| LOW⚡ | tests/test_llama_tool_parser_bare_json.py | 358 | # Step 2: opening brace + name/params arrive in one go. | COMMENT |
| LOW⚡ | tests/test_llama_tool_parser_bare_json.py | 375 | # Step 1: closed prose JSON — flushed as content on close. | COMMENT |
| LOW⚡ | tests/test_llama_tool_parser_bare_json.py | 384 | # Step 2: trailing prose — must pass through. | COMMENT |
| LOW | tests/test_ui_tars_fixes.py | 740 | # Step 1: walk imports to learn what local names refer to | COMMENT |
| LOW | tests/test_ui_tars_fixes.py | 758 | # Step 2: walk the tree looking for Call nodes whose callable | COMMENT |
| LOW⚡ | tests/test_metrics_route.py | 432 | # Step 1: hits=10 → exposed 10 | COMMENT |
| LOW⚡ | tests/test_metrics_route.py | 436 | # Step 2: hits=15 → exposed 15 | COMMENT |
| LOW⚡ | tests/test_metrics_route.py | 441 | # Step 3: simulate cache.clear() — raw drops to 0; exposed must stay ≥ 15 | COMMENT |
| LOW⚡ | tests/test_metrics_route.py | 450 | # Step 4: hits=3 — fresh activity after clear; exposed should be 15+3=18 | COMMENT |
| LOW | docs/guides/server.md | 204 | # Step 1: Send request with tools | COMMENT |
| LOW | docs/guides/server.md | 220 | # Step 2: Check if model wants to use tools | COMMENT |
| LOW | docs/guides/server.md | 226 | # Step 3: Send tool result back | COMMENT |
| LOW⚡ | vllm_mlx/tool_parsers/gemma4_tool_parser.py | 99 | # Step 1: stash quoted string values so they can't confuse the bare parser | COMMENT |
| LOW⚡ | vllm_mlx/tool_parsers/gemma4_tool_parser.py | 108 | # Step 2: bare KV parse | COMMENT |
| LOW | vllm_mlx/utils/chat_template.py | 1013 | # Step 1: retry without enable_thinking (many templates don't support it). | COMMENT |
| LOW | vllm_mlx/utils/chat_template.py | 1057 | # Step 2: template also rejects tools — fall back to prompt injection. | COMMENT |
| LOW | vllm_mlx/service/postprocessor.py | 2482 | # Step 1: Separate content from reasoning | COMMENT |
| LOW | vllm_mlx/share/cli.py | 341 | # Step 1: a deliberately-wrong key must NOT return 200. If the | COMMENT |
| LOW | vllm_mlx/share/cli.py | 352 | # Step 2: the real key must return 200. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_llama_tool_parser_bare_json.py | 351 | # Step 1: prose preface — passes through. | COMMENT |
| LOW⚡ | tests/test_llama_tool_parser_bare_json.py | 358 | # Step 2: opening brace + name/params arrive in one go. | COMMENT |
| LOW⚡ | tests/test_llama_tool_parser_bare_json.py | 375 | # Step 1: closed prose JSON — flushed as content on close. | COMMENT |
| LOW⚡ | tests/test_llama_tool_parser_bare_json.py | 384 | # Step 2: trailing prose — must pass through. | COMMENT |
| LOW | tests/test_ui_tars_fixes.py | 740 | # Step 1: walk imports to learn what local names refer to | COMMENT |
| LOW | tests/test_ui_tars_fixes.py | 758 | # Step 2: walk the tree looking for Call nodes whose callable | COMMENT |
| LOW⚡ | tests/test_metrics_route.py | 432 | # Step 1: hits=10 → exposed 10 | COMMENT |
| LOW⚡ | tests/test_metrics_route.py | 436 | # Step 2: hits=15 → exposed 15 | COMMENT |
| LOW⚡ | tests/test_metrics_route.py | 441 | # Step 3: simulate cache.clear() — raw drops to 0; exposed must stay ≥ 15 | COMMENT |
| LOW⚡ | tests/test_metrics_route.py | 450 | # Step 4: hits=3 — fresh activity after clear; exposed should be 15+3=18 | COMMENT |
| LOW⚡ | vllm_mlx/tool_parsers/gemma4_tool_parser.py | 99 | # Step 1: stash quoted string values so they can't confuse the bare parser | COMMENT |
| LOW⚡ | vllm_mlx/tool_parsers/gemma4_tool_parser.py | 108 | # Step 2: bare KV parse | COMMENT |
| LOW | vllm_mlx/utils/chat_template.py | 1013 | # Step 1: retry without enable_thinking (many templates don't support it). | COMMENT |
| LOW | vllm_mlx/utils/chat_template.py | 1057 | # Step 2: template also rejects tools — fall back to prompt injection. | COMMENT |
| LOW | vllm_mlx/service/postprocessor.py | 2482 | # Step 1: Separate content from reasoning | COMMENT |
| LOW | vllm_mlx/share/cli.py | 341 | # Step 1: a deliberately-wrong key must NOT return 200. If the | COMMENT |
| LOW | vllm_mlx/share/cli.py | 352 | # Step 2: the real key must return 200. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integrations/test_hermes.py | 0 | streaming mode: tool calls arrive as structured deltas. | STRING |
| HIGH | vllm_mlx/_integration_tests/test_hermes.py | 0 | streaming mode: tool calls arrive as structured deltas. | STRING |
| HIGH | vllm_mlx/agents/testing.py | 0 | streaming mode: tool calls arrive as structured deltas. | STRING |
| HIGH | vllm_mlx/_mxfp4_moe_guardrail.py | 0 | test-only hook: zero the counters between cases. production code must not call this — prometheus counters are contractua | STRING |
| HIGH | vllm_mlx/runtime/ubc_evict.py | 0 | test-only hook: zero the counters between cases. production code must not call this — prometheus counters are contractua | STRING |
| HIGH | vllm_mlx/api/response_format_metrics.py | 0 | test-only hook: zero the counters between cases. production code must not call this — prometheus counters are contractua | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integrations/test_aider.sh | 18 | # Usage: | COMMENT |
| LOW⚡ | tests/integrations/test_openhands.sh | 34 | # Usage: | COMMENT |
| LOW | examples/demo_curl_text.sh | 6 | # Usage: | COMMENT |
| LOW | examples/demo_curl_video.sh | 6 | # Usage: | COMMENT |
| LOW | examples/demo_curl_image.sh | 6 | # Usage: | COMMENT |
| LOW | scripts/run_dogfood_mvp.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/gemma4_mtp_mvp_smoke.sh | 30 | # Usage: | COMMENT |
| LOW | scripts/build-sidecar.sh | 9 | # Usage: | COMMENT |
| LOW | vllm_mlx/_integration_tests/test_aider.sh | 18 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | evals/results/tier1b_benchmark.json | 333 | "content": " about building a distributed system on Apple Silicon. They want it to cover architecture design, netw | CODE |
| MEDIUM | …0260617-apple-m3-ultra-qwen3-8b-4bit-e912922f4600.json | 139 | "response_excerpt": "\n\nHello! 2 + 2 equals 4. Let me know if you need help with anything else! 😊" | CODE |
| MEDIUM⚡ | tests/test_pr_validate_codex.py | 863 | monkeypatch, tmp_path, "I'm unable to review this content." | CODE |
| MEDIUM | tests/integrations/conftest.py | 319 | # "I cannot provide the current weather in Tokyo as I cannot access | COMMENT |
| MEDIUM | scripts/agent_promo_gen.py | 185 | Let me know if you need help setting it up! | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_community_bench_aggregate.py | 62 | CODE | |
| LOW | tests/test_cache_routes.py | 84 | CODE | |
| LOW | examples/mcp_chat.py | 47 | CODE | |
| LOW | scripts/agent_soak_test.py | 272 | CODE | |
| LOW | scripts/bench_decode_tps.py | 122 | CODE | |
| LOW | vllm_mlx/server.py | 1143 | CODE | |
| LOW | vllm_mlx/mllm_scheduler.py | 439 | CODE | |
| LOW | vllm_mlx/mllm_scheduler.py | 1602 | CODE | |
| LOW | vllm_mlx/mllm_batch_generator.py | 375 | CODE | |
| LOW | vllm_mlx/tool_parsers/harmony_tool_parser.py | 334 | CODE | |
| LOW | vllm_mlx/models/mllm.py | 1239 | CODE | |
| LOW | vllm_mlx/models/deepseek_v4.py | 1662 | CODE | |
| LOW | vllm_mlx/models/gemma4_vendored/language.py | 601 | CODE | |
| LOW | vllm_mlx/spec_decode/mtp/cache_patch.py | 344 | CODE | |
| LOW | vllm_mlx/spec_decode/mtp/generator.py | 167 | CODE | |
| LOW | vllm_mlx/engine/batched.py | 756 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/test_prompt_cache_snapshot.py | 272 | scheduler.memory_aware_cache.store.call_args.kwargs.get("evict_prefixes") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evals/run_eval.py | 890 | fake_key = f"{prefix}fake_result" | CODE |
| LOW | evals/run_eval.py | 892 | fake_key, | CODE |
| LOW | tests/test_tokenizer_gemma4_hybrid.py | 265 | "Lorem ipsum dolor sit amet", | CODE |
| LOW | tests/test_tokenizer_gemma4_hybrid.py | 265 | "Lorem ipsum dolor sit amet", | CODE |
| LOW⚡ | tests/test_tool_param_enforcement_f141a.py | 135 | ("email", "notanemail", "user@example.com"), | CODE |
| LOW | tests/test_qwen3coder_tool_parser_streaming.py | 30 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do " | CODE |
| LOW | tests/test_qwen3coder_tool_parser_streaming.py | 30 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do " | CODE |
| LOW | tests/test_upstream_regression.py | 390 | '[TOOL_CALLS] [{"arguments":{"name": "John Doe"}, "name": "get_age"}]', | CODE |
| LOW | tests/test_upstream_regression.py | 392 | {"name": "John Doe"}, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_r15_routes_stability_batch.py | 501 | CODE | |
| MEDIUM | tests/test_r15_routes_stability_batch.py | 533 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/benchmark_realworld.py | 94 | def run_task(name, messages, max_tokens=1000, tools=None, temperature=0.0): | CODE |