The fastest and the most accurate file search SDK for AI agents, Neovim, Rust, C, Python, Bun and NodeJS
This report summarizes scanner evidence for dmtrKovalenko/fff, a Rust project with 11,068 GitHub stars. SynthScan examined 96,804 lines of code across 313 source files, recording 227 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 4.6 (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.
Can maintainers explain intent, assumptions, and trade-offs? 113 finding(s).
Are imports declared and package/API names verified? 46 finding(s).
Are wrappers, guards, and repeated structures necessary? 99 finding(s).
Which changes need focused human review? 227 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 227 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/fff-core/tests/grep_integration.rs | 912 | // ── Regex mode tests ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/grep_integration.rs | 1133 | // ── Mode comparison tests ────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/grep_integration.rs | 1176 | // ── Constraint integration tests ─────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/grep_integration.rs | 1207 | // ── Bracket / glob character tests ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/grep_integration.rs | 1231 | // ── Backslash escape tests ───────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/grep_integration.rs | 1316 | // ── Negated constraint tests ─────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/grep_integration.rs | 1411 | // ── Edge case tests ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/grep_integration.rs | 1548 | // ── Fuzzy mode tests ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/fff-core/tests/new_directory_watcher_test.rs | 32 | // ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | crates/fff-core/tests/new_directory_watcher_test.rs | 34 | // ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/new_directory_watcher_test.rs | 179 | // ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/new_directory_watcher_test.rs | 181 | // ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/bigram_overlay_integration.rs | 365 | // ── Helpers ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_file_operations.rs | 610 | // ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_file_operations.rs | 612 | // ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 857 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 859 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1384 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1386 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1443 | // ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1445 | // ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1498 | // ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1500 | // ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1526 | // ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1528 | // ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1549 | // ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1551 | // ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_real_repos.rs | 245 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-core/tests/fuzz_real_repos.rs | 247 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/fff-nvim/src/bin/bench_grep_query.rs | 114 | // ── 1. Scan files ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-nvim/src/bin/bench_grep_query.rs | 134 | // ── 2. Grep ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-nvim/src/bin/grep_profiler.rs | 271 | // ── Fuzzy grep benchmarks ───────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-nvim/src/bin/grep_profiler.rs | 303 | // ── Fuzzy incremental typing ──────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 13 | // ── FffResult ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 65 | // ── FffFileItem ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 180 | // ── FffGrepMatch ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 477 | // ── FffScore ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 611 | // ── FffSearchResult ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 649 | // ── FffGrepResult ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 739 | // ── Tests ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 747 | // ── helpers ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 848 | // ── null-guard tests: every function returns its zero-value on NULL ─────── | COMMENT |
| MEDIUM | crates/fff-c/src/accessors.rs | 930 | // ── data correctness tests ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/test_lazy_async_bug.sh | 34 | # ── Temp runners (cleaned up on exit) ──────────────────────────────────────── | COMMENT |
| MEDIUM | tests/test_lazy_async_bug.sh | 62 | # ── Part 1: old async (broken) ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/test_lazy_async_bug.sh | 74 | # ── Part 2: fixed blocking ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/test_lazy_async_bug.sh | 82 | # ── Summary ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/benchmark-claude.sh | 43 | # ─── PREFLIGHT CHECK ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/benchmark-claude.sh | 75 | # ─── 10 SEARCH CONCEPTS ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/benchmark-claude.sh | 129 | # ─── HELPER FUNCTIONS ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/benchmark-claude.sh | 457 | # ─── MAIN ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/benchmark-claude.sh | 512 | # ─── FINAL ANALYSIS ────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | packages/pi-fff/test/extension.test.ts | 277 | const toolNames = setup.pi.registerTool.mock.calls.map(([tool]) => tool.name); | CODE |
| CRITICAL | packages/pi-fff/test/extension.test.ts | 317 | const toolNames = setup.pi.registerTool.mock.calls.map(([tool]) => tool.name); | CODE |
| CRITICAL | packages/pi-fff/test/extension.test.ts | 349 | const toolNames = setup.pi.registerTool.mock.calls.map(([tool]) => tool.name); | CODE |
| CRITICAL | packages/pi-fff/test/extension.test.ts | 374 | expect(setup.pi.registerTool.mock.calls.map(([tool]) => tool.name)).toEqual([ | CODE |
| CRITICAL | packages/pi-fff/test/extension.test.ts | 381 | const tools = setup.pi.registerTool.mock.calls.map(([tool]) => tool); | CODE |
| CRITICAL | packages/pi-fff/test/extension.test.ts | 447 | expect(setup.pi.registerTool.mock.calls.map(([tool]) => tool.name)).toEqual([ | CODE |
| CRITICAL | packages/pi-fff/test/extension.test.ts | 454 | const toolNames = setup.pi.registerTool.mock.calls.map(([tool]) => tool.name); | CODE |
| CRITICAL | packages/pi-fff/test/extension.test.ts | 633 | const lastStatus = setup.ctx.ui.setStatus.mock.calls.at(-1); | CODE |
| CRITICAL | packages/pi-fff/test/extension.test.ts | 657 | const toolNames = setup.pi.registerTool.mock.calls.map(([tool]) => tool.name); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/fff-core/Cargo.toml | 41 | [features] | COMMENT |
| LOW | crates/fff-core/tests/new_directory_watcher_test.rs | 1 | //! Integration test: verifying that the background watcher dynamically detects | COMMENT |
| LOW | crates/fff-core/tests/bigram_overlay_coherence_test.rs | 1 | //! Stress tests for the bigram overlay layer. | COMMENT |
| LOW | crates/fff-core/tests/bigram_overlay_coherence_test.rs | 381 | COMMENT | |
| LOW | crates/fff-core/tests/bigram_overlay_coherence_test.rs | 701 | ); | COMMENT |
| LOW | crates/fff-core/tests/lmdb_stale_lock_deadlock.rs | 1 | //! Reproduces the deadlock/hang caused by LMDB writer mutex contention. | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1 | //! Vibe coded stress test: randomized file + git operations driven against the *real* | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 21 | //! `git commit` cleared every `WT_MODIFIED`. | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 41 | //! then runs 20–40 ops each of which waits for event propagation | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 201 | COMMENT | |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 241 | /// [`DEFAULT_STRESS_SEED`] if the env var is not set). Runs the same | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 281 | " case {}/{}: {} ops", | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 861 | // These exercise the **user-facing** fuzzy + grep surfaces with queries that | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1281 | /// Content marker embedded in every generated file body. The probing | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1381 | .ok() | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1401 | // 7. picker must converge back to `Status::CURRENT` | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1441 | wait_ready(&shared_picker); | COMMENT |
| LOW | crates/fff-core/tests/fuzz_git_watcher_stress.rs | 1541 | // cache needs to have been invalidated for this to succeed. | COMMENT |
| LOW | crates/fff-core/tests/watcher_stop_under_lock.rs | 1 | //! Regression test: stopping the background watcher while the caller | COMMENT |
| LOW | crates/fff-core/tests/real_binary_fixtures.rs | 1 | //! Real-world binary fixture regression. | COMMENT |
| LOW | crates/fff-core/src/types.rs | 681 | } | COMMENT |
| LOW | crates/fff-core/src/constants.rs | 1 | /// Largest file whose full content fff will touch: the default grep read cap | COMMENT |
| LOW | crates/fff-core/src/lib.rs | 1 | //! # FFF Search — High-performance file finder core | COMMENT |
| LOW | crates/fff-core/src/lib.rs | 21 | //! with optional constraint filtering. | COMMENT |
| LOW | crates/fff-core/src/lib.rs | 41 | //! FFFMode, FilePickerOptions, FuzzySearchOptions, PaginationArgs, QueryParser, | COMMENT |
| LOW | crates/fff-core/src/lib.rs | 61 | //! shared_picker.clone(), | COMMENT |
| LOW | crates/fff-core/src/lib.rs | 81 | //! | COMMENT |
| LOW | crates/fff-core/src/git.rs | 241 | ); | COMMENT |
| LOW | crates/fff-core/src/stable_vec.rs | 101 | COMMENT | |
| LOW | crates/fff-core/src/file_picker.rs | 1 | //! Core file picker: filesystem indexing, background watching, and fuzzy search. | COMMENT |
| LOW | crates/fff-core/src/file_picker.rs | 101 | /// `files[indexable_count..base_count]` - original-unindexable | COMMENT |
| LOW | crates/fff-core/src/file_picker.rs | 1481 | /// | COMMENT |
| LOW | crates/fff-core/src/file_picker.rs | 2001 | match self { | COMMENT |
| LOW | crates/fff-core/src/file_picker.rs | 2401 | // Protobuf wire format | COMMENT |
| LOW | crates/fff-core/src/shared.rs | 61 | /// file picker: creating, triggering various rescans and so on. | COMMENT |
| LOW | crates/fff-core/src/watcher/background_watcher.rs | 61 | ); | COMMENT |
| LOW | crates/fff-core/src/watcher/background_watcher.rs | 441 | COMMENT | |
| LOW | crates/fff-core/src/grep/types.rs | 41 | } | COMMENT |
| LOW | crates/fff-core/src/grep/types.rs | 101 | #[derive(Debug, Clone)] | COMMENT |
| LOW | crates/fff-core/src/grep/types.rs | 121 | /// Apply `time_budget_ms` even before anything matched. Off by default: plain/regex | COMMENT |
| LOW | crates/fff-core/src/grep/types.rs | 181 | /// Total number of indexed files (before filtering). | COMMENT |
| LOW | crates/fff-core/src/grep/types.rs | 221 | // consumers (FFI JSON, Lua) can look up file metadata without duplicating | COMMENT |
| LOW | crates/fff-core/src/grep/fuzzy_grep.rs | 21 | abort_signal: &AtomicBool, | COMMENT |
| LOW | crates/fff-mcp/src/server.rs | 101 | #[derive(Debug, serde::Deserialize, schemars::JsonSchema)] | COMMENT |
| LOW | crates/fff-mcp/src/main.rs | 121 | base_path: Option<String>, | COMMENT |
| LOW | crates/fff-mcp/src/main.rs | 141 | log_level: Option<String>, | COMMENT |
| LOW | crates/fff-mcp/src/main.rs | 161 | content_indexing: bool, | COMMENT |
| LOW | crates/fff-grep/src/sink.rs | 101 | impl<'b> SinkMatch<'b> { | COMMENT |
| LOW | crates/fff-nvim/src/bin/grep_vs_rg.rs | 1 | use fff::file_picker::FilePicker; | COMMENT |
| LOW | crates/fff-nvim/src/bin/bench_lmdb_parallel.rs | 1 | /// Parallel LMDB contention bench. | COMMENT |
| LOW | crates/fff-nvim/src/bin/grep_profiler.rs | 1 | /// Live grep benchmark profiler for fff.nvim | COMMENT |
| LOW | crates/fff-c/src/accessors.rs | 81 | /// File-name component of a file item (e.g. `"main.rs"`); null if `item` is null. Do not free. | COMMENT |
| LOW | crates/fff-c/src/accessors.rs | 361 | COMMENT | |
| LOW | crates/fff-c/src/lib.rs | 1 | //! C FFI bindings for fff-core, usable from any language with C FFI | COMMENT |
| LOW | crates/fff-c/src/lib.rs | 161 | opts.log_level = log_level; | COMMENT |
| LOW | crates/fff-c/src/lib.rs | 281 | COMMENT | |
| LOW | crates/fff-c/src/lib.rs | 601 | let mixed_result = FffMixedSearchResult::from_core(&results, picker); | COMMENT |
| LOW | crates/fff-c/src/lib.rs | 1481 | /// Offset a pointer by `byte_offset` bytes (FFI array iteration helper). | COMMENT |
| LOW | crates/fff-c/src/watch.rs | 21 | /// `ignore_count` is 0. | COMMENT |
| LOW | crates/fff-c/src/watch.rs | 181 | /// registered by `fff_set_watch_callback`. | COMMENT |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/pi-fff/src/index.ts | 449 | function initializeFinderFactories(): void { | CODE |
| LOW | packages/pi-fff/src/index.ts | 605 | function registerAutocompleteProvider(ctx: { | CODE |
| LOW | packages/pi-fff/src/aux-finders.ts | 155 | export function isOutsideWorkspaceRelativePath(relativePath: string): boolean { | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 60 | def test_watch_delivers_events_and_unsubscribe_stops_them( | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 101 | def test_watch_reports_removed_events(finder: FileFinder, watch_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 122 | def test_watch_reports_renames_with_both_paths(finder: FileFinder, watch_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 155 | def test_multiple_subscriptions_are_filtered_independently( | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 201 | def test_watch_context_manager_unsubscribes(finder: FileFinder, watch_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 223 | def test_watch_callback_exception_does_not_crash(finder: FileFinder, watch_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 244 | def test_watch_validates_inputs(finder: FileFinder, watch_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 252 | def test_watch_without_pattern_watches_whole_tree( | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 270 | def test_watch_requires_open_finder(watch_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 278 | def test_watch_directory_with_ignore(finder: FileFinder, watch_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 297 | def test_unsubscribe_is_nonblocking_and_final(finder: FileFinder, watch_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_watch.py | 327 | def test_unsubscribe_from_inside_callback_does_not_deadlock( | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 58 | def test_imports_and_package_version() -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 82 | async def test_wait_for_scan_async_does_not_block_loop(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 103 | async def test_wait_for_scan_blocking_and_async_agree(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 110 | def test_keyword_only_options_and_cursor_constructor(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 134 | def test_close_and_context_manager(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 189 | def test_file_search_scores_and_pagination(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 229 | def test_directory_and_mixed_search(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 259 | def test_grep_plain_regex_fuzzy_and_context(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 290 | def test_grep_invalid_mode_raises(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 299 | def test_grep_cursor_paginates_by_file(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 325 | def test_multi_grep_and_error_handling(sample_dir: str) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 340 | def test_query_history_persists(sample_dir: str, tmp_path: Path) -> None: | CODE |
| LOW | packages/fff-python/tests/test_finder.py | 364 | def test_reindex_and_health_check(sample_dir: str, tmp_path: Path) -> None: | CODE |
| LOW | packages/fff-node/src/ffi.ts | 1762 | function ensureWatchCallbackRegistered(handle: NativeHandle): Result<void> { | CODE |
| LOW | packages/fff-node/src/ffi.ts | 1774 | function releaseWatchTrampolineIfIdle(): void { | CODE |
| LOW | packages/fff-node/src/ffi.ts | 1836 | export function ffiWatchCleanupAfterDestroy( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/analyze-results.py | 32 | except: | CODE |
| HIGH | scripts/analyze-results.py | 43 | except: | CODE |
| HIGH | scripts/diagnose_lockmdb.py | 77 | except Exception: | CODE |
| HIGH | scripts/diagnose_lockmdb.py | 103 | except Exception: | CODE |
| HIGH | scripts/diagnose_lockmdb.py | 147 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/analyze-results.py | 3 | CODE | |
| LOW | packages/fff-python/tests/test_watch.py | 3 | CODE | |
| LOW | packages/fff-python/tests/test_finder.py | 3 | CODE | |
| LOW | packages/fff-python/examples/basic.py | 3 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 3 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE | |
| LOW | packages/fff-python/src/fff/__init__.py | 7 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/fff-core/tests/new_directory_watcher_test.rs | 41 | .env("GIT_AUTHOR_EMAIL", "test@test.com") | CODE |
| LOW⚡ | crates/fff-core/tests/new_directory_watcher_test.rs | 43 | .env("GIT_COMMITTER_EMAIL", "test@test.com") | CODE |
| LOW | crates/fff-core/tests/bigram_overlay_coherence_test.rs | 1371 | .env("GIT_AUTHOR_EMAIL", "test@test.com") | CODE |
| LOW | crates/fff-core/tests/bigram_overlay_coherence_test.rs | 1373 | .env("GIT_COMMITTER_EMAIL", "test@test.com") | CODE |
| LOW | crates/fff-core/tests/rescan_regression.rs | 332 | .env("GIT_AUTHOR_EMAIL", "test@test.com") | CODE |
| LOW | crates/fff-core/tests/rescan_regression.rs | 334 | .env("GIT_COMMITTER_EMAIL", "test@test.com") | CODE |
| LOW | crates/fff-core/tests/fuzz_file_operations.rs | 737 | .env("GIT_AUTHOR_EMAIL", "test@test.com") | CODE |
| LOW | crates/fff-core/tests/fuzz_file_operations.rs | 739 | .env("GIT_COMMITTER_EMAIL", "test@test.com") | CODE |
| LOW | tests/version_spec.lua | 54 | vim.fn.system({ 'git', '-C', tmp, 'config', 'user.email', 'test@test.com' }) | CODE |
| LOW | tests/version_spec.lua | 73 | vim.fn.system({ 'git', '-C', tmp, 'config', 'user.email', 'test@test.com' }) | CODE |
| LOW | tests/version_spec.lua | 98 | vim.fn.system({ 'git', '-C', tmp, 'config', 'user.email', 'test@test.com' }) | CODE |
| LOW | tests/version_spec.lua | 148 | vim.fn.system({ 'git', '-C', tmp, 'config', 'user.email', 'test@test.com' }) | CODE |
| LOW | tests/version_spec.lua | 174 | vim.fn.system({ 'git', '-C', tmp, 'config', 'user.email', 'test@test.com' }) | CODE |
| LOW | tests/version_spec.lua | 198 | vim.fn.system({ 'git', '-C', tmp, 'config', 'user.email', 'test@test.com' }) | CODE |
| LOW | packages/fff-bun/test/git-lifecycle.test.ts | 42 | GIT_AUTHOR_EMAIL: "test@test.com", | CODE |
| LOW | packages/fff-bun/test/git-lifecycle.test.ts | 44 | GIT_COMMITTER_EMAIL: "test@test.com", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/diagnose_lockmdb.py | 53 | except Exception: | CODE |
| LOW⚡ | scripts/diagnose_lockmdb.py | 60 | except Exception: | CODE |
| LOW⚡ | scripts/diagnose_lockmdb.py | 67 | except Exception: | CODE |
| LOW⚡ | scripts/diagnose_lockmdb.py | 77 | except Exception: | CODE |
| LOW | scripts/diagnose_lockmdb.py | 101 | except Exception: | CODE |
| LOW | scripts/diagnose_lockmdb.py | 103 | except Exception: | CODE |
| LOW | scripts/diagnose_lockmdb.py | 226 | except Exception as e: | CODE |
| MEDIUM | scripts/diagnose_lockmdb.py | 50 | def get_comm(pid): | CODE |
| MEDIUM | scripts/diagnose_lockmdb.py | 57 | def get_cmdline(pid): | CODE |
| MEDIUM | scripts/diagnose_lockmdb.py | 64 | def get_wchan(pid_or_tid, path): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/analyze-results.py | 21 | CODE | |
| LOW | scripts/analyze-results.py | 47 | CODE | |
| LOW | scripts/diagnose_lockmdb.py | 108 | CODE | |
| LOW | packages/fff-python/tests/test_watch.py | 48 | CODE | |
| LOW | packages/fff-python/tests/test_finder.py | 229 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/fff-core/src/index/bigram_query.rs | 874 | /// plus typical grep patterns used by agentic tools. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/benchmark-claude.sh | 5 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/release.sh | 19 | # Check if tag already exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/fff-python/tests/test_finder.py | 42 | "def helper():\n" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/fff-python/src/fff/__init__.py | 55 | __all__ = [ | CODE |