AI Slop Code Risk Monitor

jihe520/MathModelAgent

SlopCodeMonitor badge for jihe520/MathModelAgent Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).
3.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for jihe520/MathModelAgent. SynthScan examined 55,795 lines of code across 527 source files, recording 161 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 3.9 (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.9
Adjusted Signal
3.9
Raw Pattern Score
100%
Time Factor
—
Last Push
—
Stars
—
Language
55.8K
Lines of Code
527
Files
161
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 10.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.2/100 · LOW

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

Agent Over-Engineering Ratio 7.3/100 · LOW

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

PR Review Velocity Impact 17.5/100 · LOW

Which changes need focused human review? 161 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 10MEDIUM 2LOW 149

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 161 distinct pattern matches across 13 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.

Excessive Try-Catch Wrapping38 hits · 40 pts
SeverityFileLineSnippetContext
LOWbackend/app/routers/common_router.py54 except Exception as e:CODE
LOWbackend/app/routers/common_router.py108 except Exception as e:CODE
LOWbackend/app/routers/ws_router.py70 except Exception as e:CODE
LOWbackend/app/routers/ws_router.py108 except Exception as e:CODE
LOWbackend/app/routers/ws_router.py116 except Exception as e:CODE
LOWbackend/app/routers/modeling_router.py112 except Exception as e:CODE
LOWbackend/app/routers/modeling_router.py143 except Exception as e:CODE
LOWbackend/app/routers/modeling_router.py183 except Exception as e:CODE
LOWbackend/app/routers/modeling_router.py256 except Exception as e:CODE
LOWbackend/app/routers/modeling_router.py335 except Exception as e:CODE
LOWbackend/app/tools/openalex_scholar.py116 except Exception as e:CODE
LOWbackend/app/tools/e2b_interpreter.py52 except Exception as e:CODE
LOWbackend/app/tools/e2b_interpreter.py78 except Exception as e:CODE
LOWbackend/app/tools/e2b_interpreter.py82 except Exception as e:CODE
LOWbackend/app/tools/e2b_interpreter.py292 except Exception as e:CODE
LOWbackend/app/tools/e2b_interpreter.py323 except Exception as e:CODE
LOW⚡backend/app/tools/e2b_interpreter.py334 except Exception as e:CODE
LOW⚡backend/app/tools/e2b_interpreter.py341 except Exception as e:CODE
LOWbackend/app/tools/e2b_interpreter.py386 except Exception as e:CODE
LOWbackend/app/tools/e2b_interpreter.py392 except Exception as e:CODE
LOWbackend/app/tools/local_interpreter.py161 except Exception:CODE
LOWbackend/app/core/workflow.py93 except Exception as e:CODE
LOWbackend/app/core/llm/llm.py103 except Exception as e:CODE
LOWbackend/app/core/agents/agent.py123 except Exception as e:CODE
LOWbackend/app/core/agents/agent.py209 except Exception as e:CODE
LOWbackend/app/core/agents/coder_agent.py215 except Exception as e:CODE
LOWbackend/app/core/agents/writer_agent.py136 except Exception as e:CODE
LOWbackend/app/core/agents/writer_agent.py184 except Exception as e:CODE
LOWbackend/app/utils/data_recorder.py84 except Exception as e:CODE
LOWbackend/app/utils/common_utils.py61 except Exception as e:CODE
LOWbackend/app/utils/common_utils.py90 except Exception as e:CODE
LOWbackend/app/services/redis_manager.py32 except Exception as e:CODE
LOWbackend/app/services/redis_manager.py66 except Exception as e:CODE
LOWbackend/app/services/redis_manager.py82 except Exception as e:CODE
LOWskills/doctor/SKILL.md93 except Exception:CODE
LOWskills/6verity/scripts/writing_check.sh236 except Exception:CODE
LOWskills/6verity/scripts/writing_check.sh604 except Exception as exc:CODE
MEDIUMskills/6verity/scripts/writing_check.sh227def read(path):CODE
Structural Annotation Overuse24 hits · 36 pts
SeverityFileLineSnippetContext
LOWskills/3coding-visual/SKILL.md22### Step 1: 代码结构COMMENT
LOWskills/3coding-visual/SKILL.md27### Step 2: 逐子问题实现COMMENT
LOWskills/3coding-visual/SKILL.md42### Step 3: 结果文件格式COMMENT
LOWskills/3coding-visual/SKILL.md65### Step 4: 生成数据驱动图表COMMENT
LOWskills/2analysis-modeling/SKILL.md27### Step 1: 子问题拆解COMMENT
LOWskills/2analysis-modeling/SKILL.md46### Step 2: 假设敏感性预检COMMENT
LOWskills/2analysis-modeling/SKILL.md71### Step 3: 数据理解与建模路线COMMENT
LOWskills/2analysis-modeling/SKILL.md86### Step 4: 建模报告COMMENT
LOWskills/2analysis-modeling/SKILL.md122### Step 5: 给代码阶段的接口COMMENT
LOWskills/6verity/SKILL.md38### Step 1: 运行文本质量门禁COMMENT
LOWskills/6verity/SKILL.md62### Step 2: 章节数量和标题顺序COMMENT
LOWskills/6verity/SKILL.md82### Step 3: 图表和章节匹配COMMENT
LOWskills/6verity/SKILL.md104### Step 4: 写作质量和泄露检查COMMENT
LOWskills/6verity/SKILL.md114### Step 5: 数值和结果一致性COMMENT
LOWskills/6verity/SKILL.md125### Step 6: 引用和模板规范COMMENT
LOWskills/6verity/SKILL.md136### Step 7: 编译COMMENT
LOWskills/6verity/SKILL.md154### Step 8: PDF 视觉检查COMMENT
LOWskills/6verity/SKILL.md188### Step 9: 写验收报告COMMENT
LOWskills/4drawio/SKILL.md41### Step 1: 盘点已有图表和需求COMMENT
LOWskills/4drawio/SKILL.md59### Step 2: 判定图类型COMMENT
LOWskills/4drawio/SKILL.md80### Step 3: 生成 DrawIO 源文件COMMENT
LOWskills/4drawio/SKILL.md112### Step 4: 导出 PDFCOMMENT
LOWskills/4drawio/SKILL.md127### Step 5: 自检和修复COMMENT
LOWskills/4drawio/SKILL.md141### Step 6: 写生成记录COMMENT
Docstring Block Structure6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHbackend/app/routers/common_router.py18验证并返回安全的任务 ID。 Args: task_id: 待验证的任务 ID。 Returns: 验证通过的任务 ID。 Raises: HTTPExceptiSTRING
HIGHbackend/app/tools/interpreter_factory.py20创建代码解释器实例。 Args: kind: 解释器类型,"remote" 使用 E2B 沙箱,"local" 使用本地 Jupyter。 task_id: 任务 ID。 work_STRING
HIGHbackend/app/tools/base.py14工具注册装饰器,为函数生成工具 schema。 Args: name: 工具名称。 description: 工具描述。 parameters: 工具参数定义。 reSTRING
HIGHbackend/app/tools/base.py90调用指定的工具函数。 Args: function_name: 工具函数名称。 **kwargs: 传递给工具的参数。 Returns: STRING
HIGHbackend/app/utils/common_utils.py26验证任务 ID 的合法性,防止路径遍历攻击。 Args: task_id: 待验证的任务 ID。 Returns: 验证通过的任务 ID。 Raises: ValSTRING
HIGHbackend/app/utils/common_utils.py95获取指定任务的工作目录路径。 Args: task_id: 任务 ID。 Returns: 工作目录路径。 Raises: FileNotFoundError: STRING
Unused Imports29 hits · 29 pts
SeverityFileLineSnippetContext
LOWbackend/app/tools/matplotlib_setup.py3CODE
LOWbackend/app/core/llm/providers/__init__.py3CODE
LOWbackend/app/core/llm/providers/__init__.py4CODE
LOWbackend/app/core/llm/providers/__init__.py5CODE
LOWbackend/app/core/llm/providers/__init__.py6CODE
LOWbackend/app/core/agents/__init__.py1CODE
LOWbackend/app/core/agents/__init__.py2CODE
LOWbackend/app/core/agents/__init__.py3CODE
LOWbackend/app/core/agents/__init__.py4CODE
LOWbackend/app/core/prompts/__init__.py1CODE
LOWbackend/app/core/prompts/__init__.py1CODE
LOWbackend/app/core/prompts/__init__.py2CODE
LOWbackend/app/core/prompts/__init__.py3CODE
LOWbackend/app/core/prompts/__init__.py4CODE
LOWbackend/app/core/prompts/__init__.py5CODE
LOWbackend/app/core/prompts/__init__.py5CODE
LOW…/mathmodel-figure-templates/scripts/render_template.py2CODE
LOW…tes/scripts/templates/make_prediction_marginal_grid.py1CODE
LOW…ure-templates/scripts/templates/make_taylor_diagram.py1CODE
LOW…plates/scripts/templates/make_multiclass_shap_combo.py1CODE
LOW…ure-templates/scripts/templates/make_rf_tpe_surface.py1CODE
LOW…l-figure-templates/scripts/templates/make_cv_roc_ci.py1CODE
LOW…tes/scripts/templates/make_grouped_circular_heatmap.py1CODE
LOW…mplates/scripts/templates/make_nature_chord_diagram.py1CODE
LOW…e-templates/scripts/templates/make_paired_raincloud.py1CODE
LOW…es/scripts/templates/make_grouped_corr_split_violin.py1CODE
LOW…mplates/scripts/templates/make_correlation_pairgrid.py1CODE
LOW…tes/scripts/templates/make_urban_park_cooling_combo.py1CODE
LOW…tes/scripts/templates/make_urban_park_cooling_combo.py16CODE
Hyper-Verbose Identifiers23 hits · 23 pts
SeverityFileLineSnippetContext
LOWbackend/app/routers/common_router.py35async def _load_task_messages_from_file(task_id: str) -> list[dict]:CODE
LOW⚡backend/app/tools/e2b_interpreter.py345 async def download_all_files_from_sandbox(self) -> None:CODE
LOWbackend/app/tools/notebook_serializer.py55 def add_code_cell_to_notebook(self, code):CODE
LOWbackend/app/tools/notebook_serializer.py60 def add_code_cell_output_to_notebook(self, output):CODE
LOWbackend/app/tools/notebook_serializer.py79 def add_code_cell_error_to_notebook(self, error):CODE
LOWbackend/app/tools/notebook_serializer.py103 def add_markdown_segmentation_to_notebook(self, content, segmentation):CODE
LOWbackend/app/tools/notebook_serializer.py115 def get_notebook_output_content(self, segmentation):CODE
LOWbackend/app/tools/base_interpreter.py80 def delete_color_control_char(self, string):CODE
LOWbackend/app/tools/matplotlib_setup.py20def build_matplotlib_init_code(CODE
LOWbackend/app/core/llm/llm.py110 def _validate_and_fix_tool_calls(self, history: list) -> list:CODE
LOWbackend/app/core/agents/agent.py218 def _find_safe_preserve_point(self) -> int:CODE
LOWbackend/app/core/agents/agent.py267 def _get_safe_fallback_history(self) -> list:CODE
LOWbackend/app/core/agents/agent.py293 def _format_history_for_summary(self, history: list[dict]) -> str:CODE
LOWbackend/app/core/prompts/shared.py34def get_completion_check_prompt(prompt, text_to_gpt) -> str:STRING
LOWbackend/app/utils/log_util.py18 def __ensure_log_directory_exists(self):CODE
LOWbackend/app/models/user_output.py77 def replace_references_with_uuid(self, text: str) -> str:CODE
LOWbackend/app/services/ws_manager.py22 async def send_personal_message_json(self, message: dict, websocket: WebSocket):CODE
LOW…plates/scripts/templates/make_multiclass_shap_combo.py144def plot_multiclass_shap_combo(CODE
LOW…l-figure-templates/scripts/templates/make_cv_roc_ci.py74def make_empirical_fold_curve(CODE
LOW…e-templates/scripts/templates/make_paired_raincloud.py41def synthetic_sepal_width_data(seed: int = 20260624) -> dict[tuple[str, str], np.ndarray]:CODE
LOW…tes/scripts/templates/make_urban_park_cooling_combo.py129def simulate_city_metric_data(seed: int = 20260629) -> dict[str, list[np.ndarray]]:CODE
LOW…tes/scripts/templates/make_urban_park_cooling_combo.py272def draw_vertical_boxplot_panel(ax: plt.Axes, metric: str, metric_data: list[np.ndarray]) -> None:CODE
LOW…tes/scripts/templates/make_urban_park_cooling_combo.py313def add_city_and_legend_panel(ax: plt.Axes) -> None:CODE
Deep Nesting18 hits · 18 pts
SeverityFileLineSnippetContext
LOWbackend/app/routers/ws_router.py34CODE
LOWbackend/app/routers/modeling_router.py118CODE
LOWbackend/app/routers/modeling_router.py223CODE
LOWbackend/app/tools/e2b_interpreter.py56CODE
LOWbackend/app/tools/e2b_interpreter.py113CODE
LOWbackend/app/tools/e2b_interpreter.py327CODE
LOWbackend/app/tools/e2b_interpreter.py345CODE
LOWbackend/app/tools/local_interpreter.py68CODE
LOWbackend/app/tools/local_interpreter.py145CODE
LOWbackend/app/core/llm/llm.py110CODE
LOWbackend/app/core/llm/providers/openai_responses.py11CODE
LOWbackend/app/core/llm/providers/openai_responses.py62CODE
LOWbackend/app/core/agents/agent.py235CODE
LOWbackend/app/core/agents/coder_agent.py45CODE
LOWbackend/app/utils/common_utils.py149CODE
LOW…ure-templates/scripts/templates/make_rf_tpe_surface.py45CODE
LOW…mplates/scripts/templates/make_correlation_pairgrid.py154CODE
LOW…tes/scripts/templates/make_urban_park_cooling_combo.py129CODE
Empty Error Handlers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHbackend/app/core/agents/modeler_agent.py30except json.JSONDecodeError:CODE
HIGHbackend/app/core/agents/modeler_agent.py42except (json.JSONDecodeError, re.error):CODE
HIGHbackend/app/core/agents/modeler_agent.py51except re.error:CODE
Fake / Example Data6 hits · 7 pts
SeverityFileLineSnippetContext
LOWskills/typst-author/docs/tutorial/making-a-template.md65#let blind-text = [_Lorem ipsum_ dolor sit amet]COMMENT
LOWskills/typst-author/docs/tutorial/making-a-template.md65#let blind-text = [_Lorem ipsum_ dolor sit amet]COMMENT
LOWskills/typst-author/docs/tutorial/formatting.md142This example also uses the [`lorem`](/docs/reference/text/lorem/) function to generate some placeholder text. This functCODE
LOWskills/typst-author/docs/reference/model/par.md143 Lorem ipsum \CODE
LOWskills/typst-author/docs/reference/model/par.md144 dolor sit ametCODE
LOWskills/typst-author/docs/reference/text/lorem.md7This function yields a Latin-like _Lorem Ipsum_ blind text with the given number of words. The sequence of words generatCODE
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippetContext
LOWbackend/pyproject.toml121COMMENT
LOWskills/typst-author/docs/tutorial/making-a-template.md61Variables are not limited to storing content: they can store any data type Typst knows about. Throughout this tutorial, COMMENT
LOWskills/typst-author/docs/reference/context.md121#set text(lang: "de")COMMENT
LOWskills/typst-author/docs/reference/foundations/calc.md661Note that this function will return the same type as the operand. That is, applying `round` to a [`float`](/docs/referenCOMMENT
LOWskills/3coding-visual/SKILL.md41COMMENT
AI Response Leakage1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHskills/typst-author/docs/guides/for-latex-users.md241The [`import`](/docs/reference/scripting/#modules) statement makes [functions](/docs/reference/foundations/function/) (aCODE
Modern Structural Boilerplate4 hits · 4 pts
SeverityFileLineSnippetContext
LOWbackend/app/core/llm/providers/__init__.py8__all__ = [CODE
LOWbackend/app/core/agents/__init__.py6__all__ = [CODE
LOWbackend/app/core/prompts/__init__.py7__all__ = [CODE
LOWbackend/app/utils/data_recorder.py151 def update_token_usage(self, completion: Any, agent_name: str) -> None:CODE
AI Structural Patterns3 hits · 3 pts
SeverityFileLineSnippetContext
LOWbackend/app/core/llm/llm.py67CODE
LOW…/mathmodel-figure-templates/scripts/render_template.py70CODE
LOW…mplates/scripts/templates/make_correlation_pairgrid.py58CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbackend/app/config/setting.py85 # RAG 知识库配置COMMENT