AI Slop Code Risk Monitor

haiwen/seafile

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

Beyond file syncing and sharing, a new way to organize your files with extensible file properties and flexible views

2.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for haiwen/seafile, a C project with 15,407 GitHub stars. SynthScan examined 60,358 lines of code across 128 source files, recording 116 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 2.3 (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.

2.3
Adjusted Signal
2.3
Raw Pattern Score
100%
Time Factor
2026-10-16
Last Push
15.4K
Stars
C
Language
60.4K
Lines of Code
128
Files
116
Pattern Hits
2026-10-31
Scan Date
0.02
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 8.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.1/100 · LOW

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

Agent Over-Engineering Ratio 4.0/100 · LOW

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

PR Review Velocity Impact 10.9/100 · LOW

Which changes need focused human review? 116 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 3MEDIUM 4LOW 109

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 116 distinct pattern matches across 6 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.

Over-Commented Block73 hits · 73 pts
SeverityFileLineSnippetContext
LOWmsi/custom/custom.c1#include <windows.h>COMMENT
LOWinclude/seafile-error.h1#ifndef SEAFILE_ERROR_HCOMMENT
LOWinclude/seafile-error.h21#define SEAF_ERR_DIR_MISSING 515COMMENT
LOWinclude/seafile-error.h41#define SYNC_ERROR_ID_ACCESS_DENIED 10COMMENT
LOWinclude/seafile-error.h61#define SYNC_ERROR_ID_NO_ERROR 29COMMENT
LOWtests/sync-auto-test/test_cases/test_release.py301# def test_concurrent_mod():COMMENT
LOWcommon/log.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/obj-backend-fs.c1#ifndef _WIN32_WINNTCOMMENT
LOWcommon/block-backend-fs.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/rpc-service.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/fs-mgr.h1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/seafile-crypt.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/password-hash.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/common.h1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/common.h21COMMENT
LOWcommon/diff-simple.h1#ifndef DIFF_SIMPLE_HCOMMENT
LOWcommon/log.h1#ifndef LOG_HCOMMENT
LOWcommon/block-mgr.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/fs-mgr.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/cdc/rabin-checksum.c1#include <sys/types.h>COMMENT
LOWcommon/cdc/cdc.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWcommon/cdc/cdc.c21#include "../seafile-crypt.h"COMMENT
LOWcommon/index/index.h1#ifndef INDEX_HCOMMENT
LOWcommon/index/index.h21#include <limits.h>COMMENT
LOWcommon/index/index.h41#define S_ISSOCK(x) 0COMMENT
LOWcommon/index/cache-tree.c1COMMENT
LOWdaemon/seafile-session.h1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/timer.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/job-mgr.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/set-perm.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/wt-monitor-win32.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/wt-monitor-macos.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/repo-mgr.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/repo-mgr.c21#include "commit-mgr.h"COMMENT
LOWdaemon/seaf-daemon.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/seaf-daemon.c21#include <glib.h>COMMENT
LOWdaemon/wt-monitor-linux.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/notif-mgr.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/vc-utils.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/seafile-session.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/seafile-session.c21#include <event2/event_compat.h>COMMENT
LOWdaemon/http-tx-mgr.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/http-tx-mgr.c21#include <openssl/asn1.h>COMMENT
LOWdaemon/http-tx-mgr.c41#define HTTP_REQUEST_TIME_OUT 408COMMENT
LOWdaemon/seafile-config.h1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/seafile-config.h21#define KEY_ALLOW_INVALID_WORKTREE "allow_invalid_worktree"COMMENT
LOWdaemon/c_bpwrapper.cpp101#endifCOMMENT
LOWdaemon/repo-mgr.h1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/cevent.h1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/clone-mgr.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/sync-mgr.c1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWdaemon/sync-mgr.c21#include <shlobj.h>COMMENT
LOWlib/utils.h1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */COMMENT
LOWlib/utils.h21#include <glib.h>COMMENT
LOWlib/utils.h41#include <errno.h>COMMENT
LOWlib/utils.h61#define SEAFILE_CLIENT_VERSION PACKAGE_VERSIONCOMMENT
LOWlib/utils.h181#endifCOMMENT
LOWlib/repo.c1/* repo.c generated by valac 0.56.7, the Vala compilerCOMMENT
LOWlib/seafile-object.h1/* seafile-object.h generated by valac 0.56.7, the Vala compiler, do not modify */COMMENT
LOWlib/seafile-object.h21#define SEAFILE_TYPE_REPO (seafile_repo_get_type ())COMMENT
13 more matches not shown…
Hyper-Verbose Identifiers19 hits · 24 pts
SeverityFileLineSnippetContext
LOW⚡python/seafile/rpcclient.py17 def seafile_sync_error_id_to_str():CODE
LOW⚡python/seafile/rpcclient.py22 def seafile_del_file_sync_error_by_id():CODE
LOW⚡python/seafile/rpcclient.py32 def seafile_get_total_block_size():CODE
LOWpython/seafile/rpcclient.py57 def seafile_set_upload_rate_limit(limit):CODE
LOWpython/seafile/rpcclient.py62 def seafile_set_download_rate_limit(limit):CODE
LOWpython/seafile/rpcclient.py128 def seafile_cancel_clone_task(repo_id):CODE
LOWpython/seafile/rpcclient.py138 def seafile_find_transfer_task(repo_id):CODE
LOW⚡python/seafile/rpcclient.py149 def seafile_get_repo_sync_task():CODE
LOW⚡python/seafile/rpcclient.py154 def seafile_is_auto_sync_enabled():CODE
LOW⚡python/seafile/rpcclient.py159 def seafile_get_file_sync_errors():CODE
LOW⚡python/seafile/rpcclient.py171 def seafile_set_repo_property(repo_id, key, value):CODE
LOW⚡python/seafile/rpcclient.py176 def seafile_get_repo_property(repo_id, key):CODE
LOW⚡python/seafile/rpcclient.py181 def seafile_get_repo_relay_address(repo_id):CODE
LOW⚡python/seafile/rpcclient.py186 def seafile_get_repo_relay_port(repo_id):CODE
LOW⚡python/seafile/rpcclient.py191 def seafile_update_repo_relay_info(repo_id, addr, port):CODE
LOWpython/seafile/rpcclient.py206 def seafile_generate_magic_and_random_key(enc_version, repo_id, password):CODE
LOWpython/seafile/rpcclient.py216 def seafile_add_del_confirmation(key, value):CODE
LOWscripts/breakpad.py29def generate_seafile_breakpad_symbol(project_dir, program_name, symbols_output):CODE
LOWscripts/breakpad.py59def generate_seafile_gui_breakpad_symbol(project_dir, program_name, symbol_output):CODE
Empty Error Handlers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHtests/sync-auto-test/util.py26except Exception:CODE
HIGHtests/sync-auto-test/util.py43except Exception:CODE
HIGHtests/sync-auto-test/util.py113except Exception:CODE
Unused Imports13 hits · 13 pts
SeverityFileLineSnippetContext
LOWpython/seafile/rpcclient.py1CODE
LOWpython/seafile/__init__.py2CODE
LOWtests/sync-auto-test/test_cases/test_release.py3CODE
LOWtests/sync-auto-test/test_cases/test_release.py5CODE
LOWtests/sync-auto-test/test_cases/test_release.py6CODE
LOWtests/sync-auto-test/test_cases/test_release.py7CODE
LOWtests/sync-auto-test/test_cases/test_release.py7CODE
LOWscripts/breakpad.py10CODE
LOWscripts/breakpad.py12CODE
LOWscripts/breakpad.py12CODE
LOWscripts/breakpad.py12CODE
LOWscripts/breakpad.py13CODE
LOWscripts/breakpad.py14CODE
Excessive Try-Catch Wrapping7 hits · 10 pts
SeverityFileLineSnippetContext
LOWsetupwin.py169 except Exception as e:CODE
MEDIUMmsi/strip-files.py9def do_strip(fn):CODE
LOWtests/sync-auto-test/util.py26 except Exception:CODE
LOWtests/sync-auto-test/util.py43 except Exception:CODE
LOWtests/sync-auto-test/util.py113 except Exception:CODE
MEDIUMtests/sync-auto-test/util.py35def clean_sync_data(conf):CODE
MEDIUMtests/sync-auto-test/util.py106def clean(self):CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMtests/sync-auto-test/test_cases/test_release.py172# Create a new fileCOMMENT