llama.cpp fork with additional SOTA quants and improved performance
This report summarizes scanner evidence for ikawrakow/ik_llama.cpp, a C++ project with 3,355 GitHub stars. SynthScan examined 682,634 lines of code across 1973 source files, recording 1235 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 2.3 (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? 1096 finding(s).
Are imports declared and package/API names verified? 55 finding(s).
Are wrappers, guards, and repeated structures necessary? 323 finding(s).
Which changes need focused human review? 1235 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1235 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | convert_hf_to_gguf.py | 1821 | assert self.block_count == len(_block_configs) | COMMENT |
| LOW | convert_hf_to_gguf_update.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | convert_hf_to_gguf_update.py | 321 | CHK_TXT, | COMMENT |
| LOW | ci/run.sh | 1 | #/bin/bash | COMMENT |
| LOW | include/llama.h | 1 | // | COMMENT |
| LOW | include/llama.h | 21 | # ifdef LLAMA_BUILD | COMMENT |
| LOW | include/llama.h | 41 | #define LLAMA_DEFAULT_SEED 0xFFFFFFFF | COMMENT |
| LOW | include/llama.h | 81 | LLAMA_VOCAB_TYPE_RWKV = 5, // RWKV tokenizer based on greedy tokenization | COMMENT |
| LOW | include/llama.h | 101 | // LLAMA_VOCAB_PRE_TYPE_SMAUG = 14, | COMMENT |
| LOW | include/llama.h | 1021 | struct llama_context * ctx, | COMMENT |
| LOW | include/llama.h | 1141 | // Return batch for single sequence of tokens starting at pos_0 | COMMENT |
| LOW | include/llama.h | 1201 | // Set whether to use causal attention or not | COMMENT |
| LOW | include/llama.h | 1241 | COMMENT | |
| LOW | include/llama.h | 1341 | llama_token token, | COMMENT |
| LOW | gguf-py/scripts/gguf_set_metadata.py | 21 | return | COMMENT |
| LOW | tests/test-jinja.cpp | 1 | #include <string> | COMMENT |
| LOW | tests/test-grammar-llguidance.cpp | 541 | }, | COMMENT |
| LOW | tests/test-rope.cpp | 1 | #include "ggml.h" | COMMENT |
| LOW | tests/test-rope.cpp | 21 | #define MIN(a, b) ((a) < (b) ? (a) : (b)) | COMMENT |
| LOW | tests/test-chat.cpp | 1 | // Tests chat handling, including grammar generation and parsing for tool calling, for various templates. | COMMENT |
| LOW | tests/CMakeLists.txt | 161 | # target_include_directories(test-json-schema-to-grammar PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../examples/server) | COMMENT |
| LOW | tests/test-grad0.cpp | 1 | #define _CRT_SECURE_NO_DEPRECATE // Disables ridiculous "unsafe" warnings on Windows | COMMENT |
| LOW | tests/test-grad0.cpp | 21 | #define MIN(a, b) ((a) < (b) ? (a) : (b)) | COMMENT |
| LOW | tests/test-grad0.cpp | 661 | struct ggml_tensor * f = ggml_sum(ctx0, ggml_sqr(ctx0, ggml_sub(ctx0, x[0], ggml_repeat_back(ctx0, x[1], | COMMENT |
| LOW | tests/test-grad0.cpp | 1521 | // const int nargs = 3; | COMMENT |
| LOW | tests/test-grad0.cpp | 1541 | // nev[2] = 1; nev[3] = 1; | COMMENT |
| LOW | tests/test-tokenizer-1-bpe.cpp | 1 | #include "llama.h" | COMMENT |
| LOW | tests/test-tokenizer-1-spm.cpp | 1 | #include "llama.h" | COMMENT |
| LOW | tests/test-reasoning-budget.cpp | 1 | #include "reasoning-budget.h" | COMMENT |
| LOW | tests/test-grammar-integration.cpp | 1 | #ifdef NDEBUG | COMMENT |
| LOW | tests/test-quantize-fns.cpp | 1 | // Unit tests for quantization specific functions - quantize, dequantize and dot product | COMMENT |
| LOW | tests/test-tokenizer-0.cpp | 1 | #include "llama.h" | COMMENT |
| LOW | tests/test-tokenizer-0.cpp | 21 | // { "\t\n" , { 1602, }, }, | COMMENT |
| LOW | tests/test-tokenizer-0.cpp | 41 | // { "\n =" , { 198, 284, }, }, | COMMENT |
| LOW | tests/test-iq4-ks-kt-decode.cpp | 1 | // Checks the IQ4_KS and IQ4_KT decode arithmetic against ggml's to_float. | COMMENT |
| LOW | tests/test-opt.cpp | 1 | #include "ggml.h" | COMMENT |
| LOW | tests/test-opt.cpp | 21 | #define GGML_PRINT_DEBUG(...) | COMMENT |
| LOW | tests/test-opt.cpp | 141 | // int64_t ne3[4] = {128, 256, 1, 1}; | COMMENT |
| LOW | tests/test-opt.cpp | 161 | // main: original e = 126061.1953 | COMMENT |
| LOW | tests/test-chat-peg-parser.cpp | 1 | #include "chat-peg-parser.h" | COMMENT |
| LOW | tests/test-tokenizer-0.py | 21 | t_start = time.time() | COMMENT |
| LOW | tests/test-double-float.cpp | 1 | // These tests may take a long time! | COMMENT |
| LOW | tests/test-quantize-perf.cpp | 1 | // Benchmark quantization specific functions on synthetic data | COMMENT |
| LOW | tests/test-chat-template.cpp | 1 | #include <string> | COMMENT |
| LOW | tests/test-backend-ops.cpp | 1 | #include <ggml.h> | COMMENT |
| LOW | tests/test-backend-ops.cpp | 261 | default: return std::to_string(pool); | COMMENT |
| LOW | …Guide coming over from llama.cpp and ktransformers_.md | 41 | # *or* Configure CPU Only Backend | COMMENT |
| LOW | …Guide coming over from llama.cpp and ktransformers_.md | 61 | # tl;dr; generally use -mla 2 for CPU+GPU and use -mla 3 for CPU assuming your model architecture supports MLA | COMMENT |
| LOW | …Guide coming over from llama.cpp and ktransformers_.md | 81 | -amb 512 # 512 MiB compute buffer is a good for DeepSeek-R1 671B on a single <24GB VRAM GPU | COMMENT |
| LOW | …Guide coming over from llama.cpp and ktransformers_.md | 101 | -ser 7,1 # or 6,1 or 5,1 for faster trading off quality for speed | COMMENT |
| LOW | …Guide coming over from llama.cpp and ktransformers_.md | 121 | # e.g. IQ2_K_R4 and friends for CPU tensors | COMMENT |
| LOW | …Guide coming over from llama.cpp and ktransformers_.md | 361 | --outtype bf16 \ | COMMENT |
| LOW | …Guide coming over from llama.cpp and ktransformers_.md | 421 | # Q6_K / Q5_K for all non-shared expert down_proj and up_proj/gate_proj respectively | COMMENT |
| LOW | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 81 | COMMENT | |
| LOW | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 101 | #** **# | COMMENT |
| LOW | …ub-data/discussions/434 - Quant Cookers Basic Guide.md | 141 | # blk.28.attn_q.weight, torch.bfloat16 --> BF16, shape = {5120, 5120} | COMMENT |
| LOW | …b-data/pull_requests/336 - Fix termux_android build.md | 61 | 👤 **ikawrakow** commented during a code review the **2025-04-21** at **06:11:32** on `ggml/src/iqk/iqk_config.h`:<br> | COMMENT |
| LOW | …ests/612 - kimi-k2 convert script and chat template.md | 81 | # blk.0.attn_norm.weight - [ 7168, 1, 1, 1], type = f32, size = 0.027 MB | COMMENT |
| LOW | …ests/612 - kimi-k2 convert script and chat template.md | 101 | # blk.9.attn_kv_a_norm.weight - [ 512, 1, 1, 1], type = f32, size = 0.002 MB | COMMENT |
| LOW | … The streaming every couple of rows blocks for 5-8s.md | 261 | #2 gomp_barrier_wait_end (bar=0x55555f628310, state=60160) at ../../../src/libgomp/config/linux/bar.c:48 | COMMENT |
| 515 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | convert_hf_to_gguf.py | 473 | def get_model_part_names_from_weight_map(dir_model: Path, index_name: str) -> list[str]: | CODE |
| LOW | convert_hf_to_gguf.py | 851 | def _create_vocab_sentencepiece(self): | CODE |
| LOW | convert_hf_to_gguf.py | 1804 | def _ffn_mult_to_intermediate_size(ffn_mult: float, n_embd: int) -> int: | CODE |
| LOW | convert_hf_to_gguf.py | 2446 | def _require_target_model_dir(self) -> Path: | CODE |
| LOW | convert_hf_to_gguf.py | 2732 | def _set_vocab_tokenizer_json(self, dir_model: Path, vocab_size: int) -> None: | CODE |
| LOW | convert_hf_to_gguf.py | 3642 | def shuffle_attn_output_weight(self, data_torch): | CODE |
| LOW | convert_hf_to_gguf.py | 7314 | def _set_attention_layer_types(self): | CODE |
| LOW | convert_hf_to_gguf.py | 7561 | def meta_with_dtype_and_shape(cls, dtype: torch.dtype, shape: tuple[int, ...]) -> Tensor: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 661 | def add_leading_dense_block_count(self, length: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 670 | def add_expert_feed_forward_length(self, length: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 673 | def add_expert_shared_feed_forward_length(self, length: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 676 | def add_expert_chunk_feed_forward_length(self, length: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 682 | def add_decoder_start_token_id(self, id: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 688 | def add_embedding_length_per_layer_input(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 697 | def add_activation_sparsity_scale(self, values: Sequence[float]) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 755 | def add_attn_logit_softcapping(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 758 | def add_router_logit_softcapping(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 761 | def add_final_logit_softcapping(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 812 | def add_attention_indexer_head_count(self, count: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 815 | def add_attention_indexer_key_length(self, length: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 818 | def add_attention_indexer_top_k(self, top_k: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 821 | def add_attention_indexer_block_size(self, size: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 824 | def add_attention_indexer_local_blocks(self, blocks: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 830 | def add_rescale_every_n_layers(self, count: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 881 | def add_value_residual_mix_lora_rank(self, length: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 887 | def add_relative_attn_buckets_count(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 896 | def add_attention_value_scale(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 902 | def add_attn_temperature_length(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 932 | def add_rope_scaling_attn_factors(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 935 | def add_rope_scaling_orig_ctx_len(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 938 | def add_rope_scaling_finetuned(self, value: bool) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 941 | def add_rope_scaling_yarn_log_mul(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 944 | def add_rope_scaling_yarn_ext_factor(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 947 | def add_rope_scaling_yarn_attn_factor(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 950 | def add_rope_scaling_yarn_beta_fast(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 953 | def add_rope_scaling_yarn_beta_slow(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 986 | def add_activation_situ_linear_beta(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 989 | def add_hyper_connection_count(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 992 | def add_hyper_connection_epsilon(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 995 | def add_hyper_connection_magnitude(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1090 | def add_classifier_output_labels(self, labels: Sequence[str]) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1095 | def add_clip_has_vision_encoder(self, value: bool) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1098 | def add_clip_has_audio_encoder(self, value: bool) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1104 | def add_vision_projection_dim(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1110 | def add_vision_embedding_length(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1113 | def add_vision_feed_forward_length(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1122 | def add_vision_attention_layernorm_eps(self, value: float) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1128 | def add_vision_preproc_image_size(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1137 | def add_vision_spatial_merge_size(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1146 | def add_vision_projector_scale_factor(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1152 | def add_vision_is_deepstack_layers(self, layers: Sequence[bool]) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1160 | def add_audio_embedding_length(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1163 | def add_audio_feed_forward_length(self, value: int) -> None: | CODE |
| LOW⚡ | gguf-py/gguf/gguf_writer.py | 1172 | def add_audio_attention_layernorm_eps(self, value: float) -> None: | CODE |
| LOW | gguf-py/gguf/gguf_writer.py | 112 | def get_total_parameter_count(self) -> tuple[int, int, int, int]: | CODE |
| LOW | gguf-py/gguf/gguf_writer.py | 571 | def add_base_model_organization(self, source_id: int, organization: str) -> None: | CODE |
| LOW | gguf-py/gguf/gguf_writer.py | 574 | def add_base_model_description(self, source_id: int, description: str) -> None: | CODE |
| LOW | gguf-py/gguf/gguf_writer.py | 643 | def add_posnet_embedding_length(self, length: int) -> None: | CODE |
| LOW | gguf-py/gguf/gguf_writer.py | 649 | def add_convnext_embedding_length(self, length: int) -> None: | CODE |
| LOW | gguf-py/gguf/gguf_writer.py | 739 | def add_sliding_window_pattern(self, value: Sequence[bool]) -> None: | CODE |
| 172 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | gguf-py/gguf/vocab.py | 0 | returns list of utf-8 byte and a corresponding list of unicode strings. the reversible bpe codes work on unicode strings | STRING |
| HIGH | …legacy-models/glmedge-convert-image-encoder-to-gguf.py | 0 | returns list of utf-8 byte and a corresponding list of unicode strings. the reversible bpe codes work on unicode strings | STRING |
| HIGH | …es/mtmd/legacy-models/convert_image_encoder_to_gguf.py | 0 | returns list of utf-8 byte and a corresponding list of unicode strings. the reversible bpe codes work on unicode strings | STRING |
| HIGH | …egacy-models/minicpmv-convert-image-encoder-to-gguf.py | 0 | returns list of utf-8 byte and a corresponding list of unicode strings. the reversible bpe codes work on unicode strings | STRING |
| HIGH | tests/test-grammar-llguidance.cpp | 0 | ({ "type": "integer", "minimum": 5, "maximum": 30 }) | STRING |
| HIGH | tests/test-grammar-integration.cpp | 0 | ({ "type": "integer", "minimum": 5, "maximum": 30 }) | STRING |
| HIGH | tests/test-json-schema-to-grammar.cpp | 0 | ({ "type": "integer", "minimum": 5, "maximum": 30 }) | STRING |
| HIGH | tests/test-grammar-llguidance.cpp | 0 | ({ "type": "integer", "minimum": -123, "maximum": 42 }) | STRING |
| HIGH | tests/test-grammar-integration.cpp | 0 | ({ "type": "integer", "minimum": -123, "maximum": 42 }) | STRING |
| HIGH | tests/test-json-schema-to-grammar.cpp | 0 | ({ "type": "integer", "minimum": -123, "maximum": 42 }) | STRING |
| HIGH | tests/test-grammar-llguidance.cpp | 0 | ({ "items": [ { "format": "date" }, { "format": "uuid" }, { "format": "time" }, { "format": "date-time" } ] }) | STRING |
| HIGH | tests/test-grammar-integration.cpp | 0 | ({ "items": [ { "format": "date" }, { "format": "uuid" }, { "format": "time" }, { "format": "date-time" } ] }) | STRING |
| HIGH | tests/test-json-schema-to-grammar.cpp | 0 | ({ "items": [ { "format": "date" }, { "format": "uuid" }, { "format": "time" }, { "format": "date-time" } ] }) | STRING |
| HIGH | tests/test-grammar-llguidance.cpp | 0 | ({ "type": "string", "minlength": 1, "maxlength": 4 }) | STRING |
| HIGH | tests/test-grammar-integration.cpp | 0 | ({ "type": "string", "minlength": 1, "maxlength": 4 }) | STRING |
| HIGH | tests/test-json-schema-to-grammar.cpp | 0 | ({ "type": "string", "minlength": 1, "maxlength": 4 }) | STRING |
| HIGH | tests/test-grammar-llguidance.cpp | 0 | ({ "enum": ["red", "amber", "green", null, 42, ["foo"]] }) | STRING |
| HIGH | tests/test-grammar-integration.cpp | 0 | ({ "enum": ["red", "amber", "green", null, 42, ["foo"]] }) | STRING |
| HIGH | tests/test-json-schema-to-grammar.cpp | 0 | ({ "enum": ["red", "amber", "green", null, 42, ["foo"]] }) | STRING |
| HIGH | tests/test-grammar-llguidance.cpp | 0 | ({ "items": { "type": ["number", "integer"] }, "minitems": 3, "maxitems": 5 }) | STRING |
| HIGH | tests/test-grammar-integration.cpp | 0 | ({ "items": { "type": ["number", "integer"] }, "minitems": 3, "maxitems": 5 }) | STRING |
| HIGH | tests/test-json-schema-to-grammar.cpp | 0 | ({ "items": { "type": ["number", "integer"] }, "minitems": 3, "maxitems": 5 }) | STRING |
| HIGH | tests/test-grammar-llguidance.cpp | 0 | ({ "properties": { "b": {"type": "string"}, "a": {"type": "string"}, "d": {"type": "string"}, "c": {"type": "string"} }, | STRING |
| HIGH | tests/test-grammar-integration.cpp | 0 | ({ "properties": { "b": {"type": "string"}, "a": {"type": "string"}, "d": {"type": "string"}, "c": {"type": "string"} }, | STRING |
| HIGH | tests/test-json-schema-to-grammar.cpp | 0 | ({ "properties": { "b": {"type": "string"}, "a": {"type": "string"}, "d": {"type": "string"}, "c": {"type": "string"} }, | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | include/llama.h | 1377 | /// NOTE: This function does not use a jinja parser. It only support a pre-defined list of template. See more: https | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1037 | // Step 2: Parse incremental message (what server does) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1043 | // Step 3: Compute diffs (what server streaming does) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1048 | // Step 4: Generate streaming response (critical part that was missing) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1295 | // Step 1: During streaming, partial content should not generate diffs | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1304 | // Step 2: Only complete tool call should generate tool call diffs | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1345 | // Step 1: Extract content like the original server does | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1349 | // Step 2: Test our tool_call_mode fix (force content="" when ctx_server exists) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1356 | // Step 3: Simulate slot processing | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1365 | // Step 4: Test our incremental parsing fix | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1373 | // Step 5: Test our diff computation fix | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1378 | // Step 6: Test our early return logic (diffs.empty() → return empty chunks) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1382 | // Step 7: Test fallback content logic | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1387 | // Step 8: Validate our complete fix | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1874 | // Step 1: Simulate the exact content from logs | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1880 | // Step 2: Parse using current implementation (partial=true, then partial=false) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1922 | // Step 4: Compute diffs (this should be 0 if states are identical) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1928 | // Step 5: Check for contamination in diffs (if any) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1943 | // Step 6: CRITICAL TEST - Check raw content vs processed content disparity | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1951 | // Step 7: REPRODUCTION CHECK - The exact issue from logs | COMMENT |
| LOW | tests/test-function-calls.cpp | 1026 | // Step 1: Simulate what format_partial_response_oaicompat() should do | COMMENT |
| LOW | tests/test-function-calls.cpp | 1094 | // Step 5: Validate the output format | COMMENT |
| LOW | tests/test-function-calls.cpp | 1899 | // Step 3: Test differential streaming scenario from logs | COMMENT |
| LOW | tests/test-function-calls.cpp | 1985 | // Step 8: Test the exact format_partial_response_oaicompat scenario | COMMENT |
| LOW | tests/test-function-calls.cpp | 2017 | // Step 9: CRITICAL TEST - Check for content duplication | COMMENT |
| LOW | tests/test-function-calls.cpp | 2055 | // Step 10: Additional duplication scenarios | COMMENT |
| LOW⚡ | docs/development/debugging-tests.md | 41 | #### Step 1: Reset and Setup folder context | COMMENT |
| LOW⚡ | docs/development/debugging-tests.md | 49 | #### Step 2: Setup Build Environment and Compile Test Binaries | COMMENT |
| LOW⚡ | docs/development/debugging-tests.md | 58 | #### Step 3: Find all tests available that match REGEX | COMMENT |
| LOW | docs/development/debugging-tests.md | 86 | #### Step 4: Identify Test Command for Debugging | COMMENT |
| LOW | docs/development/debugging-tests.md | 92 | #### Step 5: Run GDB on test command | COMMENT |
| LOW⚡ | …quests/386 - FlashMLA-3 for DeepSeek models on CUDA.md | 1057 | ### Step 1: Add the two equations to eliminate \( y \) | COMMENT |
| LOW⚡ | …quests/386 - FlashMLA-3 for DeepSeek models on CUDA.md | 1065 | ### Step 2: Solve for \( x \) | COMMENT |
| LOW⚡ | …quests/386 - FlashMLA-3 for DeepSeek models on CUDA.md | 1070 | ### Step 3: Substitute \( x = \frac{5}{2} \) into one of the original equations to find \( y \) | COMMENT |
| LOW⚡ | …ix CUDA DeepSeek FlashMLA-3 with quantized KV cache.md | 610 | ### Step 1: Add the two equations | COMMENT |
| LOW⚡ | …ix CUDA DeepSeek FlashMLA-3 with quantized KV cache.md | 616 | ### Step 2: Solve for \( x \) | COMMENT |
| LOW⚡ | …ix CUDA DeepSeek FlashMLA-3 with quantized KV cache.md | 622 | ### Step 3: Substitute \( x = 2.5 \) into one of the original equations to find \( y \) | COMMENT |
| LOW⚡ | …ix CUDA DeepSeek FlashMLA-3 with quantized KV cache.md | 701 | ### Step 1: Analyze the Lengths | COMMENT |
| LOW⚡ | …ix CUDA DeepSeek FlashMLA-3 with quantized KV cache.md | 707 | ### Step 2: Identify Letter Pairs | COMMENT |
| LOW⚡ | …ix CUDA DeepSeek FlashMLA-3 with quantized KV cache.md | 716 | ### Step 3: Match Letters | COMMENT |
| LOW | …ix CUDA DeepSeek FlashMLA-3 with quantized KV cache.md | 735 | ### Step 4: Formulate the Encoding Rule | COMMENT |
| LOW | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 151 | // Step 0: Temporarily remove blockquote markers (>) to process LaTeX correctly | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 165 | // Step 1: Protect code blocks | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 174 | // Step 2: Protect existing LaTeX expressions | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 210 | // Step 3: Escape standalone $ before digits (currency like $5 → \$5) | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 214 | // Step 4: Restore protected LaTeX expressions (they are valid) | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 229 | // Step 5: Apply additional escaping functions (brackets and mhchem) | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 237 | // Step 6: Convert remaining \(...\) → $...$, \[...\] → $$...$$ | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 253 | // Step 7: Restore code blocks | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 259 | // Step 8: Restore blockquote markers | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 233 | // Step 1: Protect code blocks | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 240 | // Step 2: Protect existing LaTeX expressions | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 266 | // Step 3: Escape dollar signs that are likely currency indicators. | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 270 | // Step 4: Restore LaTeX expressions | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 276 | // Step 5: Restore code blocks | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 282 | // Step 6: Apply additional escaping functions | COMMENT |
| LOW | scripts/check-requirements.sh | 8 | # WARNING: This is quite IO intensive, because a fresh venv is set up for every | COMMENT |
| LOW | scripts/debug-test.sh | 62 | # Step 0: Check the args | COMMENT |
| LOW | scripts/debug-test.sh | 95 | # Step 1: Reset and Setup folder context | COMMENT |
| LOW⚡ | scripts/debug-test.sh | 109 | # Step 2: Setup Build Environment and Compile Test Binaries | COMMENT |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test-function-calls.cpp | 1037 | // Step 2: Parse incremental message (what server does) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1043 | // Step 3: Compute diffs (what server streaming does) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1048 | // Step 4: Generate streaming response (critical part that was missing) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1295 | // Step 1: During streaming, partial content should not generate diffs | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1304 | // Step 2: Only complete tool call should generate tool call diffs | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1345 | // Step 1: Extract content like the original server does | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1349 | // Step 2: Test our tool_call_mode fix (force content="" when ctx_server exists) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1356 | // Step 3: Simulate slot processing | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1365 | // Step 4: Test our incremental parsing fix | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1373 | // Step 5: Test our diff computation fix | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1378 | // Step 6: Test our early return logic (diffs.empty() → return empty chunks) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1382 | // Step 7: Test fallback content logic | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1387 | // Step 8: Validate our complete fix | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1874 | // Step 1: Simulate the exact content from logs | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1880 | // Step 2: Parse using current implementation (partial=true, then partial=false) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1922 | // Step 4: Compute diffs (this should be 0 if states are identical) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1928 | // Step 5: Check for contamination in diffs (if any) | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1943 | // Step 6: CRITICAL TEST - Check raw content vs processed content disparity | COMMENT |
| LOW⚡ | tests/test-function-calls.cpp | 1951 | // Step 7: REPRODUCTION CHECK - The exact issue from logs | COMMENT |
| LOW | tests/test-function-calls.cpp | 1026 | // Step 1: Simulate what format_partial_response_oaicompat() should do | COMMENT |
| LOW | tests/test-function-calls.cpp | 1094 | // Step 5: Validate the output format | COMMENT |
| LOW | tests/test-function-calls.cpp | 1899 | // Step 3: Test differential streaming scenario from logs | COMMENT |
| LOW | tests/test-function-calls.cpp | 1985 | // Step 8: Test the exact format_partial_response_oaicompat scenario | COMMENT |
| LOW | tests/test-function-calls.cpp | 2017 | // Step 9: CRITICAL TEST - Check for content duplication | COMMENT |
| LOW | tests/test-function-calls.cpp | 2055 | // Step 10: Additional duplication scenarios | COMMENT |
| LOW | common/common.cpp | 3269 | // now we need to check if there is anything after this argv | COMMENT |
| LOW | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 151 | // Step 0: Temporarily remove blockquote markers (>) to process LaTeX correctly | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 165 | // Step 1: Protect code blocks | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 174 | // Step 2: Protect existing LaTeX expressions | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 210 | // Step 3: Escape standalone $ before digits (currency like $5 → \$5) | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 214 | // Step 4: Restore protected LaTeX expressions (they are valid) | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 229 | // Step 5: Apply additional escaping functions (brackets and mhchem) | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 237 | // Step 6: Convert remaining \(...\) → $...$, \[...\] → $$...$$ | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 253 | // Step 7: Restore code blocks | COMMENT |
| LOW⚡ | …erver/webui_llamacpp/src/lib/utils/latex-protection.ts | 259 | // Step 8: Restore blockquote markers | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 233 | // Step 1: Protect code blocks | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 240 | // Step 2: Protect existing LaTeX expressions | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 266 | // Step 3: Escape dollar signs that are likely currency indicators. | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 270 | // Step 4: Restore LaTeX expressions | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 276 | // Step 5: Restore code blocks | COMMENT |
| LOW⚡ | …amples/server/webui/src/components/MarkdownDisplay.tsx | 282 | // Step 6: Apply additional escaping functions | COMMENT |
| LOW | scripts/debug-test.sh | 62 | # Step 0: Check the args | COMMENT |
| LOW | scripts/debug-test.sh | 95 | # Step 1: Reset and Setup folder context | COMMENT |
| LOW⚡ | scripts/debug-test.sh | 109 | # Step 2: Setup Build Environment and Compile Test Binaries | COMMENT |
| LOW⚡ | scripts/debug-test.sh | 119 | # Step 3: Find all tests available that matches REGEX | COMMENT |
| LOW | scripts/debug-test.sh | 135 | # Step 4: Identify Test Command for Debugging | COMMENT |
| LOW | scripts/debug-test.sh | 172 | # Step 5: Execute or GDB Debug | COMMENT |
| LOW | src/llama-sampling.cpp | 830 | // Step 1: Look for restart sequences to limit the maximum repetition length. | COMMENT |
| LOW | src/llama-sampling.cpp | 891 | // Step 2: Iterate in reverse over the last N tokens of the context, using the "Z-algorithm" (in | COMMENT |
| LOW | src/llama-sampling.cpp | 955 | // Step 3: Iterate over dry_repeat_count and last_tokens, examining the maximum repeat length | COMMENT |
| LOW | src/llama-sampling.cpp | 982 | // Step 4: Apply logit penalties based on the maximum repeat length for relevant tokens. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | convert_lora_to_gguf.py | 56 | CODE | |
| LOW | convert_lora_to_gguf.py | 186 | CODE | |
| LOW | convert_imatrix_gguf_to_dat.py | 87 | CODE | |
| LOW | convert_hf_to_gguf.py | 7655 | CODE | |
| LOW | convert_hf_to_gguf.py | 139 | CODE | |
| LOW | convert_hf_to_gguf.py | 273 | CODE | |
| LOW | convert_hf_to_gguf.py | 544 | CODE | |
| LOW | convert_hf_to_gguf.py | 851 | CODE | |
| LOW | convert_hf_to_gguf.py | 1283 | CODE | |
| LOW | convert_hf_to_gguf.py | 1493 | CODE | |
| LOW | convert_hf_to_gguf.py | 1695 | CODE | |
| LOW | convert_hf_to_gguf.py | 1740 | CODE | |
| LOW | convert_hf_to_gguf.py | 1816 | CODE | |
| LOW | convert_hf_to_gguf.py | 1944 | CODE | |
| LOW | convert_hf_to_gguf.py | 2000 | CODE | |
| LOW | convert_hf_to_gguf.py | 2089 | CODE | |
| LOW | convert_hf_to_gguf.py | 2325 | CODE | |
| LOW | convert_hf_to_gguf.py | 2536 | CODE | |
| LOW | convert_hf_to_gguf.py | 3220 | CODE | |
| LOW | convert_hf_to_gguf.py | 3327 | CODE | |
| LOW | convert_hf_to_gguf.py | 3456 | CODE | |
| LOW | convert_hf_to_gguf.py | 3703 | CODE | |
| LOW | convert_hf_to_gguf.py | 3989 | CODE | |
| LOW | convert_hf_to_gguf.py | 4777 | CODE | |
| LOW | convert_hf_to_gguf.py | 4869 | CODE | |
| LOW | convert_hf_to_gguf.py | 4929 | CODE | |
| LOW | convert_hf_to_gguf.py | 5028 | CODE | |
| LOW | convert_hf_to_gguf.py | 5139 | CODE | |
| LOW | convert_hf_to_gguf.py | 5223 | CODE | |
| LOW | convert_hf_to_gguf.py | 5759 | CODE | |
| LOW | convert_hf_to_gguf.py | 5865 | CODE | |
| LOW | convert_hf_to_gguf.py | 6017 | CODE | |
| LOW | convert_hf_to_gguf.py | 6087 | CODE | |
| LOW | convert_hf_to_gguf.py | 6227 | CODE | |
| LOW | convert_hf_to_gguf.py | 6711 | CODE | |
| LOW | convert_hf_to_gguf.py | 6822 | CODE | |
| LOW | convert_hf_to_gguf.py | 6886 | CODE | |
| LOW | convert_hf_to_gguf.py | 6976 | CODE | |
| LOW | convert_hf_to_gguf.py | 7115 | CODE | |
| LOW | convert_llama_ggml_to_gguf.py | 204 | CODE | |
| LOW | convert_llama_ggml_to_gguf.py | 287 | CODE | |
| LOW | gguf-py/gguf/gguf_writer.py | 112 | CODE | |
| LOW | gguf-py/gguf/gguf_writer.py | 326 | CODE | |
| LOW | gguf-py/gguf/gguf_writer.py | 425 | CODE | |
| LOW | gguf-py/gguf/gguf_writer.py | 1055 | CODE | |
| LOW | gguf-py/gguf/gguf_writer.py | 1204 | CODE | |
| LOW | gguf-py/gguf/vocab.py | 141 | CODE | |
| LOW | gguf-py/gguf/metadata.py | 155 | CODE | |
| LOW | gguf-py/gguf/metadata.py | 280 | CODE | |
| LOW | gguf-py/gguf/gguf_reader.py | 56 | CODE | |
| LOW | gguf-py/gguf/gguf_reader.py | 314 | CODE | |
| LOW | gguf-py/gguf/constants.py | 2490 | CODE | |
| LOW | gguf-py/gguf/quants.py | 50 | CODE | |
| LOW | gguf-py/tests/test_quants.py | 142 | CODE | |
| LOW | gguf-py/tests/test_quants.py | 85 | CODE | |
| LOW | gguf-py/scripts/gguf_convert_endian.py | 22 | CODE | |
| LOW | gguf-py/scripts/gguf_new_metadata.py | 136 | CODE | |
| LOW | gguf-py/scripts/gguf_dump.py | 34 | CODE | |
| LOW | gguf-py/scripts/gguf_dump.py | 153 | CODE | |
| LOW | gguf-py/scripts/gguf_dump.py | 228 | CODE | |
| 38 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | convert_hf_to_gguf.py | 1124 | def set_vocab(self): | CODE |
| LOW | convert_hf_to_gguf.py | 1127 | except Exception: | CODE |
| LOW | convert_hf_to_gguf_update.py | 157 | except Exception as e: | CODE |
| MEDIUM | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 159 | print(f"Error: tensor_downloader.sh not found or not executable at {tensor_downloader}", file=sys.stderr) | CODE |
| LOW | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 220 | except Exception as e: | CODE |
| LOW | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 312 | except Exception: | CODE |
| LOW | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 330 | except Exception: | CODE |
| MEDIUM | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 397 | print(f"Error: qtype '{qtype_arg}' not found in CSV.") | CODE |
| LOW⚡ | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 782 | except Exception: | CODE |
| LOW⚡ | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 790 | except Exception: | CODE |
| MEDIUM⚡ | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 796 | print("Error: CSV must have 'QTYPE' as first column.") | CODE |
| MEDIUM | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 864 | print(f"Error: could not parse numeric value for tensor {name!r}: {raw!r}") | CODE |
| LOW | …a/discussions/621 - Deepseek v3_r1 poisoned prompt_.md | 1165 | except Exception: | CODE |
| MEDIUM | examples/pydantic_models_to_grammar_examples.py | 66 | print(f"Error: unknown tool {json_data['function']}") | CODE |
| MEDIUM | examples/pydantic_models_to_grammar_examples.py | 142 | print(f"Error: unknown tool {json_data['function']}") | CODE |
| MEDIUM | examples/pydantic_models_to_grammar_examples.py | 285 | print(f"Error: unknown tool {call['function']}") | CODE |
| MEDIUM | examples/pydantic_models_to_grammar.py | 1001 | print(f"An error occurred while saving the grammar file: {e}") | CODE |
| MEDIUM | examples/pydantic_models_to_grammar.py | 1008 | print(f"An error occurred while saving the documentation file: {e}") | CODE |
| LOW | examples/server/bench/bench.py | 58 | except Exception: | CODE |
| LOW | examples/server/bench/bench.py | 84 | except Exception: | CODE |
| LOW | examples/server/tests/features/environment.py | 51 | except Exception: | CODE |
| MEDIUM | examples/server/tests/features/environment.py | 23 | def after_scenario(context, scenario): | CODE |
| MEDIUM | …es/llama.swiftui/llama.swiftui/UI/DownloadButton.swift | 40 | print("Error: \(error.localizedDescription)") | CODE |
| MEDIUM | …es/llama.swiftui/llama.swiftui/UI/DownloadButton.swift | 61 | print("Error: \(err.localizedDescription)") | CODE |
| MEDIUM | …es/llama.swiftui/llama.swiftui/UI/DownloadButton.swift | 95 | print("Error: \(err.localizedDescription)") | CODE |
| MEDIUM | …mples/llama.swiftui/llama.swiftui/UI/InputButton.swift | 44 | print("Error: \(error.localizedDescription)") | CODE |
| MEDIUM | …mples/llama.swiftui/llama.swiftui/UI/InputButton.swift | 65 | print("Error: \(err.localizedDescription)") | CODE |
| MEDIUM | …mples/llama.swiftui/llama.swiftui/UI/InputButton.swift | 111 | print("Error: \(err.localizedDescription)") | CODE |
| MEDIUM | …/llama.swiftui/llama.swiftui/UI/LoadCustomButton.swift | 34 | print("Error: \(err.localizedDescription)") | CODE |
| MEDIUM | …mples/llama.swiftui/llama.swiftui/UI/ContentView.swift | 87 | print("Error deleting file: \(error)") | CODE |
| MEDIUM | …es/llama.swiftui/llama.swiftui/Models/LlamaState.swift | 39 | print("Error loading models from disk: \(error)") | CODE |
| LOW | scripts/fetch_server_test_models.py | 35 | except Exception as e: | CODE |
| MEDIUM | scripts/fetch_server_test_models.py | 31 | def collect_hf_model_test_parameters(test_file) -> Generator[HuggingFaceModel, N | CODE |
| LOW | scripts/tool_bench.py | 103 | except Exception as e: | CODE |
| LOW | scripts/tool_bench.py | 283 | except Exception as e: | CODE |
| LOW | scripts/repack_ternary_to_prism.py | 21 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | convert_lora_to_gguf.py | 4 | CODE | |
| LOW | convert_imatrix_gguf_to_dat.py | 1 | CODE | |
| LOW | convert_hf_to_gguf.py | 4 | CODE | |
| LOW | convert_llama_ggml_to_gguf.py | 2 | CODE | |
| LOW | gguf-py/gguf/gguf_writer.py | 1 | CODE | |
| LOW | gguf-py/gguf/vocab.py | 1 | CODE | |
| LOW | gguf-py/gguf/metadata.py | 1 | CODE | |
| LOW | gguf-py/gguf/gguf_reader.py | 5 | CODE | |
| LOW | gguf-py/gguf/tensor_mapping.py | 1 | CODE | |
| LOW | gguf-py/gguf/utility.py | 1 | CODE | |
| LOW | gguf-py/gguf/constants.py | 1 | CODE | |
| LOW | gguf-py/gguf/__init__.py | 1 | CODE | |
| LOW | gguf-py/gguf/__init__.py | 2 | CODE | |
| LOW | gguf-py/gguf/__init__.py | 3 | CODE | |
| LOW | gguf-py/gguf/__init__.py | 4 | CODE | |
| LOW | gguf-py/gguf/__init__.py | 5 | CODE | |
| LOW | gguf-py/gguf/__init__.py | 6 | CODE | |
| LOW | gguf-py/gguf/__init__.py | 7 | CODE | |
| LOW | gguf-py/gguf/__init__.py | 8 | CODE | |
| LOW | gguf-py/gguf/__init__.py | 9 | CODE | |
| LOW | gguf-py/gguf/lazy.py | 1 | CODE | |
| LOW | gguf-py/gguf/quants.py | 1 | CODE | |
| LOW | gguf-py/tests/__init__.py | 1 | CODE | |
| LOW | gguf-py/tests/test_quants.py | 7 | CODE | |
| LOW | gguf-py/scripts/gguf_convert_endian.py | 2 | CODE | |
| LOW | gguf-py/scripts/gguf_new_metadata.py | 2 | CODE | |
| LOW | gguf-py/scripts/__init__.py | 3 | CODE | |
| LOW | gguf-py/scripts/__init__.py | 4 | CODE | |
| LOW | gguf-py/scripts/__init__.py | 5 | CODE | |
| LOW | gguf-py/scripts/__init__.py | 6 | CODE | |
| LOW | gguf-py/scripts/gguf_dump.py | 2 | CODE | |
| LOW | gguf-py/scripts/gguf_dump.py | 12 | CODE | |
| LOW | gguf-py/scripts/gguf_hash.py | 2 | CODE | |
| LOW | tests/test-tokenizer-random.py | 9 | CODE | |
| LOW | examples/json_schema_to_grammar.py | 2 | CODE | |
| LOW | examples/pydantic_models_to_grammar_examples.py | 5 | CODE | |
| LOW | examples/convert_legacy_llama.py | 2 | CODE | |
| LOW | examples/pydantic_models_to_grammar.py | 1 | CODE | |
| LOW | …gacy-models/minimaxm3-convert-image-encoder-to-gguf.py | 4 | CODE | |
| LOW | …gacy-models/minimaxm3-convert-image-encoder-to-gguf.py | 5 | CODE | |
| LOW | …legacy-models/glmedge-convert-image-encoder-to-gguf.py | 8 | CODE | |
| LOW | …es/mtmd/legacy-models/convert_image_encoder_to_gguf.py | 8 | CODE | |
| LOW | …egacy-models/minicpmv-convert-image-encoder-to-gguf.py | 414 | CODE | |
| LOW | examples/server/bench/bench.py | 1 | CODE | |
| LOW | scripts/gen-unicode-data.py | 1 | CODE | |
| LOW | scripts/gen-unicode-script-data.py | 2 | CODE | |
| LOW | scripts/repack_ternary_to_prism.py | 15 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ci/run.sh | 742 | # Create a fresh python3 venv and enter it | COMMENT |
| MEDIUM | gguf-py/gguf/metadata.py | 52 | # Create a new Metadata instance | COMMENT |
| MEDIUM | examples/ts-type-to-grammar.sh | 10 | # Create a temporary directory | COMMENT |
| MEDIUM | examples/pydantic_models_to_grammar.py | 186 | # Define the rule identifier based on max_digit and min_digit | COMMENT |
| MEDIUM | examples/pydantic_models_to_grammar.py | 241 | # Define the integer part rule | COMMENT |
| MEDIUM | examples/pydantic_models_to_grammar.py | 248 | # Define the fractional part rule based on precision constraints | COMMENT |
| MEDIUM | examples/pydantic_models_to_grammar.py | 264 | # Define the float rule | COMMENT |
| MEDIUM | examples/pydantic_models_to_grammar.py | 370 | # Defining the union grammar rule separately | COMMENT |
| MEDIUM | examples/pydantic_models_to_grammar.py | 1179 | # Creating the dynamic model | COMMENT |
| MEDIUM | examples/server/chat-llama2.sh | 57 | # Create a temporary file to hold the Python output | COMMENT |
| MEDIUM⚡ | scripts/verify-checksum-models.py | 25 | # Define the path to the llama directory (parent folder of script directory) | COMMENT |
| MEDIUM⚡ | scripts/verify-checksum-models.py | 28 | # Define the file with the list of hashes and filenames | COMMENT |
| MEDIUM⚡ | scripts/verify-checksum-models.py | 40 | # Create an array to store the results | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …sting _deepseek-ai_DeepSeek-V3-0324_ model support..md | 3732 | > Oh nice, a single html sounds cool. I want to re-write my little `dchat.py` app to remove litellm dependency and simpl | CODE |
| MEDIUM | …sting _deepseek-ai_DeepSeek-V3-0324_ model support..md | 3776 | > >I'd like to add [primp](https://github.com/deedy5/primp) directly to it, which I use for my "agentic" stuff like web | CODE |
| MEDIUM | …discussions/15 - Will LQER improve k- and i-quants_.md | 28 | * In `llama.cpp` the mean log probability is evaluated over the second half of the context window `n_ctx`, while in Pyth | COMMENT |
| MEDIUM | …UDA error_ an illegal memory access was encountered.md | 3457 | The bug was in the matrix-vector multiplication kernel. It only shows up when the number of rows being processed (i.e., | CODE |
| MEDIUM | …server/webui_llamacpp/src/lib/stores/agentic.svelte.ts | 395 | // Ensure built-in tools are fetched before checking if agentic is enabled | COMMENT |
| MEDIUM | …es/server/webui_llamacpp/src/lib/stores/chat.svelte.ts | 544 | // If agentic loop is running, inject as a steering message instead of starting a new flow | COMMENT |
| MEDIUM | …es/server/webui_llamacpp/src/lib/stores/chat.svelte.ts | 550 | // If non-agentic streaming is active, queue as a pending message to send after completion | COMMENT |
| MEDIUM | …es/server/webui_llamacpp/src/lib/stores/chat.svelte.ts | 739 | // Update the first assistant message with cumulative agentic timings | COMMENT |
| MEDIUM | …es/server/webui_llamacpp/src/lib/stores/chat.svelte.ts | 901 | // Generate LLM based title for new conversations after agentic flow completes | COMMENT |
| MEDIUM | …erver/webui_llamacpp/src/lib/utils/legacy-migration.ts | 181 | // Has agentic markers - full migration needed | COMMENT |
| MEDIUM | examples/server/webui_llamacpp/src/lib/utils/agentic.ts | 269 | // Walk consecutive trailing tool results. The agentic loop only emits tool | COMMENT |
| MEDIUM | …b/components/app/chat/ChatMessages/ChatMessages.svelte | 179 | // Build display entries, grouping agentic sessions into single entries. | COMMENT |
| MEDIUM | …b/components/app/chat/ChatMessages/ChatMessages.svelte | 180 | // An agentic session = assistant(with tool_calls) → tool → assistant → tool → ... → assistant(final) | COMMENT |
| MEDIUM | …app/chat/ChatMessages/ChatMessageAgenticContent.svelte | 114 | // Group flat sections into agentic turns | COMMENT |
| MEDIUM | examples/gritlm/README.md | 7 | ### Retrieval-Augmented Generation (RAG) use case | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | convert_imatrix_gguf_to_dat.py | 27 | except AttributeError: | CODE |
| HIGH | gguf-py/gguf/vocab.py | 366 | except FileNotFoundError: | CODE |
| HIGH | gguf-py/gguf/vocab.py | 439 | except FileNotFoundError: | CODE |
| HIGH | gguf-py/gguf/metadata.py | 225 | except ValueError: | CODE |
| HIGH | examples/convert_legacy_llama.py | 1230 | except FileNotFoundError: | CODE |
| HIGH | scripts/run-with-preset.py | 143 | except KeyboardInterrupt: | CODE |
| HIGH | scripts/compare-llama-bench.py | 320 | except ValueError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gguf-py/gguf/metadata.py | 176 | # Check if we erroneously matched against './' or '../' etc... | COMMENT |
| LOW | gguf-py/gguf/gguf_reader.py | 74 | # Check if it's unsafe to perform slice optimization on data | COMMENT |
| LOW | gguf-py/gguf/gguf_reader.py | 229 | # Check if it's a simple scalar type. | COMMENT |
| LOW | gguf-py/scripts/gguf_dump.py | 334 | # Check if new Tensor Group | COMMENT |
| LOW | examples/convert_legacy_llama.py | 1178 | # Check if it's a set of safetensors files first | COMMENT |
| LOW | examples/pydantic_models_to_grammar.py | 490 | # Check if the field is optional (not required) | COMMENT |
| LOW | examples/pydantic_models_to_grammar.py | 96 | if not parts: # Check if the list is empty | CODE |
| LOW | examples/mtmd/tests.sh | 16 | # Check if the first argument is "big", then run test with big models | COMMENT |
| LOW⚡ | scripts/verify-checksum-models.py | 31 | # Check if the hash list file exists | COMMENT |
| LOW | scripts/verify-checksum-models.py | 54 | # Check if the file exists | COMMENT |
| LOW | scripts/verify-checksum-models.py | 70 | # Add the results to the array | COMMENT |
| LOW | scripts/verify-checksum-models.py | 82 | # Output the results as a table | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | examples/mtmd/clip.cpp | 6041 | // ├─────┤ │ | COMMENT |
| MEDIUM⚡ | examples/mtmd/clip.cpp | 6043 | // ├─────┤ │ | COMMENT |
| MEDIUM⚡ | examples/mtmd/clip.cpp | 6045 | // └─────┘ │ | COMMENT |
| MEDIUM⚡ | examples/mtmd/clip.cpp | 6046 | // ──────┘ x B | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test-tokenizer-random.py | 347 | if unicodedata.category(chr(cpt)) in ("Cn", "Cs", "Co"): # undefined, surrogates, private | CODE |
| HIGH | scripts/tool_bench.py | 10 | cmake -B build -DLLAMA_CURL=1 && cmake --build build --config Release -j -t llama-server | STRING |
| HIGH | scripts/compare-llama-bench.py | 48 | $ make clean && make llama-bench | CODE |
| HIGH | scripts/compare-llama-bench.py | 51 | $ make clean && make llama-bench | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gguf-py/examples/writer.py | 13 | # Example usage: | COMMENT |
| LOW | tests/test-tokenizer-0.sh | 3 | # Usage: | COMMENT |
| LOW | tests/test-tokenizer-random.py | 4 | # Sample usage: | COMMENT |
| LOW | examples/json_schema_pydantic_example.py | 1 | # Usage: | COMMENT |
| LOW | examples/base-translate.sh | 6 | # Usage: | COMMENT |
| LOW | examples/server/webui_llamacpp/scripts/dev.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/sync-ggml-am.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/build-zen.sh | 6 | # Usage: | COMMENT |
| LOW | scripts/server-llm.sh | 16 | # Usage: | COMMENT |
| LOW | scripts/hf.sh | 5 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …pull_requests/565 - add hunyuan moe support for 561.md | 177 | The mainline PR `https://github.com/ggml-org/llama.cpp/pull/14425` seems still open for now, and yes no rush to merge th | CODE |
| HIGH | github-data/issues/88 - Bug_ Won_t compile on MSVC.md | 15 | As mentioned in #82 this does not compile with MSVC. I was able to get through the issues and make it compile on my mach | CODE |
| HIGH | github-data/issues/345 - build question newbie.md | 376 | I'm not familiar with this space, so had to look up what "rock 5b" is. According to [this](https://bret.dk/radxa-rock-5b | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | convert_hf_to_gguf.py | 774 | def _set_vocab_gpt2(self, dir_model: Path | None = None, vocab_size: int | None = None) -> None: | CODE |
| LOW | convert_hf_to_gguf.py | 2482 | def _set_vocab_gemma4(self, dir_model: Path, vocab_size: int | None = None) -> None: | CODE |
| LOW | convert_hf_to_gguf.py | 2732 | def _set_vocab_tokenizer_json(self, dir_model: Path, vocab_size: int) -> None: | CODE |
| LOW | convert_hf_to_gguf.py | 2881 | def set_gguf_parameters(self) -> None: | CODE |
| LOW | convert_hf_to_gguf.py | 7251 | def set_vocab(self) -> None: | CODE |
| LOW | gguf-py/gguf/gguf_writer.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | gguf-py/gguf/vocab.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | gguf-py/gguf/vocab.py | 129 | def _set_special_token(self, typ: str, tid: Any) -> None: | CODE |
| LOW | gguf-py/gguf/gguf_reader.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | gguf-py/gguf/lazy.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | gguf-py/scripts/gguf_set_metadata.py | 44 | def set_metadata(reader: GGUFReader, args: argparse.Namespace) -> None: | CODE |
| LOW | scripts/tool_bench.py | 75 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gguf-py/gguf/metadata.py | 309 | # (Definitely not part of hugging face formal/informal standard) | COMMENT |
| MEDIUM | gguf-py/gguf/metadata.py | 325 | # (Definitely not part of hugging face formal/informal standard... but with model_ appended to match their s | COMMENT |
| MEDIUM | gguf-py/gguf/lazy.py | 49 | # TODO: make this even more comprehensive | COMMENT |
| MEDIUM | examples/server/webui_llamacpp/package-lock.json | 9611 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/server-llm.sh | 194 | printf " model using llama.cpp for demonstration purposes.\n" | CODE |
| MEDIUM | scripts/server-llm.sh | 204 | printf " - This script is only for demonstration purposes\n" | CODE |
| LOW | .github/ISSUE_TEMPLATE/07-refactor.yml | 9 | Don't forget to [check for existing refactor issue tickets](https://github.com/ikawrakow/ik_llama.cpp/issues?q=i | CODE |
| LOW | .github/ISSUE_TEMPLATE/06-research.yml | 9 | Don't forget to check for any duplicate research issue tickets | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | convert_hf_to_gguf.py | 74 | CODE | |
| LOW | examples/pydantic_models_to_grammar_examples.py | 308 | CODE | |
| LOW | examples/pydantic_models_to_grammar.py | 1027 | CODE | |
| LOW | …egacy-models/minicpmv-convert-image-encoder-to-gguf.py | 82 | CODE | |
| LOW | examples/server/tests/features/steps/steps.py | 1051 | CODE | |
| LOW | examples/server/tests/features/steps/steps.py | 1097 | CODE | |
| LOW | scripts/tool_bench.py | 204 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …pull_requests/287 - Is this better for DeepSeek-R1_.md | 303 | The auto-generated code python: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/pydantic_models_to_grammar.py | 532 | Generate GBNF Grammar from Pydantic Models. This method takes a list of Pydantic models and uses them to gener | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test-function-calls.cpp | 492 | const std::string real_world_api_call = R"(I'll make an API call for you. functions.http_request:0{"method": "POST", "ur | CODE |
| LOW | examples/server/public_mikupad/index.html | 3664 | // { "placeholder":"replacement" } | COMMENT |
| LOW | examples/server/public_mikupad/index.html | 4162 | 'placeholder'="Name for saved prompt" | CODE |
| LOW | examples/server/public_mikupad/index.html | 5572 | // { "placeholder":"replacement" } | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | common/speculative.cpp | 689 | // TODO: implement | COMMENT |
| LOW | examples/server/webui/src/components/ChatMessage.tsx | 62 | // TODO: implement this as remark/rehype plugin in the future | COMMENT |