AI Slop Code RIsk Monitor

ageerle/ruoyi-ai

Enterprise-grade AI agent framework with multi-provider LLM management, secure knowledge bases and high-precision RAG, visual workflow orchestration, and multi-agent coordination.

10.0 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for ageerle/ruoyi-ai, a Java project with 5,744 GitHub stars. SynthScan examined 170,304 lines of code across 1687 source files, recording 276 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 10.0 (Moderate 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.

10.0
Adjusted Signal
10.0
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
5.7K
Stars
Java
Language
170.3K
Lines of Code
1.7K
Files
276
Pattern Hits
2026-10-12
Scan Date
0.09
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 2.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 35.9/100 · MEDIUM

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

Agent Over-Engineering Ratio 3.9/100 · LOW

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

PR Review Velocity Impact 37.3/100 · MEDIUM

Which changes need focused human review? 276 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 135HIGH 18MEDIUM 4LOW 119

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 276 distinct pattern matches across 11 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.

Hallucination Indicators135 hits · 1481 pts
SeverityFileLineSnippetContext
CRITICAL…er/shortdrama/ShortDramaReviewedImportRequestTest.java50 org.junit.jupiter.api.Assertions.assertTrue(message.length() <= 2048);CODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java7 var model=new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo();CODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java9 var context=org.ruoyi.common.chat.entity.video.VideoContext.builder().chatModelVo(model)CODE
CRITICAL⚡…oyi/service/video/provider/AtlasVideoDurationTest.java37 var model = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo();CODE
CRITICAL⚡…oyi/service/video/provider/AtlasVideoDurationTest.java39 var context = org.ruoyi.common.chat.entity.video.VideoContext.builder().chatModelVo(model)CODE
CRITICAL⚡…oyi/service/video/provider/AtlasVideoDurationTest.java48 var model=new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo();model.setModelName(name);CODE
CRITICAL⚡…oyi/service/video/provider/AtlasVideoDurationTest.java49 var context=org.ruoyi.common.chat.entity.video.VideoContext.builder().chatModelVo(model).prompt("完整执行剧情").buCODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java68 var model = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo();CODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java70 var context = org.ruoyi.common.chat.entity.video.VideoContext.builder().chatModelVo(model)CODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java95 var model = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo();CODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java97 var context = org.ruoyi.common.chat.entity.video.VideoContext.builder().chatModelVo(model)CODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java112 var model = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo();CODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java114 var context = org.ruoyi.common.chat.entity.video.VideoContext.builder().chatModelVo(model)CODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java127 var model = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo();CODE
CRITICAL…oyi/service/video/provider/AtlasVideoDurationTest.java129 var context = org.ruoyi.common.chat.entity.video.VideoContext.builder().chatModelVo(model)CODE
CRITICAL…org/ruoyi/service/chat/impl/ChatModelPriorityTest.java21 var provider=new org.ruoyi.domain.vo.chat.ChatProviderVo();provider.setProviderCode("atlas");CODE
CRITICAL…ervice/chat/impl/provider/DifyChatServiceImplTest.java101 return dev.langchain4j.model.chat.request.ChatRequest.builder()CODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java17 var server = com.sun.net.httpserver.HttpServer.create(new java.net.InetSocketAddress("127.0.0.1", 0), 0);CODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java25 var model = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo(); model.setModelName(SEEDREAM47);CODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java27 org.mockito.Mockito.when(predictions.retrieve(model, "task-47")).thenReturn(org.ruoyi.common.chat.entity.medCODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java30 assertEquals("https://example.com/candidate.png", service.generateImage(org.ruoyi.common.chat.entity.image.ICODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java38 var model = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo(); model.setModelName(SEEDREAM47);CODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java39 org.mockito.Mockito.when(predictions.retrieve(model, "failed-task")).thenReturn(org.ruoyi.common.chat.entity.medCODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java46 var model = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo(); model.setModelName(SEEDREAM47);CODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java69 var model = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo(); model.setModelName(SEEDREAM47);CODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java73 var context = org.ruoyi.common.chat.entity.image.ImageContext.builder().chatModelVo(model)CODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java80 var model=new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo();model.setModelName("openai/gpt-image-2/edit");CODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java81 var context=org.ruoyi.common.chat.entity.image.ImageContext.builder().chatModelVo(model).referenceImages(java.utCODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java88 var model=new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo();model.setModelName("openai/gpt-image-2.5-flare/CODE
CRITICAL⚡…mage/provider/AtlasImageGenerationServiceImplTest.java90 var context=org.ruoyi.common.chat.entity.image.ImageContext.builder().chatModelVo(model).referenceImages(refs).bCODE
CRITICAL…ortdrama/impl/ShortDramaVisualAssetVersioningTest.java35 var original = new org.ruoyi.common.chat.domain.vo.chat.ChatModelVo(); original.setModelName(asset.getModel());CODE
CRITICAL…ortdrama/impl/ShortDramaVisualAssetVersioningTest.java37 when(predictions.retrieve(original, "original-prediction")).thenReturn(org.ruoyi.common.chat.entity.media.MediaGCODE
CRITICAL…service/shortdrama/impl/ShortDramaVisualAssetTest.java20 var character=new org.ruoyi.domain.entity.shortdrama.ShortDramaCharacter();CODE
CRITICAL…service/shortdrama/impl/ShortDramaSkillMarketTest.java34 var asset = new org.ruoyi.domain.entity.shortdrama.ShortDramaVisualAsset();CODE
CRITICAL…service/shortdrama/impl/ShortDramaSkillMarketTest.java42 var script = new org.ruoyi.domain.entity.shortdrama.ShortDramaScript();CODE
CRITICAL…ce/shortdrama/impl/ShortDramaBackgroundExtrasTest.java17 var factory = new org.springframework.beans.factory.support.DefaultListableBeanFactory();CODE
CRITICAL…shortdrama/impl/ShortDramaPartialPlanRecoveryTest.java218 scope.when(() -> org.ruoyi.common.tenant.helper.TenantHelper.dynamic(anyString(), any(Runnable.class)))CODE
CRITICAL⚡…shortdrama/impl/ShortDramaPartialPlanRecoveryTest.java254 var mvc = org.springframework.test.web.servlet.setup.MockMvcBuilders.standaloneSetup(controller)CODE
CRITICAL⚡…shortdrama/impl/ShortDramaPartialPlanRecoveryTest.java255 .setControllerAdvice(new org.ruoyi.common.web.handler.GlobalExceptionHandler()).build();CODE
CRITICAL⚡…shortdrama/impl/ShortDramaPartialPlanRecoveryTest.java258 mvc.perform(org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post("/short-drama/10/importCODE
CRITICAL⚡…shortdrama/impl/ShortDramaPartialPlanRecoveryTest.java260 .andExpect(org.springframework.test.web.servlet.result.MockMvcResultMatchers.status().isOk())CODE
CRITICAL⚡…shortdrama/impl/ShortDramaPartialPlanRecoveryTest.java261 .andExpect(org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath("$.code").value(50CODE
CRITICAL⚡…shortdrama/impl/ShortDramaPartialPlanRecoveryTest.java262 .andExpect(org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath("$.msg", org.hamcrCODE
CRITICAL…/shortdrama/impl/ShortDramaScriptOnlyCreationTest.java58 var factory = new org.springframework.beans.factory.support.DefaultListableBeanFactory();CODE
CRITICAL…ortdrama/impl/ShortDramaSourceSceneContinuityTest.java80 var design = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();CODE
CRITICAL…ice/shortdrama/impl/ShortDramaVideoSubmissionTest.java49 var factory = new org.springframework.beans.factory.support.DefaultListableBeanFactory();CODE
CRITICAL…hortdrama/impl/ShortDramaAssetAnalysisFailureTest.java50 var factory = new org.springframework.beans.factory.support.DefaultListableBeanFactory();CODE
CRITICAL…ervice/shortdrama/impl/ShortDramaSkillCatalogTest.java77 var location = new org.ruoyi.domain.entity.shortdrama.ShortDramaLocation(); location.setId(1L); location.setNameCODE
CRITICAL…rama/impl/ShortDramaRevisionMediaPreservationTest.java71 var factory = new org.springframework.beans.factory.support.DefaultListableBeanFactory();CODE
CRITICAL…e/shortdrama/impl/ShortDramaVideoPromptReviewTest.java19 var factory = new org.springframework.beans.factory.support.DefaultListableBeanFactory();CODE
CRITICAL…e/shortdrama/impl/ShortDramaVideoPromptReviewTest.java126 var project = new org.ruoyi.domain.entity.shortdrama.ShortDramaProject(); project.setId(7L);STRING
CRITICAL…e/shortdrama/impl/ShortDramaVideoPromptReviewTest.java132 var shot = new org.ruoyi.domain.entity.shortdrama.ShortDramaStoryboard();STRING
CRITICAL…ce/shortdrama/impl/ShortDramaPlanningProgressTest.java15 tenant.when(() -> org.ruoyi.common.tenant.helper.TenantHelper.setDynamic(anyString())).thenAnswer(call -> { CODE
CRITICAL…ce/shortdrama/impl/ShortDramaPlanningProgressTest.java16 tenant.when(() -> org.ruoyi.common.tenant.helper.TenantHelper.dynamic(anyString(), any(Runnable.class))).theCODE
CRITICAL…vice/shortdrama/impl/ShortDramaDirectorSkillsTest.java9 var location = new org.ruoyi.domain.entity.shortdrama.ShortDramaLocation();CODE
CRITICAL…rvice/shortdrama/impl/ShortDramaImageRevisionTest.java48 var factory = new org.springframework.beans.factory.support.DefaultListableBeanFactory();CODE
CRITICAL…oyi/service/vector/impl/ThreeVectorStoresDockerIT.java88 long deadline = System.nanoTime() + java.util.concurrent.TimeUnit.SECONDS.toNanos(15);CODE
CRITICAL⚡…rg/ruoyi/service/media/AtlasPredictionServiceTest.java16 org.junit.jupiter.api.Assertions.assertNull(service.terminalFailure(music,"another-id","audio"));CODE
CRITICAL⚡…rg/ruoyi/service/media/AtlasPredictionServiceTest.java17 org.junit.jupiter.api.Assertions.assertNull(service.terminalFailure(raw, "different-task", "video"));CODE
CRITICAL⚡…rg/ruoyi/service/media/AtlasPredictionServiceTest.java18 org.junit.jupiter.api.Assertions.assertNull(service.terminalFailure("{\"message\":\"temporary failure\"}", "taskCODE
75 more matches not shown…
Empty Error Handlers12 hits · 60 pts
SeverityFileLineSnippetContext
HIGHruoyi-admin/src/main/resources/skills/xlsx/recalc.py37except Exception:CODE
HIGHruoyi-admin/src/main/resources/skills/xlsx/recalc.py67except Exception:CODE
HIGHruoyi-admin/src/main/resources/skills/xlsx/recalc.py78except Exception:CODE
HIGHruoyi-admin/src/main/resources/skills/xlsx/recalc.py150except (FileNotFoundError, subprocess.TimeoutExpired):CODE
HIGH…dmin/src/main/resources/skills/docx/scripts/comment.py116except ValueError:CODE
HIGH…rc/main/resources/skills/docx/scripts/office/unpack.py87except Exception:CODE
HIGH…rc/main/resources/skills/docx/scripts/office/unpack.py97except Exception:CODE
HIGH…esources/skills/docx/scripts/office/validators/docx.py287except Exception:CODE
HIGH…esources/skills/docx/scripts/office/validators/docx.py439except Exception:CODE
HIGH…ces/skills/docx/scripts/office/validators/redlining.py56except Exception:CODE
HIGH…ces/skills/docx/scripts/office/validators/redlining.py193except (subprocess.CalledProcessError, FileNotFoundError, Exception):CODE
HIGH…esources/skills/docx/scripts/office/validators/base.py138except Exception:CODE
Excessive Try-Catch Wrapping35 hits · 42 pts
SeverityFileLineSnippetContext
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py37 except Exception:CODE
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py67 except Exception:CODE
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py78 except Exception:CODE
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py97 except Exception:CODE
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py224 except Exception as e:CODE
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py278 except Exception as e:CODE
MEDIUMruoyi-admin/src/main/resources/skills/xlsx/recalc.py296 print("Error: --create requires output_file and data_json")CODE
LOWruoyi-admin/src/main/resources/skills/pdf/reference.md484 except Exception as e:CODE
LOWruoyi-admin/src/main/resources/skills/pdf/reference.md504 except Exception as e:CODE
LOWruoyi-admin/src/main/resources/skills/pdf/reference.md578except Exception as e:CODE
LOW…c/main/resources/skills/docx/scripts/accept_changes.py52 except Exception as e:CODE
LOW…c/main/resources/skills/docx/scripts/accept_changes.py116 except Exception as e:CODE
LOW…/src/main/resources/skills/docx/scripts/office/pack.py126 except Exception as e:CODE
MEDIUM…/main/resources/skills/docx/scripts/office/validate.py94 print(f"Error: Validation not supported for file type {file_extension}")CODE
LOW⚡…rc/main/resources/skills/docx/scripts/office/unpack.py78 except Exception as e:CODE
LOW⚡…rc/main/resources/skills/docx/scripts/office/unpack.py87 except Exception:CODE
LOW⚡…rc/main/resources/skills/docx/scripts/office/unpack.py97 except Exception:CODE
LOW⚡…esources/skills/docx/scripts/office/validators/docx.py174 except Exception as e:CODE
MEDIUM⚡…esources/skills/docx/scripts/office/validators/docx.py175 print(f"Error counting paragraphs in unpacked document: {e}")CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py197 except Exception as e:CODE
MEDIUM…esources/skills/docx/scripts/office/validators/docx.py198 print(f"Error counting paragraphs in original document: {e}")CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py287 except Exception:CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py439 except Exception:CODE
LOW…ces/skills/docx/scripts/office/validators/redlining.py56 except Exception:CODE
LOW…ces/skills/docx/scripts/office/validators/redlining.py65 except Exception as e:CODE
LOW…esources/skills/docx/scripts/office/validators/pptx.py195 except Exception as e:CODE
LOW…esources/skills/docx/scripts/office/validators/base.py138 except Exception:CODE
LOW…esources/skills/docx/scripts/office/validators/base.py154 except Exception as e:CODE
LOW…esources/skills/docx/scripts/office/validators/base.py357 except Exception as e:CODE
LOW…esources/skills/docx/scripts/office/validators/base.py454 except Exception as e:CODE
LOW…esources/skills/docx/scripts/office/validators/base.py564 except Exception:CODE
LOW…esources/skills/docx/scripts/office/validators/base.py583 except Exception as e:CODE
LOW…esources/skills/docx/scripts/office/validators/base.py784 except Exception as e:CODE
LOW…kills/docx/scripts/office/helpers/simplify_redlines.py43 except Exception as e:CODE
LOW…urces/skills/docx/scripts/office/helpers/merge_runs.py38 except Exception as e:CODE
Hyper-Verbose Identifiers30 hits · 30 pts
SeverityFileLineSnippetContext
LOW…n/resources/skills/pdf/scripts/fill_fillable_fields.py59def validation_error_for_field_value(field_info, field_value):CODE
LOW…esources/skills/pdf/scripts/extract_form_field_info.py12def get_full_annotation_field_id(annotation):CODE
LOW…n/resources/skills/pdf/scripts/check_bounding_boxes.py18def get_bounding_box_messages(fields_json_stream) -> list[str]:CODE
LOW…ources/skills/pdf/scripts/check_bounding_boxes_test.py38 def test_label_entry_intersection_same_field(self):CODE
LOW…ources/skills/pdf/scripts/check_bounding_boxes_test.py56 def test_intersection_between_different_fields(self):CODE
LOW…ources/skills/pdf/scripts/check_bounding_boxes_test.py80 def test_different_pages_no_intersection(self):CODE
LOW…ources/skills/pdf/scripts/check_bounding_boxes_test.py104 def test_entry_height_too_small(self):CODE
LOW…ources/skills/pdf/scripts/check_bounding_boxes_test.py125 def test_entry_height_adequate(self):CODE
LOW…ources/skills/pdf/scripts/check_bounding_boxes_test.py183 def test_multiple_errors_limit(self):CODE
LOW…dmin/src/main/resources/skills/docx/scripts/comment.py137def _ensure_comment_relationships(unpacked_dir: Path) -> None:CODE
LOW…dmin/src/main/resources/skills/docx/scripts/comment.py179def _ensure_comment_content_types(unpacked_dir: Path) -> None:CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py66 def validate_whitespace_preservation(self):CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py163 def count_paragraphs_in_unpacked(self):CODE
LOW⚡…esources/skills/docx/scripts/office/validators/docx.py179 def count_paragraphs_in_original(self):CODE
LOW…ces/skills/docx/scripts/office/validators/redlining.py198 def _remove_author_tracked_changes(self, root):CODE
LOW…esources/skills/docx/scripts/office/validators/pptx.py104 def validate_slide_layout_ids(self):CODE
LOW…esources/skills/docx/scripts/office/validators/pptx.py172 def validate_no_duplicate_slide_layouts(self):CODE
LOW…esources/skills/docx/scripts/office/validators/pptx.py210 def validate_notes_slide_references(self):CODE
LOW…esources/skills/docx/scripts/office/validators/base.py115 def repair_whitespace_preservation(self) -> int:CODE
LOW…esources/skills/docx/scripts/office/validators/base.py385 def validate_all_relationship_ids(self):CODE
LOW…esources/skills/docx/scripts/office/validators/base.py469 def _get_expected_relationship_type(self, element_name):CODE
LOW…esources/skills/docx/scripts/office/validators/base.py598 def validate_file_against_xsd(self, xml_file, verbose=False):CODE
LOW…esources/skills/docx/scripts/office/validators/base.py703 def _clean_ignorable_namespaces(self, xml_doc):CODE
LOW…esources/skills/docx/scripts/office/validators/base.py723 def _remove_ignorable_elements(self, root):CODE
LOW…esources/skills/docx/scripts/office/validators/base.py742 def _preprocess_for_mc_ignorable(self, xml_doc):CODE
LOW…esources/skills/docx/scripts/office/validators/base.py750 def _validate_single_file_xsd(self, xml_file, base_path):CODE
LOW…esources/skills/docx/scripts/office/validators/base.py787 def _get_original_file_errors(self, xml_file):CODE
LOW…esources/skills/docx/scripts/office/validators/base.py814 def _remove_template_tags_from_text_nodes(self, xml_doc):CODE
LOW…kills/docx/scripts/office/helpers/simplify_redlines.py47def _merge_tracked_changes_in(container, tag: str) -> int:CODE
LOW…kills/docx/scripts/office/helpers/simplify_redlines.py126def get_tracked_change_authors(doc_xml_path: Path) -> dict[str, int]:CODE
Deep Nesting31 hits · 28 pts
SeverityFileLineSnippetContext
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py46CODE
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py101CODE
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py237CODE
LOW…n/resources/skills/pdf/scripts/fill_fillable_fields.py12CODE
LOW…n/resources/skills/pdf/scripts/fill_fillable_fields.py59CODE
LOW…esources/skills/pdf/scripts/extract_form_field_info.py22CODE
LOW…esources/skills/pdf/scripts/extract_form_field_info.py62CODE
LOW…n/resources/skills/pdf/scripts/check_bounding_boxes.py18CODE
LOW…dmin/src/main/resources/skills/docx/scripts/comment.py98CODE
LOW…/src/main/resources/skills/docx/scripts/office/pack.py24CODE
LOW…/src/main/resources/skills/docx/scripts/office/pack.py108CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py66CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py112CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py254CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py298CODE
LOW…esources/skills/docx/scripts/office/validators/docx.py391CODE
LOW…ces/skills/docx/scripts/office/validators/redlining.py127CODE
LOW…ces/skills/docx/scripts/office/validators/redlining.py198CODE
LOW…esources/skills/docx/scripts/office/validators/pptx.py62CODE
LOW…esources/skills/docx/scripts/office/validators/pptx.py104CODE
LOW…esources/skills/docx/scripts/office/validators/pptx.py210CODE
LOW…esources/skills/docx/scripts/office/validators/base.py115CODE
LOW…esources/skills/docx/scripts/office/validators/base.py199CODE
LOW…esources/skills/docx/scripts/office/validators/base.py289CODE
LOW…esources/skills/docx/scripts/office/validators/base.py385CODE
LOW…esources/skills/docx/scripts/office/validators/base.py469CODE
LOW…esources/skills/docx/scripts/office/validators/base.py492CODE
LOW…esources/skills/docx/scripts/office/validators/base.py636CODE
LOW…esources/skills/docx/scripts/office/validators/base.py703CODE
LOW…kills/docx/scripts/office/helpers/simplify_redlines.py149CODE
LOW…urces/skills/docx/scripts/office/helpers/merge_runs.py178CODE
Cross-Language Confusion4 hits · 20 pts
SeverityFileLineSnippetContext
HIGH…c/main/resources/skills/docx/scripts/office/soffice.py116 if (sv[0] >= 0 && sv[0] < 1024) {CODE
HIGH…c/main/resources/skills/docx/scripts/office/soffice.py135 if (sockfd >= 0 && sockfd < 1024 && is_shimmed[sockfd]) {CODE
HIGH…c/main/resources/skills/docx/scripts/office/soffice.py144 if (sockfd >= 0 && sockfd < 1024 && is_shimmed[sockfd]) {CODE
HIGH…c/main/resources/skills/docx/scripts/office/soffice.py158 if (fd >= 0 && fd < 1024 && is_shimmed[fd]) {CODE
Structural Annotation Overuse10 hits · 15 pts
SeverityFileLineSnippetContext
LOWREADME.md154#### Step 1: Deploy Backend ServiceCOMMENT
LOWREADME.md167#### Step 2: Deploy Admin PanelCOMMENT
LOWREADME.md180#### Step 3: Deploy User Frontend (Optional)COMMENT
LOWruoyi-admin/src/main/resources/skills/pdf/forms.md85## Step 1: Visual Analysis (REQUIRED)COMMENT
LOWruoyi-admin/src/main/resources/skills/pdf/forms.md130### Step 2: Create fields.json and validation images (REQUIRED)COMMENT
LOWruoyi-admin/src/main/resources/skills/pdf/forms.md184### Step 3: Validate Bounding Boxes (REQUIRED)COMMENT
LOWruoyi-admin/src/main/resources/skills/pdf/forms.md203### Step 4: Add annotations to the PDFCOMMENT
LOWruoyi-admin/src/main/resources/skills/docx/SKILL.md402### Step 1: UnpackCOMMENT
LOWruoyi-admin/src/main/resources/skills/docx/SKILL.md408### Step 2: Edit XMLCOMMENT
LOWruoyi-admin/src/main/resources/skills/docx/SKILL.md436### Step 3: PackCOMMENT
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH…uoyi/service/rerank/impl/AliBaiLianRerankTestMain.java17 private static final String API_KEY = "sk-your-api-key-here";CODE
HIGH…w/workflow/node/googleSearch/ZhipuWebSearchClient.java101 && !"your_api_key".equalsIgnoreCase(apiKey.trim());CODE
Over-Commented Block10 hits · 10 pts
SeverityFileLineSnippetContext
LOW…main/java/org/ruoyi/agent/config/AgentMysqlConfig.java1// package org.ruoyi.agent.config;COMMENT
LOW…main/java/org/ruoyi/agent/config/AgentMysqlConfig.java21COMMENT
LOW…main/java/org/ruoyi/agent/config/AgentMysqlConfig.java41COMMENT
LOW…n/java/org/ruoyi/workflow/workflow/WorkflowEngine.java161 NodeProcessResult processResult = abstractWfNode.process((is) -> {COMMENT
LOWdocs/docker/ruoyi-ai/docker-compose-all.yaml1# RuoYi-AI 一键启动全部服务COMMENT
LOW…i-common-mybatis/src/main/resources/common-mybatis.yml1# 内置配置 不允许修改 如需修改请在 nacos 上写相同配置覆盖COMMENT
LOW…ava/org/ruoyi/common/sse/controller/SseController.java61// public R<Void> send(Long userId, String msg) {COMMENT
LOWruoyi-admin/src/main/resources/application-prod.yml61 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)COMMENT
LOWruoyi-admin/src/main/resources/application-dev.yml81 url: jdbc:mysql://127.0.0.1:3306/ruoyi-ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertTCOMMENT
LOWruoyi-admin/src/main/resources/application-dev.yml121 # 数据库索引COMMENT
Unused Imports5 hits · 5 pts
SeverityFileLineSnippetContext
LOWruoyi-admin/src/main/resources/skills/xlsx/recalc.py259CODE
LOW…rces/skills/docx/scripts/office/validators/__init__.py5CODE
LOW…rces/skills/docx/scripts/office/validators/__init__.py6CODE
LOW…rces/skills/docx/scripts/office/validators/__init__.py7CODE
LOW…rces/skills/docx/scripts/office/validators/__init__.py8CODE
Modern Structural Boilerplate2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…c/main/resources/skills/docx/scripts/accept_changes.py14logger = logging.getLogger(__name__)CODE
LOW…rces/skills/docx/scripts/office/validators/__init__.py10__all__ = [CODE