CodeClone Report for codeclone

Generated at 2026-05-13T09:27:34Z
Current health snapshot
Health 90/100 (A); 0 clone groups; 0 dead-code items (1 suppressed); 0 dependency cycles.
90
Grade A
Clone Groups?
0
0func0block0seg
High Complexity?
0
2.79avg20max
High Coupling?
0
0.53avg8max
Low Cohesion?
0
1.14avg3max
Dep. Cycles?
0
16depth
Dead Code?
0
0high-conf
Findings?
0
0kinds
Suggestions?
0
0clone0struct0metric

Executive Summary

287 files · 97,614 lines · 1,555 callables · 217 classes. Thresholds: func 6/4 · block 20/8 · seg 20/10

Issue breakdown
No issues detected
Source breakdown
No source data available

Adoption & API

Type/docstring adoption and public API surface are shown as facts, not style pressure.

Adoption coverage
Param annotations100.0% 0.0pt
Return annotations99.9% 0.0pt
Docstrings3.9% 0.0pt
Typed as Any10
Public API surface
Public symbols2,232
Modules217

Overloaded Modules

11 candidates across 287 ranked modules — disproportionate size, complexity, or coupling.

Top candidates
tests/test_report_contract_coverage.pyTests
0.99
3,089 LOC·fan-in/out 0/16·complexity 35
tests/test_report.pyTests
0.98
3,171 LOC·fan-in/out 0/20·complexity 74
tests/test_cli_inprocess.pyTests
0.98
4,373 LOC·fan-in/out 0/19·complexity 155
More candidates
tests/test_html_report.pyTests
0.97
3,865 LOC·fan-in/out 0/15·complexity 74
tests/test_cli_unit.pyTests
0.96
2,476 LOC·fan-in/out 0/24·complexity 62

Health Profile

Dimension scores across all quality axes.

Health profile
Clones100Complexity69Coupling80Cohesion97Dead Code100Deps88Coverage100
Higher values indicate better code health. Red labels highlight dimensions below 60.
Where is duplication concentrated right now?
0 groups and 0 instances. 8 suppressed golden-fixture groups are excluded from active review.
Clone groups ?
0
0functions0blocks0segments
Instances ?
0
0avg/group
High spread ?
0
Kind ?GroupFile ?TypeOccurrencesRulePattern
Functiontransform_alphaType-24golden_fixture@project_configtests/fixtures/golden_*
Blocktransform_alphaType-44golden_fixture@project_configtests/fixtures/golden_*
Blocktransform_alphaType-44golden_fixture@project_configtests/fixtures/golden_*
Blocktransform_alphaType-44golden_fixture@project_configtests/fixtures/golden_*
Blocktransform_alphaType-44golden_fixture@project_configtests/fixtures/golden_*
Blocktransform_alphaType-44golden_fixture@project_configtests/fixtures/golden_*
Blocktransform_alphaType-44golden_fixture@project_configtests/fixtures/golden_*
Blocktransform_alphaType-44golden_fixture@project_configtests/fixtures/golden_*
Are there quality hotspots in the codebase?
High-complexity: 0; high-coupling: 0; low-cohesion: 0; overloaded modules: 11; security surfaces: 59; max CC 20; max CBO 8; max LCOM4 3.
High-risk functions ?
0
1555total
Max CC ?
20
< 10target
Avg CC ?
2.8
1555functions
Deep nesting ?
7
> 4threshold
Function ?File ?CC ?Nesting ?Risk ?
write_report_outputscodeclone/surfaces/cli/reports_output.py203medium
run_analysis_stagescodeclone/surfaces/cli/execution.py203medium
_collect_paths_from_metricscodeclone/report/document/_common.py203medium
decode_segment_report_projectioncodeclone/cache/projection.py203medium
compute_lcom4codeclone/metrics/cohesion.py194medium
resolve_clone_baseline_statecodeclone/surfaces/cli/baseline_state.py185medium
build_overloaded_modules_payloadcodeclone/metrics/overloaded_modules.py173medium
enforce_gatingcodeclone/surfaces/cli/execution.py172medium
Cache._load_and_validatecodeclone/cache/store.py172medium
render_markdown_report_documentcodeclone/report/renderers/markdown.py164medium
render_meta_panelcodeclone/report/html/sections/_meta.py164medium
Baseline.savecodeclone/baseline/clone_baseline.py164medium
_FunctionStructureScanner._visit_statementcodeclone/findings/structural/detectors.py163medium
_collect_report_file_listcodeclone/report/document/_common.py154medium
_parse_api_surface_snapshotcodeclone/baseline/_metrics_baseline_validation.py154medium
_load_metrics_baseline_for_diffcodeclone/surfaces/cli/baseline_state.py153medium
extract_units_and_stats_from_sourcecodeclone/analysis/units.py153medium
CFGBuilder._visit_trycodeclone/analysis/cfg.py152medium
_render_group_explanationcodeclone/report/html/sections/_clones.py142medium
_signature_break_detailcodeclone/metrics/api_surface.py142medium
_derive_group_display_namecodeclone/report/html/sections/_clones.py134medium
_safe_refactor_shapecodeclone/surfaces/mcp/_session_helpers.py131medium
_has_cache_entry_container_shapecodeclone/cache/_canonicalize.py131medium
serialize_finding_group_cardcodeclone/report/overview.py1210medium
processcodeclone/core/parallelism.py127medium
discovercodeclone/core/discovery.py124medium
render_quality_panelcodeclone/report/html/sections/_coupling.py123medium
_load_toml_payloadcodeclone/core/entrypoints.py123medium
_parse_limitscodeclone/analysis/parser.py123medium
_MCPSessionStateMixin._render_resourcecodeclone/surfaces/mcp/_session_state_mixin.py122medium
_location_entrycodeclone/report/renderers/sarif.py122medium
parse_metric_reason_entrycodeclone/report/gates/reasons.py122medium
enrich_with_assert_factscodeclone/report/explain.py122medium
reportcodeclone/core/reporting.py122medium
_public_symbol_from_cache_dictcodeclone/core/discovery_cache.py122medium
Baseline.loadcodeclone/baseline/clone_baseline.py122medium
load_pyproject_configcodeclone/config/pyproject_loader.py121medium
_resolve_referenced_qualnamescodeclone/analysis/_module_walk.py115medium
_build_layer_groupscodeclone/report/html/sections/_dependencies.py113medium
_coerce_segment_report_projectioncodeclone/core/_types.py113medium
_canonicalize_cache_entrycodeclone/cache/_canonicalize.py113medium
_health_gauge_htmlcodeclone/report/html/sections/_overview.py112medium
build_html_reportcodeclone/report/html/assemble.py112medium
_build_design_groupscodeclone/report/document/_design_groups.py112medium
_resolve_report_filenamecodeclone/metrics/coverage_join.py112medium
load_cached_metrics_extendedcodeclone/core/discovery_cache.py112medium
Cache.get_file_entrycodeclone/cache/store.py112medium
_decode_wire_file_entrycodeclone/cache/_wire_decode.py112medium
MetricsBaseline.loadcodeclone/baseline/metrics_baseline.py112medium
mainbenchmarks/run_benchmark.py112medium
High-coupling classes ?
0
217total
Max CBO ?
8
< 8target
Avg CBO ?
1.5
75classes
Medium risk ?
0
Class ?File ?CBO ?Risk ?Coupled classes ?
FileMetricscodeclone/models.py8medium
ClassMetricsDeadCandidateModuleApiSurface(+5 more)
ClassMetricsDeadCandidateModuleApiSurfaceModuleDepModuleDo..CoverageModuleTy..CoverageRuntimeR..lityFactSecuritySurface
ProjectMetricscodeclone/models.py7medium
ApiSurfaceSnapshotDeadItemHealthScore(+4 more)
ApiSurfaceSnapshotDeadItemHealthScoreModuleDepModuleDo..CoverageModuleTy..CoverageRuntimeR..lityFact
_FileEntryV27codeclone/cache/entries.py4low
_FileEnt..sisFacts_FileEntryBase_FileEnt..ityFacts(+1 more)
_FileEnt..sisFacts_FileEntryBase_FileEnt..ityFacts_FileEnt..ortFacts
_FileEntryQualityFactscodeclone/cache/entries.py4low
ClassMetricsDictModuleDo..rageDictModuleTy..rageDict(+1 more)
ClassMetricsDictModuleDo..rageDictModuleTy..rageDictSecurity..faceDict
_FileEntryAnalysisFactscodeclone/cache/entries.py4low
DeadCandidateDictModuleDepDictRuntimeR..FactDict(+1 more)
DeadCandidateDictModuleDepDictRuntimeR..FactDictSourceStatsDict
_RuntimeReachabilityVisitorcodeclone/analysis/reachability.py4low
_Provide..stration_RouteRegistration_Target(+1 more)
_Provide..stration_RouteRegistration_Targetast
AstNormalizercodeclone/analysis/normalizer.py3lowNormaliz..onConfigastcopy
CodeCloneMCPRunStorecodeclone/surfaces/mcp/_session_shared.py3lowMCPRunNo..undErrorMCPRunRecordMCPServi..actError
_FunctionStructureScannercodeclone/findings/structural/detectors.py3lowFunction..ureFactsastsys
MCPToolcodeclone/surfaces/mcp/tools/_base.py2lowMCPToolSchemaMCPToolSession
_FixedExecutortests/test_cli_inprocess.py2low_FalseExitContext_FixedFuture
_DummyExecutortests/test_cli_inprocess.py2low_DummyFuture_FalseExitContext
SimpleMCPToolcodeclone/surfaces/mcp/tools/_base.py2lowMCPToolSchemaMCPToolSession
MetricFamilycodeclone/metrics/_base.py2lowMetricAggregateMetricPr..tContext
_ArgumentParsercodeclone/config/argparse_builder.py2lowargparsesys
_FileEntryReportFactscodeclone/cache/entries.py2lowModuleAp..faceDictStructur..roupDict
CFGBuildercodeclone/analysis/cfg.py2low_LoopContextast
_MCPSessionSummaryMixincodeclone/surfaces/mcp/_session_state_mixin.py1low_MCPSess..derMixin
_MCPSessionAnalysisArgsMixincodeclone/surfaces/mcp/_session_state_mixin.py1low_MCPSess..ionMixin
TestAdmissionThresholdBoundariestests/test_extractor.py1lowpytest
_FailingExecutortests/test_cli_inprocess.py1low_FalseExitContext
_MCPSessionStateMixincodeclone/surfaces/mcp/_session_state_mixin.py1low_MCPSess..ortMixin
_MCPSessionRunSummaryBuilderMixincodeclone/surfaces/mcp/_session_state_mixin.py1low_MCPSess..rgsMixin
_MCPSessionFindingMixincodeclone/surfaces/mcp/_session_finding_mixin.py1low_StateLock
_FileCachecodeclone/report/html/widgets/snippets.py1low_CacheInfo
MetricsBaselinecodeclone/baseline/metrics_baseline.py1lowhmac
Baselinecodeclone/baseline/clone_baseline.py1lowhmac
_ImportAliasVisitorcodeclone/analysis/reachability.py1lowast
Blockcodeclone/analysis/cfg_model.py1lowast
_InlineExecutortests/test_golden_v2.py1low_DummyFuture
_DummyProgresstests/test_cli_inprocess.py1low_FalseExitContext
ReportArtifactsscripts/build_docs_example_report.py1lowjson
_QueryServiceMixincodeclone/surfaces/mcp/service.py1low_RunDictService
CodeCloneMCPServicecodeclone/surfaces/mcp/service.py1low_QueryServiceMixin
_MCPSessionReportMixincodeclone/surfaces/mcp/_session_state_mixin.py1low_MCPSess..aryMixin
MCPServiceContractErrorcodeclone/surfaces/mcp/_session_shared.py1lowMCPServiceError
MCPRunRecordcodeclone/surfaces/mcp/_session_shared.py1lowMCPAnalysisRequest
MCPRunNotFoundErrorcodeclone/surfaces/mcp/_session_shared.py1lowMCPServiceError
MCPGitDiffErrorcodeclone/surfaces/mcp/_session_shared.py1lowMCPServiceError
MCPFindingNotFoundErrorcodeclone/surfaces/mcp/_session_shared.py1lowMCPServiceError
StatusConsolecodeclone/surfaces/cli/types.py1lowPrinterLike
_StatementRecordcodeclone/report/explain.py1lowast
QualnameCollectorcodeclone/qualnames/__init__.py1lowast
Suggestioncodeclone/models.py1lowReportLocation
StructuralFindingGroupcodeclone/models.py1lowStructur..currence
PublicSymbolcodeclone/models.py1lowApiParamSpec
ModuleApiSurfacecodeclone/models.py1lowPublicSymbol
MetricsDiffcodeclone/models.py1lowApiBreakingChange
FunctionGroupItemcodeclone/models.py1lowFunction..ItemBase
DepGraphcodeclone/models.py1lowModuleDep
Low-cohesion classes ?
0
217total
Max LCOM4 ?
3
= 1target
High risk ?
0
Medium risk ?
0
Class ?File ?LCOM4 ?Risk ?Methods ?Fields ?
FileMetricscodeclone/models.py1low00
ProjectMetricscodeclone/models.py1low00
_FileEntryV27codeclone/cache/entries.py1low00
_FileEntryQualityFactscodeclone/cache/entries.py1low00
_FileEntryAnalysisFactscodeclone/cache/entries.py1low00
_RuntimeReachabilityVisitorcodeclone/analysis/reachability.py1low2834
AstNormalizercodeclone/analysis/normalizer.py2medium146
CodeCloneMCPRunStorecodeclone/surfaces/mcp/_session_shared.py1low65
_FunctionStructureScannercodeclone/findings/structural/detectors.py1low816
MCPToolcodeclone/surfaces/mcp/tools/_base.py3medium30
_FixedExecutortests/test_cli_inprocess.py2medium31
_DummyExecutortests/test_cli_inprocess.py1low42
SimpleMCPToolcodeclone/surfaces/mcp/tools/_base.py1low11
MetricFamilycodeclone/metrics/_base.py1low00
_ArgumentParsercodeclone/config/argparse_builder.py1low12
_FileEntryReportFactscodeclone/cache/entries.py1low00
CFGBuildercodeclone/analysis/cfg.py1low1920
_MCPSessionSummaryMixincodeclone/surfaces/mcp/_session_state_mixin.py3medium66
_MCPSessionAnalysisArgsMixincodeclone/surfaces/mcp/_session_state_mixin.py3medium42
TestAdmissionThresholdBoundariestests/test_extractor.py2medium52
_FailingExecutortests/test_cli_inprocess.py2medium21
_MCPSessionStateMixincodeclone/surfaces/mcp/_session_state_mixin.py2medium1020
_MCPSessionRunSummaryBuilderMixincodeclone/surfaces/mcp/_session_state_mixin.py2medium20
_MCPSessionFindingMixincodeclone/surfaces/mcp/_session_finding_mixin.py2medium4939
_FileCachecodeclone/report/html/widgets/snippets.py2medium44
MetricsBaselinecodeclone/baseline/metrics_baseline.py2medium713
Baselinecodeclone/baseline/clone_baseline.py2medium711
_ImportAliasVisitorcodeclone/analysis/reachability.py2medium42
Blockcodeclone/analysis/cfg_model.py2medium32
_InlineExecutortests/test_golden_v2.py1low10
_DummyProgresstests/test_cli_inprocess.py1low52
ReportArtifactsscripts/build_docs_example_report.py1low00
_QueryServiceMixincodeclone/surfaces/mcp/service.py1low161
CodeCloneMCPServicecodeclone/surfaces/mcp/service.py1low82
_MCPSessionReportMixincodeclone/surfaces/mcp/_session_state_mixin.py1low24
MCPServiceContractErrorcodeclone/surfaces/mcp/_session_shared.py1low00
MCPRunRecordcodeclone/surfaces/mcp/_session_shared.py1low00
MCPRunNotFoundErrorcodeclone/surfaces/mcp/_session_shared.py1low00
MCPGitDiffErrorcodeclone/surfaces/mcp/_session_shared.py1low00
MCPFindingNotFoundErrorcodeclone/surfaces/mcp/_session_shared.py1low00
StatusConsolecodeclone/surfaces/cli/types.py1low10
_StatementRecordcodeclone/report/explain.py1low00
QualnameCollectorcodeclone/qualnames/__init__.py1low59
Suggestioncodeclone/models.py1low00
StructuralFindingGroupcodeclone/models.py1low00
PublicSymbolcodeclone/models.py1low00
ModuleApiSurfacecodeclone/models.py1low00
MetricsDiffcodeclone/models.py1low00
FunctionGroupItemcodeclone/models.py1low00
DepGraphcodeclone/models.py1low00
Overloaded ?
11
287total analyzed
Critical ?
0
Max score ?
0
Avg LOC ?
340
287modules
ModuleFile ?ScoreStatusLOCFan-in/outComplexity total
tests.test_report_contract_coveragetests/test_report_contract_coverage.py0.9917candidate30890/1635
tests.test_reporttests/test_report.py0.982candidate31710/2074
tests.test_cli_inprocesstests/test_cli_inprocess.py0.9757candidate43730/19155
tests.test_html_reporttests/test_html_report.py0.9699candidate38650/1574
tests.test_cli_unittests/test_cli_unit.py0.9612candidate24760/2462
codeclone.surfaces.mcp._session_sharedcodeclone/surfaces/mcp/_session_shared.py0.95candidate12025/2230
tests.test_core_branch_coveragetests/test_core_branch_coverage.py0.9483candidate14190/2017
tests.test_cachetests/test_cache.py0.9477candidate22820/1259
codeclone.report.document._commoncodeclone/report/document/_common.py0.9474candidate4147/766
tests.test_mcp_servicetests/test_mcp_service.py0.9461candidate42300/1561
tests.test_pipeline_metricstests/test_pipeline_metrics.py0.9399candidate16650/1221
codeclone.report.renderers.sarifcodeclone/report/renderers/sarif.py0.9376non_candidate10134/786
codeclone.cache._wire_decodecodeclone/cache/_wire_decode.py0.936non_candidate8293/5134
codeclone.report.overviewcodeclone/report/overview.py0.9346non_candidate7654/687
codeclone.cache.storecodeclone/cache/store.py0.9218non_candidate69114/1147
codeclone.surfaces.cli.workflowcodeclone/surfaces/cli/workflow.py0.9171non_candidate5474/182
tests.test_metrics_modulestests/test_metrics_modules.py0.9044non_candidate7010/1112
codeclone.baseline._metrics_baseline_validationcodeclone/baseline/_metrics_baseline_validation.py0.904non_candidate6482/871
codeclone.metrics.registrycodeclone/metrics/registry.py0.904non_candidate7834/86
codeclone.report.document.metricscodeclone/report/document/metrics.py0.9019non_candidate7811/87
codeclone.report.gates.evaluatorcodeclone/report/gates/evaluator.py0.901non_candidate6816/412
tests.test_html_report_helperstests/test_html_report_helpers.py0.8992non_candidate6630/1713
codeclone.baseline.metrics_baselinecodeclone/baseline/metrics_baseline.py0.8971non_candidate4978/941
tests.test_metrics_baselinetests/test_metrics_baseline.py0.8909non_candidate12650/737
tests.test_pipeline_processtests/test_pipeline_process.py0.8888non_candidate5870/1013
codeclone.surfaces.cli.baseline_statecodeclone/surfaces/cli/baseline_state.py0.8864non_candidate4994/952
codeclone.surfaces.cli.executioncodeclone/surfaces/cli/execution.py0.886non_candidate3510/1139
codeclone.report.document._findings_groupscodeclone/report/document/_findings_groups.py0.8836non_candidate6063/914
tests.test_baselinetests/test_baseline.py0.8835non_candidate12800/562
codeclone.report.derivedcodeclone/report/derived.py0.8744non_candidate2818/421
tests.test_cfgtests/test_cfg.py0.8736non_candidate8310/639
codeclone.report.suggestionscodeclone/report/suggestions.py0.8633non_candidate7856/740
codeclone.report.document._design_groupscodeclone/report/document/_design_groups.py0.8594non_candidate3892/824
codeclone.cache._wire_helperscodeclone/cache/_wire_helpers.py0.8572non_candidate3072/355
codeclone.analysis._module_walkcodeclone/analysis/_module_walk.py0.8568non_candidate7282/556
codeclone.report.html.sections._clonescodeclone/report/html/sections/_clones.py0.8551non_candidate8422/1867
codeclone.findings.structural.detectorscodeclone/findings/structural/detectors.py0.8535non_candidate104711/3121
codeclone.report.document.derivedcodeclone/report/document/derived.py0.85non_candidate4252/818
tests.test_extractortests/test_extractor.py0.8414non_candidate24890/1058
tests.test_mcp_servertests/test_mcp_server.py0.8394non_candidate7610/513
tests.test_structural_findingstests/test_structural_findings.py0.8372non_candidate9630/317
codeclone.surfaces.mcp._session_helperscodeclone/surfaces/mcp/_session_helpers.py0.8341non_candidate9191/990
codeclone.surfaces.mcp.servercodeclone/surfaces/mcp/server.py0.8333non_candidate10284/419
tests.test_coverage_edgestests/test_coverage_edges.py0.8322non_candidate2490/104
codeclone.surfaces.cli.consolecodeclone/surfaces/cli/console.py0.8298non_candidate2035/44
tests.test_normalizetests/test_normalize.py0.8277non_candidate4790/49
codeclone.report.html.sections._metacodeclone/report/html/sections/_meta.py0.8272non_candidate5602/630
codeclone.core.discovery_cachecodeclone/core/discovery_cache.py0.8269non_candidate6804/567
codeclone.cache.entriescodeclone/cache/entries.py0.8258non_candidate66215/22
codeclone.core.reportingcodeclone/core/reporting.py0.8222non_candidate2676/1014
Surfaces
59
onlyreportexactevidence
Categories
4
28modules
Production
29
30tests
Exact items
59
0fixtures
How should I review this inventory?
How to read
Signalboundary inventory
Evidenceexact imports/calls/builtins
Meaninginventory, not vulnerability proof
Review order
Start with15 production callables
Coverage joinunavailable for this run
Then review29 module/class inventory rows

Security-relevant capability inventory

Category ?CapabilityEvidenceSourceLocation ?Review
Process boundarySubprocess importsubprocessProduction.github/actions/codeclone/_action_impl.py:22Module · capability present
Filesystem mutationBuiltin open writeopen[mode=a]Production.github/actions/codeclone/_action_impl.py:152Callable · exact evidence
Process boundarySubprocess runsubprocess.runProduction.github/actions/codeclone/_action_impl.py:205Callable · exact evidence
Filesystem mutationBuiltin open writeopen[mode=a]Production.github/actions/codeclone/_action_impl.py:262Callable · exact evidence
Process boundarySubprocess importsubprocessProductionbenchmarks/run_benchmark.py:15Module · capability present
Process boundarySubprocess runsubprocess.runProductionbenchmarks/run_benchmark.py:181-187Callable · exact evidence
Filesystem mutationShutil rmtreeshutil.rmtreeProductionbenchmarks/run_benchmark.py:266Callable · exact evidence
Filesystem mutationShutil rmtreeshutil.rmtreeProductionbenchmarks/run_benchmark.py:547Callable · exact evidence
Dynamic loadingImportlib importimportlib.metadata.PackageNotFoundErrorProductioncodeclone/__init__.py:7Module · capability present
Dynamic loadingImportlib importimportlib.metadata.versionProductioncodeclone/__init__.py:7Module · capability present
Crypto transportHmac importhmacProductioncodeclone/baseline/clone_baseline.py:9Module · capability present
Crypto transportHmac importhmacProductioncodeclone/baseline/metrics_baseline.py:9Module · capability present
Crypto transportHmac importhmacProductioncodeclone/cache/integrity.py:10Module · capability present
Dynamic loadingImportlib importimportlibProductioncodeclone/config/pyproject_loader.py:3Module · capability present
Dynamic loadingImport moduleimportlib.import_moduleProductioncodeclone/config/pyproject_loader.py:194Callable · exact evidence
Dynamic loadingImportlib importimportlibProductioncodeclone/core/entrypoints.py:9Module · capability present
Dynamic loadingImport moduleimportlib.import_moduleProductioncodeclone/core/entrypoints.py:50Callable · exact evidence
Dynamic loadingImportlib importimportlibProductioncodeclone/report/html/widgets/snippets.py:10Module · capability present
Dynamic loadingImport moduleimportlib.import_moduleProductioncodeclone/report/html/widgets/snippets.py:103Callable · exact evidence
Dynamic loadingImport moduleimportlib.import_moduleProductioncodeclone/report/html/widgets/snippets.py:104Callable · exact evidence
Dynamic loadingImport moduleimportlib.import_moduleProductioncodeclone/report/html/widgets/snippets.py:105Callable · exact evidence
Process boundarySubprocess importsubprocessProductioncodeclone/surfaces/cli/changed_scope.py:9Module · capability present
Process boundarySubprocess runsubprocess.runProductioncodeclone/surfaces/cli/changed_scope.py:103-110Callable · exact evidence
Process boundarySubprocess importsubprocessProductioncodeclone/surfaces/mcp/_session_shared.py:10Module · capability present
Process boundarySubprocess runsubprocess.runProductioncodeclone/surfaces/mcp/_session_shared.py:879-886Callable · exact evidence
Filesystem mutationOs replaceos.replaceProductioncodeclone/utils/json_io.py:60Callable · exact evidence
Process boundarySubprocess importsubprocessProductionplugins/codeclone/scripts/launch_mcp.py:5Module · capability present
Process boundarySubprocess importsubprocessProductionscripts/build_docs_example_report.py:14Module · capability present
Process boundarySubprocess runsubprocess.runProductionscripts/build_docs_example_report.py:76Callable · exact evidence
Process boundarySubprocess importsubprocess.CompletedProcessTeststests/test_benchmark.py:10Module · capability present
Process boundarySubprocess importsubprocessTeststests/test_cli_help_snapshot.py:4Module · capability present
Process boundarySubprocess runsubprocess.runTeststests/test_cli_help_snapshot.py:15-21Callable · exact evidence
Process boundarySubprocess importsubprocessTeststests/test_cli_smoke.py:8Module · capability present
Process boundarySubprocess runsubprocess.runTeststests/test_cli_smoke.py:32-47Callable · exact evidence
Process boundarySubprocess importsubprocessTeststests/test_cli_unit.py:9Module · capability present
Dynamic loadingImportlib importimportlib.utilTeststests/test_codex_plugin_launcher.py:3Module · capability present
Process boundarySubprocess importsubprocessTeststests/test_codex_plugin_launcher.py:4Module · capability present
Dynamic loadingImport spec from fileimportlib.util.spec_from_file_locationTeststests/test_codex_plugin_launcher.py:13-16Callable · exact evidence
Dynamic loadingRunpy importrunpyTeststests/test_docs_example_report.py:9Module · capability present
Dynamic loadingRun pathrunpy.run_pathTeststests/test_docs_example_report.py:19Callable · exact evidence
Dynamic loadingImportlib importimportlib.utilTeststests/test_github_action_helpers.py:9Module · capability present
Dynamic loadingImport spec from fileimportlib.util.spec_from_file_locationTeststests/test_github_action_helpers.py:25Callable · exact evidence
Dynamic loadingImportlib importimportlibTeststests/test_html_report.py:7Module · capability present
Dynamic loadingImportlib importimportlib.metadataTeststests/test_init.py:13Callable · exact evidence
Dynamic loadingImport moduleimportlib.import_moduleTeststests/test_init.py:19Callable · exact evidence
Dynamic loadingImportlib importimportlib.metadataTeststests/test_init.py:25Callable · exact evidence
Dynamic loadingImport moduleimportlib.import_moduleTeststests/test_init.py:31Callable · exact evidence
Dynamic loadingRunpy importrunpyTeststests/test_main_entrypoint.py:8Module · capability present
Process boundarySubprocess importsubprocessTeststests/test_main_entrypoint.py:9Module · capability present
Process boundarySubprocess runsubprocess.runTeststests/test_main_entrypoint.py:20-25Callable · exact evidence
Do module dependencies form cycles?
Cycles: 0; avg depth: 4.0; p95 depth: 12; max dependency depth: 16.
Modules ?
284
1168imports
Edges ?
1168
4.1avg/module
Max depth ?
16
4.0avg12p95
Cycles ?
0
cleanstatus
Top connectedmodels81coerce58contracts48codeclone35workflow35
codeclone.core.reportingreportingcodeclone.domain.findingsfindingscodeclone.findings.structural.detectorsdetectorscodeclone.modelsmodelscodeclone.report.document._common_commoncodeclone.report.document._design_groups_design_groupscodeclone.report.document._findings_groups_findings_groupscodeclone.report.document.builderbuildercodeclone.report.document.findingsfindingscodeclone.report.renderers.markdownmarkdowncodeclone.surfaces.mcp.__main____main__codeclone.surfaces.mcp._session_finding_mixin_session..ng_mixincodeclone.surfaces.mcp._session_shared_session_sharedcodeclone.surfaces.mcp._session_state_mixin_session..te_mixincodeclone.surfaces.mcp.serverservercodeclone.surfaces.mcp.serviceservicecodeclone.surfaces.mcp.sessionsessiontests.test_mcp_servertest_mcp_servertests.test_mcp_tool_schema_snapshottest_mcp..snapshottests.test_target_module_map_importstest_tar.._imports
Hub Leaf Cycle

Longest chains

Longest chain ?Length ?
__main__serverservicesession_session..te_mixin_session..ng_mixin_session_sharedreportingmarkdownbuilderfindings_design_groups_findings_groups_commondetectorsfindings16
test_mcp_serverserverservicesession_session..te_mixin_session..ng_mixin_session_sharedreportingmarkdownbuilderfindings_design_groups_findings_groups_commondetectorsfindings16
test_mcp..snapshotserverservicesession_session..te_mixin_session..ng_mixin_session_sharedreportingmarkdownbuilderfindings_design_groups_findings_groups_commondetectorsfindings16
test_tar.._importsserverservicesession_session..te_mixin_session..ng_mixin_session_sharedreportingmarkdownbuilderfindings_design_groups_findings_groups_commondetectorsfindings16
serverservicesession_session..te_mixin_session..ng_mixin_session_sharedreportingmarkdownbuilderfindings_design_groups_findings_groups_commondetectorsfindings15

Detected cycles

No dependency cycles detected.
Nothing to report - keep up the good work.
Do we have actionable unused code?
0 candidates total; 0 high-confidence items; 1 suppressed.
Candidates ?
0
0active
High confidence ?
0
0of total
Suppressed ?
1
Hit rate ?
0%
high vs total
No dead code detected.
Nothing to report - keep up the good work.
Name ?File ?Line ?Kind ?Confidence ?RuleSource
resolve_install_target.github/actions/codeclone/_action_impl.py158functionhighdead-codeinline_codeclone
What should be prioritized next?
No suggestions were generated for this run.
No suggestions generated.
Nothing to report - keep up the good work.
What are structural findings?
Repeated non-overlapping branch-body shapes detected inside individual functions. These are local, report-only refactoring hints and do not affect clone detection or CI verdicts.
No structural findings detected.
Nothing to report - keep up the good work.
Verified

Report Provenance

Baseline verified · cache miss · full mode

verifiedBaseline2.11Schema1FingerprintmissCachefullModeverifiedMetrics baselineBaseline-aware · contract-verified

General

CodeClone2.0.1b1
Projectcodeclone
Report schema2.11
Scan root/home/runner/work/codeclone/codeclone
Python3.14
Python tagcp314
Analysis modefull
Report modefull
Report generated (UTC)2026-05-13T09:27:34Z
Metrics computedcomplexity, coupling, cohesion, health, dependencies, dead_code, coverage_adoption, api_surface
Health score90
Health gradeA
Source IO skipped0

Clone Baseline

Baseline filecodeclone.baseline.json
Baseline path/home/runner/work/codecl…lone/codeclone.baseline.json
Baseline statusok
Baseline loadedloaded
Baseline fingerprint1
Baseline schema2.1
Baseline Python tagcp314 matches runtime
Baseline generator namecodeclone
Baseline generator version2.0.0b6
Baseline payload sha256a2e5e3ac…9355e99a
Baseline payload verifiedverified

Metrics Baseline

Metrics baseline path/home/runner/work/codecl…lone/codeclone.baseline.json
Metrics baseline loadedloaded
Metrics baseline statusok
Metrics baseline schema2.1
Metrics baseline payload sha25626ebd9e5…025fedff
Metrics baseline payload verifiedverified

Cache

Cache path/home/runner/work/codecl…/.cache/codeclone/cache.json
Cache statusmissing
Cache usedmiss

Integrity

Canonicalization version1
Canonicalization scopecanonical_only
Canonical sectionsreport_schema_version, meta, inventory, findings, metrics
Digest algorithmsha256
Digest valued92d12b9…17761f0b
Digest verifiedverified