The FastLED library for colored LED animation on Arduino. Please direct questions/requests for help to the FastLED Reddit community: http://fastled.io/r We'd like to use github "issues" just for tracking library bugs / enhancements.
This report summarizes scanner evidence for FastLED/FastLED, a C++ project with 7,507 GitHub stars. SynthScan examined 989,231 lines of code across 4171 source files, recording 10038 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 12.7 (Moderate 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? 8493 finding(s).
Are imports declared and package/API names verified? 393 finding(s).
Are wrappers, guards, and repeated structures necessary? 2869 finding(s).
Which changes need focused human review? 10038 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 10038 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 | pyproject.toml | 1 | [project] | COMMENT |
| LOW | pyproject.toml | 21 | # (FastLED/fbuild#1650, FastLED#4686). | COMMENT |
| LOW | pyproject.toml | 41 | # build-resolved esptool (FastLED/fbuild#1616). | COMMENT |
| LOW | pyproject.toml | 61 | # (FastLED/fbuild#1449, FastLED#4474). | COMMENT |
| LOW | pyproject.toml | 81 | # That was harmless until 2.5.22's unpack-time submodule | COMMENT |
| LOW | pyproject.toml | 101 | # (FastLED/fbuild#1398), and runs shared-code CI against a | COMMENT |
| LOW | pyproject.toml | 121 | # board resolution, and corrects ESP32 flash/RAM size reporting | COMMENT |
| LOW | pyproject.toml | 141 | # UF2 rejection diagnostics (FastLED/fbuild#1246). | COMMENT |
| LOW | pyproject.toml | 161 | # daemon arbitration, and build-flag propagation rollup. | COMMENT |
| LOW | pyproject.toml | 181 | # 2.3.14 -- carries the async/subprocess timeout fixes and daemon | COMMENT |
| LOW | pyproject.toml | 201 | # 2.2.26 — ArmCompiler now wires zccache for the 8 generic-arm | COMMENT |
| LOW | pyproject.toml | 221 | # (FastLED/fbuild#488, part of #487) — first step in | COMMENT |
| LOW | pyproject.toml | 241 | # (FastLED/fbuild#463/#468). Also contains a cargo | COMMENT |
| LOW | pyproject.toml | 261 | # many stage-2 framework-archive share | COMMENT |
| LOW | pyproject.toml | 281 | # bridge sent ONE WebSocket frame per serial line; on bursty TX | COMMENT |
| LOW | pyproject.toml | 321 | # "daemon-CLI protocol version mismatch" hint from the | COMMENT |
| LOW | pyproject.toml | 341 | # the meson-configure wrapper (zackees/zccache#660, closes zackees/ | COMMENT |
| LOW | pyproject.toml | 361 | # 1.13.17 (released 2026-08-31): preserves compiler termination signals | COMMENT |
| LOW | pyproject.toml | 381 | # restoring hit-ratio/miss-reason telemetry for soldr-routed rustc | COMMENT |
| LOW | pyproject.toml | 581 | autoImportCompletions = false | COMMENT |
| LOW | test.py | 21 | pytest_addopts_active, | COMMENT |
| LOW | STRUCTURE_VALIDATION.md | 161 | ```cpp | COMMENT |
| LOW | CONTRIBUTING.md | 161 | ```cpp | COMMENT |
| LOW | GEMINI.md | 1 | # READ CLAUDE.md for repo information | COMMENT |
| LOW | rust-toolchain.toml | 1 | # Pins the Rust toolchain used to build ci/lint_cpp_rs (fastled-lint). | COMMENT |
| LOW | ci/color_reference.py | 81 | # what broke revalidation off the generating machine: a residual that is | COMMENT |
| LOW | ci/optimization_report.py | 1 | import argparse | COMMENT |
| LOW | ci/color_rgbw_study.py | 361 | COMMENT | |
| LOW | ci/run-clang-format.py | 161 | # - if the diagnostics were internationalized, they would use utf-8: | COMMENT |
| LOW | ci/color_fixed_profile_study.py | 141 | # worse arrangement: `x * Y` in Q16 discards low bits before the | COMMENT |
| LOW | ci/color_reference_corpus.py | 161 | # Emitters scaled so the strip can just exceed its own rendering | COMMENT |
| LOW | ci/color_reference_corpus.py | 201 | # terms. It is also the target that saturates both white emitters on | COMMENT |
| LOW | ci/boards.py | 101 | # exceed 100 MB on no-LTO boards with a large sketch set (nrf52840 with | COMMENT |
| LOW | ci/boards.py | 761 | # the 5.5.5 platform restores the documented framework baseline (#4690). | COMMENT |
| LOW | ci/boards.py | 841 | # ESP-IDF component-build smoke test (FastLED#3724, part of #3715). | COMMENT |
| LOW | ci/boards.py | 901 | # (src/platforms/esp/32/drivers/parlio/parlio_peripheral_esp.cpp.hpp:46-48). | COMMENT |
| LOW | ci/boards.py | 1201 | # died there with `Update error: ERROR[4]: Not Enough Space`: the image is | COMMENT |
| LOW | ci/boards.py | 1221 | board_build_options={"ipbtstack": "ipv4btcble"}, | COMMENT |
| LOW | ci/boards.py | 1241 | # Preferred name for the LPC845 canary board target (FastLED #3220). | COMMENT |
| LOW | ci/autoresearch/net.py | 481 | COMMENT | |
| LOW | ci/autoresearch/net.py | 701 | last_error: Exception | None = None | COMMENT |
| LOW | ci/autoresearch/net.py | 1021 | rp_port = rp_server.get("port") | COMMENT |
| LOW | ci/autoresearch/phases.py | 1321 | # Cap the SPI+DMA buffers for the 16 KB-RAM bench build. At the | COMMENT |
| LOW | ci/autoresearch/phases.py | 1401 | build_dir = project_root | COMMENT |
| LOW | ci/autoresearch/gpio.py | 421 | # ============================================================ | COMMENT |
| LOW | ci/autoresearch/gpio.py | 441 | # cycle and re-run from segment 5". | COMMENT |
| LOW | ci/autoresearch/ota.py | 101 | # explicit so a later widening of that tuple cannot silently | COMMENT |
| LOW | ci/autoresearch/ota.py | 121 | # error by 2 s. | COMMENT |
| LOW | ci/autoresearch/ota.py | 141 | # need 4,041 round trips -- about 21 minutes against a 12 minute run budget. | COMMENT |
| LOW | ci/autoresearch/ota.py | 321 | # Fail here rather than at the first write, and say why. | COMMENT |
| LOW | ci/lint/check_size_thresholds.py | 41 | # FROZEN SIZE THRESHOLDS — single source of truth. | COMMENT |
| LOW | ci/lint/check_size_thresholds.py | 61 | # - band-aid (#NNNN) — value was raised to clear CI; real ceiling is lower | COMMENT |
| LOW | ci/tools/_noexcept_check_stl_headers_tu.cpp | 1 | // Lint-only public STL inventory for #4773. Header-only entry points may be | COMMENT |
| LOW | ci/tools/_noexcept_check_fl_tu.cpp | 1 | // Minimal translation unit for clang-query analysis of FastLED-owned fl/ code. | COMMENT |
| LOW | ci/tools/_noexcept_check_platforms_tu.cpp | 1 | // Minimal translation unit for clang-query analysis of all platform code | COMMENT |
| LOW | ci/tools/_noexcept_check_fx_headers_tu.cpp | 1 | // Lint-only public FX inventory for #4773. Production unity routers include | COMMENT |
| LOW | ci/tools/_noexcept_check_fx_headers_tu.cpp | 21 | #include "fl/fx/2d/noisepalette.h" | COMMENT |
| LOW | ci/tools/_noexcept_check_third_party_tu.cpp | 1 | // Minimal translation unit for clang-query analysis of third_party/ code. | COMMENT |
| LOW | ci/tools/coderabbit_addressor.py | 61 | # "resou(rce)s". That routed ordinary maintainability nits into security-flag, | COMMENT |
| LOW | ci/util/serial_interface.py | 221 | await self._run_in_thread(self._monitor.__exit__, None, None, None) | COMMENT |
| 5783 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test.py | 179 | def _get_run_platform_backends() -> dict[str, list[str]]: | CODE |
| LOW | test.py | 201 | def _release_held_build_locks() -> None: | CODE |
| LOW | mcp_server.py | 2364 | async def validate_arduino_includes( | CODE |
| LOW | ci/color_reference.py | 524 | def _is_neutral_relative_to_white(xyz: Xyz, white_direction: Xyz) -> bool: | CODE |
| LOW | ci/color_reference.py | 857 | def apply_brightness_then_inverse_response( | CODE |
| LOW | ci/decode_esp32_backtrace.py | 190 | def extract_addresses_from_crash_log(log: str) -> list[str]: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 123 | def test_python_lint_cache_rapid_changes(test: CacheLintStressTest) -> None: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 166 | def test_javascript_lint_cache(test: CacheLintStressTest) -> None: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 195 | def test_cpp_lint_cache_rapid_changes(test: CacheLintStressTest) -> None: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 223 | def test_all_caches_consistency(test: CacheLintStressTest) -> None: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 290 | def test_manifest_completeness(test: CacheLintStressTest) -> None: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 324 | def test_cache_performance_all_caches(test: CacheLintStressTest) -> None: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 380 | def test_concurrent_cache_access(test: CacheLintStressTest) -> None: | CODE |
| LOW | ci/test_iwyu_integration.py | 44 | def test_ci_iwyu_script_exists(self): | CODE |
| LOW | ci/test_iwyu_integration.py | 50 | def test_iwyu_mapping_files_exist(self): | CODE |
| LOW | ci/wasm_compile_native.py | 80 | def create_wrapper_for_example(example_name: str, output_path: Path) -> Path: | CODE |
| LOW | ci/ci-cppcheck.py | 60 | def _load_src_files_from_compile_db(compile_db: Path, project_root: Path) -> list[str]: | CODE |
| LOW | ci/ci-cppcheck.py | 99 | def run_static_analysis_against_compile_db(compile_db: Path, project_root: Path) -> int: | CODE |
| LOW | ci/iwyu_wrapper.py | 72 | def get_compiler_include_paths(compiler_path: str) -> list[str]: | CODE |
| LOW | ci/bloat.py | 156 | def assert_fbuild_has_symbols() -> None: | CODE |
| LOW | ci/bloat.py | 373 | def toolchain_from_compile_commands( | CODE |
| LOW | ci/run_tests.py | 117 | def _dump_post_mortem_stack_trace( | CODE |
| LOW⚡ | ci/wasm_build.py | 455 | def _recover_stale_wasm_build(build_dir: Path, mode: str) -> bool: | CODE |
| LOW | ci/wasm_build.py | 104 | def _normalize_meson_private_paths(build_dir: Path) -> None: | CODE |
| LOW | ci/wasm_build.py | 239 | def _compute_js_glue_fingerprint() -> str: | CODE |
| LOW | ci/wasm_build.py | 269 | def _js_glue_fingerprint_matches(build_dir: Path) -> bool: | CODE |
| LOW | ci/wasm_build.py | 280 | def _get_emcc_version_signature() -> str: | CODE |
| LOW | ci/wasm_build.py | 316 | def _compute_link_environment_fingerprint(mode: str) -> str: | CODE |
| LOW | ci/wasm_build.py | 329 | def _link_environment_fingerprint_matches(build_dir: Path, mode: str) -> bool: | CODE |
| LOW | ci/wasm_build.py | 351 | def _src_file_list_hash_reset_for_tests() -> None: | CODE |
| LOW | ci/wasm_build.py | 355 | def _compute_src_file_list_hash() -> str: | CODE |
| LOW | ci/wasm_build.py | 428 | def _save_library_fingerprint(build_dir: Path) -> None: | CODE |
| LOW | ci/wasm_build.py | 552 | def _ensure_emscripten_wasm_ld_patch() -> None: | CODE |
| LOW | ci/wasm_build.py | 1017 | def _parse_clang_from_verbose(stderr_text: str) -> list[str] | None: | CODE |
| LOW | ci/wasm_build.py | 1276 | def _parse_wasm_ld_from_verbose(stderr_text: str) -> list[str] | None: | CODE |
| LOW | ci/standardized_smoke_sketches.py | 75 | def load_smoke_sketches_detailed( | CODE |
| LOW | ci/wasm_build_library.py | 357 | def ensure_unity_files_generated(unity_chunks: int, verbose: bool = False) -> int: | CODE |
| LOW | ci/test_hash_fingerprint_stress.py | 122 | def test_file_modification_during_processing(results: StressTestResults) -> None: | CODE |
| LOW | ci/test_hash_fingerprint_stress.py | 240 | def test_cross_process_pending_fingerprint(results: StressTestResults) -> None: | CODE |
| LOW | ci/test_hash_fingerprint_stress.py | 283 | def test_invalidate_on_failure(results: StressTestResults) -> None: | CODE |
| LOW | ci/test_hash_fingerprint_stress.py | 351 | def test_cache_corruption_recovery(results: StressTestResults) -> None: | CODE |
| LOW | ci/test_hash_fingerprint_stress.py | 388 | def test_large_file_set_performance(results: StressTestResults) -> None: | CODE |
| LOW | ci/test_hash_fingerprint_stress.py | 436 | def test_race_condition_rapid_operations(results: StressTestResults) -> None: | CODE |
| LOW | ci/test_hash_fingerprint_stress.py | 471 | def test_timestamp_file_optional(results: StressTestResults) -> None: | CODE |
| LOW | ci/wasm_audio_url_test.py | 56 | def install_playwright_browsers(): | CODE |
| LOW | ci/wasm_flags.py | 98 | def _lib_dwarf_prefix_map_flags(config: dict[str, Any], mode: str) -> list[str]: | CODE |
| LOW | ci/wasm_flags.py | 107 | def get_lib_compile_flags_dict(mode: str = "quick") -> dict[str, list[str]]: | CODE |
| LOW | ci/wasm_flags.py | 141 | def get_sketch_compile_flags_dict(mode: str = "quick") -> dict[str, list[str]]: | CODE |
| LOW | ci/wasm_audio_drag_drop_test.py | 84 | def install_playwright_browsers(): | CODE |
| LOW | ci/wasm_audio_drag_drop_test.py | 147 | async def enable_vibe_reactive_checkbox(page) -> bool: | CODE |
| LOW | ci/ci-compile.py | 25 | def _copy_requested_build_info(source: Path, destination: Path) -> bool: | CODE |
| LOW | ci/wasm_server.py | 10 | class IsolatedRequestHandler(http.server.SimpleHTTPRequestHandler): | CODE |
| LOW⚡ | ci/demo_symbol_analysis.py | 47 | def load_and_summarize_results(board_name: str): | CODE |
| LOW | ci/esbuild_frontend.py | 112 | def _frontend_dependency_hash() -> str: | CODE |
| LOW | ci/esbuild_frontend.py | 124 | def ensure_frontend_dependencies() -> None: | CODE |
| LOW | ci/esbuild_frontend.py | 151 | def _has_required_static_dist_assets(dist_dir: Path) -> bool: | CODE |
| LOW | ci/run-clang-format.py | 122 | def run_clang_format_diff_wrapper(args: Any, file: str) -> tuple[list[str], list[str]]: | CODE |
| LOW | ci/python_lint_cache.py | 40 | def check_python_files_changed() -> bool: | CODE |
| LOW⚡ | ci/ci-iwyu.py | 446 | def _load_src_files_from_compile_db(compile_db: Path, project_root: Path) -> list[str]: | CODE |
| LOW | ci/ci-iwyu.py | 484 | def run_iwyu_against_compile_db( | CODE |
| 1649 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | ci/wasm_build.py | 529 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | ci/wasm_build.py | 531 | # ============================================================================ | COMMENT |
| MEDIUM | ci/wasm_build.py | 130 | # ============================================================================ | COMMENT |
| MEDIUM | ci/wasm_build.py | 132 | # ============================================================================ | COMMENT |
| MEDIUM | ci/wasm_build.py | 679 | # ============================================================================ | COMMENT |
| MEDIUM | ci/wasm_build.py | 681 | # ============================================================================ | COMMENT |
| MEDIUM | ci/debug_attached.py | 92 | # ============================================================ | COMMENT |
| MEDIUM | ci/debug_attached.py | 94 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/debug_attached.py | 1252 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/debug_attached.py | 1254 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/debug_attached.py | 1263 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/debug_attached.py | 1265 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/ci-iwyu.py | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/ci-iwyu.py | 86 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/ci-iwyu.py | 441 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/ci-iwyu.py | 443 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/ci-iwyu.py | 660 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/ci-iwyu.py | 662 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 43 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 157 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 159 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 334 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 336 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 383 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/ci-iwyu.py | 385 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/test_led_timing_conversion.py | 19 | # ============================================================================ | COMMENT |
| MEDIUM | ci/test_led_timing_conversion.py | 21 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | ci/test_rpc_edge_cases.py | 35 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | ci/test_rpc_edge_cases.py | 37 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | ci/inspect_binary.py | 277 | # ======================================================================== | COMMENT |
| MEDIUM⚡ | ci/inspect_binary.py | 279 | # ======================================================================== | COMMENT |
| MEDIUM⚡ | ci/inspect_binary.py | 305 | # ======================================================================== | COMMENT |
| MEDIUM⚡ | ci/inspect_binary.py | 307 | # ======================================================================== | COMMENT |
| MEDIUM⚡ | ci/inspect_binary.py | 332 | # ======================================================================== | COMMENT |
| MEDIUM⚡ | ci/inspect_binary.py | 334 | # ======================================================================== | COMMENT |
| MEDIUM | ci/autoresearch/runner.py | 42 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/runner.py | 44 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/runner.py | 75 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/runner.py | 77 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/autoresearch/phases.py | 1468 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/autoresearch/phases.py | 1470 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/autoresearch/phases.py | 1896 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/autoresearch/phases.py | 1898 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/autoresearch/phases.py | 2184 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/autoresearch/phases.py | 2186 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 71 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 73 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 571 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 573 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 1697 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 1699 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/autoresearch/context.py | 17 | # ============================================================ | COMMENT |
| MEDIUM⚡ | ci/autoresearch/context.py | 19 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/context.py | 77 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/context.py | 79 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/context.py | 129 | # ============================================================ | COMMENT |
| MEDIUM | ci/autoresearch/context.py | 131 | # ============================================================ | COMMENT |
| 267 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test.py | 225 | except Exception: | CODE |
| HIGH | test.py | 58 | except ValueError: | CODE |
| HIGH | test.py | 69 | except ValueError: | CODE |
| HIGH | test.py | 245 | except Exception: | CODE |
| HIGH | test.py | 375 | except Exception: | CODE |
| HIGH | test.py | 221 | except Exception: | CODE |
| HIGH | test.py | 582 | except Exception: | CODE |
| HIGH | test.py | 641 | except ImportError: | CODE |
| HIGH | mcp_server.py | 742 | except Exception: | CODE |
| HIGH | mcp_server.py | 2839 | except: | CODE |
| HIGH | mcp_server.py | 1286 | except (OSError, IOError): | CODE |
| HIGH | ci/early_exit_cache.py | 162 | except OSError: | CODE |
| HIGH | ci/early_exit_cache.py | 886 | except Exception: | CODE |
| HIGH | ci/early_exit_cache.py | 132 | except OSError: | CODE |
| HIGH | ci/early_exit_cache.py | 723 | except Exception: | CODE |
| HIGH | ci/early_exit_cache.py | 761 | except Exception: | CODE |
| HIGH | ci/early_exit_cache.py | 800 | except Exception: | CODE |
| HIGH | ci/early_exit_cache.py | 837 | except Exception: | CODE |
| HIGH | ci/early_exit_cache.py | 249 | except OSError: | CODE |
| HIGH | ci/early_exit_cache.py | 432 | except OSError: | CODE |
| HIGH | ci/early_exit_cache.py | 160 | except OSError: | CODE |
| HIGH | ci/early_exit_cache.py | 130 | except OSError: | CODE |
| HIGH | ci/wasm_compile.py | 99 | except FileNotFoundError: | CODE |
| HIGH | ci/run_tests.py | 450 | except TypeError: | CODE |
| HIGH | ci/run_tests.py | 438 | except TypeError: | CODE |
| HIGH | ci/run_tests.py | 472 | except TypeError: | CODE |
| HIGH | ci/wasm_build.py | 433 | except OSError: | CODE |
| HIGH | ci/wasm_build.py | 769 | except OSError: | CODE |
| HIGH | ci/wasm_build.py | 1404 | except OSError: | CODE |
| HIGH | ci/wasm_build.py | 738 | except OSError: | CODE |
| HIGH | ci/wasm_build.py | 1722 | except OSError: | CODE |
| HIGH | ci/wasm_build.py | 699 | except OSError: | CODE |
| HIGH | ci/wasm_build.py | 500 | except OSError: | CODE |
| HIGH | ci/wasm_build.py | 718 | except OSError: | CODE |
| HIGH | ci/wasm_build.py | 852 | except OSError: | CODE |
| HIGH | ci/wasm_build.py | 1720 | except OSError: | CODE |
| HIGH | ci/debug_attached.py | 790 | except Exception: | CODE |
| HIGH | ci/debug_attached.py | 660 | except (json.JSONDecodeError, IndexError): | CODE |
| HIGH | ci/compile_pch.py | 385 | except Exception: | CODE |
| HIGH | ci/__init__.py | 29 | except Exception: | CODE |
| HIGH | ci/__init__.py | 41 | except Exception: | CODE |
| HIGH | ci/wasm_tools.py | 140 | except Exception: | CODE |
| HIGH | ci/esbuild_frontend.py | 185 | except ValueError: | CODE |
| HIGH | ci/rpc_client.py | 407 | except Exception: | CODE |
| HIGH | ci/run-clang-format.py | 336 | except AttributeError: | CODE |
| HIGH | ci/ci-iwyu.py | 179 | except ValueError: | CODE |
| HIGH | ci/ci-iwyu.py | 403 | except ( | CODE |
| HIGH | ci/ci-iwyu.py | 430 | except ( | CODE |
| HIGH | ci/clean-worktrees.py | 87 | except OSError: | CODE |
| HIGH | ci/clean-worktrees.py | 252 | except OSError: | CODE |
| HIGH | ci/iwyu_cache.py | 124 | except OSError: | CODE |
| HIGH | ci/iwyu_cache.py | 187 | except OSError: | CODE |
| HIGH | ci/lint.py | 106 | except Exception: | CODE |
| HIGH | ci/lint.py | 117 | except Exception: | CODE |
| HIGH | ci/lint.py | 87 | except Exception: | CODE |
| HIGH | ci/autoresearch/ble.py | 202 | except Exception: | CODE |
| HIGH | ci/autoresearch/ble.py | 186 | except Exception: | CODE |
| HIGH | ci/autoresearch/ble.py | 251 | except Exception: | CODE |
| HIGH | ci/autoresearch/ble.py | 258 | except Exception: | CODE |
| HIGH | ci/autoresearch/net.py | 117 | except (TimeoutExpired, FileNotFoundError, OSError, RuntimeError): | CODE |
| 154 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test.py | 505 | ts_print("Error: --run requires a platform/board (e.g., esp32s3, uno)") | CODE |
| MEDIUM | test.py | 519 | ts_print(f"Error: Unknown platform '{platform}'") | CODE |
| MEDIUM | test.py | 577 | def _discover_counts() -> None: | CODE |
| LOW | test.py | 221 | except Exception: | CODE |
| LOW | test.py | 225 | except Exception: | CODE |
| LOW | test.py | 245 | except Exception: | CODE |
| LOW | test.py | 274 | except Exception as e: | CODE |
| LOW | test.py | 375 | except Exception: | CODE |
| LOW | test.py | 582 | except Exception: | CODE |
| LOW | test.py | 661 | except Exception as e: | CODE |
| MEDIUM | mcp_server.py | 100 | print("Error: MCP library not found.") | CODE |
| MEDIUM | mcp_server.py | 2918 | print(f"Error running MCP server: {e}") | CODE |
| LOW | mcp_server.py | 598 | except Exception as e: | CODE |
| LOW | mcp_server.py | 742 | except Exception: | CODE |
| LOW | mcp_server.py | 1334 | except Exception as e: | CODE |
| LOW | mcp_server.py | 1346 | except Exception as e: | CODE |
| LOW | mcp_server.py | 1385 | except Exception as e: | CODE |
| LOW | mcp_server.py | 1388 | except Exception as e: | CODE |
| LOW | mcp_server.py | 1421 | except Exception as e: | CODE |
| LOW | mcp_server.py | 1623 | except Exception: | CODE |
| LOW | mcp_server.py | 1683 | except Exception as e: | CODE |
| LOW | mcp_server.py | 1715 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2252 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2289 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2308 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2353 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2459 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2462 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2624 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2825 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2878 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2906 | except Exception as e: | CODE |
| LOW | mcp_server.py | 2917 | except Exception as e: | CODE |
| LOW | ci/early_exit_cache.py | 642 | except Exception: | CODE |
| LOW | ci/early_exit_cache.py | 723 | except Exception: | CODE |
| LOW | ci/early_exit_cache.py | 761 | except Exception: | CODE |
| LOW | ci/early_exit_cache.py | 800 | except Exception: | CODE |
| LOW | ci/early_exit_cache.py | 837 | except Exception: | CODE |
| LOW | ci/early_exit_cache.py | 886 | except Exception: | CODE |
| LOW | ci/wasm_compile.py | 108 | except Exception as e: | CODE |
| LOW | ci/decode_esp32_backtrace.py | 78 | except Exception as e: | CODE |
| MEDIUM | ci/decode_esp32_backtrace.py | 145 | print("Error: Could not find addr2line tool", file=sys.stderr) | CODE |
| MEDIUM | ci/decode_esp32_backtrace.py | 155 | print(f"Error: ELF file not found: {elf_file}", file=sys.stderr) | CODE |
| MEDIUM | ci/decode_esp32_backtrace.py | 187 | print(f"Error running addr2line: {e}", file=sys.stderr) | CODE |
| MEDIUM | ci/decode_esp32_backtrace.py | 254 | print("Error: No addresses provided and stdin is empty", file=sys.stderr) | STRING |
| MEDIUM | ci/decode_esp32_backtrace.py | 265 | print("Error: No addresses found in crash log", file=sys.stderr) | STRING |
| LOW | ci/test_all_lint_caches_stress.py | 78 | except Exception as e: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 107 | except Exception as e: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 320 | except Exception as e: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 376 | except Exception as e: | CODE |
| LOW | ci/test_all_lint_caches_stress.py | 437 | except Exception as e: | CODE |
| LOW | ci/autoresearch_loop.py | 254 | except Exception as e: | CODE |
| LOW | ci/wasm_compile_native.py | 382 | except Exception as e: | STRING |
| MEDIUM | ci/wasm_compile_native.py | 426 | print(f"Error: Source file not found: {source_file}", file=sys.stderr) | STRING |
| MEDIUM | ci/inspect_elf.py | 71 | print(f"Error: No build_info*.json found in {board_dir}") | CODE |
| LOW | ci/inspect_elf.py | 96 | except Exception as e: | CODE |
| MEDIUM | ci/inspect_elf.py | 97 | print(f"Error while dumping symbol sizes: {e}") | CODE |
| LOW | ci/iwyu_wrapper.py | 118 | except Exception as e: | CODE |
| MEDIUM | ci/inspect_obj.py | 33 | print("Error: No builds found", file=sys.stderr) | CODE |
| MEDIUM⚡ | ci/inspect_obj.py | 45 | print("Error: Invalid build", file=sys.stderr) | CODE |
| 502 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ci/wasm_build.py | 461 | # Step 1: Clean stale ninja outputs | COMMENT |
| LOW⚡ | ci/wasm_build.py | 479 | # Step 2: Delete .ninja_deps to force full dependency re-scan | COMMENT |
| LOW⚡ | ci/wasm_build.py | 488 | # Step 3: Clear metadata caches | COMMENT |
| LOW⚡ | ci/wasm_build.py | 1784 | # Step 1: Configure meson | COMMENT |
| LOW⚡ | ci/wasm_build.py | 1788 | # Step 2: Build library via ninja (skipped if source fingerprint matches) | COMMENT |
| LOW⚡ | ci/wasm_build.py | 1802 | # Step 3: Create wrapper and compile sketch (per-sketch cache) | COMMENT |
| LOW⚡ | ci/wasm_build.py | 1810 | # Step 4: Link (per-sketch cache, copy to output) | COMMENT |
| LOW | ci/wasm_build.py | 503 | # Step 4: Force Meson reconfiguration | COMMENT |
| LOW | ci/wasm_build.py | 1856 | # Step 5: Copy templates and generate manifest | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 566 | # Step 1: Create build directories (including LTO cache and unity) | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 572 | # Step 2: Ensure PCH is built | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 583 | # Step 3: Get tool commands | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 593 | # Step 4: Load build flags | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 601 | # Step 5: Load metadata from previous build | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 604 | # Step 6: Discover all source files (or unity files if enabled) | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 614 | # Step 7: Fast-path check - if flags haven't changed, PCH is same, and archive exists, we're done | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 765 | # Step 11: Partial linking optimization (combine all objects into one) | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 814 | # Step 12: Create thin archive from partial object (single file, much faster) | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 821 | # Step 13: Save metadata for future builds | COMMENT |
| LOW | ci/wasm_build_library.py | 636 | # Step 8: Determine which sources need compilation (detailed check) | COMMENT |
| LOW | ci/wasm_build_library.py | 691 | # Step 9: Compile sources in parallel | COMMENT |
| LOW | ci/wasm_build_library.py | 745 | # Step 10: Collect all object files | COMMENT |
| LOW⚡ | ci/clean-worktrees.py | 178 | # Step 1: plain git worktree remove --force | COMMENT |
| LOW⚡ | ci/clean-worktrees.py | 183 | # Step 2: clear read-only attrs, retry | COMMENT |
| LOW | ci/clean-worktrees.py | 205 | # Step 3: clud trash as last-resort quarantine | COMMENT |
| LOW⚡ | ci/profile_runner.py | 382 | # Step 1: Generate profiler | COMMENT |
| LOW⚡ | ci/profile_runner.py | 386 | # Step 2: Build profiler | COMMENT |
| LOW⚡ | ci/profile_runner.py | 390 | # Step 3: Run benchmarks | COMMENT |
| LOW⚡ | ci/profile_runner.py | 394 | # Step 4: Analyze results | COMMENT |
| LOW⚡ | ci/profile_runner.py | 398 | # Step 5: Optional callgrind analysis | COMMENT |
| LOW | ci/boards.py | 925 | framework="arduino", # IMPORTANT: Do not add "espidf" - see comment above | CODE |
| LOW⚡ | ci/autoresearch/ble.py | 60 | # Step 1: Connect to device via serial RPC | COMMENT |
| LOW⚡ | ci/autoresearch/ble.py | 68 | # Step 2: Start BLE on device via serial RPC | COMMENT |
| LOW⚡ | ci/autoresearch/ble.py | 120 | # Step 4: Send ping over BLE | COMMENT |
| LOW⚡ | ci/autoresearch/ble.py | 195 | # Step 6: Clean up — stop BLE via serial | COMMENT |
| LOW | ci/autoresearch/ble.py | 99 | # Step 3: Connect to device via BLE | COMMENT |
| LOW | ci/autoresearch/ble.py | 133 | # Step 5: Read response | COMMENT |
| LOW⚡ | ci/autoresearch/ota.py | 562 | # Step 2: Connect host to ESP32 WiFi AP | COMMENT |
| LOW⚡ | ci/autoresearch/ota.py | 568 | # Step 3: Run HTTP tests | COMMENT |
| LOW | ci/autoresearch/ota.py | 538 | # Step 1: Start OTA on device | COMMENT |
| LOW⚡ | ci/lint/clang_tidy/noexcept_platforms.py | 50 | # Step 1: Find clang-query | COMMENT |
| LOW⚡ | ci/lint/clang_tidy/noexcept_platforms.py | 77 | # Step 2: AST query for functions missing noexcept | COMMENT |
| LOW⚡ | ci/lint/clang_tidy/noexcept_platforms.py | 149 | # Step 3: Insert FL_NO_EXCEPT into function signatures | COMMENT |
| LOW⚡ | ci/lint/clang_tidy/noexcept_platforms.py | 259 | # Step 4: Apply fixes to files | COMMENT |
| LOW⚡ | ci/tools/add_fl_noexcept.py | 49 | # Step 1: Use clang-query to find functions missing noexcept (AST-accurate) | COMMENT |
| LOW⚡ | ci/tools/add_fl_noexcept.py | 128 | # Step 2: Insert FL_NO_EXCEPT at the correct position | COMMENT |
| LOW | ci/tools/add_fl_noexcept.py | 266 | # Step 1: Get AST-accurate list | COMMENT |
| LOW | ci/tools/add_fl_noexcept.py | 281 | # Step 2: Process each file | COMMENT |
| LOW⚡ | ci/meson/runner_helpers.py | 134 | # Step 2: Delete .ninja_deps to force full dependency re-scan | COMMENT |
| LOW⚡ | ci/meson/runner_helpers.py | 143 | # Step 3: Clear metadata caches | COMMENT |
| LOW⚡ | ci/meson/runner_helpers.py | 163 | # Step 4: Clean build artifacts (stale .obj files referencing old headers) | COMMENT |
| LOW⚡ | ci/meson/runner_helpers.py | 166 | # Step 5: Force Meson reconfiguration | COMMENT |
| LOW | ci/meson/runner_helpers.py | 112 | # Step 1: Clean stale ninja deps using ninja -t cleandead | COMMENT |
| LOW | ci/meson/compile.py | 766 | # WARNING: The milestone detection below (is_key_milestone) requires quiet=False! | COMMENT |
| LOW | ci/runners/avr8js_runner.py | 105 | # Step 1: Show what we're compiling | COMMENT |
| LOW | ci/runners/avr8js_runner.py | 146 | # Step 2: Locate compiled firmware | COMMENT |
| LOW | ci/runners/avr8js_runner.py | 166 | # Step 3: Run in avr8js Docker | COMMENT |
| LOW⚡ | ci/refactor/add_fl_noexcept.py | 42 | # Step 3: Multi-line-aware FL_NO_EXCEPT insertion | COMMENT |
| LOW⚡ | ci/refactor/add_fl_noexcept.py | 276 | # Step 4: Ensure include | COMMENT |
| LOW⚡ | ci/refactor/add_fl_noexcept.py | 304 | # Step 5: Apply fixes | COMMENT |
| 120 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | build.py | 13 | CODE | |
| LOW | test.py | 5 | CODE | |
| LOW | mcp_server.py | 75 | CODE | |
| LOW | mcp_server.py | 78 | CODE | |
| LOW | mcp_server.py | 78 | CODE | |
| LOW | mcp_server.py | 78 | CODE | |
| LOW | ci/scan_singleton_elision.py | 24 | CODE | |
| LOW | ci/color_reference.py | 13 | CODE | |
| LOW | ci/early_exit_cache.py | 16 | CODE | |
| LOW | ci/color_wide_hull_study.py | 24 | CODE | |
| LOW | ci/color_lightness_headroom_study.py | 29 | CODE | |
| LOW | ci/color_lightness_headroom_study.py | 32 | CODE | |
| LOW | ci/color_profile_generator.py | 24 | CODE | |
| LOW | ci/bloat.py | 52 | CODE | |
| LOW | ci/color_rgbw_study.py | 21 | CODE | |
| LOW | ci/color_ray_roots.py | 49 | CODE | |
| LOW | ci/color_reference_export.py | 20 | CODE | |
| LOW | ci/color_fixed_inverse_study.py | 38 | CODE | |
| LOW | ci/ci-compile.py | 1 | CODE | |
| LOW | ci/esbuild_frontend.py | 1 | CODE | |
| LOW | ci/rpc_client.py | 35 | CODE | |
| LOW | ci/run-clang-format.py | 12 | CODE | |
| LOW | ci/run-clang-format.py | 12 | CODE | |
| LOW | ci/clean-worktrees.py | 20 | CODE | |
| LOW | ci/color_fixed_profile_study.py | 26 | CODE | |
| LOW | ci/color_fixed_profile_study.py | 34 | CODE | |
| LOW | ci/bin_bloat_attribute.py | 9 | CODE | |
| LOW | ci/color_profile_freshness.py | 20 | CODE | |
| LOW | ci/color_gamut_study.py | 14 | CODE | |
| LOW | ci/color_gamut_study.py | 21 | CODE | |
| LOW | ci/generate_profile_header.py | 8 | CODE | |
| LOW | ci/github_project_drift_sync.py | 25 | CODE | |
| LOW | ci/github_project_sync.py | 13 | CODE | |
| LOW | ci/color_reference_corpus.py | 8 | CODE | |
| LOW | ci/bin_bloat_analysis.py | 10 | CODE | |
| LOW | ci/fix_has_include.py | 26 | CODE | |
| LOW | ci/fix_has_include.py | 26 | CODE | |
| LOW | ci/autoresearch/runner.py | 11 | CODE | |
| LOW | ci/autoresearch/ble.py | 11 | CODE | |
| LOW | ci/autoresearch/ble.py | 15 | CODE | |
| LOW | ci/autoresearch/ble.py | 26 | CODE | |
| LOW | ci/autoresearch/test_lpc_pin_toggle_rx.py | 34 | CODE | |
| LOW | ci/autoresearch/test_lpc_pin_toggle_rx.py | 37 | CODE | |
| LOW | ci/autoresearch/test_lpc_pin_toggle_rx.py | 39 | CODE | |
| LOW | ci/autoresearch/test_lpc_pin_toggle_rx.py | 41 | CODE | |
| LOW | ci/autoresearch/test_lpc_pin_toggle_rx.py | 42 | CODE | |
| LOW | ci/autoresearch/test_flexio_rx_squarewave.py | 26 | CODE | |
| LOW | ci/autoresearch/test_flexio_rx_squarewave.py | 29 | CODE | |
| LOW | ci/autoresearch/test_flexio_rx_squarewave.py | 31 | CODE | |
| LOW | ci/autoresearch/test_flexio_rx_squarewave.py | 33 | CODE | |
| LOW | ci/autoresearch/test_flexio_rx_objectfled.py | 24 | CODE | |
| LOW | ci/autoresearch/test_flexio_rx_objectfled.py | 27 | CODE | |
| LOW | ci/autoresearch/test_flexio_rx_objectfled.py | 29 | CODE | |
| LOW | ci/autoresearch/test_flexio_rx_objectfled.py | 31 | CODE | |
| LOW | ci/autoresearch/usb_power.py | 21 | CODE | |
| LOW | ci/autoresearch/build_driver.py | 3 | CODE | |
| LOW | ci/autoresearch/net.py | 25 | CODE | |
| LOW | ci/autoresearch/net.py | 27 | CODE | |
| LOW | ci/autoresearch/test_rp_spi_loopback.py | 9 | CODE | |
| LOW | ci/autoresearch/test_rp_spi_public_api.py | 3 | CODE | |
| 268 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | mcp_server.py | 2754 | "globalThis.fastLEDFrameCount || 0" | CODE |
| HIGH | ci/wasm_audio_url_test.py | 207 | const frameCount = globalThis.fastLEDFrameCount || 0; | STRING |
| HIGH | ci/wasm_audio_url_test.py | 238 | return audio && audio.src && audio.src.length > 0; | STRING |
| HIGH | ci/wasm_audio_drag_drop_test.py | 175 | return await page.evaluate("globalThis.fastLEDFrameCount || 0") | CODE |
| HIGH | ci/wasm_audio_drag_drop_test.py | 413 | get: () => undefined, | STRING |
| HIGH | ci/wasm_audio_drag_drop_test.py | 425 | const msg = 'WORKER ERROR: ' + (e.message || e); | STRING |
| HIGH | ci/wasm_audio_drag_drop_test.py | 426 | window._workerErrors.push(msg); | STRING |
| HIGH | ci/wasm_audio_drag_drop_test.py | 469 | const frameCount = globalThis.fastLEDFrameCount || 0; | STRING |
| HIGH | ci/wasm_audio_drag_drop_test.py | 570 | if (label && label.textContent.includes('Brightness')) { | CODE |
| HIGH | ci/wasm_audio_drag_drop_test.py | 631 | workerActive: wm.isWorkerActive || false, | CODE |
| HIGH | ci/wasm_audio_drag_drop_test.py | 660 | workerMessages: window._workerMessages || 0, | CODE |
| HIGH | ci/rpc_client.py | 623 | # Determine success: void functions return null, treat as success | COMMENT |
| HIGH | ci/rpc_client.py | 795 | # Determine success: void functions return null, treat as success | COMMENT |
| HIGH | ci/test_rpc_edge_cases.py | 8 | 1. Different result types (null, string, number, boolean, array, dict) | STRING |
| HIGH⚡ | ci/test_rpc_edge_cases.py | 43 | json_response='{"jsonrpc":"2.0","result":null,"id":1}', | CODE |
| HIGH | ci/test_rpc_edge_cases.py | 136 | json_response='{"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid params"},"result":null,"id":14}', | CODE |
| HIGH | ci/test_rpc_edge_cases.py | 167 | json_response='{"jsonrpc":"2.0","result":{"key1":null,"key2":"value"},"id":17}', | CODE |
| HIGH | ci/test_rpc_edge_cases.py | 223 | # Determine success: void functions return null, treat as success | COMMENT |
| HIGH | ci/wasm_test.py | 281 | const frameCount = globalThis.fastLEDFrameCount || 0; | STRING |
| HIGH | ci/autoresearch/ble.py | 145 | for parsed in assembler.push(fragment): | CODE |
| HIGH | ci/tests/test_add_fl_noexcept.py | 60 | "auto read(int count) const && FL_NO_EXCEPT -> decltype(count) { return count; }", | CODE |
| HIGH | ci/tests/test_ci_labels.py | 109 | assert "ref: ${{ github.event.pull_request.head.sha || github.sha }}" in text | CODE |
| HIGH | ci/tests/test_native_ci_modes.py | 75 | assert "github.event.pull_request.head.sha || github.sha" in source | CODE |
| HIGH⚡ | ci/tests/test_wasm_graphics_browser.py | 66 | if (diameter !== null) strip.diameter = diameter; | STRING |
| HIGH⚡ | ci/tests/test_wasm_graphics_browser.py | 73 | const lit = manager.texData.filter((value, index) => index % 3 === 0 && value === 255).length; | STRING |
| HIGH⚡ | ci/tests/test_wasm_graphics_browser.py | 111 | results.push({width: manager.gridWidth, height: manager.gridHeight, | STRING |
| HIGH⚡ | ci/tests/test_wasm_graphics_browser.py | 112 | red: manager.texData.filter((v, i) => i % 3 === 0 && v === 255).length, | STRING |
| HIGH⚡ | ci/tests/test_wasm_graphics_browser.py | 113 | blue: manager.texData.filter((v, i) => i % 3 === 2 && v === 255).length, | STRING |
| HIGH | ci/tests/test_wasm_graphics_browser.py | 145 | for (let col = 0; col < width; col++) { x.push(col); y.push(row); } | STRING |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 38 | values = asm.push(_pong()) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 50 | collected.extend(asm.push(fragment)) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 57 | first = asm.push(_pong(1)) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 58 | second = asm.push(_pong(2)) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 66 | values = asm.push(_pong(1) + _pong(2)) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 72 | self.assertEqual(asm.push(REMOTE_PREFIX + "{not json"), []) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 73 | values = asm.push(_pong(7)) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 80 | noise = asm.push(REMOTE_PREFIX + '{"jsonrpc":"2.0","id":0,"result":{}}') | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 82 | values = asm.push(_pong(2)) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 99 | collected.extend(asm.push(fragment)) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 108 | self.assertEqual(asm.push(REMOTE_PREFIX + '{"id":1,"result":{"mess'), []) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 110 | values = asm.push(_pong(11)) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 118 | self.assertEqual(asm.push(head), []) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 120 | values = asm.push(tail) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 127 | values = asm.push('{"jsonrpc":"2.0","id":9,"result":{"message":"pong"}}') | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 133 | values = asm.push("\n" + _pong(4) + "\n") | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 135 | values = asm.push(" " + _pong(5) + " \n") | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 140 | self.assertEqual(asm.push("{" + "x" * 200), []) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 143 | values = asm.push(_pong(6)) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 148 | asm.push(_pong(8)[:20]) | CODE |
| HIGH⚡ | ci/tests/test_ble_notification_assembler.py | 152 | values = asm.push(_pong(9)) | CODE |
| HIGH | ci/hooks/rust_tool_guard.py | 28 | contains ` <tool> ` mid-chain (catches `cd /some/path && cargo | STRING |
| HIGH | ci/hooks/rust_tool_guard.py | 149 | (catches `cd /x && cargo build`, `(cd y; rustc …)`, etc.). | STRING |
| HIGH | ci/codec_cpu/device_profile.py | 124 | "source /home/niteris/.clud/tmp/nixcompat/env.sh 2>/dev/null; " | CODE |
| HIGH | ci/codec_cpu/callgrind.py | 151 | if (!buf || fread(buf, 1, (size_t)n, f) != (size_t)n) { fclose(f); free(buf); return 1; } | CODE |
| HIGH | ci/compiler/asset_scanner.py | 39 | "sha256": null, | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test.py | 201 | CODE | |
| LOW | test.py | 296 | CODE | |
| LOW | mcp_server.py | 551 | CODE | |
| LOW | mcp_server.py | 1264 | CODE | |
| LOW | mcp_server.py | 1471 | CODE | |
| LOW | mcp_server.py | 1745 | CODE | |
| LOW | mcp_server.py | 1940 | CODE | |
| LOW | mcp_server.py | 2364 | CODE | |
| LOW | ci/scan_singleton_elision.py | 69 | CODE | |
| LOW | ci/scan_singleton_elision.py | 219 | CODE | |
| LOW | ci/color_reference.py | 548 | CODE | |
| LOW | ci/early_exit_cache.py | 91 | CODE | |
| LOW | ci/early_exit_cache.py | 137 | CODE | |
| LOW | ci/early_exit_cache.py | 548 | CODE | |
| LOW | ci/decode_esp32_backtrace.py | 34 | CODE | |
| LOW | ci/decode_esp32_backtrace.py | 105 | CODE | |
| LOW | ci/test_all_lint_caches_stress.py | 249 | CODE | |
| LOW | ci/test_all_lint_caches_stress.py | 290 | CODE | |
| LOW | ci/autoresearch_loop.py | 93 | CODE | |
| LOW | ci/color_lightness_headroom_study.py | 222 | CODE | |
| LOW | ci/iwyu_wrapper.py | 72 | CODE | |
| LOW | ci/bloat.py | 543 | CODE | |
| LOW | ci/inspect_obj.py | 30 | CODE | |
| LOW | ci/run_tests.py | 69 | CODE | |
| LOW | ci/run_tests.py | 182 | CODE | |
| LOW | ci/run_tests.py | 252 | CODE | |
| LOW | ci/run_tests.py | 358 | CODE | |
| LOW | ci/wasm_build.py | 153 | CODE | |
| LOW | ci/wasm_build.py | 455 | CODE | |
| LOW | ci/wasm_build.py | 684 | CODE | |
| LOW | ci/wasm_build.py | 775 | CODE | |
| LOW | ci/wasm_build.py | 1017 | CODE | |
| LOW | ci/wasm_build.py | 1174 | CODE | |
| LOW | ci/wasm_build.py | 1276 | CODE | |
| LOW | ci/wasm_build.py | 1677 | CODE | |
| LOW | ci/wasm_build.py | 1758 | CODE | |
| LOW | ci/wasm_build.py | 170 | CODE | |
| LOW | ci/color_rgbw_study.py | 98 | CODE | |
| LOW | ci/color_rgbw_study.py | 245 | CODE | |
| LOW | ci/color_rgbw_study.py | 312 | CODE | |
| LOW | ci/debug_attached.py | 332 | CODE | |
| LOW | ci/compile_pch.py | 131 | CODE | |
| LOW | ci/compile_pch.py | 182 | CODE | |
| LOW | ci/compile_pch.py | 286 | CODE | |
| LOW | ci/wasm_build_library.py | 533 | CODE | |
| LOW | ci/test_hash_fingerprint_stress.py | 436 | CODE | |
| LOW | ci/color_ray_roots.py | 269 | CODE | |
| LOW | ci/wasm_audio_url_test.py | 119 | CODE | |
| LOW | ci/rpc_schema_validator.py | 131 | CODE | |
| LOW | ci/wasm_audio_drag_drop_test.py | 178 | CODE | |
| LOW | ci/ci-compile.py | 45 | CODE | |
| LOW | ci/ci-compile.py | 145 | CODE | |
| LOW | ci/replace_extern_c.py | 35 | CODE | |
| LOW | ci/autoresearch_agent.py | 159 | CODE | |
| LOW | ci/autoresearch_agent.py | 313 | CODE | |
| LOW | ci/rpc_client.py | 369 | CODE | |
| LOW | ci/rpc_client.py | 505 | CODE | |
| LOW | ci/rpc_client.py | 661 | CODE | |
| LOW | ci/run-clang-format.py | 43 | CODE | |
| LOW | ci/run-clang-format.py | 62 | CODE | |
| 265 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ci/wasm_build.py | 461 | # Step 1: Clean stale ninja outputs | COMMENT |
| LOW⚡ | ci/wasm_build.py | 479 | # Step 2: Delete .ninja_deps to force full dependency re-scan | COMMENT |
| LOW⚡ | ci/wasm_build.py | 488 | # Step 3: Clear metadata caches | COMMENT |
| LOW⚡ | ci/wasm_build.py | 1784 | # Step 1: Configure meson | COMMENT |
| LOW⚡ | ci/wasm_build.py | 1788 | # Step 2: Build library via ninja (skipped if source fingerprint matches) | COMMENT |
| LOW⚡ | ci/wasm_build.py | 1802 | # Step 3: Create wrapper and compile sketch (per-sketch cache) | COMMENT |
| LOW⚡ | ci/wasm_build.py | 1810 | # Step 4: Link (per-sketch cache, copy to output) | COMMENT |
| LOW | ci/wasm_build.py | 503 | # Step 4: Force Meson reconfiguration | COMMENT |
| LOW | ci/wasm_build.py | 1856 | # Step 5: Copy templates and generate manifest | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 566 | # Step 1: Create build directories (including LTO cache and unity) | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 572 | # Step 2: Ensure PCH is built | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 583 | # Step 3: Get tool commands | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 593 | # Step 4: Load build flags | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 601 | # Step 5: Load metadata from previous build | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 604 | # Step 6: Discover all source files (or unity files if enabled) | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 614 | # Step 7: Fast-path check - if flags haven't changed, PCH is same, and archive exists, we're done | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 765 | # Step 11: Partial linking optimization (combine all objects into one) | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 814 | # Step 12: Create thin archive from partial object (single file, much faster) | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 821 | # Step 13: Save metadata for future builds | COMMENT |
| LOW | ci/wasm_build_library.py | 636 | # Step 8: Determine which sources need compilation (detailed check) | COMMENT |
| LOW | ci/wasm_build_library.py | 691 | # Step 9: Compile sources in parallel | COMMENT |
| LOW | ci/wasm_build_library.py | 745 | # Step 10: Collect all object files | COMMENT |
| LOW⚡ | ci/clean-worktrees.py | 178 | # Step 1: plain git worktree remove --force | COMMENT |
| LOW⚡ | ci/clean-worktrees.py | 183 | # Step 2: clear read-only attrs, retry | COMMENT |
| LOW | ci/clean-worktrees.py | 205 | # Step 3: clud trash as last-resort quarantine | COMMENT |
| LOW⚡ | ci/profile_runner.py | 382 | # Step 1: Generate profiler | COMMENT |
| LOW⚡ | ci/profile_runner.py | 386 | # Step 2: Build profiler | COMMENT |
| LOW⚡ | ci/profile_runner.py | 390 | # Step 3: Run benchmarks | COMMENT |
| LOW⚡ | ci/profile_runner.py | 394 | # Step 4: Analyze results | COMMENT |
| LOW⚡ | ci/profile_runner.py | 398 | # Step 5: Optional callgrind analysis | COMMENT |
| LOW⚡ | ci/autoresearch/ble.py | 60 | # Step 1: Connect to device via serial RPC | COMMENT |
| LOW⚡ | ci/autoresearch/ble.py | 68 | # Step 2: Start BLE on device via serial RPC | COMMENT |
| LOW⚡ | ci/autoresearch/ble.py | 120 | # Step 4: Send ping over BLE | COMMENT |
| LOW⚡ | ci/autoresearch/ble.py | 195 | # Step 6: Clean up — stop BLE via serial | COMMENT |
| LOW | ci/autoresearch/ble.py | 99 | # Step 3: Connect to device via BLE | COMMENT |
| LOW | ci/autoresearch/ble.py | 133 | # Step 5: Read response | COMMENT |
| LOW⚡ | ci/autoresearch/ota.py | 562 | # Step 2: Connect host to ESP32 WiFi AP | COMMENT |
| LOW⚡ | ci/autoresearch/ota.py | 568 | # Step 3: Run HTTP tests | COMMENT |
| LOW | ci/autoresearch/ota.py | 538 | # Step 1: Start OTA on device | COMMENT |
| LOW⚡ | ci/lint/clang_tidy/noexcept_platforms.py | 50 | # Step 1: Find clang-query | COMMENT |
| LOW⚡ | ci/lint/clang_tidy/noexcept_platforms.py | 77 | # Step 2: AST query for functions missing noexcept | COMMENT |
| LOW⚡ | ci/lint/clang_tidy/noexcept_platforms.py | 149 | # Step 3: Insert FL_NO_EXCEPT into function signatures | COMMENT |
| LOW⚡ | ci/lint/clang_tidy/noexcept_platforms.py | 259 | # Step 4: Apply fixes to files | COMMENT |
| LOW⚡ | ci/tools/add_fl_noexcept.py | 49 | # Step 1: Use clang-query to find functions missing noexcept (AST-accurate) | COMMENT |
| LOW⚡ | ci/tools/add_fl_noexcept.py | 128 | # Step 2: Insert FL_NO_EXCEPT at the correct position | COMMENT |
| LOW | ci/tools/add_fl_noexcept.py | 266 | # Step 1: Get AST-accurate list | COMMENT |
| LOW | ci/tools/add_fl_noexcept.py | 281 | # Step 2: Process each file | COMMENT |
| LOW⚡ | ci/meson/runner_helpers.py | 134 | # Step 2: Delete .ninja_deps to force full dependency re-scan | COMMENT |
| LOW⚡ | ci/meson/runner_helpers.py | 143 | # Step 3: Clear metadata caches | COMMENT |
| LOW⚡ | ci/meson/runner_helpers.py | 163 | # Step 4: Clean build artifacts (stale .obj files referencing old headers) | COMMENT |
| LOW⚡ | ci/meson/runner_helpers.py | 166 | # Step 5: Force Meson reconfiguration | COMMENT |
| LOW | ci/meson/runner_helpers.py | 112 | # Step 1: Clean stale ninja deps using ninja -t cleandead | COMMENT |
| LOW | ci/runners/avr8js_runner.py | 105 | # Step 1: Show what we're compiling | COMMENT |
| LOW | ci/runners/avr8js_runner.py | 146 | # Step 2: Locate compiled firmware | COMMENT |
| LOW | ci/runners/avr8js_runner.py | 166 | # Step 3: Run in avr8js Docker | COMMENT |
| LOW⚡ | ci/refactor/add_fl_noexcept.py | 42 | # Step 3: Multi-line-aware FL_NO_EXCEPT insertion | COMMENT |
| LOW⚡ | ci/refactor/add_fl_noexcept.py | 276 | # Step 4: Ensure include | COMMENT |
| LOW⚡ | ci/refactor/add_fl_noexcept.py | 304 | # Step 5: Apply fixes | COMMENT |
| LOW | ci/debug/port_diagnostic.py | 169 | # Step 1: Try to identify processes with the port open as a file handle | COMMENT |
| LOW | ci/debug/port_diagnostic.py | 200 | # Step 2: List all processes that match kill patterns | COMMENT |
| 69 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tidy.sh | 46 | # Check if IWYU is available | COMMENT |
| LOW | test.py | 143 | # Check if we already warned about these exact dumps | COMMENT |
| LOW | test.py | 556 | # Check if we need to use sequential execution to avoid resource conflicts | COMMENT |
| LOW | mcp_server.py | 1564 | # Check if it has a .ino file | COMMENT |
| LOW | mcp_server.py | 1587 | # Check if key files exist | COMMENT |
| LOW | mcp_server.py | 1693 | # Check if tests passed by looking for common failure indicators | COMMENT |
| LOW | mcp_server.py | 2048 | # Check if ELF file exists | COMMENT |
| LOW | mcp_server.py | 2128 | # Check if FastLED-related | COMMENT |
| LOW | mcp_server.py | 2149 | # Check if large symbol | COMMENT |
| LOW | mcp_server.py | 2443 | # Check if this is an approved include | COMMENT |
| LOW | mcp_server.py | 2525 | # Check if this is a background agent and refuse to run | COMMENT |
| LOW | mcp_server.py | 2553 | # Check if fastled command is available | COMMENT |
| LOW | mcp_server.py | 2567 | # Check if Docker is available (optional) | COMMENT |
| LOW | mcp_server.py | 2575 | # Check if playwright is available | COMMENT |
| LOW | mcp_server.py | 2752 | # Check if FastLED initialized | COMMENT |
| LOW | ci/wasm_compile.py | 90 | # Check if sketch is filtered out for WASM platform | COMMENT |
| LOW | ci/decode_esp32_backtrace.py | 248 | # Check if addresses provided on command line | STRING |
| LOW | ci/wasm_compile_native.py | 130 | # Check if any input is newer than output | STRING |
| LOW | ci/wasm_compile_native.py | 184 | # Check if compilation is needed | STRING |
| LOW | ci/wasm_compile_native.py | 314 | # Check if linking is needed (incremental linking) | STRING |
| LOW | ci/inspect_obj.py | 95 | # Check if object file was provided and exists | COMMENT |
| LOW | ci/run_tests.py | 192 | # Check if this directory has actual executable test files | COMMENT |
| LOW | ci/wasm_build.py | 693 | # Check if source file list changed since last configure | COMMENT |
| LOW | ci/wasm_build.py | 766 | # Write file list hash marker for future staleness detection | COMMENT |
| LOW | ci/wasm_build.py | 947 | # Check if header unit BMI is up-to-date | COMMENT |
| LOW | ci/wasm_build.py | 1193 | # Check if recompilation needed (mtime check against wrapper, .ino, extra .cpp, and library) | COMMENT |
| LOW | ci/wasm_build.py | 1529 | # Check if linking needed (compare inputs vs cached output) | COMMENT |
| LOW | ci/debug_attached.py | 900 | # Check if all expect patterns were found | COMMENT |
| LOW | ci/js_lint_cache.py | 104 | # Check if linting is needed | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 184 | # Check if flags changed | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 188 | # Check if PCH changed | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 195 | # Check if source file changed | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 201 | # Check if any header dependency changed | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 621 | # Check if PCH was rebuilt (would invalidate all objects) | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 770 | # Check if partial object needs to be regenerated | COMMENT |
| LOW⚡ | ci/wasm_build_library.py | 773 | # Check if any input object is newer | COMMENT |
| LOW | ci/wasm_audio_drag_drop_test.py | 523 | # Check if we've seen the key diagnostic messages | COMMENT |
| LOW | ci/cpp_lint_cache.py | 148 | # Check if linting is needed | COMMENT |
| LOW | ci/ci-compile.py | 290 | # Check if we're compiling Esp32C3_SPI_ISR and auto-enable validation | COMMENT |
| LOW | ci/ci-compile.py | 361 | # Check if compilation stopped early due to max_failures | COMMENT |
| LOW | ci/replace_extern_c.py | 87 | # Check if compiler_control.h is already included | COMMENT |
| LOW | ci/autoresearch_agent.py | 342 | # Check if using streaming mode | COMMENT |
| LOW | ci/rpc_client.py | 591 | # Check if response ID matches request ID (JSON-RPC 2.0 correlation) | COMMENT |
| LOW | ci/rpc_client.py | 598 | # Check if match_key is present | COMMENT |
| LOW | ci/rpc_client.py | 719 | # Check if response ID matches expected ID (JSON-RPC 2.0 correlation) | COMMENT |
| LOW | ci/rpc_client.py | 760 | # Check if this is an ACK for async function (skip and continue waiting) | COMMENT |
| LOW | ci/python_lint_cache.py | 108 | # Check if pyright is needed | COMMENT |
| LOW | ci/wasm_compile_pch.py | 292 | # Check if any dependencies have changed (NEW: dependency tracking) | COMMENT |
| LOW | ci/wasm_compile_pch.py | 464 | # Check if rebuild is needed | COMMENT |
| LOW | ci/boards.py | 115 | # Check if framework is set, warn and auto-set to arduino if missing (except for native/stub platforms) | COMMENT |
| LOW | ci/boards.py | 187 | # Check if define contains any problematic patterns | COMMENT |
| LOW | ci/fix_has_include.py | 87 | # Check if any line is NOT a definition | COMMENT |
| LOW | ci/autoresearch/net.py | 406 | # Display results | COMMENT |
| LOW | ci/autoresearch/net.py | 1417 | # Display results | COMMENT |
| LOW | ci/autoresearch/decode.py | 236 | # Display results | COMMENT |
| LOW | ci/autoresearch/decode.py | 313 | # Read file and base64-encode into JSON-RPC payload | COMMENT |
| LOW | ci/lint/stage_impls.py | 119 | # Print output for failed files | COMMENT |
| LOW | ci/lint/stage_impls.py | 178 | # Check if linting is needed | COMMENT |
| LOW | ci/lint/stage_impls.py | 353 | # Check if fast linting is available | COMMENT |
| LOW⚡ | ci/tools/gh_debug.py | 355 | # Check if line should be excluded (tool warnings) | COMMENT |
| 82 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ci/early_exit_cache.py | 385 | Check if full test suite result is cached (stdlib only, no ci.* imports). Verifies that: 1. Full run cache fi | STRING |
| HIGH | ci/standardized_smoke_sketches.py | 78 | Parse the manifest and return entries with line-number metadata. Comments (``#`` to end of line) and blank lines ar | STRING |
| HIGH | ci/compiled_size.py | 36 | Find build_info.json for a board, with optional example-specific search. Args: board: Board name ex | STRING |
| HIGH | ci/autoresearch_agent.py | 138 | Send JSON-RPC command and wait for response. Args: function: RPC function name (e.g., "configure", | STRING |
| HIGH | ci/rpc_client.py | 420 | Send JSON-RPC command and wait for response with mandatory ID correlation (async). Args: function: | STRING |
| HIGH | ci/rpc_client.py | 513 | Send RPC and wait for response containing specific key with mandatory ID correlation (async). Useful when devic | STRING |
| HIGH | ci/rpc_client.py | 664 | Wait for and parse JSON-RPC response with mandatory ID matching (async). Args: timeout: Maximum tim | STRING |
| HIGH | ci/autoresearch/staging.py | 84 | Stage ``.build/fbuild/<board>/`` and write a synthesised ``platformio.ini``. Args: board_name: fbuild env n | STRING |
| HIGH | ci/fingerprint/config.py | 110 | Get a predefined cache configuration by name. Args: name: Cache name (e.g., "cpp_lint", "python_test", | STRING |
| HIGH | ci/fingerprint/rules.py | 163 | Get glob patterns for files monitored by a specific cache. This defines what files each cache should t | STRING |
| HIGH | ci/fingerprint/core.py | 125 | Compute MD5 hash of file content. Args: file_path: Path to file to hash Returns: | STRING |
| HIGH | ci/fingerprint/core.py | 148 | Determine if a source file has changed since the last known modification time. Two-layer verification | STRING |
| HIGH | ci/util/check_files.py | 162 | Read file content, using cache to avoid redundant I/O. Args: file_path: Path to the file to read | STRING |
| HIGH | ci/util/json_rpc_handler.py | 96 | Parse JSON-RPC commands from CLI argument. Supports three formats: 1. JSON string: '{"method":"ping","params":[ | STRING |
| HIGH | ci/util/github_url_converter.py | 13 | Convert a GitHub URL to a downloadable zip URL if possible. Args: url: GitHub URL (can be git, https, | STRING |
| HIGH | ci/util/sketch_resolver.py | 24 | Resolve sketch argument to examples directory path. Handles various input formats and performs disambiguation when | STRING |
| HIGH | ci/util/sketch_resolver.py | 104 | Parse timeout string with optional suffix into seconds. Supported formats: - Plain number: "120" -> 120 sec | STRING |
| HIGH | ci/util/bin_2_elf.py | 15 | Run a command and capture the output. Args: command (list or str): Command to run. show_output | STRING |
| HIGH | ci/util/build_lock.py | 216 | Acquire the lock, waiting up to timeout seconds. Args: timeout: Maximum time to wait for l | STRING |
| HIGH | ci/util/build_lock.py | 354 | Context manager for acquiring libfastled build lock. Usage: with libfastled_build_lock(): | STRING |
| HIGH | ci/util/elf.py | 10 | Run a command and capture the output. Args: command (list): Command to run. show_output (bool) | STRING |
| HIGH | ci/util/meson_example_runner.py | 122 | Compile FastLED examples using Meson. Args: build_dir: Meson build directory examples: List of | STRING |
| HIGH | ci/util/meson_example_runner.py | 280 | Run compiled FastLED examples using Meson test runner. Args: build_dir: Meson build directory | STRING |
| HIGH | ci/util/meson_example_runner.py | 463 | Complete Meson example build and execution workflow. Args: source_dir: Project root directory | STRING |
| HIGH | ci/util/dependency_loader.py | 50 | Get file patterns (globs) for a given operation. Args: operation: Operation name (e.g., "p | STRING |
| HIGH | ci/util/dependency_loader.py | 86 | Get full operation definition. Args: operation: Operation name Returns: | STRING |
| HIGH | ci/util/pyserial_monitor.py | 133 | Stream lines from serial port (blocking iterator). This method reads lines from the serial port and yields them | STRING |
| HIGH | ci/util/pyserial_monitor.py | 197 | Write data to serial port. Args: data: String or bytes to write to serial port Returns: | STRING |
| HIGH | ci/meson/build_config.py | 106 | Set up Meson build directory. Args: source_dir: Project root directory containing meson.build | STRING |
| HIGH | ci/compiler/board_example_utils.py | 101 | Resolve example name to path, ensuring it exists. Args: example: Example name (e.g., "Blink" or "examples/B | STRING |
| HIGH | ci/compiler/board_example_utils.py | 148 | Get the path to the .ino file for an example. Args: example: Example name (e.g., "Blink" or "Fx/FxWave2d") | STRING |
| HIGH | ci/compiler/board_example_utils.py | 221 | Filter examples based on board capabilities. Args: board: Board configuration examples: List of exa | STRING |
| HIGH | ci/compiler/compiler.py | 53 | Build a list of examples with proper resource management. Args: examples: List of example names or | STRING |
| HIGH | ci/compiler/sketch_filter.py | 345 | Parse @filter block from .ino file. Supports both YAML-style (multi-line) and one-liner syntax. Colon after @fi | STRING |
| HIGH | ci/compiler/toolchain.py | 237 | Load build flags from build_flags.toml via ci.wasm_flags. Args: mode: Build mode (debug, fast_debug | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 295 | # up the lite-SCons extra_scripts harness work (FastLED/fbuild#553 | COMMENT |
| MEDIUM | mcp_server.py | 1488 | # Use the comprehensive bash lint script | COMMENT |
| MEDIUM | ci/autoresearch_loop.py | 102 | """Run comprehensive autoresearch loop across all configurations. | STRING |
| LOW | ci/debug_attached.py | 791 | # SerialMonitor exceptions are simpler - just pass | COMMENT |
| MEDIUM | ci/test_led_timing_conversion.py | 359 | """Verify we're testing a comprehensive set of chipsets.""" | STRING |
| MEDIUM | ci/boards.py | 857 | # residual gap needs a genuine app_main()-only harness project, which is | COMMENT |
| MEDIUM | ci/boards.py | 875 | # the IDF libs from source with comprehensive heap poisoning + end-of- | COMMENT |
| MEDIUM | ci/autoresearch/test_rp_spi_loopback.py | 114 | # script runs under `bash autoresearch`, the harness already holds | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 499 | # SPI+DMA harness (#3456) — LPC845 only. LPC804 has no DMA peripheral | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 1323 | # harness buffer (2 KB) push static RAM to 94% and the first RPC | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 1409 | # standalone examples/AutoResearchLpc/ harness was retired by FastLED #3030 | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 2609 | # BEFORE the gpio_only_mode early-return so the harness actually runs the | COMMENT |
| MEDIUM | ci/autoresearch/phases.py | 4059 | # "FAIL — rpSpiPublicApiLoopback dispatch result: None" while the harness's | COMMENT |
| MEDIUM | ci/autoresearch/args.py | 127 | # RP2040/RP2350 fixed-SPI DMA byte-loopback harness. | COMMENT |
| MEDIUM | ci/lint/__init__.py | 1 | """Lint module for FastLED comprehensive linting.""" | STRING |
| MEDIUM | ci/tools/gh/gh_healthcheck.py | 337 | """Print comprehensive health report. | STRING |
| MEDIUM⚡ | ci/util/symbol_analysis.py | 180 | """Analyze ALL symbols in ELF file using both nm and readelf for comprehensive coverage""" | STRING |
| MEDIUM | ci/util/symbol_analysis.py | 567 | """Generate a comprehensive report with optional call graph analysis""" | STRING |
| MEDIUM | ci/util/symbol_analysis.py | 896 | # Use comprehensive symbol analysis by default, basic only if requested | COMMENT |
| LOW⚡ | ci/util/git_historian.py | 274 | # Timeout or other error - just use whatever results we have | COMMENT |
| MEDIUM⚡ | ci/tests/test_color_gamut_study.py | 396 | # it, so the harness must count them all or raise. | COMMENT |
| MEDIUM | ci/tests/test_autoresearch_phases.py | 3310 | """FastLED#4207: the child's RPC client is inert while the harness still | STRING |
| MEDIUM | ci/tests/test_every_test_file_registers.py | 4 | them run is `#include "test.h"`, which pulls in the registration harness; | STRING |
| MEDIUM | ci/tests/test_every_test_file_registers.py | 24 | # Defines the harness rather than using it, so it is the one file that | COMMENT |
| MEDIUM | ci/codec_memory/audit.py | 40 | # the harness forwarded the decoder's block moves to libc, so glibc's `mem*` | COMMENT |
| MEDIUM | ci/codec_conformance/run.py | 237 | # Leaks are not what this pass is looking for and the harness exits without | COMMENT |
| LOW | ci/perf/compile_perf.py | 162 | # Otherwise just return the filename | COMMENT |
| MEDIUM | ci/compiler/packages.py | 134 | """Platform specification with comprehensive validation""" | STRING |
| MEDIUM | ci/compiler/packages.py | 315 | """Package containing platforms and tools with comprehensive validation""" | STRING |
| MEDIUM | ci/compiler/packages.py | 437 | """Enhanced parser with comprehensive validation and error handling""" | STRING |
| LOW | tests/test_helpers.py | 38 | # For other files, just use basename | COMMENT |
| MEDIUM | tests/fl/audio/audio_reactive.cpp | 609 | // constants — checking total energy is more robust. | COMMENT |
| MEDIUM | tests/fl/audio/detector/vocal.hpp | 1057 | // The margin is what matters for robust detection. If both drift equally | COMMENT |
| MEDIUM | tests/fl/chipsets/encoders/ws2812.hpp | 132 | // Test with a larger number of LEDs to ensure iteration is robust | COMMENT |
| MEDIUM | examples/AutoResearch/AutoResearchLowMemory.h | 100 | // FastLED #3468: channels-API SCT+DMA clockless AutoResearch harness. | COMMENT |
| MEDIUM | examples/AutoResearch/AutoResearchLowMemory.h | 111 | // FastLED #3456: LPC845 SPI+DMA async AutoResearch harness (Phase 1 of | COMMENT |
| MEDIUM | examples/AutoResearch/AutoResearchLowMemory.h | 127 | // #3453 follow-up: LPC845 async UART TX harness (DMA + ISR chunk chain) and | COMMENT |
| MEDIUM | examples/AutoResearch/AutoResearchLowMemory.h | 506 | // FastLED #3456: SPI+DMA async AutoResearch harness. Binds | COMMENT |
| MEDIUM | examples/AutoResearch/AutoResearchLowMemory.h | 513 | // #3453/#3611: UART DMA AutoResearch harness. Binds either the raw | COMMENT |
| MEDIUM | examples/Json/JsonSketch.h | 5 | /// emphasizing clean syntax, type safety, default values, and robust | COMMENT |
| MEDIUM | .github/workflows/mp3_cpu_audit.yml | 115 | # --verbose because the harness echoes a test's stdout only when it | COMMENT |
| MEDIUM | src/fastled_progmem.h | 18 | /// Wrapper definitions to allow seamless use of PROGMEM in environments that have it | COMMENT |
| MEDIUM | …sp/32/drivers/rmt_rx/rmt_rx_5/rmt_rx_channel_5.cpp.hpp | 609 | // Peekable wait() telemetry (FastLED#3586): harness tests run with logs | COMMENT |
| MEDIUM | …/platforms/esp/32/drivers/rmt/rmt_5/network_detector.h | 33 | /// // WiFi is enabled - use robust configuration | COMMENT |
| MEDIUM⚡ | src/platforms/wasm/compiler/build_flags.toml | 127 | # Includes address/undefined behavior sanitizers and comprehensive debug info generation. | COMMENT |
| MEDIUM⚡ | src/platforms/wasm/compiler/build_flags.toml | 409 | # These flags catch common programming errors and enforce coding best practices. | COMMENT |
| MEDIUM⚡ | src/platforms/wasm/compiler/build_flags.toml | 119 | "-Wall", # Enable comprehensive warnings for library code | CODE |
| MEDIUM | …platforms/wasm/compiler/modules/audio/audio_manager.ts | 600 | // Can be changed to return AUDIO_WORKLET when file loading is more robust | COMMENT |
| MEDIUM | src/platforms/neopixelbus/clockless.h | 10 | /// to leverage the extensive platform support and advanced features | COMMENT |
| MEDIUM | src/platforms/adafruit/clockless.h | 10 | /// to leverage the proven reliability and platform-specific optimizations | COMMENT |
| MEDIUM | src/platforms/arm/lpc/clockless_arm_lpc_plu.h | 29 | // * NXP video, "Part II: Creative ways to leverage the LPC804 MCU's | COMMENT |
| MEDIUM | src/platforms/arm/common/m0clockless.h | 62 | // Cortex-M0+, M3, M4, M7: C++ version can leverage faster hardware | COMMENT |
| MEDIUM | src/fl/fx/2d/wave.h | 221 | /// When enabled, creates a seamless horizontal loop effect. | COMMENT |
| MEDIUM | src/fl/stl/unordered_map_basic.h | 25 | // captures the part that's purely arithmetic with no leverage threshold. | COMMENT |
| MEDIUM | src/fl/stl/bit_cast.h | 4 | // Bit cast is a safe version of reinterpret_cast that is robust against strict aliasing rules | COMMENT |
| MEDIUM | src/fl/stl/not_null.h | 228 | // Allows seamless integration with existing APIs expecting raw pointers | COMMENT |
| MEDIUM | src/fl/math/filter/filter.h | 95 | // output than pure median, still robust to outliers. | COMMENT |
| MEDIUM | src/fl/math/filter/filter.h | 586 | // float robust = atm.value(); | COMMENT |
| MEDIUM | src/fl/audio/detector/tempo_analyzer.cpp.hpp | 77 | // itself survives unchanged so beat sync is seamless on audio re-entry. | COMMENT |
| MEDIUM | src/third_party/stb/stb_vorbis.h | 67 | // 1.10 - 2017-03-03 - more robust seeking; fix negative ilog(); clear error in open_memory | COMMENT |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ci/wasm_audio_url_test.py | 0 | (() => { const framecount = globalthis.fastledframecount || 0; const controllerrunning = !!( window.fastledcontroller && | STRING |
| HIGH | ci/wasm_audio_drag_drop_test.py | 0 | (() => { const framecount = globalthis.fastledframecount || 0; const controllerrunning = !!( window.fastledcontroller && | STRING |
| HIGH | ci/wasm_test.py | 0 | (() => { const framecount = globalthis.fastledframecount || 0; const controllerrunning = !!( window.fastledcontroller && | STRING |
| HIGH | ci/autoresearch/test_lpc_pin_toggle_rx.py | 0 | shim over rpcbench (`s`) so run_* keep their reply["result"] shape. device serial goes through fbuild's rust monitor (ne | STRING |
| HIGH | ci/autoresearch/test_flexio_rx_squarewave.py | 0 | shim over rpcbench (`s`) so run_* keep their reply["result"] shape. device serial goes through fbuild's rust monitor (ne | STRING |
| HIGH | ci/autoresearch/test_flexio_rx_objectfled.py | 0 | shim over rpcbench (`s`) so run_* keep their reply["result"] shape. device serial goes through fbuild's rust monitor (ne | STRING |
| HIGH | ci/autoresearch/test_lpc_ws2812_loopback.py | 0 | shim over rpcbench (`s`) so run_* keep their reply["result"] shape. device serial goes through fbuild's rust monitor (ne | STRING |
| HIGH | ci/lint/clang_tidy/noexcept_platforms.py | 0 | add #include "fl/stl/noexcept.h" if not present. returns true if added. | STRING |
| HIGH | ci/tools/add_fl_noexcept.py | 0 | add #include "fl/stl/noexcept.h" if not present. returns true if added. | STRING |
| HIGH | ci/refactor/add_fl_noexcept.py | 0 | add #include "fl/stl/noexcept.h" if not present. returns true if added. | STRING |
| HIGH | ci/lint_python/sys_path_checker.py | 0 | walk paths and return all .py files, filtering out excludes. | STRING |
| HIGH | ci/lint_python/dict_type_checker.py | 0 | walk paths and return all .py files, filtering out excludes. | STRING |
| HIGH | ci/lint_python/subprocess_capture_checker.py | 0 | walk paths and return all .py files, filtering out excludes. | STRING |
| HIGH | ci/tests/test_fixed_point_divide_codegen.py | 0 | parse `<compiler> --version` into a sortable tuple (0 on failure). | STRING |
| HIGH | ci/tests/test_q16_inverse_is_float_free.py | 0 | parse `<compiler> --version` into a sortable tuple (0 on failure). | STRING |
| HIGH | ci/tests/test_simd_dispatch.py | 0 | parse `<compiler> --version` into a sortable tuple (0 on failure). | STRING |
| HIGH | ci/tests/test_fixed_point_divide_codegen.py | 0 | every `bin/<name>` under fbuild's toolchain cache, newest gcc first. the cache holds one toolchain per board family; a b | STRING |
| HIGH | ci/tests/test_q16_inverse_is_float_free.py | 0 | every `bin/<name>` under fbuild's toolchain cache, newest gcc first. the cache holds one toolchain per board family; a b | STRING |
| HIGH | ci/tests/test_simd_dispatch.py | 0 | every `bin/<name>` under fbuild's toolchain cache, newest gcc first. the cache holds one toolchain per board family; a b | STRING |
| HIGH | ci/hooks/auto_test_suggest.py | 0 | extract file path from claude code hook json input. | STRING |
| HIGH | ci/hooks/lint-on-save.py | 0 | extract file path from claude code hook json input. | STRING |
| HIGH | ci/hooks/compile_example.py | 0 | extract file path from claude code hook json input. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 213 | # 2.2.23 — adds the `shrink` module scaffold + ShrinkMode CLI | COMMENT |
| MEDIUM | .docs/io_refactoring_summary.md | 92 | │ └── cstdio.cpp.hpp # Top-level orchestration (200 lines, was 400) | CODE |
| MEDIUM | ci/ci-compile.py | 98 | # --run/--check need wasm_compile for Playwright orchestration. | COMMENT |
| MEDIUM | ci/lint/root_project_ini_lockdown.py | 40 | # justification. Section headers like "[env:foo]" are scaffolding, not | COMMENT |
| MEDIUM | ci/meson/compile.py | 1224 | # We're in the post-error context window | COMMENT |
| MEDIUM | …rms/esp/32/drivers/i2s/channel_engine_i2s_esp32dev.cpp | 613 | // FastLED#3526 Phase 2c — mode dispatch scaffolding | COMMENT |
| MEDIUM⚡ | …arm/lpc/drivers/sct_dma/channel_engine_lpc_sct_dma.cpp | 171 | // show() kicks the transmission and the v1 scaffold returns | COMMENT |
| MEDIUM⚡ | …arm/lpc/drivers/sct_dma/channel_engine_lpc_sct_dma.cpp | 173 | // once the TODO(3459) body lands) or READY (scaffold no-op). | COMMENT |
| MEDIUM⚡ | …arm/lpc/drivers/sct_dma/channel_engine_lpc_sct_dma.cpp | 181 | // scaffold this happens on the first poll; the real implementation | COMMENT |
| MEDIUM | tests/fl/channels/rx_sct_capture.cpp | 3 | /// scaffold (FastLED#3015). | COMMENT |
| MEDIUM | tests/data/esp32s3_bloat_baseline.txt | 357 | # This removes the copy/destructor scaffolding from unbound Channel::showPixels; | COMMENT |
| MEDIUM | .github/workflows/project_drift_sync.yml | 3 | # Nightly safety net behind the event-driven add-to-project workflows. | COMMENT |
| MEDIUM⚡ | src/platforms/arm/lpc/README.md | 241 | - [#2849](https://github.com/FastLED/FastLED/pull/2849) — LPC11xx detection scaffold | CODE |
| MEDIUM⚡ | src/platforms/arm/lpc/README.md | 241 | - [#2849](https://github.com/FastLED/FastLED/pull/2849) — LPC11xx detection scaffold | CODE |
| MEDIUM⚡ | src/platforms/arm/lpc/README.md | 242 | - [#2859](https://github.com/FastLED/FastLED/pull/2859) — LPC15xx detection scaffold | CODE |
| MEDIUM⚡ | src/platforms/arm/lpc/README.md | 242 | - [#2859](https://github.com/FastLED/FastLED/pull/2859) — LPC15xx detection scaffold | CODE |
| MEDIUM | src/platforms/arm/lpc/is_lpc.h | 44 | // scaffold — driver wiring is a follow-up. The clockless path will reuse | COMMENT |
| MEDIUM | src/platforms/arm/lpc/is_lpc.h | 83 | // port scaffold — driver wiring is a follow-up. | COMMENT |
| MEDIUM | src/platforms/arm/lpc/rx_sct_capture.h | 4 | /// **Status:** scaffold + decoder. The register-level SCT/DMA capture path | COMMENT |
| MEDIUM | …s/arm/lpc/drivers/sct_dma/channel_engine_lpc_sct_dma.h | 11 | /// **Status:** scaffold + interface. The channels-API surface (canHandle, | COMMENT |
| MEDIUM | …s/arm/lpc/drivers/sct_dma/channel_engine_lpc_sct_dma.h | 15 | /// `clockless_arm_lpc_pwm_dma.h`. Same scaffold-then-bench pattern this | COMMENT |
| MEDIUM | src/fl/channels/README.md | 828 | **Why:** Established 2026-06-27 during the #3428 FlexIO-SPI / ObjectFLED-SPI implementation. The initial design forked i | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ci/inspect_binary.py | 67 | # Create a block of text with the extracted symbols | COMMENT |
| MEDIUM | ci/inspect_binary.py | 73 | # Create a dictionary of mangled to demangled symbols | COMMENT |
| MEDIUM | ci/util/bin_2_elf.py | 422 | # Create a dummy ELF file using the generated linker script | STRING |
| MEDIUM | ci/util/running_process_group.py | 206 | # Create a shared output handler for formatting | COMMENT |
| MEDIUM | ci/util/serial_monitor.py | 13 | # Create a monitor | STRING |
| MEDIUM | ci/tests/test_file_lock_rw.py | 239 | # Create a stale lock in the DB (dead PID) | COMMENT |
| MEDIUM | ci/tests/test_stale_lock_recovery.py | 145 | # Create an active lock (held by this process) | COMMENT |
| MEDIUM | ci/tests/test_fingerprint_integration.py | 383 | # Create a directory with only .py files (simulates ci/) | COMMENT |
| MEDIUM | ci/tests/test_fingerprint_integration.py | 399 | # Create a directory with only .cpp files (simulates src/) | COMMENT |
| MEDIUM | ci/tests/test_fingerprint_cache.py | 724 | # Create a test file (5KB) for reasonable speed | COMMENT |
| MEDIUM | ci/tests/test_fingerprint_cache.py | 790 | # Create a directory | COMMENT |
| MEDIUM | ci/tests/test_fingerprint_cache.py | 808 | # Create a directory | COMMENT |
| MEDIUM | ci/tests/test_clean_worktrees.py | 144 | # Create a commit beyond origin/master. There is no origin in this | COMMENT |
| MEDIUM⚡ | ci/meson/meson_setup_execute.py | 349 | # This file is auto-generated by meson_runner.py to configure tool paths. | COMMENT |
| MEDIUM | ci/meson/filter_examples_for_stub.py | 27 | # Create a minimal Board-like object for stub platform | COMMENT |
| MEDIUM | ci/examples/fingerprint_cache_demo.py | 32 | # Create a source file | COMMENT |
| MEDIUM⚡ | src/platforms/wasm/compiler/build_flags.toml | 336 | "-sMODULARIZE=1", # Create a factory function (not global) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/util/build_lock.py | 436 | # Example usage | COMMENT |
| LOW⚡ | ci/meson/wasm_cross_file.ini | 7 | # Usage: | COMMENT |
| LOW | tests/profile/profile_result.h | 21 | /// Usage example: | COMMENT |
| LOW | examples/SpecialDrivers/ESP/DriverTest/TestRunner.h | 52 | /// Example usage: | COMMENT |
| LOW | src/platforms/esp/32/debug_setup.hpp | 10 | /// Example usage: | COMMENT |
| LOW | src/platforms/esp/32/drivers/spi/channel_driver_spi.h | 197 | /// Example usage: | COMMENT |
| LOW | src/fl/net/ota/ota.h | 49 | /// Example usage: | COMMENT |
| LOW | src/fl/fx/fx2d_to_1d.h | 23 | /// Example usage: | COMMENT |
| LOW | src/fl/fx/2d/flowfield.h | 218 | /// Example usage: | COMMENT |
| LOW | src/fl/fx/2d/wave.h | 158 | /// Example usage: | COMMENT |
| LOW | src/fl/stl/result.h | 9 | /// Example usage: | COMMENT |
| LOW | src/fl/stl/charconv.h | 29 | /// Example usage: | COMMENT |
| LOW | src/fl/stl/stdio.h | 51 | /// Example usage: | COMMENT |
| LOW | src/fl/stl/stdio.h | 97 | /// Example usage: | COMMENT |
| LOW | src/fl/stl/stdio.h | 955 | /// Example usage: | COMMENT |
| LOW | src/fl/stl/stdio.h | 1003 | /// Example usage: | COMMENT |
| LOW | src/fl/stl/iterator.h | 54 | /// Usage example: | COMMENT |
| LOW | src/fl/stl/iterator.h | 149 | /// Usage example: | COMMENT |
| LOW | src/fl/stl/asio/http/server.h | 7 | /// Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/github_project_sync.py | 287 | def update_date(project_id: str, item_id: str, field_id: str, date_value: str) -> None: | STRING |
| LOW | ci/iwyu_cache.py | 97 | def set_source_tree_hash(self, h: str) -> None: | CODE |
| LOW | ci/autoresearch/__init__.py | 27 | __all__ = [ | CODE |
| LOW | ci/lint/__init__.py | 9 | __all__ = ["parse_lint_args", "DurationTracker", "LintOrchestrator", "LintStage"] | CODE |
| LOW | ci/tools/gh/__init__.py | 7 | __all__ = ["WorkflowScanner", "HealthChecker"] | CODE |
| LOW | ci/fingerprint/__init__.py | 17 | __all__ = [ | CODE |
| LOW | ci/util/build_process_tracker.py | 181 | def _update_child_pids(self, client_pid: int) -> None: | CODE |
| LOW | ci/util/meson_runner.py | 51 | __all__ = [ | CODE |
| LOW | ci/util/lock_database.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | ci/util/process_status_display.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | ci/util/running_process_group.py | 502 | def _update_process_output(self, process: RunningProcess) -> None: | CODE |
| LOW | ci/util/download_breadcrumb.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | ci/util/file_lock_rw.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | ci/util/file_lock_rw.py | 36 | __all__ = [ | CODE |
| LOW | ci/util/serial_monitor.py | 221 | def set_serial_port(self, serial_port: serial.Serial) -> None: | CODE |
| LOW | ci/util/meson_example_runner.py | 74 | def update_message(self, message: str) -> None: | CODE |
| LOW | ci/util/cache_lock.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | ci/util/file_lock_rw_util.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | ci/util/global_interrupt_handler.py | 15 | def set_debug_test(enabled: bool = True) -> None: | CODE |
| LOW | ci/meson/__init__.py | 30 | __all__ = [ | CODE |
| LOW | ci/meson/build_config.py | 75 | __all__ = [ | CODE |
| LOW | ci/compiler/project_ini.py | 100 | def set_option(self, section: str, option: str, value: str) -> None: | CODE |
| LOW | ci/compiler/project_ini.py | 113 | def set_build_flags(self, env_name: str, flags: list[str]) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/platforms/wasm/compiler/index.ts | 337 | print(...argsWithTime); | CODE |
| HIGH | src/platforms/wasm/compiler/index.ts | 351 | print(...argsWithTime); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ci/tests/test_running_process.py | 278 | CODE | |
| MEDIUM | ci/tests/test_rpc_client_errors.py | 66 | CODE | |
| MEDIUM | ci/tests/test_rpc_client_errors.py | 88 | CODE | |
| MEDIUM | ci/tests/test_rpc_client_errors.py | 173 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/misc/colorimetric_strategy_table.cpp | 5713 | || text_contains(text, "placeholder") | CODE |
| LOW | tests/fl/channels/color_profile.cpp | 631 | FL_CHECK_EQ(fl::string(placeholder.provenance_kind), fl::string("placeholder")); | CODE |
| LOW | tests/profile/benchmark_json_parsers.cpp | 151 | printf(" Download it with: curl -o tests/profile/benchmark_1mb.json https://microsoftedge.github.io/Demos/json | CODE |
| LOW | tests/profile/benchmark_json_parsers.cpp | 221 | printf(" https://microsoftedge.github.io/Demos/json-dummy-data/\n"); | CODE |
| LOW | tests/profile/json_memory_profile.cpp | 494 | printf(" Download it with: curl -o tests/profile/benchmark_1mb.json https://microsoftedge.github.io/Demos/json | CODE |
| LOW | tests/profile/json_performance.cpp | 195 | printf(" curl -o %s https://microsoftedge.github.io/Demos/json-dummy-data/1MB.json\n", filepath); | CODE |
| LOW | src/fl/gfx/colorimetric_response.h | 431 | "placeholder", "uncalibrated"); | CODE |
| LOW | src/fl/gfx/colorimetric_response.cpp.hpp | 21 | "placeholder", "uncalibrated"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/debug_attached.py | 332 | CODE | |
| LOW | ci/color_ray_roots.py | 185 | CODE | |
| LOW | ci/util/meson_example_runner.py | 449 | CODE | |
| LOW | ci/util/fbuild_runner.py | 678 | CODE | |
| LOW | ci/meson/runner.py | 76 | CODE | |
| LOW | ci/meson/test_execution.py | 94 | CODE | |
| LOW | ci/meson/build_config.py | 94 | CODE | |
| LOW | ci/meson/meson_markers.py | 25 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ci/demo_symbol_analysis.py | 90 | # List of boards to analyze (you can add more) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/platforms/avr/fastspi_avr.h | 533 | // TODO: implement ARMHardwareSPIOutput | COMMENT |
| LOW | src/platforms/avr/fastspi_avr.h | 721 | // TODO: implement ARMHardwareSPIOutput | COMMENT |