AI Slop Code RIsk Monitor

embassy-rs/embassy

Modern embedded framework, using Rust and async.

4.7 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for embassy-rs/embassy, a Rust project with 9,946 GitHub stars. SynthScan examined 562,820 lines of code across 2829 source files, recording 2207 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 4.7 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

4.7
Adjusted Signal
4.7
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
9.9K
Stars
Rust
Language
562.8K
Lines of Code
2.8K
Files
2.2K
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 17.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 4.5/100 · LOW

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

PR Review Velocity Impact 20.4/100 · LOW

Which changes need focused human review? 2207 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 5MEDIUM 163LOW 2038

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 2207 distinct pattern matches across 15 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 Block1941 hits · 1905 pts
SeverityFileLineSnippetContext
LOWembassy-usb-driver/src/host.rs201/// fields on the controller struct.COMMENT
LOWembassy-usb-driver/src/host.rs221 ) -> Result<Self::Pipe<T, D>, HostError>;COMMENT
LOWembassy-usb-driver/src/host.rs241 type Allocator: UsbHostAllocator<'d>;COMMENT
LOWembassy-usb-driver/src/host.rs421/// ### NAK handlingCOMMENT
LOWembassy-usb-driver/src/host.rs461COMMENT
LOWembassy-usb-driver/src/lib.rs1#![no_std]COMMENT
LOWembassy-usb-driver/src/lib.rs41 /// Host to device (OUT)COMMENT
LOWembassy-usb-driver/src/lib.rs141/// Implement this to add support for a new hardware platform.COMMENT
LOWembassy-usb-driver/src/lib.rs161 /// * `interval_ms` - Polling interval parameter for interrupt endpoints.COMMENT
LOWembassy-usb-driver/src/lib.rs221 ///COMMENT
LOWembassy-usb-driver/src/lib.rs241 /// return it. See [`Event`] for the list of events this method should return.COMMENT
LOWembassy-usb-driver/src/lib.rs261 ///COMMENT
LOWembassy-usb-driver/src/lib.rs281 /// Get the endpoint addressCOMMENT
LOWembassy-usb-driver/src/lib.rs321/// trait allows the driver to handle it specially.COMMENT
LOWembassy-usb-driver/src/lib.rs341/// - control out with len != 0:COMMENT
LOWembassy-usb-driver/src/lib.rs361/// ...COMMENT
LOWembassy-usb-driver/src/lib.rs381/// the driver must immediately return (with `EndpointError::Disabled` from `data_in`, `data_out`)COMMENT
LOWembassy-usb-driver/src/lib.rs501 Resume,COMMENT
LOWembassy-stm32/Cargo.toml301embassy-crypto-aes256-ctr = []COMMENT
LOWembassy-stm32/src/jpeg.rs1//! JPEG hardware codec.COMMENT
LOWembassy-stm32/src/jpeg.rs261 }COMMENT
LOWembassy-stm32/src/rng.rs21/// the infallible API surfaces by panicking, rather than spinning or recursing.COMMENT
LOWembassy-stm32/src/wait.rs1//! Helpers for waiting: timeouts and poll-until-true utilities.COMMENT
LOWembassy-stm32/src/cpu.rs1//! Multicore utilities.COMMENT
LOWembassy-stm32/src/csi.rs1//! CSI-2 Host controller.COMMENT
LOWembassy-stm32/src/csi.rs21//! The RM0486 §40.6 init sequence is applied in [`Csi::new`]:COMMENT
LOWembassy-stm32/src/csi.rs101/// CSI-2 Host error.COMMENT
LOWembassy-stm32/src/csi.rs121#[non_exhaustive]COMMENT
LOWembassy-stm32/src/crypto_driver.rs1//! `embassy-crypto` AES drivers, one per `embassy-crypto-aes*` feature, servedCOMMENT
LOWembassy-stm32/src/crypto_driver.rs1161#[cfg(feature = "embassy-crypto-aes256-cmac")]COMMENT
LOWembassy-stm32/src/crypto_driver.rs1181#[cfg(feature = "embassy-crypto-aes128-ccm")]COMMENT
LOWembassy-stm32/src/lcd.rs21#[non_exhaustive]COMMENT
LOWembassy-stm32/src/lcd.rs61/// Your LCD datasheet should tell you what to use.COMMENT
LOWembassy-stm32/src/lcd.rs121/// A short pulse leads to lower power consumption, but displays with high internal resistanceCOMMENT
LOWembassy-stm32/src/lib.rs301}COMMENT
LOWembassy-stm32/src/lib.rs321///COMMENT
LOWembassy-stm32/src/lib.rs401pub use crate::pac::NVIC_PRIO_BITS;COMMENT
LOWembassy-stm32/src/lib.rs421 #[cfg(dbgmcu)]COMMENT
LOWembassy-stm32/src/lib.rs441 ///COMMENT
LOWembassy-stm32/src/lib.rs461 ///COMMENT
LOWembassy-stm32/src/lib.rs501 #[cfg(bdma)]COMMENT
LOWembassy-stm32/src/lib.rs621 /// #[link_section = ".ram_d3"]COMMENT
LOWembassy-stm32/src/comp.rs21COMMENT
LOWembassy-stm32/src/comp.rs81}COMMENT
LOWembassy-stm32/src/comp.rs101 InputPin,COMMENT
LOWembassy-stm32/src/comp.rs121#[cfg_attr(feature = "defmt", derive(defmt::Format))]COMMENT
LOWembassy-stm32/src/comp.rs141 /// Timer blanking source 7 (check datasheet for specific timer mapping).COMMENT
LOWembassy-stm32/src/comp.rs161/// Window output mode for window comparisons.COMMENT
LOWembassy-stm32/src/comp.rs981// Channel numbers (INP0/INP1, INM0/INM1) come from data/extra/STM32G4.yamlCOMMENT
LOWembassy-stm32/src/mdf.rs21/// Marker type for filter 3.COMMENT
LOWembassy-stm32/src/gpu2d.rs21static ERROR_HOOK: critical_section::Mutex<Cell<Option<fn()>>> = critical_section::Mutex::new(Cell::new(None));COMMENT
LOWembassy-stm32/src/opamp.rs101 w.set_vm_sel(vm_sel);COMMENT
LOWembassy-stm32/src/opamp.rs161 }COMMENT
LOWembassy-stm32/src/opamp.rs381 w.set_vm_sel(VmSel::from_bits(m_pin.channel()));COMMENT
LOWembassy-stm32/src/ucpd.rs1//! USB Type-C/USB Power Delivery Interface (UCPD)COMMENT
LOWembassy-stm32/src/executor.rs1//! STM32-specific `embassy-executor` platform.COMMENT
LOWembassy-stm32/src/executor.rs21//! let mut config = embassy_stm32::Config::default();COMMENT
LOWembassy-stm32/src/executor.rs121 /// The `init` closure is called with a [`Spawner`] that spawns tasks onCOMMENT
LOWembassy-stm32/src/executor.rs181 /// use case is to leave thread mode free for non-async tasks. Another use case isCOMMENT
LOWembassy-stm32/src/executor.rs221 let executor = unsafe { (&*self.executor.get()).assume_init_ref() };COMMENT
1881 more matches not shown…
Decorative Section Separators146 hits · 496 pts
SeverityFileLineSnippetContext
MEDIUMembassy-stm32/src/npu/cache.rs126// ── Cortex-M55 data-cache maintenance by address ────────────────────────────COMMENT
MEDIUMembassy-stm32/src/npu/ecloader.rs98 // ── blob ────────────────────────────────────────────────────────────────COMMENT
MEDIUMembassy-stm32/src/npu/ecloader.rs161 // ── relocations ─────────────────────────────────────────────────────────COMMENT
MEDIUMembassy-stm32/src/npu/ecloader.rs219 // ── patches ─────────────────────────────────────────────────────────────COMMENT
MEDIUMembassy-stm32/src/dma/ringbuffer/tests/mod.rs351// ── read_latest tests ──────────────────────────────────────────────────COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs20//! ╔════▼════╗ (2) ┌─────────┐ (3) ┌─────────┐ │COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs22//! ╚═════════╝ └─────────┘ └─────────┘ │COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs27//! │ ┌──────┐ (5) │ │ ┌─────┐COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs28//! │ IDLE │◀────────────────┘ └─▶│ END │ │COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs29//! │ └──────┘ └─────┘COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs30//! ┌──────────────────────┐ │COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs32//! └──────────────────────┘COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs52//! ╔═══▼══╗ (2) ┌────────────┐ (3) ┌─────────┐ │COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs53//! │ ║ IDLE ║──────────▶│ SCHEDULING │──────▶│ POLLING │COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs54//! ╚══════╝ └────────────┘ └─────────┘ │COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs57//! │ └──────────────┘ └────────────┘COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs58//! ┌──────────────────────────┐ │COMMENT
MEDIUM⚡embassy-executor/src/raw/trace.rs60//! └──────────────────────────┘COMMENT
MEDIUM⚡embassy-executor/src/raw/mod.rs83/// ┌────────────┐ ┌────────────────────────┐COMMENT
MEDIUM⚡embassy-executor/src/raw/mod.rs86/// └─────┬──────┘ └──────▲─────────────────┘COMMENT
MEDIUM⚡embassy-executor/src/raw/mod.rs88/// │ ┌────────────┘COMMENT
MEDIUM⚡embassy-executor/src/raw/mod.rs90/// ┌─────▼────┴─────────┐COMMENT
MEDIUM⚡embassy-executor/src/raw/mod.rs93/// └─────┬▲─────────────┘COMMENT
MEDIUM⚡embassy-executor/src/raw/mod.rs96/// ┌─────▼┴─────┐COMMENT
MEDIUM⚡embassy-executor/src/raw/mod.rs99/// └────────────┘COMMENT
MEDIUMembassy-usb/src/host/control.rs353// ── ControlPipeExt ─────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡embassy-usb/src/class/gip/host.rs75// ── GIP USB interface identifiers ────────────────────────────────────────────COMMENT
MEDIUM⚡embassy-usb/src/class/gip/host.rs83// ── GIP message types (MS-GIPUSB §2.2) ──────────────────────────────────────COMMENT
MEDIUM⚡embassy-usb/src/class/gip/host.rs91// ── GIP flags ────────────────────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/gip/host.rs102// ── Public types ─────────────────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/gip/host.rs212// ── Descriptor discovery ─────────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/gip/host.rs282// ── Standard GIP parsing helpers ─────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/gip/host.rs356// ── GipDevice trait ──────────────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/gip/host.rs412// ── Xbox One S implementation ────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/gip/host.rs463// ── GipHost driver ───────────────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs27// ── Usage page constants ───────────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs85// ── Input item flag constants ──────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs102// ── Parsed report field ────────────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs220// ── Parsed descriptor ─────────────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs260 // ── Global items ──────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs290 // ── Local items ───────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs313 // ── Main: Input ───────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs397 // ── Main: Output / Feature — advance offsets, ignore ──────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs403 // ── Main: Collection / End Collection ─────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs479// ── Internal parsing state ────────────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/hid_report.rs518// ── HID descriptor item iterator ──────────────────────────────────────────────COMMENT
MEDIUMembassy-usb/src/class/hid/host/mod.rs23// ── Boot-protocol report structs ─────────────────────────────────────────────COMMENT
MEDIUMexamples/stm32wba/src/bin/saes_ecb.rs47 // ─── AES-128-ECB round-trip + NIST sanity check ──────────────────────────COMMENT
MEDIUMexamples/stm32wba/src/bin/saes_ecb.rs95 // ─── AES-256-ECB round-trip (device-specific ciphertext) ─────────────────COMMENT
MEDIUMexamples/stm32wba/src/bin/saes_gcm.rs40 // ─── GCM round-trip: no AAD, 16-byte plaintext ───────────────────────────COMMENT
MEDIUMexamples/stm32wba/src/bin/saes_gcm.rs96 // ─── GCM round-trip: larger plaintext, no AAD ────────────────────────────COMMENT
MEDIUMexamples/stm32wba6/src/bin/ble_heart_rate.rs54// ── GATT UUIDs (Bluetooth SIG assigned) ──────────────────────────────────────COMMENT
MEDIUMexamples/stm32wba6/src/bin/ble_heart_rate.rs116 // ── Build GATT server ────────────────────────────────────────────────────COMMENT
MEDIUMexamples/stm32wba6/src/bin/ble_heart_rate.rs185 // ── Advertising ──────────────────────────────────────────────────────────COMMENT
MEDIUMexamples/stm32wba6/src/bin/ble_heart_rate.rs204 // ── Main loop: send HR notifications every 1 s ───────────────────────────COMMENT
MEDIUMexamples/stm32wba6/src/bin/ble_heart_rate.rs211 // ── GAP events ────────────────────────────────────────────────COMMENT
MEDIUMexamples/stm32wba6/src/bin/ble_heart_rate.rs236 // ── GATT events ───────────────────────────────────────────────COMMENT
MEDIUMexamples/stm32wba6/src/bin/ble_heart_rate.rs267 // ── 1-second tick: update and send HRM notification ───────────COMMENT
MEDIUMexamples/stm32wba6/src/bin/ble_bonding.rs124 // ── Security ──────────────────────────────────────────────────────────────COMMENT
MEDIUMexamples/stm32wba6/src/bin/ble_bonding.rs166 // ── GATT ──────────────────────────────────────────────────────────────────COMMENT
86 more matches not shown…
Verbosity Indicators43 hits · 71 pts
SeverityFileLineSnippetContext
LOWembassy-stm32/src/rcc/u5.rs321 // If both MSIS and MSIK are enabled, we need to check if they are using the same internal source.COMMENT
LOWembassy-stm32/src/rcc/u3.rs342 // If both MSIS and MSIK are enabled, we need to check if they are using the same internal source.COMMENT
LOWembassy-usb/src/host/mod.rs483 // Step 4: Get configuration descriptor header (9 bytes).COMMENT
LOWembassy-usb/src/host/mod.rs516 // Step 5: SET_CONFIGURATION.COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs131 // Step 1: Compute Montgomery parameter R² mod nCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs153 // Step 2: Verify n = p * q using arithmetic multiplicationCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs179 // Step 3: Validate that d < n (private exponent must be less than modulus)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs197 // Step 4: Test encryption/decryption to verify key pairCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs235 // Step 5: Demonstrate modular inverse (useful for computing d from e)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs256 // Step 6: Demonstrate modular reductionCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_crt.rs181 // Step 1: Encrypt with public key (standard RSA encryption)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_crt.rs198 // Step 2: Decrypt using standard RSA (for comparison)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_crt.rs217 // Step 3: Decrypt using RSA-CRT (faster!)COMMENT
LOW⚡examples/stm32wba/src/bin/pka_rsa_crt.rs256 // Step 4: Verify both methods produce the same resultCOMMENT
LOW⚡examples/stm32wba/src/bin/pka_rsa_crt.rs265 // Step 5: Multiple decryption demonstrationCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa.rs112 // Step 1: Compute Montgomery parameter for the modulusCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa.rs128 // Step 2: Encrypt using public key (n, e)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa.rs147 // Step 3: Decrypt using private key dCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa.rs173 // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameterCOMMENT
LOWexamples/boot/application/nrf/src/bin/a.rs48 // The following code block illustrates how to obtain a watchdog that is configuredCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs111 // Step 1: Compute Montgomery parameter R² mod nCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs133 // Step 2: Verify n = p * q using arithmetic multiplicationCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs159 // Step 3: Validate that d < n (private exponent must be less than modulus)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs177 // Step 4: Test encryption/decryption to verify key pairCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs215 // Step 5: Demonstrate modular inverse (useful for computing d from e)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs236 // Step 6: Demonstrate modular reductionCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_crt.rs161 // Step 1: Encrypt with public key (standard RSA encryption)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_crt.rs178 // Step 2: Decrypt using standard RSA (for comparison)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_crt.rs197 // Step 3: Decrypt using RSA-CRT (faster!)COMMENT
LOW⚡examples/stm32wba6/src/bin/pka_rsa_crt.rs236 // Step 4: Verify both methods produce the same resultCOMMENT
LOW⚡examples/stm32wba6/src/bin/pka_rsa_crt.rs245 // Step 5: Multiple decryption demonstrationCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa.rs92 // Step 1: Compute Montgomery parameter for the modulusCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa.rs108 // Step 2: Encrypt using public key (n, e)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa.rs127 // Step 3: Decrypt using private key dCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa.rs153 // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameterCOMMENT
LOWembassy-mcxa/src/executor.rs149 // Next, we need to check if any high-power peripherals exist that shouldCOMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1630 // Step 2: Pre-clear IBIWON in case it was already set, so AUTO_IBI doesn't return early.COMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1633 // Step 3: Issue AUTO_IBI with ACK — hardware handles the IBI protocol handshake.COMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1639 // Step 4: Wait for IBIWON — the IBI has been accepted and the address header received.COMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1707 // Step 6: Wait for COMPLETE (marks end of IBI reception, state transitions to NORMACT).COMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1712 // Step 7: Clear status flags and emit a STOP to terminate the IBICOMMENT
LOWembassy-mcxa/src/i3c/controller.rs1605 // Step 1: Wait for SLVSTART (a target is asserting SDA low to request the bus).COMMENT
LOWembassy-mcxa/src/i3c/controller.rs1665 // Step 5: For normal IBIs (not Hot-Join or Controller-Request), drain the RX FIFO payload.COMMENT
Structural Annotation Overuse40 hits · 67 pts
SeverityFileLineSnippetContext
LOWembassy-usb/src/host/mod.rs483 // Step 4: Get configuration descriptor header (9 bytes).COMMENT
LOWembassy-usb/src/host/mod.rs516 // Step 5: SET_CONFIGURATION.COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs131 // Step 1: Compute Montgomery parameter R² mod nCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs153 // Step 2: Verify n = p * q using arithmetic multiplicationCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs179 // Step 3: Validate that d < n (private exponent must be less than modulus)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs197 // Step 4: Test encryption/decryption to verify key pairCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs235 // Step 5: Demonstrate modular inverse (useful for computing d from e)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_keygen.rs256 // Step 6: Demonstrate modular reductionCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_crt.rs181 // Step 1: Encrypt with public key (standard RSA encryption)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_crt.rs198 // Step 2: Decrypt using standard RSA (for comparison)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa_crt.rs217 // Step 3: Decrypt using RSA-CRT (faster!)COMMENT
LOW⚡examples/stm32wba/src/bin/pka_rsa_crt.rs256 // Step 4: Verify both methods produce the same resultCOMMENT
LOW⚡examples/stm32wba/src/bin/pka_rsa_crt.rs265 // Step 5: Multiple decryption demonstrationCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa.rs112 // Step 1: Compute Montgomery parameter for the modulusCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa.rs128 // Step 2: Encrypt using public key (n, e)COMMENT
LOWexamples/stm32wba/src/bin/pka_rsa.rs147 // Step 3: Decrypt using private key dCOMMENT
LOWexamples/stm32wba/src/bin/pka_rsa.rs173 // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameterCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs111 // Step 1: Compute Montgomery parameter R² mod nCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs133 // Step 2: Verify n = p * q using arithmetic multiplicationCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs159 // Step 3: Validate that d < n (private exponent must be less than modulus)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs177 // Step 4: Test encryption/decryption to verify key pairCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs215 // Step 5: Demonstrate modular inverse (useful for computing d from e)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_keygen.rs236 // Step 6: Demonstrate modular reductionCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_crt.rs161 // Step 1: Encrypt with public key (standard RSA encryption)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_crt.rs178 // Step 2: Decrypt using standard RSA (for comparison)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa_crt.rs197 // Step 3: Decrypt using RSA-CRT (faster!)COMMENT
LOW⚡examples/stm32wba6/src/bin/pka_rsa_crt.rs236 // Step 4: Verify both methods produce the same resultCOMMENT
LOW⚡examples/stm32wba6/src/bin/pka_rsa_crt.rs245 // Step 5: Multiple decryption demonstrationCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa.rs92 // Step 1: Compute Montgomery parameter for the modulusCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa.rs108 // Step 2: Encrypt using public key (n, e)COMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa.rs127 // Step 3: Decrypt using private key dCOMMENT
LOWexamples/stm32wba6/src/bin/pka_rsa.rs153 // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameterCOMMENT
LOWembassy-mcxa/Cargo.toml107# WARNING: This WILL cause problems if you plan to use defmt over RTT,COMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1630 // Step 2: Pre-clear IBIWON in case it was already set, so AUTO_IBI doesn't return early.COMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1633 // Step 3: Issue AUTO_IBI with ACK — hardware handles the IBI protocol handshake.COMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1639 // Step 4: Wait for IBIWON — the IBI has been accepted and the address header received.COMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1707 // Step 6: Wait for COMPLETE (marks end of IBI reception, state transitions to NORMACT).COMMENT
LOW⚡embassy-mcxa/src/i3c/controller.rs1712 // Step 7: Clear status flags and emit a STOP to terminate the IBICOMMENT
LOWembassy-mcxa/src/i3c/controller.rs1605 // Step 1: Wait for SLVSTART (a target is asserting SDA low to request the bus).COMMENT
LOWembassy-mcxa/src/i3c/controller.rs1665 // Step 5: For normal IBIs (not Hot-Join or Controller-Request), drain the RX FIFO payload.COMMENT
AI Slop Vocabulary7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMembassy-rp/src/bootsel.rs6//! to utilize outside of the rom's bootloader.COMMENT
MEDIUMembassy-rp/src/rom_data/rp2040.rs154 // can still utilize the cache, but we have to make sure it hasCOMMENT
MEDIUMembassy-sync/src/rpc_service.rs39// Fundamentally, we need some shared memory between the caller and the runnerCOMMENT
MEDIUMexamples/std/src/bin/serial.rs23 // Essentially, async_io::Async converts from AsRawFd+Read+Write to futures's AsyncRead+AsyncWriteCOMMENT
MEDIUMembassy-stm32-wpan/src/net/commands.rs296/// MLME DPS Request allows the next higher layer to request that the PHY utilize aCOMMENT
MEDIUMembassy-stm32-wpan/src/net/commands.rs305 /// the number of symbols for which the transmitter and receiver will utilize theCOMMENT
MEDIUMembassy-mcxa/src/lpuart/bbq.rs62 /// Default mode, attempts to utilize the ring buffer as maximally as possible.COMMENT
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHexamples/stm32n6/build.rs4//! ST Edge AI generated network so the `npu_mobilenet` example can run genuineCOMMENT
HIGHembassy-stm32-wpan/src/wb/mod.rs87 // this is an inlined version of TL_Init from the STM32WB firmware as requested by AN5289.COMMENT
Slop Phrases4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMembassy-rp/Cargo.toml119## Have embassy-rp not provide the boot2 so you can use your own.COMMENT
MEDIUMembassy-rp/Cargo.toml140## Have embassy-rp not provide the Image Definition so you can use your own.COMMENT
MEDIUMexamples/stm32wba/src/bin/pka_rsa.rs17//! This example uses a small 512-bit key for demonstration purposes.COMMENT
MEDIUMexamples/stm32wba6/src/bin/pka_rsa.rs17//! This example uses a small 512-bit key for demonstration purposes.COMMENT
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALembassy-usb-synopsys-otg/src/host.rs777 let speed_code = self.instance.state.fields.port_speed.load(Ordering::Acquire);CODE
Empty Error Handlers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHexamples/stm32n6/eth-speedtest.py71except OSError:CODE
HIGHexamples/stm32n6/eth-speedtest.py89except OSError:CODE
TODO Padding6 hits · 9 pts
SeverityFileLineSnippetContext
LOWembassy-stm32/src/hspi/mod.rs899 // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU.COMMENT
LOWembassy-stm32/src/usb/usb.rs833 // TODO: implement VBUS detection.COMMENT
LOWembassy-stm32/src/xspi/mod.rs1848 // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU.COMMENT
LOWembassy-stm32/src/ospi/mod.rs1970 // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU.COMMENT
LOWembassy-stm32/src/ospi/mod.rs2045 // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU.COMMENT
LOWembassy-rp/src/usb/device.rs352 // TODO: implement VBUS detection.COMMENT
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMembassy-time/Cargo.toml59## Create a time driver for `std` environments.COMMENT
MEDIUMembassy-time/Cargo.toml61## Create a time driver for WASM.COMMENT
MEDIUMembassy-hal-internal/Cargo.toml19# Define the number of NVIC priority bits.COMMENT
Excessive Try-Catch Wrapping4 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMexamples/stm32wba6/convert_wav.py26 print("Error: only 16-bit WAV files are supported")CODE
LOWexamples/stm32wba6/convert_wav.py52 except Exception as exc:CODE
MEDIUMexamples/stm32wba6/convert_wav.py53 print(f"Error: {exc}")CODE
MEDIUMexamples/stm32wba6/convert_wav.py66 print(f"Error: input file '{input_file}' not found")CODE
Example Usage Blocks3 hits · 4 pts
SeverityFileLineSnippetContext
LOWembassy-rp/src/trng.rs152/// Usage example:COMMENT
LOWexamples/stm32wb/firmware/run_fus_update.sh6# Usage:COMMENT
LOWembassy-mspm0/src/trng.rs148/// Usage example:COMMENT
Deep Nesting4 hits · 4 pts
SeverityFileLineSnippetContext
LOWexamples/stm32wba6/convert_wav.py9CODE
LOWexamples/ambiq/sparkfun-artemis/tools/svl.py201CODE
LOWexamples/ambiq/sparkfun-artemis/tools/svl.py291CODE
LOWexamples/ambiq/sparkfun-artemis/tools/svl.py323CODE
Cross-Language Confusion1 hit · 2 pts
SeverityFileLineSnippetContext
HIGHexamples/stm32wba6/verify_rpa.py15 hash = ah(IRK, prand) = AES-128(IRK, 0..0 || prand)[13..16] (lower 3 bytes)STRING