AI Slop Code RIsk Monitor

hathach/tinyusb

An open source cross-platform USB stack for embedded system

11.9 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for hathach/tinyusb, a C project with 7,191 GitHub stars. SynthScan examined 381,009 lines of code across 1683 source files, recording 4674 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 11.9 (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.

11.9
Adjusted Signal
11.9
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
7.2K
Stars
C
Language
381.0K
Lines of Code
1.7K
Files
4.7K
Pattern Hits
2026-10-12
Scan Date
0.03
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 41.1/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 4512 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.9/100 · LOW

Are imports declared and package/API names verified? 26 finding(s).

Agent Over-Engineering Ratio 19.5/100 · LOW

Are wrappers, guards, and repeated structures necessary? 1557 finding(s).

PR Review Velocity Impact 48.8/100 · MEDIUM

Which changes need focused human review? 4674 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 1HIGH 47MEDIUM 94LOW 4532

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 4674 distinct pattern matches across 20 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.

Over-Commented Block2947 hits · 2590 pts
SeverityFileLineSnippetContext
LOW.pre-commit-config.yaml61 # (~45s: deliberate hang and timeout simulations) and is scoped to the rig harnessCOMMENT
LOW.pre-commit-config.yaml121 - id: membrowse-targetsCOMMENT
LOW.pre-commit-config.yaml141# make -C $h allCOMMENT
LOWtools/change_impact.py101# .github/actions/**, .github/scripts/** - those decide what gets built. The line isCOMMENT
LOWtools/change_impact.py141# matrix as rule 2c. No rig board runs them.COMMENT
LOWtools/change_impact.py381 node.targets[0].id in _DEPS_DICTS and isinstance(node.value, ast.Dict)):COMMENT
LOWtools/change_impact.py521 if m and m.group(1) and m.group(1) != cls:COMMENT
LOWtools/rtt.py561 # the convoy hil_flash.valid_vid_pid exists to stopCOMMENT
LOWhw/bsp/ansi_escape.h41COMMENT
LOWhw/bsp/ansi_escape.h61/** @} */COMMENT
LOWhw/bsp/ansi_escape.h81#define ANSI_BG_RED CSI_SGR(41)COMMENT
LOWhw/bsp/board.c21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INCOMMENT
LOWhw/bsp/board_api.h41COMMENT
LOWhw/bsp/board_api.h61 #include "task.h"COMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h41// #define HAL_CRYP_MODULE_ENABLEDCOMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h61// #define HAL_RTC_MODULE_ENABLEDCOMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h101#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in HzCOMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h161#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */COMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h201COMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h221COMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h241COMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h261COMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h281COMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h301COMMENT
LOWhw/bsp/stm32wba/stm32wbaxx_hal_conf.h321COMMENT
LOWhw/bsp/stm32wba/boards/stm32wba_nucleo/board.h41#define LED_PIN GPIO_PIN_8COMMENT
LOWhw/bsp/stm32wba/boards/stm32wba_nucleo/board.h61// These pints are only used for USB and must be in analog mode when not used.COMMENT
LOWhw/bsp/stm32wba/FreeRTOSConfig/FreeRTOSConfig.h41 *COMMENT
LOWhw/bsp/stm32wba/FreeRTOSConfig/FreeRTOSConfig.h61#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0COMMENT
LOWhw/bsp/stm32wba/FreeRTOSConfig/FreeRTOSConfig.h81#define configSUPPORT_DYNAMIC_ALLOCATION 0COMMENT
LOWhw/bsp/stm32wba/FreeRTOSConfig/FreeRTOSConfig.h101#define configUSE_TIMERS 1COMMENT
LOWhw/bsp/stm32wba/FreeRTOSConfig/FreeRTOSConfig.h121#define INCLUDE_xEventGroupSetBitFromISR 0COMMENT
LOWhw/bsp/msp432e4/FreeRTOSConfig/FreeRTOSConfig.h41 *COMMENT
LOWhw/bsp/msp432e4/FreeRTOSConfig/FreeRTOSConfig.h61#define configMINIMAL_STACK_SIZE ( 128 )COMMENT
LOWhw/bsp/msp432e4/FreeRTOSConfig/FreeRTOSConfig.h81#define configUSE_TICK_HOOK 0COMMENT
LOWhw/bsp/msp432e4/FreeRTOSConfig/FreeRTOSConfig.h101COMMENT
LOWhw/bsp/mm32/boards/mm32f327x_mb39/board.h1/* metadata:COMMENT
LOWhw/bsp/mm32/boards/mm32f327x_mb39/board.h21#define UART_TX_PIN 9COMMENT
LOWhw/bsp/mm32/FreeRTOSConfig/FreeRTOSConfig.h41 *COMMENT
LOWhw/bsp/mm32/FreeRTOSConfig/FreeRTOSConfig.h61#define configMAX_PRIORITIES ( 5 )COMMENT
LOWhw/bsp/mm32/FreeRTOSConfig/FreeRTOSConfig.h81#define configUSE_IDLE_HOOK 0COMMENT
LOWhw/bsp/mm32/FreeRTOSConfig/FreeRTOSConfig.h101#define configTIMER_TASK_STACK_DEPTH configMINIMAL_STACK_SIZECOMMENT
LOWhw/bsp/rp2040/family.c41COMMENT
LOWhw/bsp/rp2040/family.c61#endifCOMMENT
LOWhw/bsp/rp2040/family.c81//--------------------------------------------------------------------+COMMENT
LOWhw/bsp/rp2040/family.c161#if defined(TRACE_ETM) && defined(PICO_RP2350) && PICO_RP2350 == 1COMMENT
LOWhw/bsp/rp2040/family.c201#if (CFG_TUH_ENABLED && CFG_TUH_RPI_PIO_USB) || (CFG_TUD_ENABLED && CFG_TUD_RPI_PIO_USB)COMMENT
LOWhw/bsp/rp2040/family.c241 stdio_rtt_init();COMMENT
LOWhw/bsp/rp2040/boards/raspberry_pi_pico_w/board.h41//--------------------------------------------------------------------+COMMENT
LOWhw/bsp/rp2040/boards/raspberry_pi_pico_w/board.h61#define MAX3421_MISO_PIN PICO_DEFAULT_SPI_RX_PINCOMMENT
LOWhw/bsp/rp2040/boards/feather_rp2040_max3421/board.h41#define PICO_DEFAULT_PIO_USB_VBUSEN_PIN 18COMMENT
LOWhw/bsp/rp2040/boards/raspberry_pi_pico/board.h41//--------------------------------------------------------------------+COMMENT
LOWhw/bsp/rp2040/boards/raspberry_pi_pico/board.h61#define MAX3421_MISO_PIN PICO_DEFAULT_SPI_RX_PINCOMMENT
LOW…0/boards/adafruit_metro_rp2350/adafruit_metro_rp2350.h21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INCOMMENT
LOW…0/boards/adafruit_metro_rp2350/adafruit_metro_rp2350.h41#endifCOMMENT
LOW…0/boards/adafruit_metro_rp2350/adafruit_metro_rp2350.h61#ifndef PICO_DEFAULT_LED_PINCOMMENT
LOW…0/boards/adafruit_metro_rp2350/adafruit_metro_rp2350.h81#ifndef PICO_DEFAULT_SPICOMMENT
LOW…0/boards/adafruit_metro_rp2350/adafruit_metro_rp2350.h101#endifCOMMENT
LOWhw/bsp/rp2040/boards/adafruit_metro_rp2350/board.h41//--------------------------------------------------------------------+COMMENT
LOW…/rp2040/boards/adafruit_fruit_jam/adafruit_fruit_jam.h21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INCOMMENT
2887 more matches not shown…
Hyper-Verbose Identifiers1417 hits · 1225 pts
SeverityFileLineSnippetContext
LOWtools/build.py140def resolve_example_target_groups(build_targets, examples, board, extra_defines=()):CODE
LOWtools/change_impact.py404def get_deps_changed_families(base_text: str, head_text: str, repo_root: str):CODE
LOWtools/change_impact.py959def selection_args_by_flasher(sel, rosters):CODE
LOWtools/code_size.py284def _shortened_object_sources(build_dir):CODE
LOW⚡test/hil/hil_test.py541def test_dual_host_info_to_device_cdc(board):CODE
LOW⚡test/hil/hil_test.py835def test_host_msc_file_explorer_freertos(board):CODE
LOW⚡test/hil/hil_test.py846def test_device_cdc_dual_ports(board):CODE
LOWtest/hil/hil_test.py752def test_host_msc_file_explorer(board):CODE
LOWtest/hil/hil_test.py914def test_device_cdc_msc_freertos(board):CODE
LOWtest/hil/hil_test.py944def test_device_cdc_msc_throughput(board):CODE
LOWtest/hil/hil_test.py1107def test_device_hid_boot_interface(board):CODE
LOWtest/hil/hil_test.py1122def test_device_hid_composite_freertos(id):CODE
LOWtest/hil/hil_test.py1127def test_device_printer_to_cdc(board):CODE
LOWtest/hil/hil_test.py1304def test_device_net_lwip_webserver(board):CODE
LOWtest/hil/hil_test.py1437def test_device_audio_test_freertos(board):CODE
LOWtest/hil/hil_test.py1515def test_device_hid_generic_inout(board):CODE
LOWtest/hil/hil_test.py1958def register_usbtest_if_selected(boards: list, report_dir: Path, fresh: bool) -> None:CODE
LOWtest/hil/mtp_raw.py337def case_oversized_send_object(m):CODE
LOWtest/hil/mtp_raw.py379def _start_partial_send_object(m):CODE
LOW⚡test/hil/mtp_raw.py408def case_cancel_mid_send_object(m):CODE
LOW⚡test/hil/mtp_raw.py416def case_device_reset_mid_send_object(m):CODE
LOW⚡test/hil/mtp_raw.py426def case_short_send_object_retry(m):CODE
LOW⚡test/hil/mtp_raw.py433def case_object_info_replacement(m):CODE
LOW⚡test/hil/mtp_raw.py443def case_device_reset_undrained_in(m):CODE
LOW⚡test/hil/test/test_change_impact.py135 def test_host_change_drops_device(self):CODE
LOW⚡test/hil/test/test_change_impact.py143 def test_cdc_device_selects_cdc_examples_only(self):CODE
LOW⚡test/hil/test/test_change_impact.py153 def test_msc_host_selects_host_side(self):CODE
LOW⚡test/hil/test/test_change_impact.py188 def test_audio_header_reaches_boards_that_skip_audio(self):CODE
LOW⚡test/hil/test/test_change_impact.py196 def test_edge_keeps_the_including_files_own_macro(self):CODE
LOW⚡test/hil/test/test_change_impact.py203 def test_edge_is_per_header_not_per_class(self):CODE
LOW⚡test/hil/test/test_change_impact.py214 def test_unknown_tool_is_full(self):CODE
LOW⚡test/hil/test/test_change_impact.py218 def test_docs_only_is_empty_not_full(self):CODE
LOW⚡test/hil/test/test_change_impact.py223 def test_bsp_family_selects_family_boards(self):CODE
LOW⚡test/hil/test/test_change_impact.py230 def test_bsp_board_narrows_to_board(self):CODE
LOW⚡test/hil/test/test_change_impact.py235 def test_example_change_selects_that_example(self):CODE
LOW⚡test/hil/test/test_change_impact.py244 def test_board_test_example_is_full(self):CODE
LOW⚡test/hil/test/test_change_impact.py316 def test_args_all_board_gets_bare_b(self):CODE
LOW⚡test/hil/test/test_change_impact.py322 def test_args_by_flasher_splits_esp_from_the_rest(self):CODE
LOW⚡test/hil/test/test_change_impact.py329 def test_args_by_flasher_omits_a_flasher_with_no_selected_board(self):CODE
LOW⚡test/hil/test/test_change_impact.py335 def test_args_by_flasher_full_is_empty(self):CODE
LOW⚡test/hil/test/test_change_impact.py399 def test_option_selects_via_defines_and_flags(self):CODE
LOW⚡test/hil/test/test_change_impact.py406 def test_device_role_port_does_not_pull_host_only_option_board(self):CODE
LOW⚡test/hil/test/test_change_impact.py412 def test_gates_parsed_from_family_support(self):CODE
LOW⚡test/hil/test/test_change_impact.py416 def test_board_cmake_option_counts(self):CODE
LOW⚡test/hil/test/test_change_impact.py452 def test_make_only_family_is_not_a_family(self):CODE
LOW⚡test/hil/test/test_change_impact.py456 def test_prefix_port_does_not_inherit_sibling_families(self):CODE
LOW⚡test/hil/test/test_change_impact.py460 def test_make_only_port_contributes_nothing(self):CODE
LOW⚡test/hil/test/test_change_impact.py466 def test_cmake_families_still_found(self):CODE
LOW⚡test/hil/test/test_change_impact.py591 def test_off_rig_port_still_reports_family(self):CODE
LOW⚡test/hil/test/test_change_impact.py597 def test_port_families_are_reported(self):CODE
LOW⚡test/hil/test/test_change_impact.py601 def test_bsp_family_and_board_report_family(self):CODE
LOW⚡test/hil/test/test_change_impact.py606 def test_docs_only_has_no_families(self):CODE
LOW⚡test/hil/test/test_change_impact.py609 def test_full_selection_still_reports_families(self):CODE
LOW⚡test/hil/test/test_change_impact.py664 def test_vid_pid_flag_precedes_args(self):CODE
LOW⚡test/hil/test/test_change_impact.py670 def test_rescue_cfg_command_keeps_vid_pid_before_init(self):CODE
LOW⚡test/hil/test/test_change_impact.py679 def test_vid_pid_multiple_pairs(self):CODE
LOW⚡test/hil/test/test_change_impact.py684 def test_no_field_no_flag_but_warns(self):CODE
LOW⚡test/hil/test/test_change_impact.py754 def test_every_flasher_resolves_to_its_flash(self):CODE
LOW⚡test/hil/test/test_change_impact.py760 def test_the_raw_roster_name_is_case_folded(self):CODE
LOW⚡test/hil/test/test_change_impact.py764 def test_an_unknown_flasher_raises(self):CODE
1357 more matches not shown…
Decorative Section Separators56 hits · 189 pts
SeverityFileLineSnippetContext
MEDIUMtools/build.py36# -----------------------------COMMENT
MEDIUMtools/build.py38# -----------------------------COMMENT
MEDIUMtools/build.py192# -----------------------------COMMENT
MEDIUMtools/build.py194# -----------------------------COMMENT
MEDIUM⚡tools/build.py346# -----------------------------COMMENT
MEDIUM⚡tools/build.py348# -----------------------------COMMENT
MEDIUMtools/build.py402# -----------------------------COMMENT
MEDIUMtools/build.py404# -----------------------------COMMENT
MEDIUMtools/build.py501# -----------------------------COMMENT
MEDIUMtools/build.py503# -----------------------------COMMENT
MEDIUMtools/change_impact.py1206# -------------------------------------------------------------COMMENT
MEDIUMtools/change_impact.py1209# -------------------------------------------------------------COMMENT
MEDIUMtest/unit-test/project.yml1# =========================================================================COMMENT
MEDIUMtest/unit-test/project.yml6# =========================================================================COMMENT
MEDIUMtest/hil/pymtp.py43# ----------COMMENT
MEDIUMtest/hil/pymtp.py45# ----------COMMENT
MEDIUM⚡test/hil/pymtp.py91# ----------COMMENT
MEDIUM⚡test/hil/pymtp.py93# ----------COMMENT
MEDIUM⚡test/hil/pymtp.py95# ----------COMMENT
MEDIUM⚡test/hil/pymtp.py97# ----------COMMENT
MEDIUM⚡test/hil/pymtp.py399# ----------COMMENT
MEDIUM⚡test/hil/pymtp.py401# ----------COMMENT
MEDIUM⚡test/hil/pymtp.py403# ----------COMMENT
MEDIUM⚡test/hil/pymtp.py405# ----------COMMENT
MEDIUMtest/hil/pymtp.py432# ----------COMMENT
MEDIUMtest/hil/pymtp.py434# ----------COMMENT
MEDIUMtest/hil/hil_flash.py32# -------------------------------------------------------------COMMENT
MEDIUMtest/hil/hil_flash.py34# -------------------------------------------------------------COMMENT
MEDIUM⚡test/hil/hil_test.py538# -------------------------------------------------------------COMMENT
MEDIUM⚡test/hil/hil_test.py540# -------------------------------------------------------------COMMENT
MEDIUM⚡test/hil/hil_test.py839# -------------------------------------------------------------COMMENT
MEDIUM⚡test/hil/hil_test.py841# -------------------------------------------------------------COMMENT
MEDIUMtest/hil/hil_test.py583# -------------------------------------------------------------COMMENT
MEDIUMtest/hil/hil_test.py585# -------------------------------------------------------------COMMENT
MEDIUMtest/hil/hil_test.py1693# -------------------------------------------------------------COMMENT
MEDIUMtest/hil/hil_test.py1695# -------------------------------------------------------------COMMENT
MEDIUMtest/hil/helper/hil_util.py22# -------------------------------------------------------------COMMENT
MEDIUMtest/hil/helper/hil_util.py26# -------------------------------------------------------------COMMENT
MEDIUM.github/workflows/pr_comment.yml46 # ---------------------------------------COMMENT
MEDIUM.github/workflows/pr_comment.yml51 # ---------------------------------------COMMENT
MEDIUM.github/workflows/pr_comment.yml115 # ---------------------------------------COMMENT
MEDIUM.github/workflows/pr_comment.yml120 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml285 # ------------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/build.yml293 # ------------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/build.yml331 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml333 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml350 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml352 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml374 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml377 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml458 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml461 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml568 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml573 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml655 # ---------------------------------------COMMENT
MEDIUM.github/workflows/build.yml659 # ---------------------------------------COMMENT
Empty Error Handlers33 hits · 165 pts
SeverityFileLineSnippetContext
HIGHtools/change_impact.py343except OSError:CODE
HIGHtools/rtt.py826except KeyboardInterrupt:CODE
HIGHtools/rtt.py202except subprocess.TimeoutExpired:CODE
HIGHtest/hil/mtp_test.py60except OSError:CODE
HIGHtest/hil/mtp_test.py139except subprocess.TimeoutExpired:CODE
HIGHtest/hil/mtp_test.py181except Exception:CODE
HIGHtest/hil/hil_test.py1014except OSError:CODE
HIGHtest/hil/hil_test.py1064except OSError:CODE
HIGHtest/hil/hil_test.py522except OSError: # read_sysfs swallows its own OSError/ValueError; glob can raceCODE
HIGHtest/hil/hil_test.py1476except OSError:CODE
HIGHtest/hil/usbtest.py345except (OSError, ValueError):CODE
HIGHtest/hil/usbtest.py152except OSError:CODE
HIGHtest/hil/usbtest.py489except OSError:CODE
HIGHtest/hil/usbtest.py161except OSError:CODE
HIGHtest/hil/usbtest.py508except subprocess.TimeoutExpired:CODE
HIGHtest/hil/test/test_hil_bounded.py102except (OSError, ValueError):CODE
HIGHtest/hil/pyocd/run_pyocd.py59except ImportError:CODE
HIGHtest/hil/helper/hil_lock.py61except OSError:CODE
HIGHtest/hil/helper/hil_lock.py243except ProcessLookupError:CODE
HIGHtest/hil/helper/hil_lock.py190except OSError:CODE
HIGHtest/hil/helper/hil_pool_check.py345except serial.SerialTimeoutException:CODE
HIGHtest/hil/helper/hil_report.py250except (OSError, ValueError, TypeError, AttributeError):CODE
HIGHtest/hil/helper/hil_util.py383except OSError:CODE
HIGHtest/hil/helper/hil_util.py221except OSError:CODE
HIGHtest/hil/helper/hil_util.py242except (OSError, ValueError):CODE
HIGHtest/hil/helper/hil_util.py394except OSError:CODE
HIGHtest/hil/helper/hil_util.py258except OSError:CODE
HIGHtest/hil/helper/hil_util.py516except OSError:CODE
HIGHtest/hil/helper/hil_util.py558except OSError:CODE
HIGH.claude/test/test_usbtest_run_case.py487except ProcessLookupError:CODE
HIGH.claude/skills/usbtest/scripts/run_case.py104except OSError:CODE
HIGH.claude/skills/usbtest/scripts/wedge_drill.py92except ProcessLookupError:CODE
HIGHexamples/device/usbtmc/visaQuery.py144except pyvisa.VisaIOError:CODE
Deep Nesting90 hits · 79 pts
SeverityFileLineSnippetContext
LOWtools/membrowse_cli.py46CODE
LOWtools/build.py77CODE
LOWtools/build.py97CODE
LOWtools/build.py223CODE
LOWtools/iar_gen.py8CODE
LOWtools/change_impact.py244CODE
LOWtools/change_impact.py404CODE
LOWtools/change_impact.py944CODE
LOWtools/change_impact.py959CODE
LOWtools/change_impact.py1443CODE
LOWtools/get_deps.py408CODE
LOWtools/build_utils.py157CODE
LOWtools/family_json.py155CODE
LOWtools/family_json.py306CODE
LOWtools/family_json.py356CODE
LOWtools/rtt.py178CODE
LOWtools/rtt.py667CODE
LOWtools/rtt.py275CODE
LOWtools/rtt.py315CODE
LOWtools/rtt.py422CODE
LOWtools/code_size.py201CODE
LOWtools/code_size.py219CODE
LOWtools/code_size.py258CODE
LOWtools/code_size.py284CODE
LOWtools/code_size.py928CODE
LOWtools/code_size.py973CODE
LOWtools/code_size.py1218CODE
LOWtools/code_size.py1370CODE
LOWtools/code_size.py1419CODE
LOWtools/code_size.py1707CODE
LOWtools/code_size.py1858CODE
LOWtools/code_size.py2072CODE
LOWhw/mcu/sony/cxd56/tools/flash_writer.py143CODE
LOWhw/mcu/sony/cxd56/tools/flash_writer.py237CODE
LOWhw/mcu/sony/cxd56/tools/xmodem.py211CODE
LOWhw/mcu/sony/cxd56/tools/xmodem.py370CODE
LOWtest/hil/teardown_stress.py75CODE
LOWtest/hil/pymtp.py465CODE
LOWtest/hil/pymtp.py824CODE
LOWtest/hil/pymtp.py1163CODE
LOWtest/hil/mtp_test.py144CODE
LOWtest/hil/hil_flash.py411CODE
LOWtest/hil/hil_test.py586CODE
LOWtest/hil/hil_test.py638CODE
LOWtest/hil/hil_test.py664CODE
LOWtest/hil/hil_test.py752CODE
LOWtest/hil/hil_test.py1635CODE
LOWtest/hil/hil_test.py1721CODE
LOWtest/hil/hil_test.py1973CODE
LOWtest/hil/usbtest.py129CODE
LOWtest/hil/usbtest.py360CODE
LOWtest/hil/usbtest.py457CODE
LOWtest/hil/usbtest.py554CODE
LOWtest/hil/usbtest.py667CODE
LOWtest/hil/test/test_change_impact.py956CODE
LOWtest/hil/test/test_change_impact.py1167CODE
LOWtest/hil/test/test_change_impact.py1493CODE
LOWtest/hil/test/test_change_impact.py1778CODE
LOWtest/hil/test/test_change_impact.py2449CODE
LOWtest/hil/test/test_change_impact.py3062CODE
30 more matches not shown…
AI Slop Vocabulary25 hits · 76 pts
SeverityFileLineSnippetContext
MEDIUM.pre-commit-config.yaml61 # (~45s: deliberate hang and timeout simulations) and is scoped to the rig harnessCOMMENT
MEDIUMtools/change_impact.py118 # test/hil/test/ holds the harness's own unit tests, not the harness: nothing onCOMMENT
MEDIUMtools/change_impact.py121 # The harness itself stays under _FULL_RE's test/hil/ prefix.COMMENT
MEDIUMtools/change_impact.py151 # tools/rtt.py is part of the harness, not a standalone tool: hil_util imports itCOMMENT
MEDIUMtools/rtt.py129# whole-call deadline for write() — same env knob as the harness's serial twinCOMMENT
MEDIUMtools/rtt.py317 # stream exactly like an orderly EOF. Raising here raced the harness'sCOMMENT
MEDIUMtest/hil/mtp_test.py6# something the harness can abandon: hil_test.test_device_mtp runs it underCOMMENT
MEDIUMtest/hil/mtp_test.py8# pymtp: nothing here may pull in the harness.COMMENT
MEDIUMtest/hil/hil_test.py310 # RTT route is validated manually on native probes but has no harness backendCOMMENT
MEDIUMtest/hil/hil_test.py354 # drain-stopped meaning as the serial timeout -- a test failure, not a harnessCOMMENT
MEDIUMtest/hil/hil_test.py357 # harness bug must not be reported as this board misbehaving.COMMENT
MEDIUMtest/hil/hil_test.py1284 # the only thing the harness can walk away from.COMMENT
MEDIUMtest/hil/usbtest.py485 # writable, so sudo is the exception, and the harness must never sudo-kill a pidCOMMENT
MEDIUMtest/hil/mtp_raw.py6# pyusb still import this module); nothing here may pull in the harness.COMMENT
MEDIUM⚡test/hil/test/test_code_size.py2656 for changed in (False, True): # e.g. a HIL-harness-only PR selects no pinned legCODE
MEDIUM⚡test/hil/test/test_hil_rtt.py25 # unstaged rig tree kills every harness importCOMMENT
MEDIUMtest/hil/helper/hil_util.py3# Bottom layer of the HIL harness: the bounded command runner plus the shared helpers andCOMMENT
MEDIUM⚡test/hil/helper/hil_util.py448# stdlib-only, harness-critical — see its module docstring). Loaded by file path soCOMMENT
MEDIUM⚡test/hil/helper/hil_util.py450# harness keeps addressing hil_util.JlinkRtt.COMMENT
MEDIUM⚡test/hil/helper/hil_util.py456 # as a harness bug, when the actual problem is an incompletely staged treeCOMMENT
MEDIUMtest/hil/helper/hil_util.py526 # root child does not. Abandon it; the harness neverCOMMENT
LOWtest/hil/helper/hil_util.py579 # just use id: mostly for cp210x/ftdi flasherCOMMENT
MEDIUM.claude/skills/hil/scripts/hil_remote.py47# the harness's import closure and requires each file here, so keep this a plain literal.COMMENT
MEDIUM.claude/skills/hil/scripts/hil_remote.py480 # the harness and roster staged beside the firmware are HEAD's only on a clean treeSTRING
MEDIUM.claude/skills/hil/scripts/hil_remote.py536 # the harness and roster went from the live checkout, which may have moved since the receipt checkSTRING
Excessive Try-Catch Wrapping42 hits · 48 pts
SeverityFileLineSnippetContext
MEDIUMtools/code_size.py1444 print(f'Error: CI base unavailable: {e} (--base-source local builds it)')CODE
MEDIUMtools/code_size.py1467 print(f'Error creating worktree: {ret.stderr}')CODE
MEDIUMtools/code_size.py1637 print(f'Error removing worktree {worktree_dir}: {ret.stderr.strip()}')CODE
LOWtools/code_size.py1689 except Exception:CODE
LOWhw/mcu/sony/cxd56/tools/flash_writer.py223 except Exception as e:CODE
LOWhw/mcu/sony/cxd56/tools/flash_writer.py308 except Exception as e:CODE
LOWtest/hil/mtp_test.py173 except Exception as e:CODE
LOWtest/hil/mtp_test.py181 except Exception:CODE
MEDIUMtest/hil/mtp_test.py57def _read():CODE
LOWtest/hil/hil_test.py1789 except Exception as e:CODE
LOWtest/hil/hil_test.py1825 except Exception as e:CODE
LOWtest/hil/hil_test.py2264 except Exception as werr: # noqa: BLE001 - it mkdir()s and open()s the very report dirCODE
LOWtest/hil/hil_test.py2277 except Exception as rerr: # noqa: BLE001 - the caller's raise must still happenCODE
LOWtest/hil/hil_test.py2285 except Exception as re2: # noqa: BLE001CODE
LOWtest/hil/hil_test.py2499 except Exception as e:CODE
LOWtest/hil/hil_test.py2521 except Exception as e:CODE
LOWtest/hil/usbtest.py570 except Exception as e: # malformed/short json, import failure, unknown flasherCODE
LOWtest/hil/usbtest.py598 except Exception as e:CODE
LOWtest/hil/usbtest.py652 except Exception as e: # the reap check below is the verdict either wayCODE
MEDIUMtest/hil/usbtest.py418def set_pattern(value):CODE
LOWtest/hil/mtp_raw.py481 except Exception:CODE
LOWtest/hil/mtp_raw.py500 except Exception as e:CODE
MEDIUMtest/hil/mtp_raw.py286def expect_stall(fn):CODE
MEDIUMtest/hil/test/test_hil_bounded.py65def wrapper():CODE
LOW⚡test/hil/test/test_hil_bounded.py768 except Exception as e: # noqa: BLE001 - the test inspects itCODE
LOW⚡test/hil/test/test_hil_bounded.py1386 except Exception as e: # noqa: BLE001 - the verdict raises; tests assert the latchCODE
LOWtest/hil/helper/hil_pool_check.py292 except Exception as e:CODE
LOWtest/hil/helper/hil_pool_check.py324 except Exception as e:CODE
LOWtest/hil/helper/hil_pool_check.py542 except Exception as e:CODE
LOWtest/hil/helper/hil_report.py380 except Exception as e: # noqa: BLE001CODE
LOWtest/hil/helper/hil_report.py392 except Exception as e2: # noqa: BLE001CODE
MEDIUM⚡.claude/test/test_usbtest_wedge_drill.py500 ret, took = self.fake_openocd('print("Error: no device found", flush=True)\nsys.exit(1)\n', 10)CODE
LOW.claude/skills/usbtest/scripts/run_case.py225 except Exception as e: # a raising flasher is a failed flash, not a crash holding the lockCODE
LOW.claude/skills/usbtest/scripts/run_case.py346 except Exception as e: # any failure after the lock still ends with a verdict lineCODE
MEDIUM.claude/skills/usbtest/scripts/run_case.py222def flash(board, fw):CODE
LOW.claude/skills/usbtest/scripts/wedge_drill.py279 except Exception as e:CODE
LOW.claude/skills/usbtest/scripts/wedge_drill.py490 except Exception as e:CODE
LOWdocs/superpowers/plans/2026-08-21-hil-report-module.md482 except Exception as e: # noqa: BLE001CODE
LOWdocs/superpowers/plans/2026-09-08-codex-delegation.md207 except Exception as e: # any failure prints nothing to stdoutCODE
LOW.github/scripts/ci_set_matrix.py145 except Exception as e:CODE
LOW.github/scripts/ci_set_matrix.py295 except Exception as e: # fail-open: an unusable selection must never turn into a red jobCODE
LOW.github/scripts/hil_ci_set_matrix.py48 except Exception as e: # fail-open: an unusable selection must never red the jobCODE
Cross-Language Confusion8 hits · 38 pts
SeverityFileLineSnippetContext
HIGHtools/family_json.py462 """Drop rows of boards or families that are gone, set NULL_BOARDS' rows to null,STRING
HIGH⚡test/hil/test/test_ci_metrics.py136 "needs.set-matrix.outputs.membrowse_identical || needs.set-matrix.outputs.membrowse_all }}", job)CODE
HIGH⚡test/hil/test/test_membrowse_cli.py47 r'main.c.obj -o device\cdc_msc\cdc_msc.elf lib/libboard.a && C:\Windows\system32\cmd.exe /C 'CODE
HIGH⚡test/hil/test/test_membrowse_cli.py48 r'"cd /D D:\a\out && C:\gcc\bin\arm-none-eabi-objcopy.exe -Obinary D:/a/out/cdc_msc.elf 'CODE
HIGHtest/hil/test/test_family_json.py373 'a Make-only board with a cmake row is set to null, not skipped')STRING
HIGH⚡.claude/test/test_coverage_audit.py60 ' | lib/libboard.a\n || cmake_object_order_depends_target_x\n'STRING
HIGH⚡.claude/test/test_hil_remote.py386 fake(self.bin / 'ssh', FAKE_SSH.replace("['sh', '-c', cmd]", "['sh', '-c', cmd.replace('cat >/dev/null', 'cat >/STRING
HIGH.claude/skills/hil/scripts/hil_remote.py244 f'[ "$(cat {shlex.quote(remote_dir + "/.hil-remote-run")} 2>/dev/null)" = {shlex.quote(token)} ]')STRING
Cross-File Repetition5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHexamples/device/audio_test/src/plot_audio_samples.py0pick a windows input device index from query_devices() output.STRING
HIGH…s/device/audio_4_channel_mic/src/plot_audio_samples.py0pick a windows input device index from query_devices() output.STRING
HIGH…s/device/audio_test_freertos/src/plot_audio_samples.py0pick a windows input device index from query_devices() output.STRING
HIGH…device/audio_test_multi_rate/src/plot_audio_samples.py0pick a windows input device index from query_devices() output.STRING
HIGH…audio_4_channel_mic_freertos/src/plot_audio_samples.py0pick a windows input device index from query_devices() output.STRING
Structural Annotation Overuse8 hits · 17 pts
SeverityFileLineSnippetContext
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h50 // Step 1: Power up core only (PHY not yet)COMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h53 // Step 2: Override ID=Device (bit 31), and temporarily override VBUSVALIDCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h57 // Step 3: Release PHY power-on reset by enabling PHYCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h60 // Step 4: Wait 45us for PHY clock to startCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h63 // Step 5: Release DWC2 resetCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h66 // Step 6: Wait for clock to start to avoid hang on too early register readCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h69 // Step 7: Clear VBUSVALID override (keep ID=Device override)COMMENT
LOWsrc/class/cdc/cdc_host.h83// NOTE: This function does not make any USB transfer request to device.COMMENT
Unused Imports17 hits · 17 pts
SeverityFileLineSnippetContext
LOWtools/file2carray.py3CODE
LOWtools/file2carray.py6CODE
LOWtools/file2carray.py7CODE
LOWtools/file2carray.py8CODE
LOWtools/file2carray.py9CODE
LOWtools/file2carray.py10CODE
LOWhw/mcu/sony/cxd56/tools/flash_writer.py36CODE
LOWhw/mcu/sony/cxd56/tools/flash_writer.py37CODE
LOWhw/mcu/sony/cxd56/tools/flash_writer.py38CODE
LOWhw/mcu/sony/cxd56/tools/flash_writer.py42CODE
LOWhw/mcu/sony/cxd56/tools/xmodem.py576CODE
LOWtest/hil/hil_flash.py10CODE
LOWtest/hil/test/test_hil_tty_raw.py16CODE
LOWtest/hil/helper/hil_util.py9CODE
LOW.claude/test/test_release.py6CODE
LOWexamples/device/audio_test/src/plot_audio_samples.py6CODE
LOW…device/audio_test_multi_rate/src/plot_audio_samples.py6CODE
Verbosity Indicators7 hits · 16 pts
SeverityFileLineSnippetContext
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h50 // Step 1: Power up core only (PHY not yet)COMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h53 // Step 2: Override ID=Device (bit 31), and temporarily override VBUSVALIDCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h57 // Step 3: Release PHY power-on reset by enabling PHYCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h60 // Step 4: Wait 45us for PHY clock to startCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h63 // Step 5: Release DWC2 resetCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h66 // Step 6: Wait for clock to start to avoid hang on too early register readCOMMENT
LOW⚡src/portable/synopsys/dwc2/dwc2_nrf.h69 // Step 7: Clear VBUSVALID override (keep ID=Device override)COMMENT
Hallucination Indicators1 hit · 15 pts
SeverityFileLineSnippetContext
CRITICAL⚡.claude/test/test_build.py754 self.assertIn('hw/mcu/nordic/nrfx', [d for d, e in build.tools_build.build_utils.get_deps.deps_optional.items() CODE
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMexamples/device/uac2_speaker_fb/src/audio_debug.py40 # This function is called periodically from FuncAnimationCOMMENT
MEDIUMsrc/portable/synopsys/dwc2/dwc2_info.py172 # Create an empty list to hold the dictionariesCOMMENT
MEDIUMsrc/portable/synopsys/dwc2/dwc2_info.py202 # Create a Pandas DataFrame from the list of dictionariesCOMMENT
Redundant / Tautological Comments5 hits · 7 pts
SeverityFileLineSnippetContext
LOW⚡tools/build.py350 # Check if board is skipped. Make semantics: family.mk decides, not theCOMMENT
LOWtools/get_deps.py379 # Check if commit is already fetchedSTRING
LOWtest/hil/pymtp.py1185 # Check if this ID exists, if not, add itCOMMENT
LOWtest/hil/pymtp.py1228 ## Check if this folder is in the dictCOMMENT
LOW.github/workflows/build.yml16 # Check if the code changes and we need to run ci buildCOMMENT
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMdocs/superpowers/plans/2026-07-09-smoke-results.md1# Smoke Test Results — multi-agent dev/test harnessCOMMENT
MEDIUMdocs/superpowers/plans/2026-08-18-claude-doc-audit.md48### Task 1: Ledger schema and the anti-hallucination validatorCOMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtools/build.py432Get list of boards for a family. Args: family: Family name one_random: If True, return only one ranSTRING
AI Structural Patterns4 hits · 4 pts
SeverityFileLineSnippetContext
LOWtest/hil/hil_flash.py159CODE
LOWtest/hil/hil_flash.py315CODE
LOWtest/hil/hil_flash.py326CODE
LOWtest/hil/test/test_code_size.py3089CODE
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWsrc/portable/st/stm32_fsdev/hcd_stm32_fsdev.c438 // TODO: Handle errorCOMMENT
LOWsrc/osal/osal_rtx4.h104 // TODO: implementCOMMENT
Overly Generic Function Names1 hit · 0 pts
SeverityFileLineSnippetContext
LOW.claude/skills/hil/scripts/hil_remote.py136def helper(name):STRING