AI Slop Code RIsk Monitor

yeasy/blockchain_guide

Introduce technologies on blockchain and distributed ledger, from theory to practice with bitcoin, ethereum and hyperledger.

4.3 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for yeasy/blockchain_guide, a Python project with 7,074 GitHub stars. SynthScan examined 23,983 lines of code across 194 source files, recording 72 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 4.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.

4.3
Adjusted Signal
4.3
Raw Pattern Score
100%
Time Factor
2026-10-07
Last Push
7.1K
Stars
Python
Language
24.0K
Lines of Code
194
Files
72
Pattern Hits
2026-10-12
Scan Date
0.03
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 11.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 8.5/100 · LOW

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

Agent Over-Engineering Ratio 9.8/100 · LOW

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

PR Review Velocity Impact 19.0/100 · LOW

Which changes need focused human review? 72 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 5MEDIUM 2LOW 65

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 72 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 Identifiers48 hits · 50 pts
SeverityFileLineSnippetContext
LOWcheck_project_rules.py136def iter_markdown_link_targets(body: str):CODE
LOWtools/render_mermaid.py28def validate_output_directory(book_dir: str, svg_out: str) -> tuple[Path, Path]:CODE
LOWtools/publication_sources.py116def _is_unapproved_remote_image(raw_target: str) -> bool:CODE
LOWtools/publication_sources.py282def find_unapproved_remote_images(source_root: Path) -> list[tuple[Path, int, str]]:CODE
LOWtools/verify_release_artifacts.py139def verify_publication_images(source_root: Path) -> None:CODE
LOWtests/test_workflows.py160 def test_all_actions_are_full_sha_pinned_with_version_comments(self):STRING
LOWtests/test_workflows.py169 def test_checkout_drops_credentials_and_permissions_are_minimal(self):STRING
LOWtests/test_workflows.py182 def test_downloads_mermaid_and_artifacts_have_integrity_gates(self):STRING
LOWtests/test_workflows.py194 def test_pandoc_is_installed_and_verified_before_publication_source_checks(self):STRING
LOWtests/test_workflows.py203 def test_every_publication_workflow_builds_pdf_html_and_checksums(self):STRING
LOW⚡tests/test_workflows.py214 def test_ci_runs_each_chaincode_package_as_a_matrix(self):STRING
LOW⚡tests/test_workflows.py222 def test_renderer_does_not_kill_unrelated_processes_and_can_fail_closed(self):STRING
LOW⚡tests/test_workflows.py229 def test_renderer_rejects_outputs_from_every_failed_command(self):STRING
LOW⚡tests/test_workflows.py238 def test_renderer_promotes_only_a_successful_retry(self):STRING
LOW⚡tests/test_workflows.py247 def test_preview_release_notes_preserve_markdown_literals(self):STRING
LOWtests/test_workflows.py297 def test_preview_existing_and_missing_paths_use_exact_order(self):STRING
LOWtests/test_workflows.py305 def test_preview_fails_closed_before_publish(self):STRING
LOWtests/test_publication_sources.py56 def test_publication_scan_matches_real_pandoc_image_nodes(self):CODE
LOW⚡tests/test_publication_sources.py85 def test_missing_pandoc_fails_closed_with_source_context(self):CODE
LOW⚡tests/test_publication_sources.py90 def test_pandoc_parse_failure_fails_closed_with_command_context(self):CODE
LOW⚡tests/test_publication_sources.py96 def test_multiple_publication_sources_use_one_pandoc_batch(self):CODE
LOWtests/test_publication_sources.py119 def test_markdown_image_srcset_checks_every_candidate(self):CODE
LOWtests/test_publication_sources.py130 def test_raw_html_img_srcset_handles_quoted_and_escaped_urls(self):CODE
LOWtests/test_publication_sources.py141 def test_picture_source_checks_src_and_srcset_without_splitting_data_commas(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
LOW⚡tests/test_project_rules.py26 def test_checker_rejects_unapproved_remote_images_in_publication_sources(self):CODE
LOW⚡tests/test_project_rules.py33 def test_checker_allows_explicitly_whitelisted_badges(self):CODE
LOW⚡tests/test_project_rules.py39 def test_checker_rejects_full_reference_image_with_normalized_multiline_label(self):CODE
LOWtests/test_project_rules.py51 def test_checker_rejects_collapsed_and_shortcut_reference_images(self):CODE
LOWtests/test_project_rules.py63 def test_checker_rejects_pandoc_reference_labels_with_escaped_punctuation(self):CODE
LOWtests/test_project_rules.py113 def test_checker_applies_badge_allowlist_to_reference_images(self):CODE
LOWtests/test_project_rules.py121 def test_checker_ignores_non_image_markdown_syntax(self):CODE
LOWtests/test_release_artifacts.py23 def test_html_title_and_every_published_mermaid_are_verified(self):CODE
LOWtests/test_release_artifacts.py44 def test_pdf_signature_and_title_are_mandatory(self):CODE
LOWtests/test_release_artifacts.py58 def test_manifest_covers_both_artifacts_and_detects_tampering(self):CODE
LOWtests/test_release_artifacts.py73 def test_mermaid_count_only_uses_unique_summary_chapters(self):CODE
LOWtests/test_release_artifacts.py82 def test_artifact_main_rejects_unapproved_remote_publication_images(self):CODE
LOWtests/test_release_artifacts.py173 def test_html_reader_disables_ambiguous_pandoc_block_syntax(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
Magic Placeholder Names4 hits · 28 pts
SeverityFileLineSnippetContext
HIGH07_ethereum/smart_contract_labs.md457anvil --fork-url https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEYCODE
HIGH⚡07_ethereum/smart_contract_labs.md565export SEPOLIA_RPC_URL="https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY"CODE
HIGH⚡07_ethereum/smart_contract_labs.md567export MAINNET_RPC_URL="https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY"CODE
HIGH⚡07_ethereum/smart_contract_labs.md568export POLYGON_AMOY_RPC_URL="https://polygon-amoy.g.alchemy.com/v2/YOUR_API_KEY"CODE
Unused Imports10 hits · 10 pts
SeverityFileLineSnippetContext
LOWcheck_emphasis.py17CODE
LOWcheck_project_rules.py4CODE
LOWtools/render_mermaid.py4CODE
LOWtools/publication_sources.py3CODE
LOWtools/verify_release_artifacts.py4CODE
LOWtests/test_workflows.py1CODE
LOWtests/test_publication_sources.py1CODE
LOWtests/test_cjk_typography.py35CODE
LOWtests/test_project_rules.py1CODE
LOWtests/test_release_artifacts.py1CODE
Deep Nesting7 hits · 7 pts
SeverityFileLineSnippetContext
LOWcheck_emphasis.py146CODE
LOWcheck_emphasis.py188CODE
LOWcheck_project_rules.py53CODE
LOWtools/publication_sources.py29CODE
LOWtools/publication_sources.py204CODE
LOWtools/publication_sources.py282CODE
LOWtools/build_html_reader.py22CODE
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtools/build_html_reader.py161 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
AI Slop Vocabulary2 hits · 3 pts
SeverityFileLineSnippetContext
MEDIUMtools/build_html_reader.py2"""Build a single self-contained, GitBook-style PAGED mobile reader — offline-robust.STRING
MEDIUMtools/mermaid/package-lock.json2048 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",CODE