AI Slop Code Risk Monitor

rime/librime

SlopCodeMonitor badge for rime/librime Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Rime Input Method Engine, the core library

1.0 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for rime/librime, a C++ project with 4,706 GitHub stars. SynthScan examined 133,875 lines of code across 184 source files, recording 186 pattern matches distributed across 1 syntactic category. The legacy adjusted pattern signal is 1.0 (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.

1.0
Adjusted Signal
1.0
Raw Pattern Score
100%
Time Factor
2026-10-27
Last Push
4.7K
Stars
C++
Language
133.9K
Lines of Code
184
Files
186
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

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.

Cognitive Ownership Risk 5.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 6.7/100 · LOW

Which changes need focused human review? 186 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 0HIGH 0MEDIUM 0LOW 186

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 186 distinct pattern matches across 1 syntactic category. 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 Block186 hits · 140 pts
SeverityFileLineSnippetContext
LOWaction-versions.sh1# Default versions for CI buildsCOMMENT
LOWinclude/darts.h1#ifndef DARTS_H_COMMENT
LOWinclude/darts.h41// <progress_func_type> is the type of callback functions for reporting theCOMMENT
LOWinclude/darts.h101 // Disallows operator=.COMMENT
LOWinclude/darts.h201 }COMMENT
LOWinclude/darts.h221 // it will be called in build() so that the caller can check the progress ofCOMMENT
LOWinclude/darts.h241 // when and only when a memory allocation fails.COMMENT
LOWinclude/darts.h261 // In the above example, the lengths are { 1, 2, 2 }, not { 4, 5, 5 }.COMMENT
LOWinclude/darts.h281 template <class U>COMMENT
LOWinclude/utf8/core.h41#if UTF_CPP_CPLUSPLUS >= 201103L // C++ 11 or laterCOMMENT
LOWinclude/X11/keysymdef.h121 * tables in client code).COMMENT
LOWinclude/X11/keysymdef.h141#define XK_SingleCandidate 0xff3cCOMMENT
LOWinclude/X11/keysymdef.h161#define XK_Kana_Shift 0xff2e /* Kana Shift */COMMENT
LOWinclude/X11/keysymdef.h181#define XK_End 0xff57 /* EOL */COMMENT
LOWinclude/X11/keysymdef.h201COMMENT
LOWinclude/X11/keysymdef.h221#define XK_KP_Begin 0xff9dCOMMENT
LOWinclude/X11/keysymdef.h261#define XK_F10 0xffc7COMMENT
LOWinclude/X11/keysymdef.h281#define XK_L10 0xffd1COMMENT
LOWinclude/X11/keysymdef.h301#define XK_R10 0xffdbCOMMENT
LOWinclude/X11/keysymdef.h321COMMENT
LOWinclude/X11/keysymdef.h341#define XK_ISO_Level3_Shift 0xfe03COMMENT
LOWinclude/X11/keysymdef.h361#define XK_ISO_Move_Line_Down 0xfe22COMMENT
LOWinclude/X11/keysymdef.h381#define XK_dead_grave 0xfe50COMMENT
LOWinclude/X11/keysymdef.h401#define XK_dead_stroke 0xfe63COMMENT
LOWinclude/X11/keysymdef.h421#define XK_dead_E 0xfe83COMMENT
LOWinclude/X11/keysymdef.h441#define XK_BounceKeys_Enable 0xfe74COMMENT
LOWinclude/X11/keysymdef.h461#define XK_Pointer_Button4 0xfeecCOMMENT
LOWinclude/X11/keysymdef.h481#endif /* XK_XKB_KEYS */COMMENT
LOWinclude/X11/keysymdef.h501#define XK_3270_Test 0xfd0dCOMMENT
LOWinclude/X11/keysymdef.h521/*COMMENT
LOWinclude/X11/keysymdef.h541#define XK_minus 0x002d /* U+002D HYPHEN-MINUS */COMMENT
LOWinclude/X11/keysymdef.h561#define XK_A 0x0041 /* U+0041 LATIN CAPITAL LETTER A */COMMENT
LOWinclude/X11/keysymdef.h581#define XK_U 0x0055 /* U+0055 LATIN CAPITAL LETTER U */COMMENT
LOWinclude/X11/keysymdef.h601#define XK_h 0x0068 /* U+0068 LATIN SMALL LETTER H */COMMENT
LOWinclude/X11/keysymdef.h621#define XK_bar 0x007c /* U+007C VERTICAL LINE */COMMENT
LOWinclude/X11/keysymdef.h641#define XK_degree 0x00b0 /* U+00B0 DEGREE SIGN */COMMENT
LOWinclude/X11/keysymdef.h661#define XK_Adiaeresis 0x00c4 /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */COMMENT
LOWinclude/X11/keysymdef.h681#define XK_multiply 0x00d7 /* U+00D7 MULTIPLICATION SIGN */COMMENT
LOWinclude/X11/keysymdef.h701#define XK_eacute 0x00e9 /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */COMMENT
LOWinclude/X11/keysymdef.h721#define XK_udiaeresis 0x00fc /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */COMMENT
LOWinclude/X11/keysymdef.h741#define XK_Zacute 0x01ac /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */COMMENT
LOWinclude/X11/keysymdef.h761#define XK_Ccaron 0x01c8 /* U+010C LATIN CAPITAL LETTER C WITH CARON */COMMENT
LOWinclude/X11/keysymdef.h781#define XK_dstroke 0x01f0 /* U+0111 LATIN SMALL LETTER D WITH STROKE */COMMENT
LOWinclude/X11/keysymdef.h801#define XK_Gbreve 0x02ab /* U+011E LATIN CAPITAL LETTER G WITH BREVE */COMMENT
LOWinclude/X11/keysymdef.h821COMMENT
LOWinclude/X11/keysymdef.h841#define XK_gcedilla 0x03bb /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */COMMENT
LOWinclude/X11/keysymdef.h861#define XK_kcedilla 0x03f3 /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */COMMENT
LOWinclude/X11/keysymdef.h881#define XK_mabovedot 0x1001e41 /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */COMMENT
LOWinclude/X11/keysymdef.h901 * Byte 3 = 0x13COMMENT
LOWinclude/X11/keysymdef.h921#define XK_kana_conjunctive 0x04a5 /* U+30FB KATAKANA MIDDLE DOT */COMMENT
LOWinclude/X11/keysymdef.h941#define XK_kana_KI 0x04b7 /* U+30AD KATAKANA LETTER KI */COMMENT
LOWinclude/X11/keysymdef.h961#define XK_kana_NO 0x04c9 /* U+30CE KATAKANA LETTER NO */COMMENT
LOWinclude/X11/keysymdef.h981#define XK_kana_WA 0x04dc /* U+30EF KATAKANA LETTER WA */COMMENT
LOWinclude/X11/keysymdef.h1001#define XK_Farsi_7 0x10006f7 /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */COMMENT
LOWinclude/X11/keysymdef.h1021#define XK_Arabic_8 0x1000668 /* U+0668 ARABIC-INDIC DIGIT EIGHT */COMMENT
LOWinclude/X11/keysymdef.h1041#define XK_Arabic_ra 0x05d1 /* U+0631 ARABIC LETTER REH */COMMENT
LOWinclude/X11/keysymdef.h1061#define XK_Arabic_alefmaksura 0x05e9 /* U+0649 ARABIC LETTER ALEF MAKSURA */COMMENT
LOWinclude/X11/keysymdef.h1081#define XK_Arabic_farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */COMMENT
LOWinclude/X11/keysymdef.h1101#define XK_Cyrillic_en_descender 0x10004a3 /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */COMMENT
LOWinclude/X11/keysymdef.h1121#define XK_Cyrillic_U_macron 0x10004ee /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */COMMENT
126 more matches not shown…