A free, open source, multi-platform SQLite database manager.
This report summarizes scanner evidence for pawelsalawa/letos, a C project with 6,808 GitHub stars. SynthScan examined 668,274 lines of code across 2064 source files, recording 429 pattern matches distributed across 4 syntactic categories. The legacy adjusted pattern signal is 0.6 (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? 391 finding(s).
Are imports declared and package/API names verified? 0 finding(s).
Are wrappers, guards, and repeated structures necessary? 38 finding(s).
Which changes need focused human review? 429 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 429 distinct pattern matches across 4 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 | Plugins/DbSQLite3MC/dbsqlitemc_global.h | 1 | #ifndef DBSQLITEMC_GLOBAL_H | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 121 | # define SQLITE_API | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 501 | #define SQLITE_BUSY 5 /* The database file is locked */ | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 541 | ** on a per database connection basis using the | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 561 | #define SQLITE_IOERR_DELETE (SQLITE_IOERR | (10<<8)) | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 581 | #define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8)) | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 601 | #define SQLITE_CORRUPT_INDEX (SQLITE_CORRUPT | (3<<8)) | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 641 | ** Applications should not depend on the historical behavior. | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 661 | #define SQLITE_OPEN_TEMP_JOURNAL 0x00001000 /* VFS only */ | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 721 | #define SQLITE_IOCAP_ATOMIC4K 0x00000010 | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 1281 | ** about the [mc_sqlite3_file] objects used access the database and journal files | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 1301 | #define SQLITE_FCNTL_POWERSAFE_OVERWRITE 13 | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 1321 | #define SQLITE_FCNTL_LOCK_TIMEOUT 34 | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 2261 | #define SQLITE_CONFIG_MULTITHREAD 2 /* nil */ | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 2741 | ** [SQLITE_DBCONFIG_LOOKASIDE], and [SQLITE_DBCONFIG_FP_DIGITS] options | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 3581 | */ | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 3601 | #define SQLITE_PRAGMA 19 /* Pragma Name 1st arg or NULL */ | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 4501 | #define SQLITE_LIMIT_SQL_LENGTH 1 | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 8681 | #define SQLITE_MUTEX_FAST 0 | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 8781 | ** | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 8801 | #define SQLITE_TESTCTRL_ISKEYWORD 16 /* NOT USED */ | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 9321 | ** ^The highwater mark is always 0. | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15181 | #define mc_sqlite3_bind_parameter_count mc_sqlite3_api->bind_parameter_count | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15201 | #define mc_sqlite3_column_double mc_sqlite3_api->column_double | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15221 | #define mc_sqlite3_create_module mc_sqlite3_api->create_module | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15241 | #define mc_sqlite3_global_recover mc_sqlite3_api->global_recover | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15261 | #define mc_sqlite3_result_error mc_sqlite3_api->result_error | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15281 | #define mc_sqlite3_transfer_bindings mc_sqlite3_api->transfer_bindings | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15301 | #define mc_sqlite3_prepare16_v2 mc_sqlite3_api->prepare16_v2 | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15321 | #define mc_sqlite3_result_error_toobig mc_sqlite3_api->result_error_toobig | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15341 | #define mc_sqlite3_backup_remaining mc_sqlite3_api->backup_remaining | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15361 | #define mc_sqlite3_vtab_on_conflict mc_sqlite3_api->vtab_on_conflict | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15381 | #define mc_sqlite3_load_extension mc_sqlite3_api->load_extension | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15401 | /* Version 3.12.0 and later */ | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15421 | #define mc_sqlite3_keyword_check mc_sqlite3_api->keyword_check | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15441 | #define mc_sqlite3_drop_modules mc_sqlite3_api->drop_modules | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15461 | #define mc_sqlite3_vtab_rhs_value mc_sqlite3_api->vtab_rhs_value | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15481 | /* Version 3.50.0 and later */ | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15601 | #define mc_sqlite3_memory_alarm SQLITE3MC_API_TABLE_CORE->memory_alarm | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15621 | #define mc_sqlite3_stmt_scanstatus_reset SQLITE3MC_API_TABLE_CORE->stmt_scanstatus_reset | COMMENT |
| LOW | Plugins/DbSQLite3MC/sqlite3mc_amalgamation.h | 15641 | #define mc_sqlite3mc_config_cipher SQLITE3MC_API_TABLE_MC->mc_config_cipher | COMMENT |
| LOW | Plugins/DbSQLite3MC/dbsqlitemcinstance.h | 1 | #ifndef DBSQLITEMCINSTANCE_H | COMMENT |
| LOW | Plugins/XmlExport/xmlexport_global.h | 1 | #ifndef XMLEXPORT_GLOBAL_H | COMMENT |
| LOW | …ins/TclSyntaxHighlighter/TclSyntaxHighlighter_global.h | 1 | #ifndef TCLSYNTAXHIGHLIGHTER_GLOBAL_H | COMMENT |
| LOW | Plugins/ErdEditor/erdeditor_global.h | 1 | #ifndef ERDEDITOR_GLOBAL_H | COMMENT |
| LOW | Plugins/ErdEditor/erdwindow.cpp | 1 | #include "erdwindow.h" | COMMENT |
| LOW | Plugins/ErdEditor/erdwindow.cpp | 21 | #include "changes/erdchangeregistrydialog.h" | COMMENT |
| LOW | Plugins/ErdEditor/panel/erdtablewindow.cpp | 1 | #include "erdtablewindow.h" | COMMENT |
| LOW | Plugins/ErdEditor/panel/erdconnectionpanel.cpp | 1 | #include "erdconnectionpanel.h" | COMMENT |
| LOW | Plugins/ErdEditor/changes/erdeffectivechangemerger.cpp | 1 | #include "erdchange.h" | COMMENT |
| LOW | Plugins/ErdEditor/scene/erdscene.cpp | 1 | #include "erdscene.h" | COMMENT |
| LOW | Plugins/ErdEditor/scene/erdentity.cpp | 1 | #include "erdentity.h" | COMMENT |
| LOW | Plugins/ErdEditor/scene/erdview.cpp | 1 | #include "erdview.h" | COMMENT |
| LOW | Plugins/ErdEditor/scene/erdarrowitem.cpp | 1 | #include "erdarrowitem.h" | COMMENT |
| LOW | Plugins/RegExpImport/regexpimport_global.h | 1 | #ifndef REGEXPIMPORT_GLOBAL_H | COMMENT |
| LOW | Plugins/PdfExport/pdfexport_global.h | 1 | #ifndef PDFEXPORT_GLOBAL_H | COMMENT |
| LOW | Plugins/SqlExport/sqlexport_global.h | 1 | #ifndef SQLEXPORT_GLOBAL_H | COMMENT |
| LOW | Plugins/SqlFormatterSimple/sqlformattersimple_global.h | 1 | #ifndef SQLFORMATTERSIMPLE_GLOBAL_H | COMMENT |
| LOW | Plugins/MultiEditorImage/multieditorimage.cpp | 1 | #include "multieditorimage.h" | COMMENT |
| LOW | Plugins/MultiEditorImage/multieditorimage_global.h | 1 | #ifndef MULTIEDITORIMAGE_GLOBAL_H | COMMENT |
| 324 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Letos/core/licenses/icu.txt | 314 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/core/licenses/icu.txt | 339 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/core/licenses/icu.txt | 351 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/core/licenses/icu.txt | 381 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | Letos/docs/sqlitestudio3_docs.cfg | 1821 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | Letos/docs/sqlitestudio3_docs.cfg | 1823 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | Letos/docs/sqlitestudio3_docs.cfg | 1833 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | Letos/docs/sqlitestudio3_docs.cfg | 1835 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 16 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 18 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 387 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 389 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 667 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 669 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 726 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 728 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 874 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 876 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 960 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 962 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 986 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 988 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1526 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1528 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1671 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1673 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1727 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1729 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1764 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1766 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1803 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1805 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1871 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1873 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1949 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1951 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 2000 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 2002 | #--------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 266 | # Note For files without extension you can use no_extension as a placeholder. | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 747 | # If the value of the INPUT tag contains directories, you can use the | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 780 | # If the value of the INPUT tag contains directories, you can use the | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 806 | # If the value of the EXAMPLE_PATH tag contains directories, you can use the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …os/core/db/queryexecutorsteps/queryexecutorcolumns.cpp | 114 | // We cannot leverage INSTEAD OF triggers for arbitrary queries, because it's not possible to identify ROWID | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1046 | # it is more robust and this tag (HTML_STYLESHEET) will in the future become | COMMENT |
| MEDIUM | Letos/docs/sqlitestudio3_docs.cfg | 1056 | # standard style sheet and is therefor more robust against future updates. | COMMENT |