A super fast Graph Database uses GraphBLAS under the hood for its sparse adjacency matrix graph representation. Our goal is to provide the best Knowledge Graph for LLM (GraphRAG).
This report presents the forensic synthetic code analysis of FalkorDB/FalkorDB, a Rust project with 5,685 GitHub stars. SynthScan v2.0 examined 185,201 lines of code across 414 source files, recording 2108 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 22.6 places this repository in the Moderate 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 2108 distinct pattern matches across 15 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⚡ | gen_prejit.sh | 52 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gen_prejit.sh | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gen_prejit.sh | 58 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gen_prejit.sh | 61 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gen_prejit.sh | 179 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gen_prejit.sh | 181 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gen_prejit.sh | 187 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gen_prejit.sh | 189 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gen_prejit.sh | 199 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gen_prejit.sh | 210 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gen_prejit.sh | 226 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gen_prejit.sh | 228 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gen_prejit.sh | 250 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gen_prejit.sh | 252 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gen_prejit.sh | 287 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gen_prejit.sh | 289 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gen_prejit.sh | 307 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gen_prejit.sh | 310 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | graph/src/threadpool.rs | 15 | //! BlockedClient <──────────── result | COMMENT |
| MEDIUM⚡ | graph/src/lib.rs | 42 | //! ┌─────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/lib.rs | 44 | //! └─────────────┘ | COMMENT |
| MEDIUM⚡ | graph/src/lib.rs | 47 | //! ┌─────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/lib.rs | 49 | //! └─────────────┘ | COMMENT |
| MEDIUM⚡ | graph/src/lib.rs | 52 | //! ┌─────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/lib.rs | 54 | //! └─────────────┘ | COMMENT |
| MEDIUM⚡ | graph/src/graph/cow.rs | 18 | //! ┌──────────────────┐ ┌──────────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/cow.rs | 21 | //! └──────────────────┘ └──────────────────┘ | COMMENT |
| MEDIUM⚡ | graph/src/graph/cow.rs | 24 | //! ┌──────────────────┐ ┌──────────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/cow.rs | 27 | //! └──────────────────┘ └──────────────────┘ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 17 | //! ┌──────────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 19 | //! ├──────────────────────────┬───────────────────────────────────────────┤ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 22 | //! ├──────────────────────────┼───────────────────────────────────────────┤ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 25 | //! ├──────────────────────────┼───────────────────────────────────────────┤ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 28 | //! ├──────────────────────────┼───────────────────────────────────────────┤ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 31 | //! ├──────────────────────────┼───────────────────────────────────────────┤ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 35 | //! ├──────────────────────────┼───────────────────────────────────────────┤ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 38 | //! ├──────────────────────────┼───────────────────────────────────────────┤ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 41 | //! ├──────────────────────────┼───────────────────────────────────────────┤ | COMMENT |
| MEDIUM⚡ | graph/src/graph/graph.rs | 44 | //! └──────────────────────────┴───────────────────────────────────────────┘ | COMMENT |
| MEDIUM | graph/src/graph/graph.rs | 3568 | // ── Constraint management ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 35 | //! ┌────────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 38 | //! └───────────┬────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 42 | //! ┌────────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 45 | //! └───────────┬────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 49 | //! ┌────────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 52 | //! │ ┌─────0─────┬─────1─────┬─────2─────┬─────3─────┐ │ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 55 | //! │ └────┬──────┴────┬──────┴───────────┴────┬──────┘ │ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 59 | //! │ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬───────────────┐ │ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 61 | //! │ └────┴────┴────┴────┴─┬──┴────┴────┴────┴────┴───────────────┘ │ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 67 | //! │ ┌──────────┬──────────┬──────────┐ │ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 69 | //! │ └──────────┴──────────┴──────────┘ (holes recycled) │ | COMMENT |
| MEDIUM⚡ | graph/src/graph/attribute_store.rs | 70 | //! └────────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM | graph/src/graph/attribute_store.rs | 84 | //! root ──────────── path-copied root_len x 8 B | COMMENT |
| MEDIUM⚡ | graph/src/graph/mod.rs | 9 | //! ┌──────────────────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/mod.rs | 13 | //! └────────────┬──────────────┘ | COMMENT |
| MEDIUM⚡ | graph/src/graph/mod.rs | 16 | //! ┌──────────────────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/mod.rs | 19 | //! └──┬──────────┬──────────┬──┘ | COMMENT |
| MEDIUM⚡ | graph/src/graph/mod.rs | 21 | //! ┌────────────┘ │ └────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/mod.rs | 23 | //! ┌───────────────┐ ┌────────────────────┐ ┌─────────────────┐ | COMMENT |
| MEDIUM⚡ | graph/src/graph/mod.rs | 29 | //! └───────────────┘ └────────────────────┘ └─────────────────┘ | COMMENT |
| 538 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | bench/src/falkorbench/queries.py | 249 | Q("algo.WCC", False, "CALL algo.WCC(null) YIELD node, componentId RETURN count(DISTINCT componentId)", cg | CODE |
| HIGH | bench/src/falkorbench/queries.py | 282 | Q("null handling", False, "RETURN null + 1, null = null, 3 IS NULL, coalesce(null, null, 3), toInteger(null)", | CODE |
| HIGH | bench/src/falkorbench/queries.py | 284 | Q("order by mixed types", False, "UNWIND [1, 'a', 2.5, true, null, [1], {a: 1}] AS x RETURN x ORDER BY x"), | CODE |
| HIGH⚡ | bench/src/falkorbench/queries.py | 346 | Q("UDF echo scalars", False, "UNWIND range(0, 99) AS i RETURN count(bench.echo(i) + bench.echo(1.5)), bench.echo( | CODE |
| HIGH⚡ | bench/src/falkorbench/queries.py | 348 | Q("UDF echo list+map", False, "UNWIND range(0, 99) AS i RETURN count(bench.echo([1, 'a', null, 2.5, [i]])[4][0] + | CODE |
| HIGH⚡ | bench/src/falkorbench/queries.py | 354 | Q("equality matrix", False, "UNWIND [[1, 1.0], ['a', 'a'], [[1, 2], [1, 2]], [{a: 1}, {a: 1}], [true, false], [n | CODE |
| HIGH | bench/src/falkorbench/queries.py | 487 | Q("chained cmp null", False, "RETURN 1 < null < 3, null = null, 1 <= null >= 2"), | CODE |
| HIGH | bench/src/falkorbench/queries.py | 489 | Q("list null subscript", False, "RETURN [1, 2, 3][null]"), | CODE |
| HIGH | bench/src/falkorbench/queries.py | 628 | ("merge null prop", "GRAPH.QUERY", "MERGE (n:Person {id: null}) RETURN n"), | CODE |
| HIGH⚡ | tests/test_functions.py | 76 | query = f"RETURN {func}(null)" | CODE |
| HIGH⚡ | tests/test_e2e.py | 641 | res = query("RETURN [null] = [null] AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 644 | res = query("RETURN [1] = [1, null] AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 647 | res = query("RETURN [1, 2] = [null, 'foo'] AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 650 | res = query("RETURN [1, 2] = [null, 2] AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 653 | res = query("RETURN [[1]] = [[1], [null]] AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 656 | res = query("RETURN [[1, 2], [1, 3]] = [[1, 2], [null, 'foo']] AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 659 | res = query("RETURN [[1, 2], ['foo', 'bar']] = [[1, 2], [null, 'bar']] AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1002 | res = query("RETURN string.matchRegEx(null, null) AS name") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1005 | res = query("RETURN string.matchRegEx('foo bar', null) AS name") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1008 | res = query("RETURN string.matchRegEx(null, '.*') AS name") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1609 | res = query("RETURN any(x IN [1, 2, 3] WHERE null) AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1612 | res = query("RETURN none(x IN [1, 2, 3] WHERE null) AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1615 | res = query("RETURN single(x IN [1, 2, 3] WHERE null) AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1619 | res = query("RETURN all(x IN [true, null] WHERE x) AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1622 | res = query("RETURN any(x IN [false, null] WHERE x) AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1625 | res = query("RETURN none(x IN [false, null] WHERE x) AS res") | CODE |
| HIGH⚡ | tests/test_e2e.py | 1628 | res = query("RETURN single(x IN [true, null] WHERE x) AS res") | CODE |
| HIGH | tests/test_e2e.py | 508 | res = query("RETURN [1, 2, 3][1..null] AS r") | CODE |
| HIGH | tests/test_e2e.py | 1086 | res = query("RETURN exp(null) AS name") | CODE |
| HIGH | tests/test_e2e.py | 1109 | res = query("RETURN log(null) AS name") | CODE |
| HIGH | tests/test_e2e.py | 1126 | res = query("RETURN log10(null) AS name") | CODE |
| HIGH | tests/test_e2e.py | 1158 | res = query("RETURN pow(null, 3) AS name") | CODE |
| HIGH | tests/test_e2e.py | 1161 | res = query("RETURN pow(3, null) AS name") | CODE |
| HIGH | tests/test_e2e.py | 1222 | res = query("RETURN sqrt(null) AS result") | CODE |
| HIGH | tests/test_e2e.py | 1517 | q = "UNWIND [1, 2, 3, 4, 5] AS x RETURN percentileDisc(x, null) AS result" | CODE |
| HIGH | tests/flow/test_procedures.py | 283 | query = """CALL db.idx.fulltext.queryNodes('fruit', 'Orange || Apple') YIELD node RETURN node""" | CODE |
| HIGH⚡ | tests/flow/test_function_calls.py | 1521 | # atan2(1,null) | COMMENT |
| HIGH⚡ | tests/flow/test_function_calls.py | 1526 | # atan2(null,2) | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 828 | # all other toBoolean cases (boolean, strings, null, errors) are covered in TCK | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 1298 | # sin(null) | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 1327 | # cos(null) | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 1356 | # tan(null) | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 1385 | # cot(null) | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 1424 | # asin(null) | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 1463 | # acos(null) | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 1492 | # atan(null) | COMMENT |
| HIGH⚡ | tests/flow/test_function_calls.py | 1522 | query = """RETURN atan2(1,null)""" | CODE |
| HIGH⚡ | tests/flow/test_function_calls.py | 1527 | query = """RETURN atan2(null,2)""" | CODE |
| HIGH | tests/flow/test_function_calls.py | 1560 | # degrees(null) | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 1589 | # radians(null) | COMMENT |
| HIGH | tests/flow/test_function_calls.py | 1629 | # haversin(null) | COMMENT |
| HIGH⚡ | tests/flow/test_function_calls.py | 2639 | query = """WITH NULL as string RETURN string.replaceRegEx(null, "bla")""" | CODE |
| HIGH⚡ | tests/flow/test_function_calls.py | 2645 | query = """WITH NULL as string RETURN string.replaceRegEx("bla", null)""" | CODE |
| HIGH⚡ | tests/flow/test_function_calls.py | 2651 | query = """WITH NULL as string RETURN string.replaceRegEx("bla", "bla", null)""" | CODE |
| HIGH | tests/flow/test_function_calls.py | 125 | query = "RETURN EXISTS(null)" | CODE |
| HIGH | tests/flow/test_function_calls.py | 819 | query = """RETURN sqrt(null)""" | CODE |
| HIGH | tests/flow/test_function_calls.py | 872 | query = """RETURN toBooleanOrNull(null)""" | CODE |
| HIGH | tests/flow/test_function_calls.py | 922 | query = """RETURN toFloatOrNull(null)""" | CODE |
| HIGH | tests/flow/test_function_calls.py | 978 | query = """RETURN toIntegerOrNull(null)""" | CODE |
| HIGH | tests/flow/test_function_calls.py | 1045 | query = """RETURN toStringOrNull(null)""" | CODE |
| 83 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 61 | # Drive GraphBLAS at GxB_JIT_ON (full JIT including compile-on-demand) so the | COMMENT |
| LOW | gen_prejit.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | gen_prejit.sh | 21 | # | COMMENT |
| LOW | gen_prejit.sh | 41 | # | COMMENT |
| LOW | gen_prejit.sh | 81 | export CXX="${BREW_LLVM}/bin/clang++" | COMMENT |
| LOW | gen_prejit.sh | 201 | # * FALKORDB_PREJIT_HARVEST=1 tells graphblas.sh to skip vendoring | COMMENT |
| LOW | gen_prejit.sh | 241 | (cd "${REPO_DIR}" && run_with_retry "pytest tck" \ | COMMENT |
| LOW | redisearch.sh | 1 | #!/bin/bash | COMMENT |
| LOW | graphblas.sh | 1 | #!/bin/bash | COMMENT |
| LOW | graphblas.sh | 21 | # in ops not covered by the C-derived PreJIT set (e.g. GrB_transpose | COMMENT |
| LOW | graphblas.sh | 41 | # | COMMENT |
| LOW | graphblas.sh | 81 | # falls through to the runtime JIT for every op. Used by gen_prejit.sh. | COMMENT |
| LOW | graphblas.sh | 121 | -DOpenMP_CXX_LIB_NAMES=omp | COMMENT |
| LOW | graphblas.sh | 141 | # drops the stack-canary epilogue from | COMMENT |
| LOW | graphblas.sh | 181 | # --- vendor PreJIT kernels from build/graphblas/PreJIT/ -------------------- | COMMENT |
| LOW | flow.sh | 41 | # Two execution modes, selected by FALKORDB_TEST_IMAGE: | COMMENT |
| LOW | flow.sh | 61 | MODULE_ARGS=(--module "$TARGET_DIR/$TARGET") | COMMENT |
| LOW | bench/pyproject.toml | 1 | # The benchmark harness is its own uv project rather than part of the repo's | COMMENT |
| LOW | bench/pmc_tool.c | 1 | // PMU counter tool for Apple Silicon using private kperf/kperfdata frameworks. | COMMENT |
| LOW | bench/pmc_tool.c | 21 | // hand before the exec to stay safe. Not exec'ing at all removes that whole | COMMENT |
| LOW | bench/src/falkorbench/metrics.py | 41 | COMMENT | |
| LOW | bench/src/falkorbench/measure.py | 101 | if cal.usable: | COMMENT |
| LOW | bench/src/falkorbench/client.py | 361 | if c_compat and _skip_for_c(cmd): | COMMENT |
| LOW | bench/src/falkorbench/callgrind.py | 81 | TARGET_REL = 0.002 | COMMENT |
| LOW | bench/src/falkorbench/callgrind.py | 281 | # Deterministic counts cannot go down when work is added; if this trips, | COMMENT |
| LOW | bench/src/falkorbench/queries.py | 121 | ["GRAPH.CONSTRAINT", "CREATE", "{graph}", "MANDATORY", "RELATIONSHIP", "SIMILAR", "PROPERTIES", "1", "weight"], | COMMENT |
| LOW | bench/src/falkorbench/queries.py | 221 | Q("hash join", False, "MATCH (a:Person), (b:Person) WHERE a.id = 9999 - b.id RETURN count(*)", cg=True), | COMMENT |
| LOW | bench/src/falkorbench/queries.py | 541 | # Fused consecutive anonymous bidirectional traverses with cross-row | COMMENT |
| LOW | graph/build.rs | 1 | use std::fs; | COMMENT |
| LOW | graph/build.rs | 201 | // `#[distributed_slice]`s (COMMANDS_LIST, configs, info, ...). FalkorDB links | COMMENT |
| LOW | graph/src/locks.rs | 1 | //! The one thing this crate needs from its host's locks. | COMMENT |
| LOW | graph/src/locks.rs | 21 | //! match phase — and **escalates** on its first mutation: release read, take the | COMMENT |
| LOW | graph/src/threadpool.rs | 1 | //! Thread pool for parallel query execution. | COMMENT |
| LOW | graph/src/threadpool.rs | 21 | //! is idle picks up the next job, so a long-running job on one worker does | COMMENT |
| LOW | graph/src/lib.rs | 1 | #![allow(clippy::arc_with_non_send_sync)] | COMMENT |
| LOW | graph/src/lib.rs | 21 | // Inherent to floating-point comparison in filter/index code. | COMMENT |
| LOW | graph/src/lib.rs | 41 | //! ▼ | COMMENT |
| LOW | graph/src/lib.rs | 61 | //! - [`graph`]: Graph data structures (sparse matrices, vectors, MVCC) | COMMENT |
| LOW | graph/src/identifier_limits.rs | 1 | //! Upper bound on the length of every name the engine accepts. | COMMENT |
| LOW | graph/src/entity_type.rs | 1 | //! Entity type discriminator for graph elements. | COMMENT |
| LOW | graph/src/planner/tree.rs | 1 | //! Tree construction macro for execution plans. | COMMENT |
| LOW | graph/src/planner/mod.rs | 1 | //! Query plan generation from bound AST. | COMMENT |
| LOW | graph/src/planner/mod.rs | 61 | /// | COMMENT |
| LOW | graph/src/planner/mod.rs | 181 | /// `emit_relationship`: when false, anonymous edge optimization applies — | COMMENT |
| LOW | graph/src/planner/mod.rs | 201 | /// variables (edge + destination) bound to NULL. | COMMENT |
| LOW | graph/src/planner/mod.rs | 221 | /// lowered to `false` by the `reduce_var_len_path` optimizer pass. | COMMENT |
| LOW | graph/src/planner/mod.rs | 721 | pub struct Planner { | COMMENT |
| LOW | graph/src/planner/mod.rs | 741 | /// Variable the comprehension's collected list is bound to. | COMMENT |
| LOW | graph/src/planner/mod.rs | 761 | #[derive(Clone, Copy, PartialEq, Eq)] | COMMENT |
| LOW | graph/src/planner/mod.rs | 821 | scope_id, | COMMENT |
| LOW | graph/src/planner/mod.rs | 921 | /// | COMMENT |
| LOW | graph/src/planner/mod.rs | 1441 | plan | COMMENT |
| LOW | graph/src/planner/mod.rs | 2681 | // Ensure every Apply node has exactly 2 children. The innermost Apply | COMMENT |
| LOW | graph/src/planner/binder.rs | 1 | //! Semantic analysis and name resolution for Cypher queries. | COMMENT |
| LOW | graph/src/planner/binder.rs | 41 | /// The binder performs semantic analysis on parsed Cypher queries. | COMMENT |
| LOW | graph/src/planner/binder.rs | 1261 | /// relationships). For each entity it: | COMMENT |
| LOW | graph/src/planner/binder.rs | 1541 | // If this node is ONLY an endpoint (not a bare pattern), skip validation | COMMENT |
| LOW | graph/src/planner/optimizer/fuse_optional_traverse.rs | 1 | //! Fuses `Optional` wrappers whose sub-plan is a single-hop `CondTraverse` | COMMENT |
| LOW | graph/src/planner/optimizer/fuse_optional_traverse.rs | 21 | //! | COMMENT |
| LOW | graph/src/planner/optimizer/reduce_count.rs | 1 | //! Count reduction optimization pass. | COMMENT |
| 556 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bench/tests/test_coverage.py | 23 | def test_only_the_requested_prefix_is_counted(self): | STRING |
| LOW | bench/tests/test_coverage.py | 31 | def test_totals_come_from_the_lines_columns_not_regions(self): | STRING |
| LOW⚡ | bench/tests/test_coverage.py | 43 | def test_total_row_is_excluded(self): | CODE |
| LOW⚡ | bench/tests/test_coverage.py | 48 | def test_wrapped_path_rows_are_skipped(self): | CODE |
| LOW⚡ | bench/tests/test_coverage.py | 55 | def test_non_numeric_columns_do_not_raise(self): | CODE |
| LOW⚡ | bench/tests/test_coverage.py | 58 | def test_empty_report_is_zero_not_a_crash(self): | CODE |
| LOW⚡ | bench/tests/test_coverage.py | 66 | def test_small_files_are_excluded_and_order_is_worst_first(self): | CODE |
| LOW | bench/tests/test_coverage.py | 81 | def test_instrumentation_is_always_requested(self): | CODE |
| LOW | bench/tests/test_coverage.py | 85 | def test_linux_adds_the_duplicate_symbol_workaround_and_a_cxx(self): | CODE |
| LOW | bench/tests/test_coverage.py | 100 | def test_the_toolchain_copy_wins_over_a_system_one(self, tmp_path, monkeypatch): | CODE |
| LOW | bench/tests/test_coverage.py | 123 | def test_path_is_used_when_the_toolchain_has_none(self, tmp_path, monkeypatch): | CODE |
| LOW | bench/tests/test_coverage.py | 135 | def test_missing_everywhere_names_the_remedy(self, tmp_path, monkeypatch): | CODE |
| LOW | bench/tests/test_jemalloc_stats.py | 44 | def test_separated_row_reads_its_counters(): | CODE |
| LOW | bench/tests/test_jemalloc_stats.py | 53 | def test_fused_rate_column_does_not_corrupt_nmalloc(): | CODE |
| LOW | bench/tests/test_jemalloc_stats.py | 69 | def test_ndalloc_never_exceeds_nmalloc_on_a_fused_row(): | CODE |
| LOW | bench/tests/test_jemalloc_stats.py | 80 | def test_large_table_has_its_own_column_layout(): | CODE |
| LOW | bench/tests/test_jemalloc_stats.py | 91 | def test_non_data_lines_are_rejected(): | CODE |
| LOW | bench/tests/test_jemalloc_stats.py | 102 | def test_missing_counter_column_yields_no_row(): | CODE |
| LOW | bench/tests/test_metrics.py | 19 | def test_empty_cell_is_none_not_zero(self, tmp_path): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 31 | def test_zero_is_preserved_as_a_measurement(self, tmp_path): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 35 | def test_garbage_is_none_rather_than_an_exception(self, tmp_path): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 40 | def test_rows_without_a_query_name_are_dropped(self, tmp_path): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 51 | def test_a_failed_shard_costs_only_its_own_rows(self, tmp_path): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 56 | def test_missing_pattern_is_empty_not_an_error(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 65 | def test_non_positive_baseline_is_uncomparable(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 72 | def test_absent_either_side_is_uncomparable(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 76 | def test_missing_key_is_uncomparable(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 81 | def test_false_when_every_row_lacks_the_metric(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 87 | def test_true_when_any_row_has_it(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 92 | def test_is_geometric_not_arithmetic(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 99 | def test_non_positive_values_are_excluded(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 104 | def test_offset_comes_from_the_control_row(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 111 | def test_none_without_a_control_row_on_either_side(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 117 | def test_none_when_the_control_row_has_no_timing(self): | CODE |
| LOW⚡ | bench/tests/test_metrics.py | 122 | def test_none_on_a_non_positive_control(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 26 | def test_missing_pr_side_is_fatal(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 33 | def test_missing_base_side_is_fatal(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 37 | def test_missing_c_side_costs_only_its_column(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 49 | def test_ranks_on_instructions_when_available(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 55 | def test_falls_back_to_allocated_bytes_never_wall_clock(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 63 | def test_rows_below_the_alloc_floor_are_measured_but_not_ranked(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 71 | def test_no_movers_says_so_explicitly(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 127 | def test_movers_table_lists_only_what_moved(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 133 | def test_missing_callgrind_output_is_fatal(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 139 | def test_c_column_absent_says_why(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 146 | def test_single_c_pass_is_n_a_not_a_number(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 212 | def test_missing_files_are_silently_skipped(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 220 | def test_marker_is_always_last(self): | CODE |
| LOW⚡ | bench/tests/test_report.py | 226 | def test_each_required_measure_side_is_individually_fatal(side): | CODE |
| LOW | bench/tests/test_report.py | 86 | def test_control_row_normalisation_cancels_the_host_offset(self): | CODE |
| LOW | bench/tests/test_report.py | 100 | def test_a_genuine_outlier_survives_normalisation(self): | CODE |
| LOW | bench/tests/test_report.py | 111 | def test_no_wall_clock_section_without_a_control_row(self): | CODE |
| LOW | bench/tests/test_report.py | 158 | def test_c_error_replies_are_suppressed(self): | CODE |
| LOW | bench/tests/test_report.py | 171 | def test_disagreeing_c_passes_show_a_range(self): | CODE |
| LOW | bench/tests/test_report.py | 181 | def test_agreeing_c_passes_show_a_midpoint(self): | CODE |
| LOW | bench/tests/test_report.py | 193 | def test_provenance_table_and_metadata_key_handling(self, tmp_path): | CODE |
| LOW⚡ | bench/tests/test_queries.py | 19 | def test_command_follows_the_write_flag(self): | CODE |
| LOW⚡ | bench/tests/test_queries.py | 23 | def test_every_query_has_text(self): | CODE |
| LOW⚡ | bench/tests/test_queries.py | 27 | def test_sized_write_queries_stay_last(self): | CODE |
| LOW⚡ | bench/tests/test_queries.py | 41 | def test_reps_are_positive_when_set(self): | CODE |
| 249 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bench/src/falkorbench/counters.py | 22 | CODE | |
| LOW | bench/src/falkorbench/metrics.py | 15 | CODE | |
| LOW | bench/src/falkorbench/measure.py | 12 | CODE | |
| LOW | bench/src/falkorbench/client.py | 15 | CODE | |
| LOW | bench/src/falkorbench/profile.py | 20 | CODE | |
| LOW | bench/src/falkorbench/flow.py | 14 | CODE | |
| LOW | bench/src/falkorbench/coverage.py | 17 | CODE | |
| LOW | bench/src/falkorbench/callgrind.py | 60 | CODE | |
| LOW | bench/src/falkorbench/cli.py | 8 | CODE | |
| LOW | bench/src/falkorbench/compare.py | 20 | CODE | |
| LOW | bench/src/falkorbench/report.py | 17 | CODE | |
| LOW | tests/test_concurrency.py | 3 | CODE | |
| LOW | tests/test_mvcc.py | 2 | CODE | |
| LOW | tests/test_e2e.py | 5 | CODE | |
| LOW | tests/test_e2e.py | 8 | CODE | |
| LOW | tests/tck/falkor_utils/assertions.py | 4 | CODE | |
| LOW | tests/tck/features/steps/Steps.py | 3 | CODE | |
| LOW | tests/flow/test_parser.py | 1 | CODE | |
| LOW | tests/flow/test_multi_pattern.py | 1 | CODE | |
| LOW | tests/flow/test_graph_versioning.py | 1 | CODE | |
| LOW | tests/flow/test_point.py | 1 | CODE | |
| LOW | tests/flow/test_point.py | 2 | CODE | |
| LOW | tests/flow/test_maxflow.py | 1 | CODE | |
| LOW | tests/flow/test_slowlog.py | 2 | CODE | |
| LOW | tests/flow/test_multi_label.py | 1 | CODE | |
| LOW | tests/flow/test_multi_label.py | 2 | CODE | |
| LOW | tests/flow/test_procedures.py | 1 | CODE | |
| LOW | tests/flow/test_vecsim.py | 1 | CODE | |
| LOW | tests/flow/test_vecsim.py | 2 | CODE | |
| LOW | tests/flow/test_traversal_construction.py | 1 | CODE | |
| LOW | tests/flow/test_traversal_construction.py | 2 | CODE | |
| LOW | tests/flow/test_udf_cluster.py | 1 | CODE | |
| LOW | tests/flow/test_function_calls.py | 2 | CODE | |
| LOW | tests/flow/test_expiry.py | 1 | CODE | |
| LOW | tests/flow/test_list.py | 1 | CODE | |
| LOW | tests/flow/test_attr_id_space.py | 3 | CODE | |
| LOW | tests/flow/test_query_mem_limit.py | 1 | CODE | |
| LOW | tests/flow/test_results.py | 1 | CODE | |
| LOW | tests/flow/test_multiple_edges.py | 1 | CODE | |
| LOW | tests/flow/test_effects.py | 4 | CODE | |
| LOW | tests/flow/test_effects.py | 5 | CODE | |
| LOW | tests/flow/test_graph_create.py | 1 | CODE | |
| LOW | tests/flow/test_maintain_record_order.py | 1 | CODE | |
| LOW | tests/flow/test_all_shortest_paths.py | 1 | CODE | |
| LOW | tests/flow/test_index_scans.py | 1 | CODE | |
| LOW | tests/flow/test_index_scans.py | 2 | CODE | |
| LOW | tests/flow/test_comprehension_functions.py | 1 | CODE | |
| LOW | tests/flow/test_index_updates.py | 3 | CODE | |
| LOW | tests/flow/test_index_updates.py | 4 | CODE | |
| LOW | tests/flow/constraint_utils.py | 2 | CODE | |
| LOW | tests/flow/test_entity_update.py | 1 | CODE | |
| LOW | tests/flow/test_entity_update.py | 2 | CODE | |
| LOW | tests/flow/test_execution_plan_print.py | 1 | CODE | |
| LOW | tests/flow/test_timeout.py | 2 | CODE | |
| LOW | tests/flow/test_timeout.py | 3 | CODE | |
| LOW | tests/flow/test_optional_match.py | 1 | CODE | |
| LOW | tests/flow/test_optional_match.py | 3 | CODE | |
| LOW | tests/flow/test_self_pointing_node.py | 1 | CODE | |
| LOW | tests/flow/test_varlength_traversal.py | 18 | CODE | |
| LOW | tests/flow/test_identifier_limits.py | 3 | CODE | |
| 125 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_e2e.py | 756 | # Define the possible values | COMMENT |
| MEDIUM | tests/flow/test_maxflow.py | 1320 | # Create a PIPE edge (registers the rel-type in the schema) between | COMMENT |
| MEDIUM | tests/flow/test_traversal_construction.py | 12 | # Create the graph | COMMENT |
| MEDIUM | tests/flow/test_index_scans.py | 209 | # Create a single node with a long string property, introduce a comma as part of the string. | COMMENT |
| MEDIUM | tests/flow/test_comprehension_functions.py | 452 | # Create a single relationship | COMMENT |
| MEDIUM | tests/flow/test_index_updates.py | 149 | # Create a new node with a single indexed property | COMMENT |
| MEDIUM | tests/flow/test_wcc.py | 70 | # Create an unlabeled graph with multiple connected components | COMMENT |
| MEDIUM | tests/flow/test_wcc.py | 116 | # Create an unlabeled graph with two relationship types | COMMENT |
| MEDIUM | tests/flow/test_wcc.py | 214 | # Create a graph with multiple labeled and unlabeled nodes | COMMENT |
| MEDIUM | tests/flow/test_wcc.py | 274 | # Create a complex graph with: | COMMENT |
| MEDIUM⚡ | tests/flow/test_wcc.py | 360 | # Create a random graph | COMMENT |
| MEDIUM | tests/flow/test_rdb_load.py | 34 | # Create a graph with 30 nodes so virtual keys are generated | COMMENT |
| MEDIUM | tests/flow/test_cdlp.py | 89 | # Create a simple graph with three completely separate communities | COMMENT |
| MEDIUM | tests/flow/test_cdlp.py | 181 | # Create a graph with separate communities for each node label | COMMENT |
| MEDIUM | tests/flow/test_cdlp.py | 326 | # Create a graph with communities connected by different relationship types | COMMENT |
| MEDIUM | tests/flow/test_aggregation.py | 184 | # Create a few nodes | COMMENT |
| MEDIUM | tests/flow/test_encode_decode.py | 173 | # Create a multi-key graph. | COMMENT |
| MEDIUM | tests/flow/test_encode_decode.py | 178 | # Create a single-key graph. | COMMENT |
| MEDIUM | tests/flow/test_persistency.py | 631 | # Create a graph under a non-UTF-8 key name (raw command; the client's | COMMENT |
| MEDIUM | tests/flow/test_ro_query.py | 43 | # Create the graph | COMMENT |
| MEDIUM⚡ | tests/flow/test_udf.py | 621 | # Define a helper function to check for query failure (expected behavior for miss-use) | STRING |
| MEDIUM | tests/flow/test_null_handling.py | 12 | # Create a single node. | COMMENT |
| MEDIUM | tests/flow/test_graph_merge.py | 12 | # Create a single node without any labels or properties. | COMMENT |
| MEDIUM | tests/flow/test_graph_merge.py | 28 | # Create a single node with two properties and no labels. | COMMENT |
| MEDIUM | tests/flow/test_graph_merge.py | 44 | # Create a single node with both label and property. | COMMENT |
| MEDIUM | tests/flow/test_graph_merge.py | 60 | # Create a single edge and additional two nodes. | COMMENT |
| MEDIUM | tests/flow/test_graph_merge.py | 106 | # Create a single edge and additional two nodes. | COMMENT |
| MEDIUM | tests/flow/test_graph_merge.py | 231 | # Create a new pattern | COMMENT |
| MEDIUM | tests/flow/test_graph_merge.py | 325 | # Create a new pattern with non-unique entities. | COMMENT |
| MEDIUM | tests/flow/test_query_validation.py | 14 | # Create a single graph. | COMMENT |
| MEDIUM⚡ | tests/flow/test_pagerank.py | 43 | # Create a simple directed graph using a Cypher query | COMMENT |
| MEDIUM | tests/flow/test_pagerank.py | 79 | # Create a dictionary of node labels to scores | STRING |
| MEDIUM | tests/flow/test_pagerank.py | 110 | # Create a graph with both regular and special nodes | COMMENT |
| MEDIUM | tests/flow/test_relation_patterns.py | 257 | # Create a new graph of the form: | COMMENT |
| MEDIUM | tests/flow/test_msf.py | 122 | # Create an unlabeled graph with multiple connected components | COMMENT |
| MEDIUM | tests/flow/test_msf.py | 166 | # Create an unlabeled graph with multiple connected components | COMMENT |
| MEDIUM | tests/flow/test_msf.py | 211 | # Create an unlabeled graph with multiple connected components | COMMENT |
| MEDIUM | tests/flow/test_msf.py | 253 | # Create an unlabeled graph with multiple connected components | COMMENT |
| MEDIUM | tests/flow/test_msf.py | 284 | # Create an unlabeled graph with multiple connected components | COMMENT |
| MEDIUM | tests/flow/test_msf.py | 315 | # Create an unlabeled graph with two relationship types | COMMENT |
| MEDIUM | tests/flow/test_bulk_insertion.py | 524 | # Create the social graph with multi-labeled nodes | COMMENT |
| MEDIUM | tests/flow/test_bound_variables.py | 53 | # Create a full-text index. | COMMENT |
| MEDIUM | tests/flow/test_commands_registration.py | 5 | # Define the Lua script | COMMENT |
| MEDIUM | tests/flow/test_edge_index_updates.py | 186 | # Create a new edge with a single indexed property | COMMENT |
| MEDIUM | tests/flow/test_betweenness.py | 89 | # Create a small graph where we can reason about the betweenness centrality | COMMENT |
| MEDIUM | tests/flow/test_betweenness.py | 100 | # Create the entire graph with a single Cypher query | COMMENT |
| MEDIUM | tests/flow/test_betweenness.py | 149 | # Create a graph with multiple node labels | COMMENT |
| MEDIUM | tests/flow/test_betweenness.py | 211 | # Create a graph with multiple relationship types | COMMENT |
| MEDIUM | tests/flow/test_betweenness.py | 278 | # Create a complex graph with multiple node labels and relationship types | COMMENT |
| MEDIUM | tests/flow/test_path_filter.py | 210 | # Create a graph of the form: | COMMENT |
| MEDIUM | .github/workflows/release-tag.yml | 112 | # Create the Release up front: release-artifacts.yml uploads assets to it, and | COMMENT |
| MEDIUM | .github/workflows/agentics-maintenance.yml | 24 | # This file defines the generated agentic maintenance workflow for this repository. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bench/src/falkorbench/measure.py | 243 | except Exception as e: # any other failure is still a failure | CODE |
| LOW | tests/test_concurrency.py | 124 | except Exception: | CODE |
| LOW | tests/test_concurrency.py | 148 | except Exception as e: # noqa: BLE001 - narrow check below | CODE |
| LOW | tests/test_concurrency.py | 178 | except Exception: | CODE |
| LOW | tests/common.py | 43 | except Exception as e: | CODE |
| LOW | tests/common.py | 62 | except Exception: | CODE |
| LOW⚡ | tests/test_functions.py | 73 | except Exception as e: | CODE |
| LOW⚡ | tests/test_functions.py | 80 | except Exception as e: | CODE |
| LOW | tests/test_functions.py | 99 | except Exception as e: | CODE |
| LOW | tests/test_functions.py | 111 | except Exception as e: | CODE |
| LOW | tests/test_functions.py | 119 | except Exception as e: | CODE |
| LOW | tests/tck/features/steps/Steps.py | 66 | except Exception as error: | CODE |
| LOW⚡ | tests/flow/test_point.py | 45 | except Exception as e: | CODE |
| LOW⚡ | tests/flow/test_point.py | 54 | except Exception as e: | CODE |
| LOW⚡ | tests/flow/test_point.py | 63 | except Exception as e: | CODE |
| LOW⚡ | tests/flow/test_point.py | 72 | except Exception as e: | CODE |
| MEDIUM | tests/flow/test_point.py | 39 | def test_point_values(self): | CODE |
| LOW | tests/flow/test_maxflow.py | 143 | except Exception: | CODE |
| LOW | tests/flow/test_maxflow.py | 167 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 198 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 222 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 874 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 904 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 931 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 958 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 998 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 1164 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 1188 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 1212 | except Exception as e: | STRING |
| LOW | tests/flow/test_maxflow.py | 1240 | except Exception as e: | STRING |
| LOW | tests/flow/test_vecsim.py | 86 | except Exception as e: | CODE |
| LOW | tests/flow/test_vecsim.py | 96 | except Exception as e: | CODE |
| LOW | tests/flow/test_vecsim.py | 194 | except Exception as e: | CODE |
| LOW | tests/flow/test_vecsim.py | 202 | except Exception as e: | CODE |
| LOW | tests/flow/test_vecsim.py | 215 | except Exception as e: | CODE |
| LOW | tests/flow/test_vecsim.py | 222 | except Exception as e: | CODE |
| LOW | tests/flow/test_udf_cluster.py | 69 | except Exception: | STRING |
| LOW | tests/flow/test_effects.py | 1106 | except Exception: | CODE |
| LOW | tests/flow/test_load_csv.py | 179 | except Exception as e: | CODE |
| LOW | tests/flow/test_load_csv.py | 187 | except Exception as e: | CODE |
| LOW | tests/flow/test_load_csv.py | 199 | except Exception as e: | CODE |
| LOW | tests/flow/test_load_csv.py | 211 | except Exception as e: | CODE |
| LOW | tests/flow/test_load_csv.py | 243 | except Exception: | CODE |
| LOW | tests/flow/test_load_csv.py | 403 | except Exception as e: | CODE |
| LOW | tests/flow/test_load_csv.py | 447 | except Exception: | CODE |
| LOW⚡ | tests/flow/test_access_del_entity.py | 173 | except Exception as e: | CODE |
| LOW⚡ | tests/flow/test_access_del_entity.py | 186 | except Exception as e: | CODE |
| LOW⚡ | tests/flow/test_graph_copy.py | 64 | except Exception: | CODE |
| LOW⚡ | tests/flow/test_graph_copy.py | 70 | except Exception: | CODE |
| LOW⚡ | tests/flow/test_graph_copy.py | 77 | except Exception: | CODE |
| LOW⚡ | tests/flow/test_graph_copy.py | 86 | except Exception: | CODE |
| MEDIUM | tests/flow/test_defrag.py | 566 | def loader(): | CODE |
| LOW⚡ | tests/flow/test_defrag.py | 296 | except Exception: | CODE |
| LOW⚡ | tests/flow/test_defrag.py | 471 | except Exception: # noqa: BLE001 | CODE |
| LOW | tests/flow/test_defrag.py | 239 | except Exception as e: | CODE |
| LOW | tests/flow/test_defrag.py | 248 | except Exception as e: | CODE |
| LOW | tests/flow/test_defrag.py | 428 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | tests/flow/test_defrag.py | 455 | except Exception: # noqa: BLE001 | CODE |
| LOW | tests/flow/test_defrag.py | 496 | except Exception: # noqa: BLE001 | CODE |
| LOW | tests/flow/test_defrag.py | 575 | except Exception as e: # noqa: BLE001 | CODE |
| 56 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | bench/pyproject.toml | 1 | # The benchmark harness is its own uv project rather than part of the repo's | COMMENT |
| MEDIUM | bench/pyproject.toml | 63 | # The harness prints aligned tables; f-strings in the print calls are the | COMMENT |
| MEDIUM | bench/src/falkorbench/metrics.py | 44 | # Wall-clock is never the gate — the harness says so everywhere else, and then | COMMENT |
| MEDIUM | bench/src/falkorbench/measure.py | 117 | # harness: `RETURN 1` came out at 0.3476 ms on the first run and 0.0636 ms on | COMMENT |
| MEDIUM | bench/src/falkorbench/client.py | 378 | # error replies to stderr and the pre-refactor harness inspected only | COMMENT |
| MEDIUM | bench/src/falkorbench/cli.py | 86 | # not build the graph", or the harness measures an empty database and reports | COMMENT |
| MEDIUM | bench/src/falkorbench/cli.py | 204 | # that changes what gets measured is the failure mode this harness exists | COMMENT |
| MEDIUM | bench/src/falkorbench/queries.py | 82 | # replaced with the graph key by the harness. | COMMENT |
| MEDIUM | bench/src/falkorbench/queries.py | 137 | # stderr and the old harness inspected only stdout, making its | COMMENT |
| MEDIUM | bench/src/falkorbench/queries.py | 147 | # CSV files the harness writes into IMPORT_DIR before starting the server | COMMENT |
| MEDIUM | bench/src/falkorbench/queries.py | 600 | # Each row is (name, redis command, query); the harness passes iff the reply | COMMENT |
| MEDIUM | bench/src/falkorbench/report.py | 351 | # the harness lockfile, so it identifies the exact toolchain behind the | COMMENT |
| MEDIUM⚡ | tests/flow/test_index_scans.py | 341 | # Querying indexed properties using IN a constant array should utilize indexes. | COMMENT |
| MEDIUM⚡ | tests/flow/test_index_scans.py | 351 | # Querying indexed properties using IN a generated array should utilize indexes. | COMMENT |
| MEDIUM⚡ | tests/flow/test_index_scans.py | 361 | # Querying indexed properties using IN a non-constant array should not utilize indexes. | COMMENT |
| MEDIUM⚡ | tests/flow/test_index_scans.py | 911 | # other types e.g. points within arrays won't utilize the index | COMMENT |
| MEDIUM | tests/flow/test_index_scans.py | 528 | # utilize, producing every entity which was indexed with a none indexable value | COMMENT |
| MEDIUM | tests/flow/test_index_scans.py | 705 | # issue query which has to potential to utilize an index | COMMENT |
| MEDIUM | tests/flow/test_index_scans.py | 728 | # issue query which not utilize an index | COMMENT |
| MEDIUM | tests/flow/test_udf.py | 1217 | # restart server (test harness utility) | STRING |
| MEDIUM | tests/flow/test_call_subquery.py | 1366 | # assert that we indeed utilize the index to find the node | STRING |
| MEDIUM | tests/flow/test_index_delete.py | 247 | # utilize the index for a scan, followed by a deletion of the indexed | COMMENT |
| MEDIUM | .github/dependabot.yml | 49 | # The benchmark harness is a separate uv project (bench/pyproject.toml + | COMMENT |
| MEDIUM | .github/workflows/benchmark-cov.yml | 3 | # Runs `bench/` — the per-query harness (317 queries) — for this PR, its base and | COMMENT |
| MEDIUM | .github/workflows/benchmark-cov.yml | 519 | # the harness to expand over the shards, not the shell. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/flow/test_traversal_construction.py | 238 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 240 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 241 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 242 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 243 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 244 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 246 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 247 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 248 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 249 | CODE | |
| MEDIUM | tests/flow/test_traversal_construction.py | 250 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 581 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 588 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 589 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 591 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 592 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 595 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 596 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 598 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 599 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 602 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 603 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 604 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 607 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 615 | CODE | |
| MEDIUM | tests/flow/test_persistency.py | 618 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bench/src/falkorbench/metrics.py | 106 | CODE | |
| LOW | bench/src/falkorbench/measure.py | 211 | CODE | |
| LOW | bench/src/falkorbench/client.py | 200 | CODE | |
| LOW | bench/src/falkorbench/callgrind.py | 132 | CODE | |
| LOW | bench/src/falkorbench/compare.py | 54 | CODE | |
| LOW | tests/test_functions.py | 45 | CODE | |
| LOW | tests/test_functions.py | 67 | CODE | |
| LOW | tests/record.py | 79 | CODE | |
| LOW | tests/record.py | 112 | CODE | |
| LOW | tests/test_e2e.py | 46 | CODE | |
| LOW | tests/test_e2e.py | 245 | CODE | |
| LOW | tests/test_e2e.py | 954 | CODE | |
| LOW | tests/tck/falkor_utils/assertions.py | 74 | CODE | |
| LOW | tests/tck/falkor_utils/assertions.py | 128 | CODE | |
| LOW | tests/flow/test_stress.py | 118 | CODE | |
| LOW | tests/flow/test_stress.py | 141 | CODE | |
| LOW | tests/flow/test_effects.py | 29 | CODE | |
| LOW | tests/flow/test_defrag.py | 166 | CODE | |
| LOW | tests/flow/test_defrag.py | 335 | CODE | |
| LOW | tests/flow/test_defrag.py | 219 | CODE | |
| LOW | tests/flow/test_defrag.py | 407 | CODE | |
| LOW | tests/flow/graph_utils.py | 10 | CODE | |
| LOW | tests/flow/test_persistency.py | 109 | CODE | |
| LOW | tests/flow/test_matrix_split.py | 78 | CODE | |
| LOW | tests/flow/common.py | 382 | CODE | |
| LOW | tests/flow/test_path_algorithms.py | 895 | CODE | |
| LOW | tests/flow/test_filters.py | 43 | CODE | |
| LOW | tests/flow/test_constraint.py | 1024 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/flow/common.py | 56 | # ──── Private container orchestration (CI path) ───────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/agentics-maintenance.yml | 24 | # This file defines the generated agentic maintenance workflow for this repository. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/tck/falkor_utils/assertions.py | 22 | CODE | |
| LOW | tests/tck/falkor_utils/assertions.py | 37 | CODE | |
| LOW | tests/flow/constraint_utils.py | 118 | CODE | |
| LOW | tests/flow/test_pending_queries_limit.py | 54 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/flow/test_graph_copy.py | 341 | dummy_id = "dummy" | CODE |
| LOW | tests/flow/test_graph_copy.py | 345 | dummy_graph = self.db.select_graph(dummy_id) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | graph/src/runtime/ops/limit.rs | 47 | // TODO: implement size_hint for all operators | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/flow/test_udf.py | 565 | # make sure to include the 'KNOWS' relationship type | COMMENT |