Music for the Shell. kew is a fast, immersive music player that allows you to listen to music privately.
This report summarizes scanner evidence for ravachol/kew, a C project with 3,185 GitHub stars. SynthScan examined 97,315 lines of code across 174 source files, recording 225 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 2.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 196 finding(s).
Are imports declared and package/API names verified? 0 finding(s).
Are wrappers, guards, and repeated structures necessary? 29 finding(s).
Which changes need focused human review? 225 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 225 distinct pattern matches across 7 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 | include/compat/buildinfo.h | 1 | #ifndef KEW_BUILD_CONFIG_H | COMMENT |
| LOW | include/compat/buildinfo.h | 21 | COMMENT | |
| LOW | include/compat/ulog.h | 1 | #ifndef ULOG_H | COMMENT |
| LOW | include/compat/compat_errno.h | 1 | #ifndef COMPAT_ERRNO | COMMENT |
| LOW | include/compat/futils/futils.h | 1 | #ifndef FUTILS_H | COMMENT |
| LOW | include/tinywebp/tiny_webp.h | 261 | #define twp__INLINE __attribute__((always_inline)) inline | COMMENT |
| LOW | include/tinywebp/tiny_webp.h | 281 | COMMENT | |
| LOW | include/tinywebp/tiny_webp.h | 301 | #else | COMMENT |
| LOW | include/tinywebp/tiny_webp.h | 341 | } twp__bit_reader; | COMMENT |
| LOW | include/nestegg/nestegg.c | 1 | /* | COMMENT |
| LOW | include/nestegg/nestegg.c | 21 | #define ID_DOCTYPE_VERSION 0x4287 | COMMENT |
| LOW | include/nestegg/nestegg.c | 41 | COMMENT | |
| LOW | include/nestegg/nestegg.c | 61 | COMMENT | |
| LOW | include/nestegg/nestegg.c | 81 | #define ID_STEREO_MODE 0x53b8 | COMMENT |
| LOW | include/nestegg/nestegg.c | 101 | #define ID_CUE_POINT 0xbb | COMMENT |
| LOW | include/nestegg/nestegg.c | 121 | #define ID_MATRIX_COEFFICIENTS 0x55b1 | COMMENT |
| LOW | include/nestegg/nestegg.c | 161 | #define SIMPLE_BLOCK_FLAGS_KEYFRAME (1 << 7) | COMMENT |
| LOW | include/nestegg/nestegg.h | 61 | */ | COMMENT |
| LOW | include/nestegg/nestegg.h | 81 | #define NESTEGG_VIDEO_STEREO_TOP_BOTTOM 3 /**< Track is top-bottom stereo video. Left first. */ | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 401 | typedef uint32_t stbir_uint32; | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 421 | // | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 541 | // * Separate input and output data types | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 641 | STBIRDEF int stbir_set_non_pm_alpha_speed_over_quality( STBIR_RESIZE * resize, int non_pma_alpha_speed_over_quality ); | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 661 | STBIRDEF int stbir_resize_extended( STBIR_RESIZE * resize ); | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 681 | // Note that you MUST call stbir_build_samplers_with_splits before stbir_resize_extended_split! | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 701 | // | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 721 | // return optional_output; // return the optional buffer that we filled | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 781 | #endif // STBIR_INCLUDE_STB_IMAGE_RESIZE2_H | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 801 | #else | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 821 | #endif | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 841 | #endif | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 881 | STBIRI_AR_PM = 16, | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1161 | return (unsigned char) ((bias + scale*t) >> 16); | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1181 | COMMENT | |
| LOW | include/stb_image/stb_image_resize2.h | 1201 | #define STBIR_AVX2 | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1221 | #endif | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1241 | #else | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1261 | #else | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1281 | #endif | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1301 | #endif | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1321 | #define stbir__simdf_load2( out, ptr ) (out) = _mm_castsi128_ps( _mm_loadl_epi64( (__m128i*)(ptr)) ) // top values can | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1361 | out1 = _mm_unpackhi_epi16( ireg, zero ); \ | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1381 | #define stbir__simdf_madd1( out, add, mul1, mul2 ) (out) = _mm_fmadd_ss( mul1, mul2, add ) | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1401 | COMMENT | |
| LOW | include/stb_image/stb_image_resize2.h | 1461 | #if defined(_MSC_VER) && !defined(__clang__) | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1501 | #include <immintrin.h> | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1641 | COMMENT | |
| LOW | include/stb_image/stb_image_resize2.h | 1661 | COMMENT | |
| LOW | include/stb_image/stb_image_resize2.h | 1721 | #define stbir__simdf_load1( out, ptr ) (out) = vld1q_dup_f32( (float const*)(ptr) ) // top values can be random (not d | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1761 | { \ | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1781 | #define stbir__simdf_madd( out, add, mul1, mul2 ) (out) = vfmaq_f32( add, mul1, mul2 ) | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 1921 | COMMENT | |
| LOW | include/stb_image/stb_image_resize2.h | 1981 | #define stbir_simdi_castf( reg ) (reg) | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 2021 | v128_t tmp = wasm_u16x8_extend_low_u8x16(ireg); \ | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 2041 | #define stbir__simdf_add_mem( out, reg, ptr ) (out) = wasm_f32x4_add( reg, wasm_v128_load( (void const*)(ptr) ) | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 2121 | #define STBIR__SIMDF_CONST(var, x) stbir__simdf var = (v128_t)(stbir__f32x4){ x, x, x, x } | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 2141 | return wasm_f32x4_extract_lane( wasm_f32x4_ceil( wasm_f32x4_splat(x) ), 0); | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 2161 | #define stbir__simdfX_madd stbir__simdf8_madd | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 2181 | static const stbir__simdf8 STBIR_simd_point58 = { 0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 }; | COMMENT |
| LOW | include/stb_image/stb_image_resize2.h | 2201 | #define stbir__simdfX_1a1a stbir__simdf_1a1a | COMMENT |
| 131 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 70 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 72 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 78 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 80 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 88 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 90 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 166 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 168 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 176 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 178 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 188 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 190 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 202 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 204 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 210 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 212 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 221 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 223 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 236 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 238 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 247 | # ------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/build_windows_installer.yml | 249 | # ------------------------- | COMMENT |
| MEDIUM | .github/workflows/build_windows_installer.yml | 33 | # ------------------------- | COMMENT |
| MEDIUM | .github/workflows/build_windows_installer.yml | 35 | # ------------------------- | COMMENT |
| MEDIUM | .github/workflows/build_windows_installer.yml | 57 | # ------------------------- | COMMENT |
| MEDIUM | .github/workflows/build_windows_installer.yml | 59 | # ------------------------- | COMMENT |
| MEDIUM | .github/workflows/build_windows_installer.yml | 132 | # ------------------------- | COMMENT |
| MEDIUM | .github/workflows/build_windows_installer.yml | 134 | # ------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/build_check_ubuntu.yml | 44 | # Create an empty library | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/claude_security_review.yml | 63 | # Read file with size limit for cost control | COMMENT |
| LOW | .github/workflows/claude_security_review.yml | 161 | # Print results | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | include/tinywebp/tiny_webp.h | 302 | #define twp__32BIT // idk, just use 32-bit i guess? | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | include/tinywebp/tiny_webp.h | 1440 | // we need to check if we already reversed a color indexing transform; if so, we need | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/claude_security_review.yml | 117 | except Exception as e: | STRING |