AI Slop Code Risk Monitor

Acode-Foundation/Acode

SlopCodeMonitor badge for Acode-Foundation/Acode Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Acode - powerful text/code editor for android/ios

1.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for Acode-Foundation/Acode, a JavaScript project with 7,603 GitHub stars. SynthScan examined 240,620 lines of code across 840 source files, recording 236 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 1.5 (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.5
Adjusted Signal
1.5
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
7.6K
Stars
JavaScript
Language
240.6K
Lines of Code
840
Files
236
Pattern Hits
2026-10-31
Scan Date
0.01
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 4.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.3/100 · LOW

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

Agent Over-Engineering Ratio 4.7/100 · LOW

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

PR Review Velocity Impact 7.0/100 · LOW

Which changes need focused human review? 236 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 9HIGH 0MEDIUM 17LOW 210

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 236 distinct pattern matches across 9 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.

Hyper-Verbose Identifiers190 hits · 187 pts
SeverityFileLineSnippetContext
LOWutils/config.js164function removeCordovaPluginDeclarations({ configPath, packagePath, fsImpl }) {CODE
LOWhooks/immersive-fullscreen.js6module.exports = function prepareImmersiveFullscreen(context) {CODE
LOWhooks/modify-java-files.js486 function getInterfaceDeclarationRegex(filename) {CODE
LOWhooks/restore-cordova-resources.js19function restoreCordovaResourceFiles(currentPath) {CODE
LOWhooks/post-process.js83function stripLauncherFilterFromMainActivity() {CODE
LOWhooks/post-process.js331function removeLegacyKeyboardWorkaround() {CODE
LOWhooks/post-process.js410function removeConflictingResourceFiles(src, dest) {CODE
LOWsrc/main.js1009function createAceModelistCompatModule() {CODE
LOWsrc/settings/lspServerDetail.js151function formatStartupTimeoutValue(timeout) {CODE
LOWsrc/test/tester.js89function getOrCreateSuiteElement(suite) {CODE
LOWsrc/test/lsp.tests.js56export function isValidInitializationResponse(response, id = 1) {CODE
LOWsrc/test/editor.tests.js145 function dispatchQuickToolsTextInput(text) {CODE
LOW…s/cordova-plugin-advanced-http/www/umd-tough-cookie.js1(function webpackUniversalModuleDefinition(root, factory) {CODE
LOWsrc/plugins/cordova-plugin-advanced-http/www/helpers.js189 function checkForBlacklistedHeaderKey(key) {CODE
LOWsrc/plugins/cordova-plugin-advanced-http/www/helpers.js197 function checkForInvalidHeaderValue(value) {CODE
LOWsrc/sidebarApps/index.js100function setSponsorSidebarAppVisibility(visible) {CODE
LOWsrc/sidebarApps/searchInFiles/index.js446function enqueueNativeSearchResults(batch, version) {CODE
LOWsrc/sidebarApps/searchInFiles/index.js452function scheduleNativeResultDrain(version) {CODE
LOWsrc/utils/codeHighlight.js52function canUseConstructedStyleSheets() {CODE
LOWsrc/utils/codeHighlight.js151function syncFallbackStyleElements(css) {CODE
LOWsrc/utils/codeHighlight.js163function injectDocumentStyleElement(css) {CODE
LOWsrc/utils/fileOperationExclusions.js13export function isExcludedFileOperationPath(url, patterns = []) {CODE
LOWsrc/components/settingsPage.js306function dispatchItemInteractionEnd($target, updated) {CODE
LOWsrc/components/settingsPage.js528function supportsPrimaryHoverInput() {CODE
LOWsrc/components/settingsPage.js577function createTrailingValueDisplay(item) {CODE
LOWsrc/components/sidebar/index.js459 function hideEditorNativeSelectionHandles() {CODE
LOWsrc/components/WebComponents/wcPage.js344function handlePagesForSmoothExperience() {CODE
LOWsrc/components/WebComponents/wcPage.js351function handlePagesForSmoothExperienceBack() {CODE
LOW⚡src/lib/editorManager.js1148 function createConfiguredBaseExtensions() {CODE
LOW⚡src/lib/editorManager.js1152 function getBaseExtensionSignature() {CODE
LOW⚡src/lib/editorManager.js1162 function makeRainbowBracketExtension() {CODE
LOW⚡src/lib/editorManager.js3585 function updateEditorIndentationSettings() {CODE
LOW⚡src/lib/editorManager.js3589 function updateEditorStyleFromSettings() {CODE
LOW⚡src/lib/editorManager.js3593 function updateEditorWrapFromSettings() {CODE
LOW⚡src/lib/editorManager.js3600 function updateEditorLineNumbersFromSettings() {CODE
LOW⚡src/lib/editorManager.js3604 function recreateActiveEditorState() {CODE
LOW⚡src/lib/editorManager.js4147 function getGlobalOpenFileListMirrorOrderSignature() {CODE
LOW⚡src/lib/editorManager.js4153 function createGlobalOpenFileListMirrorTab(file) {CODE
LOW⚡src/lib/editorManager.js4161 function cacheGlobalOpenFileListMirrorTab(file, tab, signature) {CODE
LOW⚡src/lib/editorManager.js4167 function markGlobalOpenFileListMirrorDirty(file) {CODE
LOW⚡src/lib/editorManager.js4171 function syncGlobalOpenFileListMirrorActiveState() {CODE
LOWsrc/lib/editorManager.js296 function createPaneAwareOpenFileListProxy(target) {CODE
LOWsrc/lib/editorManager.js772 function updateActivePaneLayoutPath(pane) {CODE
LOWsrc/lib/editorManager.js790 function updateActivePaneScrollbars() {CODE
LOWsrc/lib/editorManager.js845 function registerSoftKeyboardCursorReveal() {CODE
LOWsrc/lib/editorManager.js1062 function getConfiguredThemeExtension() {CODE
LOWsrc/lib/editorManager.js1354 function getBaseExtensionsFromOptions() {CODE
LOWsrc/lib/editorManager.js1428 function getCanvasDisplayOptionsFromSettings() {CODE
LOWsrc/lib/editorManager.js1454 function handleCanvasLineNumberClick(line, event, view) {CODE
LOWsrc/lib/editorManager.js1521 function createPaneTouchSelectionMenu(view, options) {CODE
LOWsrc/lib/editorManager.js1634 function maybeAttachEmmetCompletions(targetExtensions, syntax) {CODE
LOWsrc/lib/editorManager.js2180 function getEditorCompatibilityPane(targetEditor) {CODE
LOWsrc/lib/editorManager.js2184 function refreshPaneCommandKeymaps() {CODE
LOWsrc/lib/editorManager.js2218 function createEditorCompatibilityDescriptors(targetEditor) {CODE
LOWsrc/lib/editorManager.js2792 function getEditorExtensionSignature(file) {CODE
LOWsrc/lib/editorManager.js2802 function getEditorOptionsSignature() {CODE
LOWsrc/lib/editorManager.js2860 function dispatchLanguageExtension(CODE
LOWsrc/lib/editorManager.js2948 function applyCurrentEditorOptions(CODE
LOWsrc/lib/editorManager.js3199 function restoreFileScrollPosition(file) {CODE
LOWsrc/lib/editorManager.js3244 function cancelPendingScrollRestore() {CODE
130 more matches not shown…
Hallucination Indicators9 hits · 110 pts
SeverityFileLineSnippetContext
CRITICALtests/unit/fileSaveEvents.test.js204 expect(f.manager.emit.mock.calls.some(([name]) => name === "save-file")).toBe(CODE
CRITICALtests/unit/quickToolsAdapterUi.test.js470 f.adapter.execute.mock.calls.slice(-2).map(([action]) => action),CODE
CRITICALtests/unit/quickToolsAdapter.test.js75 expect(f.adapter.execute.mock.calls.map(([action]) => action.text)).toEqual(CODE
CRITICAL⚡src/components/audioPlayer/index.js87 this.elements.playIcon.el.classList.remove("pause");CODE
CRITICAL⚡src/components/audioPlayer/index.js88 this.elements.playIcon.el.classList.add("play_arrow");CODE
CRITICAL⚡src/components/audioPlayer/index.js91 this.elements.playIcon.el.classList.remove("play_arrow");CODE
CRITICAL⚡src/components/audioPlayer/index.js92 this.elements.playIcon.el.classList.add("pause");CODE
CRITICALsrc/components/audioPlayer/index.js133 this.elements.playIcon.el.classList.remove("pause");CODE
CRITICALsrc/components/audioPlayer/index.js134 this.elements.playIcon.el.classList.add("play_arrow");CODE
Decorative Section Separators15 hits · 43 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/lezerLrHighlighting.test.js33 "// ─────────────────────────────────────────────────────────────",CODE
MEDIUMtests/unit/lezerLrHighlighting.test.js35 "// ─────────────────────────────────────────────────────────────",CODE
MEDIUMutils/scripts/dev.js25// ─── helpers ────────────────────────────────────────────────────────────────COMMENT
MEDIUMutils/scripts/dev.js150// ─── self-signed certificate ─────────────────────────────────────────────────COMMENT
MEDIUMutils/scripts/dev.js189// ─── HTTPS + WebSocket server ─────────────────────────────────────────────────COMMENT
MEDIUMutils/scripts/dev.js260// ─── cordova helpers ─────────────────────────────────────────────────────────COMMENT
MEDIUMutils/scripts/dev.js315// ─── rspack watcher ──────────────────────────────────────────────────────────COMMENT
MEDIUMutils/scripts/dev.js388// ─── plugin watcher ──────────────────────────────────────────────────────────COMMENT
MEDIUMutils/scripts/dev.js501// ─── main ────────────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/community-release-notifier.yml106 # ────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/community-release-notifier.yml108 # ────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/community-release-notifier.yml122 # ────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/community-release-notifier.yml124 # ────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/community-release-notifier.yml135 # ────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/community-release-notifier.yml137 # ────────────────────────────────────────────────COMMENT
Over-Commented Block11 hits · 10 pts
SeverityFileLineSnippetContext
LOWhooks/README.md1<!--COMMENT
LOW…s/cordova-plugin-advanced-http/www/umd-tough-cookie.js1721 }COMMENT
LOW…s/cordova-plugin-advanced-http/www/umd-tough-cookie.js2881 //COMMENT
LOW…s/cordova-plugin-advanced-http/www/umd-tough-cookie.js2961 // copy of this software and associated documentation files (theCOMMENT
LOW…s/cordova-plugin-advanced-http/www/umd-tough-cookie.js3021 };COMMENT
LOW…s/cordova-plugin-advanced-http/www/umd-tough-cookie.js4001 LABEL_TOO_SHORT: 'Domain name label should be at least 1 character long.',COMMENT
LOWsrc/fileSystem/sftp.js521 // case 0:COMMENT
LOWsrc/fileSystem/sftp.js541 // case 23:COMMENT
LOWsrc/fileSystem/ftp.js1import settings from "lib/settings";COMMENT
LOWsrc/lib/editorManager.js961 // Compartment for indent guidesCOMMENT
LOWsrc/cm/touchSelectionMenu.js201 #pendingPointerSelectionClick = null;COMMENT
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMsrc/components/terminal/terminalTouchSelection.js646 // More robust transform cleanupCOMMENT
MEDIUMsrc/cm/supportedModes.ts198 // Merge custom mappings to make language detection robustCOMMENT
Verbosity Indicators2 hits · 4 pts
SeverityFileLineSnippetContext
LOW⚡src/cm/lsp/codeActions.ts265 // Step 1: Apply workspace edit if presentCOMMENT
LOW⚡src/cm/lsp/codeActions.ts270 // Step 2: Execute command if present (after edit per LSP spec)COMMENT
Structural Annotation Overuse2 hits · 4 pts
SeverityFileLineSnippetContext
LOW⚡src/cm/lsp/codeActions.ts265 // Step 1: Apply workspace edit if presentCOMMENT
LOW⚡src/cm/lsp/codeActions.ts270 // Step 2: Execute command if present (after edit per LSP spec)COMMENT
Overly Generic Function Names4 hits · 4 pts
SeverityFileLineSnippetContext
LOWutils/scripts/dev.js220function handleRequest(req, res) {CODE
LOWsrc/plugins/cordova-plugin-advanced-http/www/helpers.js400 function processData(data, dataSerializer, cb) {CODE
LOWsrc/lib/run.js192 function handleRequest(req) {CODE
LOWsrc/cm/lsp/workers/protocol.ts257async function handleRequest(message: JsonRpcMessage): Promise<void> {CODE
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsrc/cm/lsp/rename.ts95 if ("placeholder" in prepareResult && prepareResult.placeholder) {CODE