AI Slop Code Risk Monitor

yeasy/docker_practice

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

最新Docker容器技术,从真实案例中学习最佳实践!| Learn and understand Docker&Container technologies, with real DevOps practice!

1.6 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for yeasy/docker_practice, a Go project with 26,335 GitHub stars. SynthScan examined 44,354 lines of code across 260 source files, recording 64 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 1.6 (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.6
Adjusted Signal
1.6
Raw Pattern Score
100%
Time Factor
2026-10-14
Last Push
26.3K
Stars
Go
Language
44.4K
Lines of Code
260
Files
64
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 6.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.3/100 · LOW

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

Agent Over-Engineering Ratio 5.5/100 · LOW

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

PR Review Velocity Impact 7.9/100 · LOW

Which changes need focused human review? 64 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 1MEDIUM 2LOW 61

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 64 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.

Hyper-Verbose Identifiers50 hits · 50 pts
SeverityFileLineSnippetContext
LOWcheck_project_rules.py133def iter_markdown_link_targets(body: str):CODE
LOWtools/prepare_pdf_sources.py50def normalize_markdown_asset_paths(text: str, reldir: str, book_dir: Path | None = None) -> tuple[str, int]:CODE
LOWtools/test_prepare_pdf_sources.py10 def test_module_imports_with_running_python(self):CODE
LOWtools/test_prepare_pdf_sources.py20 def test_normalizes_relative_markdown_and_html_image_paths(self):CODE
LOWtools/test_prepare_pdf_sources.py45 def test_prepares_temp_tree_without_mutating_source_markdown(self):CODE
LOW⚡tests/test_cjk_typography.py128 def test_cjk_and_latin_stay_apart(self) -> None:CODE
LOW⚡tests/test_cjk_typography.py138 def test_parens_holding_chinese_are_full_width(self) -> None:CODE
LOW⚡tests/test_cjk_typography.py148 def test_both_rules_can_actually_fail(self) -> None:CODE
LOWtests/test_cjk_typography.py162 def test_latin_only_parens_are_left_alone(self) -> None:CODE
LOWtests/test_cjk_typography.py170 def test_non_prose_regions_are_excluded(self) -> None:CODE
LOW⚡tests/test_cjk_typography.py183 def test_prices_are_not_mistaken_for_math(self) -> None:CODE
LOW⚡tests/test_cjk_typography.py188 def test_html_text_content_is_still_prose(self) -> None:CODE
LOW⚡tests/test_cjk_typography.py194 def test_a_table_row_is_not_an_html_tag(self) -> None:CODE
LOW⚡tests/test_cjk_typography.py198 def test_display_math_blocks_are_skipped_whole(self) -> None:CODE
LOWtests/test_verify_artifacts.py44 def test_rejects_missing_artifact(self):CODE
LOWtests/test_verify_artifacts.py55 def test_rejects_wrong_html_title(self):CODE
LOWtests/test_verify_artifacts.py70 def test_accepts_mdpress_site_title_with_page_suffix(self):CODE
LOWtests/test_example_validation.py49 def test_canonical_fixture_files_exist(self):CODE
LOWtests/test_example_validation.py54 def test_relevant_chapters_link_to_canonical_fixtures(self):CODE
LOWtests/test_example_validation.py68 def test_chapter_canonical_blocks_exactly_match_fixtures(self):CODE
LOWtests/test_example_validation.py87 def test_kubernetes_fixture_has_vendored_schema_provenance(self):CODE
LOW⚡tests/test_example_validation.py103 def test_dockerfile_fixture_has_no_remote_base_image(self):CODE
LOW⚡tests/test_example_validation.py108 def test_github_actions_fixture_installs_integrity_pinned_validators(self):CODE
LOW⚡tests/test_example_validation.py116 def test_local_run_reports_skips_when_tools_are_unavailable(self):CODE
LOWtests/test_example_validation.py127 def test_required_run_fails_when_tools_are_unavailable(self):CODE
LOWtests/test_example_validation.py134 def test_available_tools_receive_the_canonical_validation_commands(self):CODE
LOWtests/test_example_validation.py166 def test_runner_uses_only_vendored_schema_when_network_is_blocked(self):CODE
LOW⚡tests/test_pages_workflow.py16 def test_custom_pages_workflow_exists(self):CODE
LOW⚡tests/test_pages_workflow.py19 def test_builds_mdpress_site_without_jekyll(self):CODE
LOW⚡tests/test_pages_workflow.py29 def test_verifies_built_site_title_before_upload(self):CODE
LOW⚡tests/test_pages_workflow.py39 def test_build_and_deploy_jobs_have_minimum_permissions(self):CODE
LOWtests/test_pages_workflow.py54 def test_actions_are_immutable_and_checkout_drops_credentials(self):CODE
LOWtests/test_pages_workflow.py66 def test_documents_manual_pages_source_setting(self):CODE
LOWtests/test_html_list_rendering.py58 def test_reader_declares_the_no_blank_line_list_extension(self):CODE
LOWtests/test_html_list_rendering.py68 def test_bold_lead_in_list_renders_as_ul_under_real_pandoc(self):CODE
LOWtests/test_workflow_security.py162def workflow_step_scripts_in_document_order(workflow_text, step_names):STRING
LOWtests/test_workflow_security.py175 def test_all_actions_are_immutable_with_version_comments(self):STRING
LOWtests/test_workflow_security.py187 def test_checkout_never_persists_credentials(self):STRING
LOWtests/test_workflow_security.py199 def test_every_workflow_declares_permissions(self):STRING
LOWtests/test_workflow_security.py208 def test_release_and_preview_separate_read_only_builds_from_writes(self):STRING
LOWtests/test_workflow_security.py223 def test_preview_publish_steps_follow_tag_release_asset_order(self):STRING
LOWtests/test_workflow_security.py284 def test_mutable_preview_updates_existing_tag_and_release(self):STRING
LOWtests/test_workflow_security.py293 def test_mutable_preview_creates_only_on_explicit_not_found(self):STRING
LOWtests/test_workflow_security.py304 def test_preview_rejects_invalid_repository_and_sha_before_calling_gh(self):STRING
LOWtests/test_workflow_security.py329 def test_preview_release_lookup_fails_closed_except_exact_not_found(self):STRING
LOW⚡tests/test_workflow_security.py349 def test_preview_publish_has_explicit_repo_context_only_in_write_job(self):STRING
LOW⚡tests/test_workflow_security.py356 def test_downloads_dependencies_and_link_checker_are_integrity_pinned(self):STRING
LOW⚡tests/test_workflow_security.py366 def test_mermaid_is_exact_and_lockfile_backed(self):STRING
LOWtests/test_workflow_security.py380 def test_artifacts_are_smoke_tested_and_html_failures_are_not_silent(self):STRING
LOWtests/test_workflow_security.py390 def test_tagged_release_attests_every_formal_artifact_with_minimum_permissions(self):STRING
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtools/build_html_reader.py155 function show(id){var i=order.indexOf(id);if(i<0){i=0;id=order[0]}for(var k=0;k<pages.length;k++)pages[k].classList.togCODE
Unused Imports4 hits · 4 pts
SeverityFileLineSnippetContext
LOWcheck_emphasis.py17CODE
LOWcheck_project_rules.py4CODE
LOWtools/prepare_pdf_sources.py11CODE
LOWtests/test_cjk_typography.py35CODE
Deep Nesting4 hits · 4 pts
SeverityFileLineSnippetContext
LOWcheck_emphasis.py146CODE
LOWcheck_emphasis.py188CODE
LOWcheck_project_rules.py50CODE
LOWtools/build_html_reader.py16CODE
AI Slop Vocabulary2 hits · 3 pts
SeverityFileLineSnippetContext
MEDIUMpackage-lock.json2350 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",CODE
MEDIUMtools/build_html_reader.py2"""Build a single self-contained, GitBook-style PAGED mobile reader — offline-robust.STRING
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippetContext
LOW07_dockerfile/7.14_label.md33LABEL maintainer="user@example.com" \CODE
LOW07_dockerfile/7.14_label.md82LABEL maintainer="user@example.com"CODE
LOW07_dockerfile/7.14_label.md86LABEL org.opencontainers.image.authors="user@example.com"CODE