Rime Input Method Engine, the core library
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.
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? 186 finding(s).
Are imports declared and package/API names verified? 0 finding(s).
Are wrappers, guards, and repeated structures necessary? 0 finding(s).
Which changes need focused human review? 186 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 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | action-versions.sh | 1 | # Default versions for CI builds | COMMENT |
| LOW | include/darts.h | 1 | #ifndef DARTS_H_ | COMMENT |
| LOW | include/darts.h | 41 | // <progress_func_type> is the type of callback functions for reporting the | COMMENT |
| LOW | include/darts.h | 101 | // Disallows operator=. | COMMENT |
| LOW | include/darts.h | 201 | } | COMMENT |
| LOW | include/darts.h | 221 | // it will be called in build() so that the caller can check the progress of | COMMENT |
| LOW | include/darts.h | 241 | // when and only when a memory allocation fails. | COMMENT |
| LOW | include/darts.h | 261 | // In the above example, the lengths are { 1, 2, 2 }, not { 4, 5, 5 }. | COMMENT |
| LOW | include/darts.h | 281 | template <class U> | COMMENT |
| LOW | include/utf8/core.h | 41 | #if UTF_CPP_CPLUSPLUS >= 201103L // C++ 11 or later | COMMENT |
| LOW | include/X11/keysymdef.h | 121 | * tables in client code). | COMMENT |
| LOW | include/X11/keysymdef.h | 141 | #define XK_SingleCandidate 0xff3c | COMMENT |
| LOW | include/X11/keysymdef.h | 161 | #define XK_Kana_Shift 0xff2e /* Kana Shift */ | COMMENT |
| LOW | include/X11/keysymdef.h | 181 | #define XK_End 0xff57 /* EOL */ | COMMENT |
| LOW | include/X11/keysymdef.h | 201 | COMMENT | |
| LOW | include/X11/keysymdef.h | 221 | #define XK_KP_Begin 0xff9d | COMMENT |
| LOW | include/X11/keysymdef.h | 261 | #define XK_F10 0xffc7 | COMMENT |
| LOW | include/X11/keysymdef.h | 281 | #define XK_L10 0xffd1 | COMMENT |
| LOW | include/X11/keysymdef.h | 301 | #define XK_R10 0xffdb | COMMENT |
| LOW | include/X11/keysymdef.h | 321 | COMMENT | |
| LOW | include/X11/keysymdef.h | 341 | #define XK_ISO_Level3_Shift 0xfe03 | COMMENT |
| LOW | include/X11/keysymdef.h | 361 | #define XK_ISO_Move_Line_Down 0xfe22 | COMMENT |
| LOW | include/X11/keysymdef.h | 381 | #define XK_dead_grave 0xfe50 | COMMENT |
| LOW | include/X11/keysymdef.h | 401 | #define XK_dead_stroke 0xfe63 | COMMENT |
| LOW | include/X11/keysymdef.h | 421 | #define XK_dead_E 0xfe83 | COMMENT |
| LOW | include/X11/keysymdef.h | 441 | #define XK_BounceKeys_Enable 0xfe74 | COMMENT |
| LOW | include/X11/keysymdef.h | 461 | #define XK_Pointer_Button4 0xfeec | COMMENT |
| LOW | include/X11/keysymdef.h | 481 | #endif /* XK_XKB_KEYS */ | COMMENT |
| LOW | include/X11/keysymdef.h | 501 | #define XK_3270_Test 0xfd0d | COMMENT |
| LOW | include/X11/keysymdef.h | 521 | /* | COMMENT |
| LOW | include/X11/keysymdef.h | 541 | #define XK_minus 0x002d /* U+002D HYPHEN-MINUS */ | COMMENT |
| LOW | include/X11/keysymdef.h | 561 | #define XK_A 0x0041 /* U+0041 LATIN CAPITAL LETTER A */ | COMMENT |
| LOW | include/X11/keysymdef.h | 581 | #define XK_U 0x0055 /* U+0055 LATIN CAPITAL LETTER U */ | COMMENT |
| LOW | include/X11/keysymdef.h | 601 | #define XK_h 0x0068 /* U+0068 LATIN SMALL LETTER H */ | COMMENT |
| LOW | include/X11/keysymdef.h | 621 | #define XK_bar 0x007c /* U+007C VERTICAL LINE */ | COMMENT |
| LOW | include/X11/keysymdef.h | 641 | #define XK_degree 0x00b0 /* U+00B0 DEGREE SIGN */ | COMMENT |
| LOW | include/X11/keysymdef.h | 661 | #define XK_Adiaeresis 0x00c4 /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */ | COMMENT |
| LOW | include/X11/keysymdef.h | 681 | #define XK_multiply 0x00d7 /* U+00D7 MULTIPLICATION SIGN */ | COMMENT |
| LOW | include/X11/keysymdef.h | 701 | #define XK_eacute 0x00e9 /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ | COMMENT |
| LOW | include/X11/keysymdef.h | 721 | #define XK_udiaeresis 0x00fc /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ | COMMENT |
| LOW | include/X11/keysymdef.h | 741 | #define XK_Zacute 0x01ac /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */ | COMMENT |
| LOW | include/X11/keysymdef.h | 761 | #define XK_Ccaron 0x01c8 /* U+010C LATIN CAPITAL LETTER C WITH CARON */ | COMMENT |
| LOW | include/X11/keysymdef.h | 781 | #define XK_dstroke 0x01f0 /* U+0111 LATIN SMALL LETTER D WITH STROKE */ | COMMENT |
| LOW | include/X11/keysymdef.h | 801 | #define XK_Gbreve 0x02ab /* U+011E LATIN CAPITAL LETTER G WITH BREVE */ | COMMENT |
| LOW | include/X11/keysymdef.h | 821 | COMMENT | |
| LOW | include/X11/keysymdef.h | 841 | #define XK_gcedilla 0x03bb /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */ | COMMENT |
| LOW | include/X11/keysymdef.h | 861 | #define XK_kcedilla 0x03f3 /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */ | COMMENT |
| LOW | include/X11/keysymdef.h | 881 | #define XK_mabovedot 0x1001e41 /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */ | COMMENT |
| LOW | include/X11/keysymdef.h | 901 | * Byte 3 = 0x13 | COMMENT |
| LOW | include/X11/keysymdef.h | 921 | #define XK_kana_conjunctive 0x04a5 /* U+30FB KATAKANA MIDDLE DOT */ | COMMENT |
| LOW | include/X11/keysymdef.h | 941 | #define XK_kana_KI 0x04b7 /* U+30AD KATAKANA LETTER KI */ | COMMENT |
| LOW | include/X11/keysymdef.h | 961 | #define XK_kana_NO 0x04c9 /* U+30CE KATAKANA LETTER NO */ | COMMENT |
| LOW | include/X11/keysymdef.h | 981 | #define XK_kana_WA 0x04dc /* U+30EF KATAKANA LETTER WA */ | COMMENT |
| LOW | include/X11/keysymdef.h | 1001 | #define XK_Farsi_7 0x10006f7 /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */ | COMMENT |
| LOW | include/X11/keysymdef.h | 1021 | #define XK_Arabic_8 0x1000668 /* U+0668 ARABIC-INDIC DIGIT EIGHT */ | COMMENT |
| LOW | include/X11/keysymdef.h | 1041 | #define XK_Arabic_ra 0x05d1 /* U+0631 ARABIC LETTER REH */ | COMMENT |
| LOW | include/X11/keysymdef.h | 1061 | #define XK_Arabic_alefmaksura 0x05e9 /* U+0649 ARABIC LETTER ALEF MAKSURA */ | COMMENT |
| LOW | include/X11/keysymdef.h | 1081 | #define XK_Arabic_farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */ | COMMENT |
| LOW | include/X11/keysymdef.h | 1101 | #define XK_Cyrillic_en_descender 0x10004a3 /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */ | COMMENT |
| LOW | include/X11/keysymdef.h | 1121 | #define XK_Cyrillic_U_macron 0x10004ee /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */ | COMMENT |
| 126 more matches not shown… | ||||