Repository Analysis

CodeBoarding/CodeBoarding

Interactive architecture diagrams for codebases

41.7 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of CodeBoarding/CodeBoarding, a Python project with 2,404 GitHub stars. SynthScan v2.0 examined 81,185 lines of code across 354 source files, recording 2856 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 41.7 places this repository in the Strong AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

41.7
Adjusted Score
41.7
Raw Score
100%
Time Factor
2026-08-28
Last Push
2.4K
Stars
Python
Language
81.2K
Lines of Code
354
Files
2.9K
Pattern Hits
2026-08-29
Scan Date
0.10
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 1HIGH 33MEDIUM 121LOW 2701

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 2856 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers2100 hits · 2186 pts
SeverityFileLineSnippetContext
LOWinstall.py104def bootstrapped_npm_cli_path(target_dir: Path) -> Path:CODE
LOWinstall.py364def install_vcpp_redistributable() -> bool:CODE
LOWinstall.py511def install_package_manager_lsp_servers(target_dir: Path, on_progress: ProgressCallback | None = None) -> None:CODE
LOWinstall.py575def _language_checks_from_registry(target_dir: Path) -> list[LanguageSupportCheck]:CODE
LOWinstall.py670def print_language_support_summary(npm_available: bool, target_dir: Path):CODE
LOWmain.py72def _inject_default_subcommand(argv: list[str]) -> list[str]:STRING
LOWdiagram_analysis/file_index.py24def build_file_methods_from_nodes(CODE
LOWdiagram_analysis/file_index.py112def refresh_method_spans_from_cfg(CODE
LOWdiagram_analysis/diagram_generator.py105def _component_expansion_seeds(components: list[Component], max_depth: int) -> list[tuple[Component, int]]:CODE
LOWdiagram_analysis/diagram_generator.py276def _capture_baseline_member_keys(CODE
LOWdiagram_analysis/diagram_generator.py296def _capture_membership_baseline(CODE
LOWdiagram_analysis/diagram_generator.py331def _restore_unchanged_metadata(CODE
LOWdiagram_analysis/diagram_generator.py386def _fully_unchanged_component_ids(CODE
LOWdiagram_analysis/diagram_generator.py420def _restore_unchanged_subtrees(CODE
LOWdiagram_analysis/diagram_generator.py455def _incremental_changed_component_ids(CODE
LOWdiagram_analysis/diagram_generator.py713 def _complete_agent_initialization(CODE
LOWdiagram_analysis/diagram_generator.py744 def _prepare_incremental_clustering(CODE
LOWdiagram_analysis/diagram_generator.py971 def _changed_files_for_static_analysis(self) -> set[Path] | None:CODE
LOWdiagram_analysis/diagram_generator.py986 def _get_static_with_injected_analyzer(self) -> StaticAnalysisResults:CODE
LOWdiagram_analysis/diagram_generator.py1004 def _get_static_with_new_analyzer(self) -> StaticAnalysisResults:CODE
LOWdiagram_analysis/diagram_generator.py1020 def _persist_static_analysis_artifact(self) -> None:CODE
LOWdiagram_analysis/diagram_generator.py1028 def _source_tree_fingerprint_map(self) -> dict[str, str]:CODE
LOWdiagram_analysis/diagram_generator.py1389 def _build_file_coverage_summary(self) -> FileCoverageSummary | None:CODE
LOWdiagram_analysis/diagram_generator.py1436 def _apply_incremental_hierarchy(CODE
LOWdiagram_analysis/diagram_generator.py1474 def generate_analysis_incremental(CODE
LOWdiagram_analysis/diagram_generator.py1642def _collect_components_by_id(CODE
LOWdiagram_analysis/diagram_generator.py1660def _drop_removed_subtree_analyses(sub_analyses: dict[str, AnalysisInsights], removed_ids: set[str]) -> None:CODE
LOWdiagram_analysis/tree_shape.py14def absorb_single_child_components(CODE
LOWdiagram_analysis/io_utils.py49 def _compute_expandable_components(CODE
LOWdiagram_analysis/io_utils.py267def load_expandable_component_ids(output_dir: Path) -> set[str]:CODE
LOWdiagram_analysis/analysis_json.py161def _build_files_index_from_analysis(CODE
LOWdiagram_analysis/analysis_json.py182def _source_reference_method_key(reference: SourceCodeReference, repo_dir: Path) -> str:CODE
LOWdiagram_analysis/analysis_json.py213def _to_component_file_method_refs(file_methods: list[FileMethodGroup]) -> list[ComponentFileMethodGroupJson]:CODE
LOWdiagram_analysis/analysis_json.py228def _method_refs_to_placeholders(method_names: list[str]) -> list[MethodEntry]:CODE
LOWdiagram_analysis/analysis_json.py240def _build_methods_index_from_files(files_index: dict[str, FileEntry]) -> dict[str, MethodIndexEntry]:CODE
LOWdiagram_analysis/analysis_json.py255def _build_file_entry_json_from_files(files_index: dict[str, FileEntry]) -> dict[str, FileEntryJson]:CODE
LOWdiagram_analysis/analysis_json.py267def _hydrate_component_methods_from_refs(CODE
LOWdiagram_analysis/analysis_json.py317def from_component_to_json_component(CODE
LOWdiagram_analysis/analysis_json.py447def build_unified_analysis_json(CODE
LOWdiagram_analysis/analysis_json.py570def _extract_analysis_recursive(CODE
LOWoutput_generators/rendering.py32def project_relations_to_level(CODE
LOWoutput_generators/html_template.py317def _generate_cytoscape_script(cytoscape_json: str) -> str:STRING
LOWhealth/runner.py68def _collect_checks_for_language(CODE
LOWhealth/runner.py122def _aggregate_file_summaries(CODE
LOWhealth/config.py69def _load_health_exclude_patterns(health_config_dir: Path) -> list[str]:CODE
LOWhealth/checks/circular_deps.py10def check_circular_dependencies(package_dependencies: dict, config: HealthCheckConfig) -> CircularDependencyCheck:CODE
LOWhealth/checks/unused_code_diagnostics.py265def check_unused_code_diagnostics(CODE
LOWtests/test_telemetry_events.py27def test_track_analysis_on_error_marks_status_and_forwards_exception(captured):CODE
LOWtests/test_telemetry_events.py47def test_track_analysis_success_has_no_exception(captured):CODE
LOWtests/test_telemetry_events.py58def test_capture_error_forwards_to_posthog(captured):CODE
LOWtests/test_telemetry_events.py71def test_exception_attached_telemetry_properties_are_forwarded(captured):CODE
LOWtests/test_telemetry_events.py89def test_capture_error_merges_exception_telemetry_properties(captured):CODE
LOWtests/test_telemetry_events.py98def test_track_analysis_reads_run_id_from_self_for_generator_methods(captured):CODE
LOWtests/test_telemetry_events.py118def test_track_analysis_propagates_run_id_to_nested_repo_scanned(captured):CODE
LOWtests/test_telemetry_events.py135def test_repo_scanned_reads_run_id_from_env_without_track_analysis(captured, monkeypatch):CODE
LOWtests/test_telemetry_events.py143def test_lsp_analysis_result_marks_zero_nodes_as_error(captured, monkeypatch):CODE
LOWtests/test_telemetry_events.py170def test_lsp_analysis_result_warns_when_summary_fields_missing(captured, caplog):CODE
LOWtests/test_telemetry_events.py181def test_track_analysis_env_run_id_overrides_self(captured, monkeypatch):CODE
LOWtests/test_view_instructions.py9 def test_prints_webview_url_and_file_path(self):CODE
LOWtests/test_view_instructions.py22 def test_missing_file_warns_and_does_not_print_instructions(self):CODE
2040 more matches not shown…
Decorative Section Separators94 hits · 354 pts
SeverityFileLineSnippetContext
MEDIUMdiagram_analysis/io_utils.py227# ---------------------------------------------------------------------------COMMENT
MEDIUMdiagram_analysis/io_utils.py229# ---------------------------------------------------------------------------COMMENT
MEDIUMdiagram_analysis/io_utils.py242# ---------------------------------------------------------------------------COMMENT
MEDIUMdiagram_analysis/io_utils.py244# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/output_generators/test_rendering.py123# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/output_generators/test_rendering.py125# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/output_generators/test_rendering.py21# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/output_generators/test_rendering.py23# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py278# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py280# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py406# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py408# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py440# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py442# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py485# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py487# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py515# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py517# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py545# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py547# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py332# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/health/test_unused_code_diagnostics.py334# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/repo_utils/test_non_ascii_paths.py40# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/repo_utils/test_non_ascii_paths.py42# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/repo_utils/test_non_ascii_paths.py81# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/repo_utils/test_non_ascii_paths.py83# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/repo_utils/test_non_ascii_paths.py211# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/repo_utils/test_non_ascii_paths.py213# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/static_analyzer/test_reference_resolve_real_refs.py27# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/static_analyzer/test_reference_resolve_real_refs.py29# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/static_analyzer/test_reference_resolve_real_refs.py83# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/static_analyzer/test_reference_resolve_real_refs.py85# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py95# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py97# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py114# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py116# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py232# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py234# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py354# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py356# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py403# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py405# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py475# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py477# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py601# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py603# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py24# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py26# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py184# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py186# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py511# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py513# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py576# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_result_converter.py578# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_edge_builder.py350# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_edge_builder.py352# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_edge_builder.py424# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_edge_builder.py426# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_edge_builder.py453# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/static_analyzer/test_edge_builder.py455# ---------------------------------------------------------------------------COMMENT
34 more matches not shown…
Unused Imports254 hits · 229 pts
SeverityFileLineSnippetContext
LOWutils.py10CODE
LOWutils.py10CODE
LOWutils.py11CODE
LOWutils.py11CODE
LOWdiagram_analysis/run_mode.py3CODE
LOWdiagram_analysis/__init__.py1CODE
LOWdiagram_analysis/diagram_generator.py81CODE
LOWdiagram_analysis/file_coverage.py17CODE
LOWdiagram_analysis/file_coverage.py18CODE
LOWoutput_generators/rendering.py13CODE
LOWoutput_generators/rendering.py14CODE
LOWoutput_generators/rendering.py15CODE
LOWoutput_generators/rendering.py16CODE
LOWoutput_generators/__init__.py3CODE
LOWoutput_generators/__init__.py3CODE
LOWoutput_generators/__init__.py3CODE
LOWcore/plugin_loader.py3CODE
LOWcore/protocols.py3CODE
LOWcore/protocols.py12CODE
LOWcore/protocols.py12CODE
LOWcore/protocols.py13CODE
LOWcore/protocols.py13CODE
LOWcore/protocols.py13CODE
LOWcore/__init__.py17CODE
LOWcore/__init__.py22CODE
LOWcore/__init__.py22CODE
LOWcore/__init__.py23CODE
LOWcore/__init__.py23CODE
LOWcore/__init__.py23CODE
LOWcore/__init__.py24CODE
LOWcore/__init__.py25CODE
LOWhealth/__init__.py1CODE
LOWhealth/checks/__init__.py3CODE
LOWhealth/checks/__init__.py3CODE
LOWtests/test_registry_coverage.py14CODE
LOWtests/test_vscode_constants.py2CODE
LOWtests/test_logging_config.py1CODE
LOWtests/diagram_analysis/test_tree_shape.py13CODE
LOWtests/health/test_unused_code_diagnostics.py5CODE
LOWtests/agents/test_monitoring.py1CODE
LOWtests/agents/test_monitoring.py4CODE
LOWtests/agents/prompts/test_prompts.py2CODE
LOWtests/agents/prompts/test_prompts.py2CODE
LOWtests/repo_utils/test_non_ascii_paths.py23CODE
LOWtests/static_analyzer/test_call_graph.py6CODE
LOWtests/static_analyzer/test_call_graph.py9CODE
LOWtests/static_analyzer/test_call_graph.py10CODE
LOWtests/static_analyzer/test_go_adapter.py5CODE
LOWtests/static_analyzer/test_java_utils.py5CODE
LOWtests/static_analyzer/test_java_utils.py10CODE
LOWtests/static_analyzer/test_cluster_helpers.py2CODE
LOWtests/static_analyzer/test_cluster_helpers.py2CODE
LOWtests/static_analyzer/test_csharp_adapter.py3CODE
LOWtests/static_analyzer/test_leiden_utils.py6CODE
LOWtests/static_analyzer/test_java_config_scanner.py9CODE
LOWtests/static_analyzer/test_edge_builder.py5CODE
LOWtests/static_analyzer/test_edge_builder.py6CODE
LOW…ts/static_analyzer/test_analysis_cache_partial_save.py12CODE
LOWtests/static_analyzer/test_call_site_locations.py4CODE
LOW…ts/static_analyzer/scripts/edge_recovery_diagnostic.py4CODE
194 more matches not shown…
Cross-File Repetition27 hits · 135 pts
SeverityFileLineSnippetContext
HIGHoutput_generators/mdx.py0generate an html header for a component with its name and a link to its details.STRING
HIGHoutput_generators/markdown.py0generate an html header for a component with its name and a link to its details.STRING
HIGHoutput_generators/html.py0generate an html header for a component with its name and a link to its details.STRING
HIGHagents/prompts/kimi_prompts.py0name and describe the final component architecture. the clusters have already been partitioned into a fixed set of groupSTRING
HIGHagents/prompts/gemini_flash_prompts.py0name and describe the final component architecture. the clusters have already been partitioned into a fixed set of groupSTRING
HIGHagents/prompts/gpt_prompts.py0name and describe the final component architecture. the clusters have already been partitioned into a fixed set of groupSTRING
HIGHagents/prompts/claude_prompts.py0name and describe the final component architecture. the clusters have already been partitioned into a fixed set of groupSTRING
HIGHagents/prompts/glm_prompts.py0name and describe the final component architecture. the clusters have already been partitioned into a fixed set of groupSTRING
HIGHagents/prompts/deepseek_prompts.py0name and describe the final component architecture. the clusters have already been partitioned into a fixed set of groupSTRING
HIGHagents/prompts/gemini_flash_prompts.py0mandatory: you must correct the output below. do not regenerate from scratch — preserve all correct parts and only fix tSTRING
HIGHagents/prompts/gpt_prompts.py0mandatory: you must correct the output below. do not regenerate from scratch — preserve all correct parts and only fix tSTRING
HIGHagents/prompts/claude_prompts.py0mandatory: you must correct the output below. do not regenerate from scratch — preserve all correct parts and only fix tSTRING
HIGHagents/prompts/glm_prompts.py0mandatory: you must correct the output below. do not regenerate from scratch — preserve all correct parts and only fix tSTRING
HIGHagents/prompts/gemini_flash_prompts.py0you are a software architecture expert analyzing a subsystem of `{project_name}`. project context: {meta_context} instruSTRING
HIGHagents/prompts/gpt_prompts.py0you are a software architecture expert analyzing a subsystem of `{project_name}`. project context: {meta_context} instruSTRING
HIGHagents/prompts/claude_prompts.py0you are a software architecture expert analyzing a subsystem of `{project_name}`. project context: {meta_context} instruSTRING
HIGHagents/prompts/gemini_flash_prompts.py0create final sub-component architecture for the `{component}` subsystem optimized for flow representation. the clusters STRING
HIGHagents/prompts/gpt_prompts.py0create final sub-component architecture for the `{component}` subsystem optimized for flow representation. the clusters STRING
HIGHagents/prompts/claude_prompts.py0create final sub-component architecture for the `{component}` subsystem optimized for flow representation. the clusters STRING
HIGHagents/prompts/gemini_flash_prompts.py0analyze the component api surfaces. components: {component_summaries} known static call evidence between components (incSTRING
HIGHagents/prompts/glm_prompts.py0analyze the component api surfaces. components: {component_summaries} known static call evidence between components (incSTRING
HIGHagents/prompts/gpt_prompts.py0analyze the component api surfaces. components: {component_summaries} known static call evidence between components (incSTRING
HIGHagents/prompts/claude_prompts.py0analyze the component api surfaces. components: {component_summaries} known static call evidence between components (incSTRING
HIGHagents/prompts/gemini_flash_prompts.py0discover architectural communication relations between the components. components: {component_summaries} component api sSTRING
HIGHagents/prompts/glm_prompts.py0discover architectural communication relations between the components. components: {component_summaries} component api sSTRING
HIGHagents/prompts/gpt_prompts.py0discover architectural communication relations between the components. components: {component_summaries} component api sSTRING
HIGHagents/prompts/claude_prompts.py0discover architectural communication relations between the components. components: {component_summaries} component api sSTRING
Modern Structural Boilerplate120 hits · 120 pts
SeverityFileLineSnippetContext
LOWhealth_main.py26logger = logging.getLogger(__name__)CODE
LOWutils.py13logger = logging.getLogger(__name__)CODE
LOWgithub_action.py13logger = logging.getLogger(__name__)CODE
LOWdiagram_analysis/__init__.py3__all__ = ["DiagramGenerator", "RunContext", "RunPaths", "DEFAULT_DEPTH_LEVEL", "configure_models"]CODE
LOWdiagram_analysis/diagram_generator.py93logger = logging.getLogger(__name__)CODE
LOWdiagram_analysis/scope_plan.py25logger = logging.getLogger(__name__)CODE
LOWdiagram_analysis/tree_shape.py9logger = logging.getLogger(__name__)CODE
LOWdiagram_analysis/file_coverage.py20logger = logging.getLogger(__name__)CODE
LOWdiagram_analysis/io_utils.py36logger = logging.getLogger(__name__)CODE
LOWdiagram_analysis/analysis_json.py20logger = logging.getLogger(__name__)CODE
LOWoutput_generators/rendering.py19logger = logging.getLogger(__name__)CODE
LOWoutput_generators/html.py10logger = logging.getLogger(__name__)CODE
LOWoutput_generators/__init__.py5__all__ = ["FORMAT_EXTENSIONS", "SUPPORTED_FORMATS", "render"]CODE
LOWcore/plugin_loader.py12logger = logging.getLogger(__name__)CODE
LOWcore/registry.py5logger = logging.getLogger(__name__)CODE
LOWcore/__init__.py27logger = logging.getLogger(__name__)CODE
LOWcore/__init__.py92__all__ = [CODE
LOWhealth/runner.py26logger = logging.getLogger(__name__)CODE
LOWhealth/config.py14logger = logging.getLogger(__name__)CODE
LOWhealth/models.py7logger = logging.getLogger(__name__)CODE
LOWhealth/__init__.py3__all__ = ["run_health_checks"]CODE
LOWhealth/checks/function_size.py14logger = logging.getLogger(__name__)CODE
LOWhealth/checks/circular_deps.py7logger = logging.getLogger(__name__)CODE
LOWhealth/checks/__init__.py8__all__ = [CODE
LOWhealth/checks/unused_code_diagnostics.py25logger = logging.getLogger(__name__)CODE
LOWtests/static_analyzer/scripts/diagnose_relations.py30logger = logging.getLogger(__name__)CODE
LOWagents/repair.py13logger = logging.getLogger(__name__)CODE
LOWagents/details_agent.py49logger = logging.getLogger(__name__)CODE
LOWagents/meta_agent.py15logger = logging.getLogger(__name__)CODE
LOWagents/dependency_discovery.py9logger = logging.getLogger(__name__)CODE
LOWagents/model_capabilities.py14logger = logging.getLogger(__name__)CODE
LOWagents/planner_agent.py7logger = logging.getLogger(__name__)CODE
LOWagents/scope_ids.py3__all__ = ["ROOT_SCOPE_ID"]CODE
LOWagents/retry.py36logger = logging.getLogger(__name__)CODE
LOWagents/incremental_agent.py52logger = logging.getLogger(__name__)CODE
LOWagents/agent.py31logger = logging.getLogger(__name__)CODE
LOWagents/abstraction_agent.py49logger = logging.getLogger(__name__)CODE
LOWagents/llm_config.py24logger = logging.getLogger(__name__)CODE
LOWagents/agent_responses.py17logger = logging.getLogger(__name__)CODE
LOWagents/static_analysis_enricher_mixin.py25logger = logging.getLogger(__name__)CODE
LOWagents/validation.py22logger = logging.getLogger(__name__)CODE
LOWagents/tools/get_external_deps.py8logger = logging.getLogger(__name__)CODE
LOWagents/tools/read_source.py9logger = logging.getLogger(__name__)CODE
LOWagents/tools/toolkit.py18logger = logging.getLogger(__name__)CODE
LOWagents/tools/read_packages.py6logger = logging.getLogger(__name__)CODE
LOWagents/tools/read_docs.py7logger = logging.getLogger(__name__)CODE
LOWagents/tools/list_git_changes.py7logger = logging.getLogger(__name__)CODE
LOWagents/tools/get_method_invocations.py7logger = logging.getLogger(__name__)CODE
LOWagents/tools/read_file_structure.py9logger = logging.getLogger(__name__)CODE
LOWagents/tools/read_cfg.py6logger = logging.getLogger(__name__)CODE
LOWagents/tools/read_file.py7logger = logging.getLogger(__name__)CODE
LOWagents/tools/component_bridge_edges.py8logger = logging.getLogger(__name__)CODE
LOWagents/tools/read_structure.py7logger = logging.getLogger(__name__)CODE
LOWagents/prompts/__init__.py53__all__ = [CODE
LOWagents/prompts/prompt_factory.py20logger = logging.getLogger(__name__)CODE
LOWagents/llm_renderers/__init__.py16__all__ = [CODE
LOWagents/llm_renderers/call_graph.py13logger = logging.getLogger(__name__)CODE
LOWrepo_utils/git_ops.py24logger = logging.getLogger(__name__)CODE
LOWrepo_utils/__init__.py15logger = logging.getLogger(__name__)CODE
LOWrepo_utils/fingerprint_diff.py16logger = logging.getLogger(__name__)CODE
60 more matches not shown…
Excessive Try-Catch Wrapping102 hits · 112 pts
SeverityFileLineSnippetContext
LOWinstall.py94 except Exception as e:CODE
MEDIUMinstall.py255 print("Error: npm is required. Install Node.js from https://nodejs.org/en/download and retry.")CODE
LOWinstall.py424 except Exception as e:CODE
LOWinstall.py570 except Exception:CODE
LOWdiagram_analysis/diagram_generator.py896 except Exception as e:CODE
LOWdiagram_analysis/diagram_generator.py1200 except Exception:CODE
LOWdiagram_analysis/diagram_generator.py1374 except Exception:CODE
LOWdiagram_analysis/io_utils.py80 except Exception as e:CODE
LOWdiagram_analysis/io_utils.py305 except Exception:CODE
LOWcore/plugin_loader.py38 except Exception:CODE
LOWcore/__init__.py72 except Exception:CODE
LOWcore/__init__.py87 except Exception:CODE
LOWhealth/config.py51 except Exception as e:CODE
LOWhealth/config.py89 except Exception as e:CODE
LOWhealth/config.py139 except Exception as e:CODE
LOWtests/agents/test_agent.py577 except Exception:CODE
LOWtests/agents/test_agent.py607 except Exception:CODE
MEDIUMtests/static_analyzer/scripts/diagnose_relations.py211 print(f"Error: {repo_path} does not exist")CODE
LOWagents/model_capabilities.py107 except Exception as e:CODE
LOWagents/model_capabilities.py201 except Exception as e:CODE
LOWagents/retry.py88 except Exception as exc:CODE
LOWagents/agent.py211 except Exception as e:CODE
LOWagents/agent.py416 except Exception as e:CODE
MEDIUMagents/agent.py204def invoke_target():CODE
MEDIUMagents/agent.py411def call_once():CODE
LOWagents/tools/read_docs.py91 except Exception as e:CODE
LOWrepo_utils/ignore.py267 except Exception as e:CODE
LOWrepo_utils/ignore.py333 except Exception as e:CODE
LOWrepo_utils/ignore.py350 except Exception as e:CODE
LOWstatic_analyzer/analysis_cache.py226 except Exception as e:CODE
LOWstatic_analyzer/analysis_cache.py257 except Exception as e:CODE
LOWstatic_analyzer/analysis_cache.py272 except Exception as e:CODE
LOWstatic_analyzer/analysis_cache.py346 except Exception:CODE
MEDIUMstatic_analyzer/analysis_cache.py138def _read_tag_sha_unlocked(self) -> str | None:CODE
LOWstatic_analyzer/__init__.py309 except Exception as exc:CODE
LOWstatic_analyzer/__init__.py336 except Exception:CODE
LOWstatic_analyzer/__init__.py382 except Exception as exc:CODE
LOWstatic_analyzer/__init__.py424 except Exception:CODE
LOWstatic_analyzer/__init__.py427 except Exception:CODE
LOWstatic_analyzer/__init__.py439 except Exception as e:CODE
LOWstatic_analyzer/__init__.py556 except Exception:CODE
LOWstatic_analyzer/__init__.py621 except Exception:CODE
LOWstatic_analyzer/__init__.py717 except Exception as exc:CODE
LOWstatic_analyzer/__init__.py741 except Exception as e:CODE
LOWstatic_analyzer/__init__.py758 except Exception:CODE
LOWstatic_analyzer/__init__.py877 except Exception as e:CODE
LOWstatic_analyzer/reference_resolver.py176 except Exception as error:CODE
LOWstatic_analyzer/java_config_scanner.py196 except Exception as e:CODE
LOWstatic_analyzer/incremental_orchestrator.py179 except Exception as exc:CODE
LOWstatic_analyzer/incremental_orchestrator.py238 except Exception:CODE
LOWstatic_analyzer/incremental_orchestrator.py253 except Exception:CODE
LOWstatic_analyzer/incremental_orchestrator.py390 except Exception:CODE
LOWstatic_analyzer/incremental_orchestrator.py462 except Exception:CODE
LOWstatic_analyzer/clustering/grouping.py160 except Exception as e: # noqa: BLE001 - a bad resolution shouldn't abort the sweepCODE
LOWstatic_analyzer/clustering/engine.py158 except Exception:CODE
LOWstatic_analyzer/clustering/delta.py280 except Exception as e:CODE
LOWstatic_analyzer/engine/edge_builder.py137 except Exception as e:CODE
LOWstatic_analyzer/engine/edge_builder.py371 except Exception as e:CODE
LOWstatic_analyzer/engine/edge_builder.py468 except Exception as e:CODE
LOWstatic_analyzer/engine/edge_builder.py591 except Exception as e:CODE
42 more matches not shown…
Deep Nesting94 hits · 86 pts
SeverityFileLineSnippetContext
LOWvscode_constants.py15CODE
LOWlogging_config.py123CODE
LOWinstall.py364CODE
LOWinstall.py458CODE
LOWinstall.py575CODE
LOWdiagram_analysis/file_index.py112CODE
LOWdiagram_analysis/diagram_generator.py296CODE
LOWdiagram_analysis/diagram_generator.py420CODE
LOWdiagram_analysis/diagram_generator.py1121CODE
LOWdiagram_analysis/io_utils.py125CODE
LOWdiagram_analysis/analysis_json.py267CODE
LOWdiagram_analysis/analysis_json.py403CODE
LOWoutput_generators/sphinx.py47CODE
LOWoutput_generators/mdx.py51CODE
LOWoutput_generators/html.py64CODE
LOWoutput_generators/markdown.py44CODE
LOWhealth/runner.py122CODE
LOWhealth/runner.py151CODE
LOWhealth/config.py69CODE
LOWtests/test_windows_encoding.py7CODE
LOWtests/test_registry_coverage.py123CODE
LOWtests/test_registry_coverage.py171CODE
LOWtests/test_tool_registry.py961CODE
LOWtests/test_tool_registry.py1059CODE
LOWtests/test_main.py227CODE
LOWtests/health/test_runner.py184CODE
LOWtests/agents/test_llm_config.py653CODE
LOWtests/static_analyzer/test_java_utils.py189CODE
LOWtests/static_analyzer/test_java_utils.py310CODE
LOWtests/static_analyzer/test_java_utils.py325CODE
LOWtests/static_analyzer/test_clustering_engine.py10CODE
LOWtests/static_analyzer/scripts/diagnose_relations.py100CODE
LOWagents/incremental_agent.py670CODE
LOWagents/incremental_agent.py97CODE
LOWagents/incremental_agent.py375CODE
LOWagents/relation_edges.py35CODE
LOWagents/agent_responses.py37CODE
LOWagents/agent_responses.py71CODE
LOWagents/tools/read_docs.py51CODE
LOWagents/tools/read_file_structure.py104CODE
LOWagents/tools/read_file_structure.py39CODE
LOWagents/tools/base.py50CODE
LOWagents/llm_renderers/call_graph.py73CODE
LOWrepo_utils/change_detector.py97CODE
LOWrepo_utils/change_detector.py180CODE
LOWstatic_analyzer/typescript_config_scanner.py135CODE
LOWstatic_analyzer/__init__.py124CODE
LOWstatic_analyzer/__init__.py569CODE
LOWstatic_analyzer/__init__.py690CODE
LOWstatic_analyzer/__init__.py707CODE
LOWstatic_analyzer/language_results.py79CODE
LOWstatic_analyzer/reference_resolver.py281CODE
LOWstatic_analyzer/reference_resolver.py401CODE
LOWstatic_analyzer/java_config_scanner.py39CODE
LOWstatic_analyzer/java_config_scanner.py132CODE
LOWstatic_analyzer/incremental_orchestrator.py203CODE
LOWstatic_analyzer/incremental_orchestrator.py347CODE
LOWstatic_analyzer/incremental_orchestrator.py439CODE
LOWstatic_analyzer/java_utils.py37CODE
LOWstatic_analyzer/clustering/service.py449CODE
34 more matches not shown…
Self-Referential Comments14 hits · 48 pts
SeverityFileLineSnippetContext
MEDIUMdiagram_analysis/analysis_json.py605 # Create the component for this level (non-nested)COMMENT
MEDIUMoutput_generators/sphinx.py34 # Create a link to the component's details fileCOMMENT
MEDIUMoutput_generators/markdown.py31 # Create a link to the component's details fileCOMMENT
MEDIUMhealth/config.py26# This file is automatically loaded by health checks to exclude specifiedCOMMENT
MEDIUMhealth/checks/unused_code_diagnostics.py294 # Create a descriptive entity name from the messageCOMMENT
MEDIUMtests/test_vscode_constants.py65 # Create a test directory structureCOMMENT
MEDIUMtests/test_vscode_constants.py69 # Create the file we're looking forCOMMENT
MEDIUMtests/test_vscode_constants.py88 # Create a file in wrong directoryCOMMENT
MEDIUMtests/test_logging_config.py211 # Create a stream that uses cp1251 encoding with strict error handling,COMMENT
MEDIUMtests/diagram_analysis/test_diagram_analysis.py853 # Create a simple test fileCOMMENT
MEDIUMtests/agents/test_llm_config.py679 # Create an agentCOMMENT
MEDIUMtests/agents/tools/test_cfg_tools.py66 # Create a component with some files from the static analysisCOMMENT
MEDIUMtests/agents/tools/test_external_deps.py14 # Create a temporary directory for testingCOMMENT
MEDIUMrepo_utils/ignore.py22# This file is automatically loaded by CodeBoarding analysis tools to excludeCOMMENT
Cross-Language Confusion5 hits · 22 pts
SeverityFileLineSnippetContext
HIGHtests/static_analyzer/test_engine_configs.py71 "src/b.tsx": "export const B = () => null;\n",CODE
HIGHtests/static_analyzer/test_edge_builder.py178 target_file.write_text("class T { public static string Target() { return null; } }\n")CODE
HIGH…tatic_analyzer/scripts/csharp_mixed_framework_repro.py13 cd /tmp/repro && dotnet restore Synthetic.slnxSTRING
HIGHrepo_utils/__init__.py177 origin.push()CODE
HIGHtelemetry/device_id.py20 """Mirror ``cat /var/lib/dbus/machine-id || cat /etc/machine-id``."""STRING
Structural Annotation Overuse10 hits · 20 pts
SeverityFileLineSnippetContext
LOWtests/static_analyzer/test_global_relations.py566 # Step 1: Expand CoreCOMMENT
LOWtests/static_analyzer/test_global_relations.py573 # Step 2: Also expand MessagingCOMMENT
LOWtests/static_analyzer/test_global_relations.py589 # Step 1: Core at depth 2 onlyCOMMENT
LOWtests/static_analyzer/test_global_relations.py596 # Step 2: Expand Users (2.1) to depth 3 -> Auth (2.1.1), Profiles (2.1.2)COMMENT
LOWrepo_utils/ignore.py17# NOTE: The following are ALWAYS excluded (not configurable):COMMENT
LOWstatic_analyzer/analysis_result.py96 # Step 1: collect type-param names from the trailing declarationCOMMENT
LOWstatic_analyzer/analysis_result.py114 # Step 2: replace type param names inside (…) with "object"COMMENT
LOWstatic_analyzer/analysis_result.py127 # Step 3: strip <…> groups until stableCOMMENT
LOWstatic_analyzer/analysis_result.py133 # Step 4: remove residual whitespaceCOMMENT
LOWmonitoring/callbacks.py61 # IMPORTANT: Do not change this log line format. Any change must be approved by IVAN.COMMENT
Verbosity Indicators8 hits · 16 pts
SeverityFileLineSnippetContext
LOWtests/static_analyzer/test_global_relations.py566 # Step 1: Expand CoreCOMMENT
LOWtests/static_analyzer/test_global_relations.py573 # Step 2: Also expand MessagingCOMMENT
LOWtests/static_analyzer/test_global_relations.py589 # Step 1: Core at depth 2 onlyCOMMENT
LOWtests/static_analyzer/test_global_relations.py596 # Step 2: Expand Users (2.1) to depth 3 -> Auth (2.1.1), Profiles (2.1.2)COMMENT
LOWstatic_analyzer/analysis_result.py96 # Step 1: collect type-param names from the trailing declarationCOMMENT
LOWstatic_analyzer/analysis_result.py114 # Step 2: replace type param names inside (…) with "object"COMMENT
LOWstatic_analyzer/analysis_result.py127 # Step 3: strip <…> groups until stableCOMMENT
LOWstatic_analyzer/analysis_result.py133 # Step 4: remove residual whitespaceCOMMENT
Redundant / Tautological Comments8 hits · 12 pts
SeverityFileLineSnippetContext
LOWinstall.py544 # Check if pre-commit is installed (only available with dev dependencies)COMMENT
LOWoutput_generators/html.py118 # Check if there's a linked file for this componentCOMMENT
LOWhealth/checks/unused_code_diagnostics.py221 # Check if code contains any known patternsCOMMENT
LOWtests/agents/tools/test_read_source_tool.py24 # Check if we have any references to work withCOMMENT
LOWagents/tools/read_file_structure.py129 # Check if we've exceeded the maximum number of linesCOMMENT
LOWagents/tools/read_file.py63 # Read the file contentCOMMENT
LOWstatic_analyzer/java_config_scanner.py63 # Check if a Maven project already exists at the same rootCOMMENT
LOWstatic_analyzer/engine/symbol_table.py350 # Check if any co-located symbol (alias at same position) has a parentCOMMENT
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALtests/agents/test_static_analysis_enricher_mixin.py209 "src.components.DiffViewer.DiffViewer.existingByLine.groupByLine() callback",CODE
Over-Commented Block8 hits · 8 pts
SeverityFileLineSnippetContext
LOWREADME.md121## ConfigurationCOMMENT
LOWuser_config.py61# Location: ~/.codeboarding/config.tomlCOMMENT
LOWdiagram_analysis/diagram_generator.py541 # unscoped (no drift filtering).COMMENT
LOWrepo_utils/ignore.py21#COMMENT
LOWstatic_analyzer/analysis_cache.py41COMMENT
LOWstatic_analyzer/engine/lsp_client.py181 ],COMMENT
LOW.github/workflows/integration-tests.yml81 # access: a same-repo PR runs this workflow's PR-modified copy *with*COMMENT
LOWcodeboarding_cli/bootstrap.py41 # repairs a deleted ~/.codeboarding/servers/nodeenv/ independently of theCOMMENT
AI Slop Vocabulary4 hits · 8 pts
SeverityFileLineSnippetContext
LOWtests/static_analyzer/test_java_utils.py159 # Simple approach: just return True for the paths we want to existCOMMENT
MEDIUMagents/prompts/gpt_prompts.py19SYSTEM_MESSAGE = """You are an expert software architect. Your task is to create comprehensive documentation and interacCODE
MEDIUMagents/prompts/claude_prompts.py49SYSTEM_MESSAGE = """You are a software architecture expert analyzing {project_name} with comprehensive diagram generatioCODE
MEDIUMagents/prompts/claude_prompts.py133META_INFORMATION_PROMPT = """Analyze project '{project_name}' to extract architectural metadata for comprehensive analysCODE
Modern AI Meta-Vocabulary2 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMtests/static_analyzer/test_global_relations.py402 # Root LLM "1"->"2" label "orchestrates" -> inherited two levels down byCOMMENT
MEDIUMagents/validation.py133 # Check 3: Components referencing non-existent group names (typos/hallucinations)COMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHstatic_analyzer/java_utils.py187 Create command to launch JDTLS. Args: jdtls_root: Root directory of JDTLS installation workspaSTRING
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/static_analyzer/test_reference_resolver.py21 (self.repo_dir / "module" / "file.py").write_text("def test_function():\n pass\n")CODE
LOWtests/static_analyzer/test_edge_builder.py466 src.write_text("def main():\n helper()\n\ndef helper():\n pass\n")CODE
Fake / Example Data1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtests/static_analyzer/test_analysis_cache.py364 (self.src_dir / STATIC_ANALYSIS_PKL).write_bytes(b"placeholder")CODE
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWagents/details_agent.py184CODE