AI Slop Code Risk Monitor

dwzhu-pku/PaperBanana

SlopCodeMonitor badge for dwzhu-pku/PaperBanana Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

PaperBanana: Automating Academic Illustration For AI Scientists

28.8 Elevated pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for dwzhu-pku/PaperBanana, a Python project with 7,519 GitHub stars. SynthScan examined 16,952 lines of code across 69 source files, recording 389 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 28.8 (Elevated 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.

28.8
Adjusted Signal
28.8
Raw Pattern Score
100%
Time Factor
2026-10-24
Last Push
7.5K
Stars
Python
Language
17.0K
Lines of Code
69
Files
389
Pattern Hits
2026-10-31
Scan Date
0.12
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 58.8/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 9.7/100 · LOW

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

Agent Over-Engineering Ratio 64.1/100 · HIGH

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

PR Review Velocity Impact 77.6/100 · CRITICAL

Which changes need focused human review? 389 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

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

No multi-scan history yet — run the scanner again to build trend data.

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 8MEDIUM 39LOW 342

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 389 distinct pattern matches across 14 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 Identifiers175 hits · 193 pts
SeverityFileLineSnippetContext
LOWapp.py136async def process_parallel_candidates(CODE
LOWapp.py174async def refine_image_with_nanoviz(image_bytes, edit_prompt, aspect_ratio="21:9", image_size="2K"):CODE
LOWdemo.py146async def process_parallel_candidates(CODE
LOWdemo.py194async def refine_image_with_nanoviz(image_bytes, edit_prompt, aspect_ratio="21:9", image_size="2K"):CODE
LOWdemo.py378def infer_exp_mode_from_results(results):CODE
LOWdemo.py400def infer_timestamp_from_filename(file_path: Path) -> str:CODE
LOWdemo.py438def _resolved_saved_result_path(file_path: Path) -> Path:CODE
LOWskill/run.py78def _prepare_script_candidates() -> tuple[Path, ...]:CODE
LOWskill/run.py130def _missing_dataset_dependency(exc: ImportError) -> bool:CODE
LOWtests/test_legacy_ui_result_keys.py18 def test_plot_final_output_prefers_eval_image_field(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py32 def test_plot_final_output_falls_back_to_highest_critic_round(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py44 def test_plot_final_output_ignores_stale_diagram_eval_image_field(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py57 def test_critic_display_mode_uses_latest_round(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py69 def test_auto_prefers_polished_plot_when_present(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py82 def test_vanilla_plot_output_uses_plot_code_as_text(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py98 def test_evolution_stages_include_vanilla_planner_critic_and_polished_plot(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py119 def test_relative_plot_ground_truth_path_resolves_under_benchmark_root(self) -> None:CODE
LOW⚡tests/test_legacy_ui_result_keys.py134 def test_task_name_inference_handles_vanilla_plot_records(self) -> None:CODE
LOW⚡tests/test_legacy_ui_result_keys.py138 def test_stage_names_are_stable_for_vanilla_and_polished_outputs(self) -> None:CODE
LOW⚡tests/test_legacy_ui_result_keys.py148 def test_gradio_candidate_pipeline_passes_plot_task_to_exp_config(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py168 def test_streamlit_candidate_pipeline_passes_plot_task_to_exp_config(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py188 def test_gradio_failed_plot_record_keeps_task_name_for_inference(self) -> None:CODE
LOWtests/test_legacy_ui_result_keys.py204 def test_streamlit_failed_plot_record_keeps_task_name_for_inference(self) -> None:CODE
LOWtests/test_orcarouter_provider.py21 def test_to_orcarouter_model_id_mapping(self) -> None:CODE
LOWtests/test_orcarouter_provider.py43 def test_reinitialize_clients_creates_orcarouter_client_only_when_key_is_set(self) -> None:CODE
LOWtests/test_orcarouter_provider.py84 def test_call_model_routes_orcarouter_prefix(self) -> None:CODE
LOWtests/test_orcarouter_provider.py135 def test_routing_unchanged_when_orcarouter_key_is_unset(self) -> None:CODE
LOWtests/test_max_critic_rounds.py27def test_zero_critic_rounds_bypasses_critic_and_keeps_planner_eval_image(tmp_path):CODE
LOWtests/test_max_critic_rounds.py58def _planner_critic_processor(exp_config, critic):CODE
LOWtests/test_max_critic_rounds.py90def test_zero_critic_rounds_from_config_bypasses_planner_critic_mode(tmp_path):CODE
LOWtests/test_max_critic_rounds.py106def test_planner_critic_honors_config_max_critic_rounds(tmp_path):CODE
LOWtests/test_max_critic_rounds.py132def test_sample_max_critic_rounds_overrides_config(tmp_path):CODE
LOWtests/test_max_critic_rounds.py159def test_sample_zero_max_critic_rounds_overrides_positive_config(tmp_path):CODE
LOWtests/test_atlascloud_provider.py17 def test_reinitialize_clients_uses_atlascloud_defaults(self) -> None:CODE
LOWtests/test_atlascloud_provider.py27 async def test_atlas_prefix_routes_without_leaking_prefix(self) -> None:CODE
LOWtests/test_atlascloud_provider.py56 async def test_atlas_prefix_requires_credentials(self) -> None:CODE
LOWtests/test_local_openai_route.py78 async def test_local_prefix_reuses_client_and_strips_prefix(self) -> None:CODE
LOWtests/test_local_openai_route.py117 async def test_local_routes_send_max_tokens_to_chat_completions(self) -> None:CODE
LOWtests/test_local_openai_route.py166 async def test_refine_helpers_reject_local_image_models(self) -> None:CODE
LOWtests/test_local_openai_route.py189 async def test_ollama_prefix_defaults_to_local_server(self) -> None:CODE
LOW⚡tests/test_local_openai_route.py211 async def test_local_prefix_requires_base_url(self) -> None:CODE
LOW⚡tests/test_local_openai_route.py219 async def test_empty_local_model_id_is_rejected(self) -> None:CODE
LOW⚡tests/test_local_openai_route.py225 def test_reinitialize_clients_reads_base_urls(self) -> None:CODE
LOWtests/test_local_openai_route.py244 def test_image_helper_rejects_text_prefixes_only(self) -> None:CODE
LOWtests/test_local_openai_route.py258 async def test_image_agents_reject_prefixes_before_hosted_providers(self) -> None:CODE
LOW⚡tests/test_skill_run_figure_size.py37 def test_the_flag_accepts_every_documented_tier(self) -> None:CODE
LOW⚡tests/test_skill_run_figure_size.py42 def test_an_unknown_size_is_rejected(self) -> None:CODE
LOW⚡tests/test_skill_run_figure_size.py46 def test_omitting_the_flag_keeps_the_previous_default(self) -> None:CODE
LOW⚡tests/test_skill_run_figure_size.py53 def test_a_requested_size_reaches_additional_info(self) -> None:CODE
LOW⚡tests/test_skill_run_figure_size.py59 def test_the_agents_read_the_tier_back_out(self) -> None:CODE
LOW⚡tests/test_skill_run_figure_size.py65 def test_omitting_the_flag_leaves_additional_info_unchanged(self) -> None:CODE
LOWtests/test_skill_run_figure_size.py80 def test_the_candidate_dict_is_built_through_the_helper(self) -> None:CODE
LOWtests/test_critic_round_scan.py7def test_skill_final_image_prefers_round_past_the_old_cap():CODE
LOW⚡tests/test_critic_round_scan.py18def test_skill_final_image_uses_available_round_without_configured_max():CODE
LOW⚡tests/test_critic_round_scan.py27def test_skill_final_image_still_falls_back_when_no_critic_image():CODE
LOW⚡tests/test_critic_round_scan.py33def test_evolution_view_includes_critic_rounds_past_two():CODE
LOW⚡tests/test_legacy_generation_options.py12 def test_plot_task_detection_accepts_display_labels(self) -> None:CODE
LOW⚡tests/test_legacy_generation_options.py19 def test_figure_size_maps_to_provider_image_size(self) -> None:CODE
LOW⚡tests/test_legacy_generation_options.py26 def test_generation_additional_info_preserves_figure_size_and_image_size(self) -> None:CODE
LOW⚡tests/test_legacy_generation_options.py32 def test_plot_text_input_parses_record_array_json(self) -> None:CODE
115 more matches not shown…
Excessive Try-Catch Wrapping53 hits · 65 pts
SeverityFileLineSnippetContext
LOWapp.py104 except Exception:CODE
LOWapp.py200 except Exception as e:CODE
LOWapp.py222 except Exception as e:CODE
LOWapp.py266 except Exception as e:CODE
LOWapp.py719 except Exception as e:STRING
LOWapp.py733 except Exception:STRING
LOWapp.py770 except Exception:STRING
LOWapp.py842 except Exception as e:STRING
LOWdemo.py81except Exception as e:CODE
LOWdemo.py111 except Exception:CODE
LOWdemo.py246 except Exception as e:CODE
LOWdemo.py298 except Exception as e:CODE
LOWdemo.py671 except Exception as e:CODE
LOW⚡demo.py834 except Exception as e:CODE
LOW⚡demo.py836 except Exception as e:CODE
LOWdemo.py919 except Exception as e:CODE
LOWdemo.py1001 except Exception as e:CODE
LOWstyle_guides/generate_category_style_guide.py192 except Exception as e:CODE
MEDIUMstyle_guides/generate_category_style_guide.py193 print(f"Error reading {p}: {e}")CODE
LOW⚡style_guides/generate_category_style_guide.py220 except Exception as e:CODE
LOWstyle_guides/generate_category_style_guide.py298 except Exception as e:CODE
LOWskill/run.py120 except Exception:CODE
LOWagents/critic_agent.py136 except Exception as e:CODE
LOWagents/retriever_agent.py196 except Exception as e:CODE
LOWagents/polish_agent.py37 except Exception as e:CODE
LOWagents/polish_agent.py94 except Exception as e:CODE
LOWagents/polish_agent.py131 except Exception as e:CODE
LOWagents/polish_agent.py204 except Exception as e:CODE
LOWutils/image_utils.py43 except Exception as e:CODE
LOWutils/legacy_generation_options.py67 except Exception:CODE
LOW⚡utils/legacy_generation_options.py78 except Exception:CODE
LOWutils/plot_execution.py59 except Exception as exc:CODE
MEDIUMutils/plot_execution.py60 print(f"Error executing plot code: {exc}")CODE
LOWutils/eval_toolkits.py221 except Exception as e:CODE
MEDIUM⚡utils/generation_utils.py600 print(f"Error generating a subsequent {provider_name} candidate: {res}")CODE
MEDIUM⚡utils/generation_utils.py602 print(f"Error generating a subsequent candidate: {res}")CODE
MEDIUM⚡utils/generation_utils.py928 print(f"Error: All {max_attempts} attempts failed{context_msg}")CODE
MEDIUM⚡utils/generation_utils.py940 print(f"Error: All {max_attempts} attempts failed{context_msg}")CODE
MEDIUMutils/generation_utils.py347 print(f"Error: All {max_attempts} attempts failed{context_msg}")CODE
MEDIUMutils/generation_utils.py489 print(f"Error generating a subsequent candidate: {res}")CODE
MEDIUMutils/generation_utils.py567 print(f"Error: All {max_attempts} {provider_name} attempts failed{context_msg}.")CODE
MEDIUMutils/generation_utils.py696 print(f"Error: All {max_attempts} attempts failed{context_msg}")CODE
LOW⚡utils/generation_utils.py930 except Exception as e:CODE
LOWutils/generation_utils.py334 except Exception as e:CODE
LOWutils/generation_utils.py450 except Exception as e:CODE
LOWutils/generation_utils.py546 except Exception as e:CODE
LOWutils/generation_utils.py687 except Exception as e:CODE
LOWvisualize/show_referenced_eval.py80 except Exception as e:CODE
LOWvisualize/show_referenced_eval.py107 except Exception:CODE
LOWvisualize/show_referenced_eval.py208 except Exception as e:CODE
LOWvisualize/show_pipeline_evolution.py70 except Exception as e:CODE
LOWvisualize/show_pipeline_evolution.py83 except Exception:CODE
LOWvisualize/show_pipeline_evolution.py183 except Exception as e:CODE
Decorative Section Separators26 hits · 48 pts
SeverityFileLineSnippetContext
MEDIUM⚡app.py32# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡app.py34# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡app.py41# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡app.py43# ---------------------------------------------------------------------------COMMENT
MEDIUMapp.py85# ---------------------------------------------------------------------------COMMENT
MEDIUMapp.py87# ---------------------------------------------------------------------------COMMENT
MEDIUMapp.py282# ---------------------------------------------------------------------------COMMENT
MEDIUMapp.py284# ---------------------------------------------------------------------------COMMENT
MEDIUMapp.py334# ---------------------------------------------------------------------------COMMENT
MEDIUMapp.py336# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡app.py545 # ================================================================STRING
MEDIUM⚡app.py547 # ================================================================STRING
MEDIUM⚡app.py550 # ============================================================STRING
MEDIUM⚡app.py552 # ============================================================STRING
MEDIUMapp.py454# ---------------------------------------------------------------------------STRING
MEDIUMapp.py456# ---------------------------------------------------------------------------STRING
MEDIUMapp.py470 # ================================================================STRING
MEDIUMapp.py472 # ================================================================STRING
MEDIUMapp.py501 # ================================================================STRING
MEDIUMapp.py503 # ================================================================STRING
MEDIUMapp.py802 # ============================================================STRING
MEDIUMapp.py804 # ============================================================STRING
MEDIUMapp.py867 # ================================================================STRING
MEDIUMapp.py869 # ================================================================STRING
MEDIUMapp.py881# ---------------------------------------------------------------------------STRING
MEDIUMapp.py883# ---------------------------------------------------------------------------STRING
Unused Imports37 hits · 34 pts
SeverityFileLineSnippetContext
LOWmain.py24CODE
LOWagents/stylist_agent.py20CODE
LOWagents/stylist_agent.py21CODE
LOWagents/stylist_agent.py22CODE
LOWagents/stylist_agent.py24CODE
LOWagents/stylist_agent.py24CODE
LOWagents/stylist_agent.py24CODE
LOWagents/stylist_agent.py25CODE
LOWagents/base_agent.py19CODE
LOWagents/base_agent.py20CODE
LOWagents/base_agent.py23CODE
LOWagents/base_agent.py25CODE
LOWagents/planner_agent.py22CODE
LOWagents/planner_agent.py22CODE
LOWagents/planner_agent.py23CODE
LOWagents/critic_agent.py22CODE
LOWagents/critic_agent.py22CODE
LOWagents/critic_agent.py22CODE
LOWagents/critic_agent.py23CODE
LOWagents/retriever_agent.py23CODE
LOWagents/retriever_agent.py23CODE
LOWagents/retriever_agent.py23CODE
LOWagents/retriever_agent.py24CODE
LOWagents/retriever_agent.py77CODE
LOWagents/polish_agent.py20CODE
LOWagents/polish_agent.py21CODE
LOWagents/polish_agent.py24CODE
LOWutils/legacy_ui_results.py17CODE
LOWutils/critic_rounds.py17CODE
LOWutils/paperviz_processor.py22CODE
LOWutils/legacy_generation_options.py17CODE
LOWutils/eval_toolkits.py20CODE
LOWutils/generation_utils.py22CODE
LOWutils/generation_utils.py23CODE
LOWutils/generation_utils.py24CODE
LOWutils/generation_utils.py28CODE
LOWutils/generation_utils.py29CODE
Over-Commented Block33 hits · 32 pts
SeverityFileLineSnippetContext
LOWrequirements.txt1# Python 3.12. Floors are the oldest releases that provide the APIs thisCOMMENT
LOWapp.py1# Copyright 2026 Google LLCCOMMENT
LOWmain.py1# Copyright 2026 Google LLCCOMMENT
LOWdemo.py1# Copyright 2026 Google LLCCOMMENT
LOWstyle_guides/generate_category_style_guide.py1# Copyright 2026 Google LLCCOMMENT
LOWskill/run.py1# Copyright 2026 Google LLCCOMMENT
LOWagents/stylist_agent.py1# Copyright 2026 Google LLCCOMMENT
LOWagents/base_agent.py1# Copyright 2026 Google LLCCOMMENT
LOWagents/planner_agent.py1# Copyright 2026 Google LLCCOMMENT
LOWagents/__init__.py1# Copyright 2026 Google LLCCOMMENT
LOWagents/critic_agent.py1# Copyright 2026 Google LLCCOMMENT
LOWagents/retriever_agent.py1# Copyright 2026 Google LLCCOMMENT
LOWagents/visualizer_agent.py1# Copyright 2026 Google LLCCOMMENT
LOWagents/polish_agent.py1# Copyright 2026 Google LLCCOMMENT
LOWagents/vanilla_agent.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/legacy_ui_results.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/image_utils.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/critic_rounds.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/config.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/paperviz_processor.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/legacy_generation_options.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/plot_execution.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/__init__.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/eval_toolkits.py1# Copyright 2026 Google LLCCOMMENT
LOWutils/generation_utils.py1# Copyright 2026 Google LLCCOMMENT
LOWvisualize/show_referenced_eval.py1# Copyright 2026 Google LLCCOMMENT
LOWvisualize/show_pipeline_evolution.py1# Copyright 2026 Google LLCCOMMENT
LOWconfigs/model_config.template.yaml1# Copyright 2026 Google LLCCOMMENT
LOWscripts/run_demo.sh1#!/bin/bashCOMMENT
LOWscripts/run_main.sh1#!/bin/bashCOMMENT
LOWprompts/plot_eval_prompts.py1# Copyright 2026 Google LLCCOMMENT
LOWprompts/__init__.py1# Copyright 2026 Google LLCCOMMENT
LOWprompts/diagram_eval_prompts.py1# Copyright 2026 Google LLCCOMMENT
Deep Nesting33 hits · 28 pts
SeverityFileLineSnippetContext
LOWapp.py174CODE
LOWapp.py458CODE
LOWapp.py679CODE
LOWdemo.py194CODE
LOWdemo.py306CODE
LOWdemo.py500CODE
LOWskill/run.py177CODE
LOWtests/test_provider_routing.py74CODE
LOWtests/test_provider_routing.py132CODE
LOWagents/retriever_agent.py61CODE
LOWagents/visualizer_agent.py74CODE
LOWutils/legacy_ui_results.py68CODE
LOWutils/legacy_ui_results.py163CODE
LOWutils/config.py46CODE
LOWutils/paperviz_processor.py364CODE
LOWutils/paperviz_processor.py501CODE
LOWutils/eval_toolkits.py120CODE
LOWutils/generation_utils.py241CODE
LOWutils/generation_utils.py269CODE
LOWutils/generation_utils.py370CODE
LOWutils/generation_utils.py497CODE
LOWutils/generation_utils.py648CODE
LOWutils/generation_utils.py812CODE
LOWutils/generation_utils.py844CODE
LOWutils/generation_utils.py1076CODE
LOWvisualize/show_referenced_eval.py49CODE
LOWvisualize/show_referenced_eval.py157CODE
LOWvisualize/show_referenced_eval.py188CODE
LOWvisualize/show_pipeline_evolution.py41CODE
LOWvisualize/show_pipeline_evolution.py148CODE
LOWvisualize/show_pipeline_evolution.py227CODE
LOWvisualize/show_pipeline_evolution.py257CODE
LOWscripts/prepare_bench.py57CODE
Cross-File Repetition5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHagents/stylist_agent.py0vanilla agent - directly rendering images based on the method section.STRING
HIGHagents/planner_agent.py0vanilla agent - directly rendering images based on the method section.STRING
HIGHagents/critic_agent.py0vanilla agent - directly rendering images based on the method section.STRING
HIGHagents/retriever_agent.py0vanilla agent - directly rendering images based on the method section.STRING
HIGHagents/visualizer_agent.py0vanilla agent - directly rendering images based on the method section.STRING
Empty Error Handlers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHapp.py770except Exception:CODE
HIGHutils/legacy_generation_options.py78except Exception:CODE
HIGHvisualize/show_pipeline_evolution.py56except json.JSONDecodeError:CODE
Verbosity Indicators6 hits · 13 pts
SeverityFileLineSnippetContext
LOW⚡style_guides/generate_category_style_guide.py227 # Step 0: Prepare output directoryCOMMENT
LOW⚡style_guides/generate_category_style_guide.py232 # Step 1: Load and filter dataCOMMENT
LOW⚡style_guides/generate_category_style_guide.py258 # Step 2: Split into batchesCOMMENT
LOW⚡style_guides/generate_category_style_guide.py263 # Step 3: Parallel analysisCOMMENT
LOW⚡style_guides/generate_category_style_guide.py270 # Step 4: Synthesize final style guideCOMMENT
LOWagents/polish_agent.py152 # Step 2: Polish Image using suggestionsCOMMENT
Structural Annotation Overuse6 hits · 13 pts
SeverityFileLineSnippetContext
LOW⚡style_guides/generate_category_style_guide.py227 # Step 0: Prepare output directoryCOMMENT
LOW⚡style_guides/generate_category_style_guide.py232 # Step 1: Load and filter dataCOMMENT
LOW⚡style_guides/generate_category_style_guide.py258 # Step 2: Split into batchesCOMMENT
LOW⚡style_guides/generate_category_style_guide.py263 # Step 3: Parallel analysisCOMMENT
LOW⚡style_guides/generate_category_style_guide.py270 # Step 4: Synthesize final style guideCOMMENT
LOWagents/polish_agent.py152 # Step 2: Polish Image using suggestionsCOMMENT
Redundant / Tautological Comments7 hits · 11 pts
SeverityFileLineSnippetContext
LOW⚡demo.py841 # Display resultsCOMMENT
LOWdemo.py873 # Display results in a grid (3 columns)COMMENT
LOWagents/planner_agent.py72 # Check if retriever has already provided full examples (e.g., in manual mode)COMMENT
LOWagents/retriever_agent.py76 # Check if reference file exists to gracefully fallback if dataset isn't downloadedCOMMENT
LOWutils/paperviz_processor.py346 # Check if visualization validation succeededCOMMENT
LOWutils/eval_toolkits.py264 # Check if image was successfully generatedCOMMENT
LOWconfigs/model_config.template.yaml29 atlascloud_api_key: "" # Set model_name to "atlas/<model>" to use Atlas Cloud.CODE
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md140# Legacy matplotlib plot-code generation with no few-shot retrievalCOMMENT
MEDIUMagents/retriever_agent.py96 # Load from predefined few-shot file and store full examplesCOMMENT
AI Slop Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
LOWagents/polish_agent.py140 # If no changes needed, we might want to skip generation or just return originalCOMMENT
MEDIUMutils/generation_utils.py53# Initialize clients lazily or with robust defaultsCOMMENT
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWutils/paperviz_processor.py602CODE