AI Slop Code Risk Monitor

binaricat/Netcatty

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

SSH workspace, SFTP, and terminals in one

3.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for binaricat/Netcatty, a TypeScript project with 6,988 GitHub stars. SynthScan examined 728,497 lines of code across 2898 source files, recording 2057 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 3.1 (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.

3.1
Adjusted Signal
3.1
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
7.0K
Stars
TypeScript
Language
728.5K
Lines of Code
2.9K
Files
2.1K
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 13.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.4/100 · LOW

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

Agent Over-Engineering Ratio 13.6/100 · LOW

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

PR Review Velocity Impact 13.7/100 · LOW

Which changes need focused human review? 2057 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 2HIGH 6MEDIUM 18LOW 2031

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 2057 distinct pattern matches across 14 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 Identifiers1935 hits · 2064 pts
SeverityFileLineSnippetContext
LOWindex.tsx101function TerminalPopupWindowFallback() {CODE
LOW…perpowers/plans/2026-07-29-copy-workspace-split-tab.md507export async function copyWorkspaceWithCurrentShellImpl(getCtx: AppContextGetter, workspaceId: string) {CODE
LOWcomponents/PluginPermissionHost.test.tsx9function observePluginHostSecurityVisibility(mount: HTMLElement, publish: (visible: boolean) => void): () => void {CODE
LOWcomponents/terminalPaneVisibility.ts30export function shouldUseTerminalPaneSplitLayout({CODE
LOWcomponents/terminalPaneVisibility.ts48export function shouldMeasureTerminalLayerLayout({CODE
LOWcomponents/terminalPaneVisibility.ts89export function resolveTerminalLayerSurfaceStyle(CODE
LOWcomponents/terminalPaneVisibility.ts140export function parseTerminalPaneSnapshot(snapshot: TerminalPaneSnapshot): {CODE
LOWcomponents/terminalPaneVisibility.ts182export function getTerminalPaneFocusSnapshot({CODE
LOWcomponents/terminalPaneVisibility.ts204export function getTerminalPaneRenderSnapshot(CODE
LOWcomponents/terminalPaneVisibility.ts220export function parseTerminalPaneRenderSnapshot(snapshot: string): {CODE
LOWcomponents/terminalPaneVisibility.ts243export function resolveTerminalPaneInputProps({ paneState, isFocusedPane }: ReturnType<typeof parseTerminalPaneRenderSnaCODE
LOWcomponents/SettingsPage.tsx151const SettingsTerminalTabContainer = React.memo<TerminalTabSettingsProps>(function SettingsTerminalTabContainer({CODE
LOWcomponents/AppLockGate.tsx45export function shouldRenderAppLockGateChildren(input: {CODE
LOWcomponents/AppLockGate.tsx63export function shouldNotifyAppLockGateRendererReady(input: {CODE
LOWcomponents/AppLockGate.tsx71export function shouldDeferExternalActionWhileAppLocked(input: {CODE
LOWcomponents/GlobalSftpTransferCenter.tsx56function useSftpTransferCenterWhenOpen(open: boolean): SftpTransferCenterSnapshot {CODE
LOWcomponents/GlobalSftpTransferCenter.tsx111export function getGlobalTransferStatusOverride(task: Pick<TransferTask, "error" | "pauseUnavailableReason">) {CODE
LOWcomponents/GlobalSftpTransferCenter.tsx115export function getGlobalConflictActionPresentation(CODE
LOWcomponents/GlobalSftpTransferCenter.tsx129export function getTasksForGlobalTransferBucket(CODE
LOWcomponents/GlobalSftpTransferCenter.tsx170export function shouldShowCollapsedActiveChildren(CODE
LOWcomponents/GlobalSftpTransferCenter.tsx176export function getGlobalTransferProgressPercent(CODE
LOWcomponents/GlobalSftpTransferCenter.tsx200export function buildGlobalTransferProgressDisplay(CODE
LOWcomponents/HostTreeView.tsx107export function buildVisibleHostTreeItems({CODE
LOWcomponents/AIChatSidePanelHelpers.ts106function normalizeCatalogFetchedAt(fetchedAt: unknown): string | undefined {CODE
LOWcomponents/AIChatSidePanelHelpers.ts120function normalizeSdkRuntimeModelCatalog(catalog: SdkRuntimeModelCatalog): SdkRuntimeModelCatalog {CODE
LOWcomponents/AIChatSidePanelHelpers.ts165export function buildCursorListModelsAgentEnv(agent: {CODE
LOWcomponents/AIChatSidePanelHelpers.ts180export function buildSdkRuntimeModelCacheKey(agent: {CODE
LOWcomponents/AIChatSidePanelHelpers.ts205export function createSdkRuntimeModelCache(options: SdkRuntimeModelCacheOptions = {}) {CODE
LOWcomponents/AIChatSidePanelHelpers.ts304export function reconcileRuntimeModelWarning(CODE
LOWcomponents/AIChatSidePanelHelpers.ts320export function mergeFallbackThinkingLevels(CODE
LOWcomponents/AIChatSidePanelHelpers.ts346export function agentModelPresetsShallowEqual(CODE
LOWcomponents/AIChatSidePanelHelpers.ts363export function normalizeStoredAgentModelSelection(CODE
LOWcomponents/AIChatSidePanelHelpers.ts376export function shouldLoadSdkRuntimeModels(agent?: ExternalAgentConfig): boolean {CODE
LOWcomponents/AIChatSidePanelHelpers.ts410function shouldRetainUnlistedCopilotModel(CODE
LOWcomponents/AIChatSidePanelHelpers.ts422export function storedModelStillResolvesForAgent(CODE
LOWcomponents/AIChatSidePanelHelpers.ts432export function resolveSdkRuntimeCatalogDefaultModelId(CODE
LOWcomponents/AIChatSidePanelHelpers.ts446export function shouldAdoptSdkCurrentModel(CODE
LOWcomponents/AIChatSidePanelHelpers.ts461export function normalizeSdkRuntimeModelPresets(CODE
LOWcomponents/AIChatSidePanelHelpers.ts470export function shouldUseStoredAgentModel(CODE
LOWcomponents/AIChatSidePanelHelpers.ts488export function appendRetainedStoredModelPreset(CODE
LOWcomponents/AIChatSidePanelHelpers.ts522export function retainStoredModelPresetForCatalog(CODE
LOWcomponents/HostDetailsConnectionSections.tsx27export function shouldForceAuthMethodReselect(CODE
LOWcomponents/ScriptsSidePanel.tsx162export function collectScriptsSidePanelPackagePaths(CODE
LOWcomponents/ScriptsSidePanel.tsx169export function buildScriptsSidePanelRows({CODE
LOWcomponents/AIChatSidePanel.tsx141function invalidateUserSkillsStatusCache() {CODE
LOWcomponents/AIChatSidePanel.tsx191export function hasAIChatSidePanelRetainedContent(props: Pick<CODE
LOWcomponents/AIChatSidePanel.tsx214export function shouldKeepAIChatSidePanelMounted(props: AIChatSidePanelProps): boolean {CODE
LOWcomponents/AIChatSidePanel.tsx226function shouldDelayAIChatSidePanelActivation(_props: AIChatSidePanelProps): boolean {CODE
LOWcomponents/AIChatSidePanel.tsx2311export function aiChatSidePanelPropsAreEqual(CODE
LOWcomponents/TopTabs.tsx89export function shouldKeepHostTreeToggleSurface({CODE
LOWcomponents/TopTabs.tsx99export function resolveWorkspaceSessionTabDropTarget({CODE
LOWcomponents/QuickSwitcher.tsx44export function buildPaneMagnificationPaletteAction(CODE
LOWcomponents/QuickSwitcher.tsx57export function getQuickSwitcherRowStateClass(CODE
LOWcomponents/QuickSwitcher.tsx65export function shouldUseQuickSwitcherPointerNavigation(CODE
LOWcomponents/QuickSwitcher.tsx145export function getQuickSwitcherVisualRowHeight(row: QuickSwitcherVisualRow): number {CODE
LOWcomponents/AppLockOverlay.tsx39export function getAppLockErrorMessageKey(error: AppLockUnlockResult['error'] | null): string | null {CODE
LOWcomponents/TerminalPopupPage.tsx48function TerminalPopupWindowControls({ mac, onClose }: { mac: boolean; onClose: () => void }) {CODE
LOWcomponents/TerminalPopupPage.tsx143function TerminalPopupStartupError({CODE
LOWcomponents/TerminalPopupPage.tsx189function resolveHostProtocolFromSourceSession(CODE
LOWcomponents/TerminalPopupPage.tsx204function applySourceSessionConnectionOverrides(CODE
1875 more matches not shown…
Over-Commented Block79 hits · 74 pts
SeverityFileLineSnippetContext
LOWcomponents/Terminal.tsx3221 const previousCols = term.cols;COMMENT
LOWcomponents/Terminal.tsx3301 // disposed means the trim deleted the rows they pin — but markerCOMMENT
LOWcomponents/Terminal.tsx3321 reflowAnchor,COMMENT
LOWcomponents/Terminal.tsx3521 if (lineDelayMs) markTerminalBroadcastUserInput(sessionId);COMMENT
LOWcomponents/Terminal.tsx4121 // lands in strict order — see #695. xterm.write is async, so withoutCOMMENT
LOWcomponents/host-details/AlgorithmOverridesPanel.tsx61 const { t } = useI18n();COMMENT
LOWcomponents/cloud-sync/CloudSyncLocalBackupsPanel.tsx81 new Date(timestamp).toLocaleString(resolvedLocale || undefined);COMMENT
LOWcomponents/cloud-sync/CloudSyncLocalBackupsPanel.tsx141 }COMMENT
LOWcomponents/systemManager/SystemManagerSidePanel.tsx301 void refreshCapabilities();COMMENT
LOWcomponents/terminal/terminalReflowScrollAnchor.test.ts741 5, // the marker kept its old within-line row through the shrinkCOMMENT
LOWcomponents/terminal/terminalReflowScrollAnchor.test.ts801 fakeBuffer(after, { viewportY: 0 }) as never,COMMENT
LOWcomponents/terminal/useTerminalEffects.ts1841 const initial = term.modes.mouseTrackingMode !== 'none';COMMENT
LOWcomponents/terminal/useTerminalEffects.ts1881 // stopImmediatePropagation blocks the event from reaching React'sCOMMENT
LOWcomponents/terminal/keywordHighlight.ts421 // catch-up timer fires (#3271). Recolor the visible rows here, insideCOMMENT
LOWcomponents/terminal/pluginTerminalVisualProviderHost.ts141 readonly #matcherRequestControllers = new Set<AbortController>();COMMENT
LOWcomponents/terminal/terminalHelpers.ts601 const viewport = (term as XTermWithPrivateViewport)._core?._viewport;COMMENT
LOWcomponents/terminal/terminalHelpers.ts781 */COMMENT
LOWcomponents/terminal/terminalHelpers.ts801// wrapped line (minified JSON, base64) would otherwise repeat O(line)COMMENT
LOWcomponents/terminal/terminalHelpers.ts821const REFLOW_ANCHOR_MARKER_LINE_WALK_ROWS = 16_384;COMMENT
LOWcomponents/terminal/terminalHelpers.ts841// line fits the bound at capture it still fits at resolve. The reverse doesCOMMENT
LOWcomponents/terminal/terminalHelpers.ts941 // the glyph that did not fit actually starts the following wrapped row. ACOMMENT
LOWcomponents/terminal/terminalHelpers.ts1081 buffer: ReflowAnchorBuffer,COMMENT
LOWcomponents/terminal/terminalHelpers.ts1821 // `REFLOW_ANCHOR_MARKER_LINE_WALK_ROWS` (a large column shrink can push theCOMMENT
LOWcomponents/terminal/terminalHelpers.ts1841 // No continuation tracking means no containing-line walk ran, so theCOMMENT
LOWcomponents/terminal/terminalHelpers.ts1861 // seeds the scan and must not stand in for the result.COMMENT
LOWcomponents/terminal/terminalHelpers.ts1881 ) {COMMENT
LOWcomponents/terminal/autocomplete/promptDetector.ts801 // A prompt $ is typically preceded by: space, ), ], digit, username chars, or is at position 0.COMMENT
LOW…nts/terminal/autocomplete/terminalAutocompleteInput.ts121 // executing each segment — meaning we must preserve the wholeCOMMENT
LOW…nts/terminal/autocomplete/terminalAutocompleteInput.ts141 // command — mirrors the non-bracketed paste branch below.COMMENT
LOW…nts/terminal/autocomplete/terminalAutocompleteInput.ts181 // line in ways this append-only buffer can't follow. Same storyCOMMENT
LOW…/terminal/autocomplete/terminalAutocompleteKeyEvent.ts121 if (firstEntry?.type === "directory") {COMMENT
LOW…erminal/runtime/createTerminalSessionStarters.types.ts161 // instead of borrowing a live or idle pooled transport. Reusing anCOMMENT
LOWcomponents/terminal/runtime/terminalOutputHistory.ts461 // Active DECSTBM scroll margins (1-based rows); Infinity means "viewport bottom".COMMENT
LOWcomponents/terminal/runtime/createXTermRuntime.ts1501 // work explicitly. Only actual protocol replies are exempt; keyboardCOMMENT
LOWcomponents/terminal/runtime/createXTermRuntime.ts1601 //COMMENT
LOWcomponents/terminal/runtime/createXTermRuntime.ts1961 // unconditionally clears the selection on user inputCOMMENT
LOWcomponents/terminal/runtime/createXTermRuntime.ts2561 return false;COMMENT
LOWcomponents/terminal/hooks/useTerminalSearch.ts481 // through handleCloseSearch — clear leftover decorations only when thisCOMMENT
LOWcomponents/ai/externalAgentHistory.test.ts401 // Regression: the previous bound was MAX_DURABLE_SCAN_MESSAGES=200 onCOMMENT
LOWscripts/build-et/build-macos.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/build-et/build-linux.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/build-et/build-linux.sh121# Bootstrap the vendored vcpkg so CMake's vcpkg toolchain can resolve theCOMMENT
LOW.github/workflows/build.yml1name: build-packagesCOMMENT
LOW.github/workflows/build.yml361 if-no-files-found: ignoreCOMMENT
LOW.github/scripts/bump-homebrew-cask.sh1#!/usr/bin/env bashCOMMENT
LOWapplication/localVaultBackups.ts521 // `hasMeaningfulSyncData` can return false transiently evenCOMMENT
LOWapplication/app/useAppStartupEffects.ts361 return;COMMENT
LOWapplication/app/AppHandlers.ts561 // Freshest cwd: the live value tracked in terminal state (OSC 7 or theCOMMENT
LOWapplication/state/useAutoSync.ts121// Cross-window restore barrier: stored as an epoch-ms deadline. Any valueCOMMENT
LOWapplication/state/useAutoSync.ts381 // Cross-window guard: another window may be in the middle ofCOMMENT
LOWapplication/state/useAutoSync.ts401 // Refuse to auto-push when a previous apply crashed mid-way andCOMMENT
LOWapplication/state/useAutoSync.ts901 // We push the merged payload *directly* through the manager ratherCOMMENT
LOWapplication/state/useAIState.ts761 }, [persistSessions]);COMMENT
LOWapplication/state/systemSettingsEffects.ts81 setAutoUpdateEnabled,COMMENT
LOWapplication/state/sessionHistorySearch.ts221 }COMMENT
LOWapplication/state/sessionHistorySearch.ts281 options: SessionHistorySearchOptions = {},COMMENT
LOWapplication/state/sessionHistorySearch.ts301 // Bound and prepare the query once per scan: a pasted-in multi-megabyteCOMMENT
LOWapplication/state/useSessionState.ts281COMMENT
LOWapplication/state/useSessionState.ts861 // Name the merged workspace after both tabs' connection labels (e.g.COMMENT
LOWapplication/state/sftp/dedicatedTransferResume.ts1081 // File checkpoints intentionally do not persist an unbounded directoryCOMMENT
19 more matches not shown…
Decorative Section Separators16 hits · 54 pts
SeverityFileLineSnippetContext
MEDIUMcomponents/sftp/useSftpPaneTreeRows.tsx32 // ── Render visible rows ──────────────────────────────────────────COMMENT
MEDIUMcomponents/sftp/SftpPaneTreeNode.tsx12// ── Simplified TreeNode (no per-node ContextMenu) ────────────────────COMMENT
MEDIUMcomponents/sftp/SftpPaneTreeNode.tsx137// ── Tree paths reducer (unchanged) ──────────────────────────────────COMMENT
MEDIUMcomponents/sftp/hooks/useSftpKeyboardShortcuts.ts90// ── Tree Enter key action store ──────────────────────────────────────COMMENT
MEDIUMcomponents/sftp/hooks/useSftpKeyboardShortcuts.ts123// ── Keyboard selection anchor/focus tracking ────────────────────────COMMENT
MEDIUMcomponents/sftp/hooks/useSftpKeyboardShortcuts.ts678 // ── Arrow Up/Down: move selection ────────────────────────────────COMMENT
MEDIUM.github/workflows/build-et-binaries.yml55 # ------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/build-et-binaries.yml57 # ------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/build-et-binaries.yml164 # ------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/build-et-binaries.yml166 # ------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/build-et-binaries.yml205 # ------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/build-et-binaries.yml207 # ------------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/build-et-binaries.yml256 # ------------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/build-et-binaries.yml258 # ------------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/build-et-binaries.yml260 # ------------------------------------------------------------------COMMENT
MEDIUM⚡.github/workflows/build-et-binaries.yml262 # ------------------------------------------------------------------COMMENT
Cross-Language Confusion (JS/TS)5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHcomponents/terminal/osc7Setup.ts165 print (bp != "" ? bp : start)CODE
HIGHcomponents/terminal/osc7Setup.ts225 elif [ "$active_shell_pid" != "$login_shell_pid" ]; thenCODE
HIGHcomponents/terminal/osc7Setup.ts356 elif stat -f '%OLp' "$1" >/dev/null 2>&1; thenCODE
HIGHcomponents/terminal/osc7Setup.ts365 elif stat -f '%u:%g' "$1" >/dev/null 2>&1; thenCODE
HIGHcomponents/terminal/osc7Setup.ts505 elif netcatty_osc7_markers_balanced "$config"; thenCODE
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALcomponents/HostTotpFields.test.tsx86 assert.ok(dom.window.document.body.innerHTML.includes("hostDetails.totp.secretPlaceholder"));CODE
CRITICALapplication/state/useHostBrowserPanel.test.ts220 f.env.document.documentElement.classList.add('light');CODE
Fake / Example Data9 hits · 9 pts
SeverityFileLineSnippetContext
LOWcomponents/AppLockOverlay.runtime.test.tsx54 assert.equal(input.getAttribute("placeholder"), "Enter password to unlock");CODE
LOWcomponents/terminal/snippetCompleter.test.ts128 const mailbox = snip({ id: "yx", label: "邮箱", command: "user@example.com" });CODE
LOWcomponents/terminal/completionEngineSnippets.test.ts95 snippets.push({ id: "mail", label: "邮箱", command: "user@example.com" });CODE
LOWcomponents/terminal/PromptDetector.test.ts824 const snippet = { id: "mail", label: "邮箱", command: "user@example.com", noAutoRun: true };CODE
LOWcomponents/terminal/PromptDetector.test.ts836 "user@example.com",CODE
LOW…ges/plugin-contract/schema/plugin-contract.schema.json2282 "placeholder": {CODE
LOW…ges/plugin-contract/schema/plugin-contract.schema.json3096 "placeholder": {CODE
LOW…n/bridges/aiBridge/codexAppServer/protocol.schema.json18736 "placeholder": {CODE
LOWdomain/telnetDeepLink.test.ts198 label: "admin@example.com",CODE
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHinfrastructure/services/adapters/GitHubAdapter.ts246 // Increase interval as requestedCOMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMdocs/plans/scoped-session-reconnect-20261026.md40## Follow-up: bounded recovery orchestrationCOMMENT
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippetContext
LOWcomponents/terminal/runtime/terminalDistroDetection.ts57 // Step 1: try to classify from the SSH server identification stringCOMMENT
LOWcomponents/terminal/runtime/terminalDistroDetection.ts88 // Step 2: unknown or generic OpenSSH/Dropbear — fall back to theCOMMENT
Structural Annotation Overuse2 hits · 3 pts
SeverityFileLineSnippetContext
LOWcomponents/terminal/runtime/terminalDistroDetection.ts57 // Step 1: try to classify from the SSH server identification stringCOMMENT
LOWcomponents/terminal/runtime/terminalDistroDetection.ts88 // Step 2: unknown or generic OpenSSH/Dropbear — fall back to theCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMlib/localFonts.ts205 // Filter monospace fonts using robust word boundary matchingCOMMENT
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/generate-app-icon-variants.py182CODE
LOWscripts/generate-app-icon-variants.py202CODE
Excessive Try-Catch Wrapping1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdocs/research/issue-2121-netns-stress.sh307 except Exception:CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/generate-app-icon-variants.py9CODE