741 files · 247,425 lines · 4,269 callables · 657 classes. Thresholds: func 6/4 · block 20/8 · seg 20/10
Type/docstring adoption and public API surface are shown as facts, not style pressure.
Directories with the highest concentration of findings by category.
codeclone/surfaces/cli Productioncodeclone/memory/ingest Productioncodeclone/analytics/clustering Productioncodeclone/analytics/corpus/adapters Productioncodeclone/analytics/corpus/representations Productioncodeclone/surfaces/cli Productioncodeclone/memory/ingest Productioncodeclone/analytics/clustering Productioncodeclone/analytics/corpus/adapters Productioncodeclone/analytics/corpus/representations Production42 candidates across 741 ranked modules — disproportionate size, complexity, or coupling.
tests/test_cli_audit.pyTeststests/test_analytics_integration.pyTeststests/test_mcp_service.pyTestscodeclone/memory/sqlite_store.pyProductiontests/test_audit_writer.pyTestsDimension scores across all quality axes.
| Class ? | File ? | CBO ? | Risk ? | Coupled classes ? |
|---|---|---|---|---|
| AggregatesView | codeclone/observability/views.py | 9 | medium | AgentViewAnalysisPhaseRowDbCostRow(+6 more) |
| FileMetrics | codeclone/models.py | 9 | medium | ClassMetricsDeadCandidateFunction..hipFacts(+6 more) |
| ProjectMetrics | codeclone/models.py | 7 | medium | ApiSurfaceSnapshotDeadItemHealthScore(+4 more) |
| LaneProjectionProbePayload | codeclone/memory/semantic/projection_probe.py | 6 | medium | _Distrib..nPayload_Overflo..ePayload_TokenDi..nPayload(+3 more) |
| PhaseLedger | codeclone/analysis/phase_ledger.py | 6 | medium | AnalysisPhaseKeyAnalysisVolumeKeyPhaseSnapshot(+3 more) |
| _FileEntryV29 | codeclone/cache/entries.py | 5 | low | _FileEnt..sisFacts_FileEntryBase_FileEnt..ityFacts(+2 more) |
| _RuntimeReachabilityVisitor | codeclone/analysis/reachability.py | 5 | low | _Provide..stration_RouteDe..rFactory_RouteRegistration(+2 more) |
| _FakeTable | tests/test_lancedb_backend_mocked.py | 4 | low | _FakeArrowTable_FakeMergeInsert_FakeSchema(+1 more) |
| AnalyticsVectorStore | codeclone/analytics/store/vectors_lancedb.py | 4 | low | _LanceConnection_LanceTableimportlib(+1 more) |
| _MCPSessionIntentMixin | codeclone/surfaces/mcp/_session_intent_mixin.py | 4 | low | _RecoveryRun_RecoveryTargetdatetime(+1 more) |
| PatchTrailInputs | codeclone/memory/trajectory/dto.py | 4 | low | BlastRad..SnapshotHygieneSnapshotPatchTra..nceInput(+1 more) |
| RecordBatch | codeclone/memory/models.py | 4 | low | MemoryEvidenceMemoryLinkMemoryRecord(+1 more) |
| _FileEntryQualityFacts | codeclone/cache/entries.py | 4 | low | ClassMetricsDictModuleDo..rageDictModuleTy..rageDict(+1 more) |
| _FileEntryAnalysisFacts | codeclone/cache/entries.py | 4 | low | DeadCandidateDictModuleDepDictRuntimeR..FactDict(+1 more) |
| ClusteringProfileManifest | codeclone/analytics/profiles/models.py | 4 | low | ProfileA..cabilityProfileR..ngPolicyProfileSearchSpace(+1 more) |
| _ManifestModel | codeclone/analytics/profiles/loader.py | 4 | low | _Applica..ityModel_RankingModel_SearchSpaceModel(+1 more) |
| SqliteWorkspaceIntentStore | codeclone/surfaces/mcp/_workspace_intent_store.py | 3 | low | datetimesqlite3threading |
| AuditIndexSource | codeclone/memory/semantic/sources.py | 3 | low | SourceScanSourceScanErrorsqlite3 |
| FastEmbedEmbeddingProvider | codeclone/memory/embedding/fastembed_provider.py | 3 | low | _TextEmb..ingModel_Tokeniz..extModelimportlib |
| AstNormalizer | codeclone/analysis/normalizer.py | 3 | low | Normaliz..onConfigastcopy |
| WorkspaceHygieneResult | codeclone/surfaces/mcp/_workspace_hygiene.py | 3 | low | DirtyAttributionDirtySnapshotForeignD..yOverlap |
| CodeCloneMCPRunStore | codeclone/surfaces/mcp/_session_shared.py | 3 | low | MCPRunNo..undErrorMCPRunRecordMCPServi..actError |
| IntentRecord | codeclone/surfaces/mcp/_intent.py | 3 | low | IntentCheckResultIntentScopeIntentStatus |
| TraceView | codeclone/observability/views.py | 3 | low | AggregatesViewOperationViewWaterfallGroup |
| Trajectory | codeclone/memory/trajectory/models.py | 3 | low | TrajectoryEvidenceTrajectoryStepTrajectorySubject |
| _LanceTable | codeclone/memory/semantic/lancedb_backend.py | 3 | low | _LanceMergeInsert_LanceSchema_LanceSearchQuery |
| LanceDbSemanticIndex | codeclone/memory/semantic/lancedb_backend.py | 3 | low | _LanceConnection_LanceTableimportlib |
| _FunctionStructureScanner | codeclone/findings/structural/detectors.py | 3 | low | Function..ureFactsastsys |
| PayloadFootprint | codeclone/audit/reader.py | 3 | low | TopPayloadTypeTokenProfileWorkflow..nProfile |
| _LanceTable | codeclone/analytics/store/vectors_lancedb.py | 3 | low | _ArrowSchema_LanceMergeInsert_LanceSearchQuery |
| TestControllerQueryFlagValidation | tests/test_cli_audit.py | 2 | low | pytestwf |
| TrajectoryIndexSource | codeclone/memory/semantic/sources.py | 2 | low | SourceScan_Traject..eadStore |
| MemoryIndexSource | codeclone/memory/semantic/sources.py | 2 | low | SourceScan_MemoryReadStore |
| DeterministicHashEmbeddingProvider | codeclone/memory/embedding/__init__.py | 2 | low | hashlibmath |
| _FixedExecutor | tests/test_cli_inprocess.py | 2 | low | _FalseExitContext_FixedFuture |
| _Harness | tests/test_semantic_incremental_sourcing.py | 2 | low | _CountingWriter_Instrum..edSource |
| _FakeInnerModel | tests/test_semantic_embedding.py | 2 | low | _FakeEncoding_FakeTokenizer |
| _OpenTableFailsDb | tests/test_lancedb_backend_mocked.py | 2 | low | _FakeDb_FakeTable |
| _DummyExecutor | tests/test_cli_inprocess.py | 2 | low | _DummyFuture_FalseExitContext |
| TestRunPreAnalysisControllerQuery | tests/test_cli_audit.py | 2 | low | pytestwf |
| _Table | tests/test_analytics_store.py | 2 | low | _Merge_Query |
| SimpleMCPTool | codeclone/surfaces/mcp/tools/_base.py | 2 | low | MCPToolSchemaMCPToolSession |
| MCPTool | codeclone/surfaces/mcp/tools/_base.py | 2 | low | MCPToolSchemaMCPToolSession |
| MCPSession | codeclone/surfaces/mcp/session.py | 2 | low | ostime |
| WorkspaceIntentDocument | codeclone/surfaces/mcp/_workspace_intent_models.py | 2 | low | IntentIn..ityModelIntentScopeModel |
| MCPRunRecord | codeclone/surfaces/mcp/_session_shared.py | 2 | low | MCPAnalysisRequestMCPUnitLocation |
| OperationRecord | codeclone/observability/models.py | 2 | low | ProfileSampleSpanRecord |
| MetricFamily | codeclone/metrics/_base.py | 2 | low | MetricAggregateMetricPr..tContext |
| RebuildTrajectoriesSkippedPayload | codeclone/memory/trajectory/rebuild_workflow.py | 2 | low | RebuildT..esCountsRebuildT..riesMeta |
| RebuildTrajectoriesOkPayload | codeclone/memory/trajectory/rebuild_workflow.py | 2 | low | RebuildT..esCountsRebuildT..riesMeta |
| Category ? | Capability | Evidence | Source | Location ? | Review |
|---|---|---|---|---|---|
| Process boundary | Subprocess import | subprocess | Production | .github/actions/codeclone/_action_impl.py:22 | Module · capability present |
| Filesystem mutation | Builtin open write | open[mode=a] | Production | .github/actions/codeclone/_action_impl.py:152 | Callable · exact evidence |
| Process boundary | Subprocess run | subprocess.run | Production | .github/actions/codeclone/_action_impl.py:205 | Callable · exact evidence |
| Filesystem mutation | Builtin open write | open[mode=a] | Production | .github/actions/codeclone/_action_impl.py:262 | Callable · exact evidence |
| Process boundary | Subprocess import | subprocess | Production | benchmarks/run_benchmark.py:15 | Module · capability present |
| Process boundary | Subprocess run | subprocess.run | Production | benchmarks/run_benchmark.py:282-288 | Callable · exact evidence |
| Filesystem mutation | Shutil rmtree | shutil.rmtree | Production | benchmarks/run_benchmark.py:392 | Callable · exact evidence |
| Process boundary | Subprocess run | subprocess.run | Production | benchmarks/run_benchmark.py:499-505 | Callable · exact evidence |
| Filesystem mutation | Shutil rmtree | shutil.rmtree | Production | benchmarks/run_benchmark.py:872 | Callable · exact evidence |
| Dynamic loading | Importlib import | importlib.metadata.PackageNotFoundError | Production | codeclone/__init__.py:7 | Module · capability present |
| Dynamic loading | Importlib import | importlib.metadata.version | Production | codeclone/__init__.py:7 | Module · capability present |
| Dynamic loading | Importlib import | importlib | Production | codeclone/analytics/capabilities.py:9 | Module · capability present |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/analytics/capabilities.py:24 | Callable · exact evidence |
| Dynamic loading | Importlib import | importlib | Production | codeclone/analytics/clustering/pipeline.py:9 | Module · capability present |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/analytics/clustering/pipeline.py:77 | Callable · exact evidence |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/analytics/clustering/pipeline.py:88 | Callable · exact evidence |
| Dynamic loading | Importlib import | importlib.metadata.PackageNotFoundError | Production | codeclone/analytics/clustering/sweep.py:12 | Module · capability present |
| Dynamic loading | Importlib import | importlib.metadata.version | Production | codeclone/analytics/clustering/sweep.py:12 | Module · capability present |
| Database boundary | Sqlite3 import | sqlite3 | Production | codeclone/analytics/corpus/adapters/intent_historical.py:10 | Module · capability present |
| Database boundary | Sqlite3 import | sqlite3 | Production | codeclone/analytics/corpus/registry_overlay.py:10 | Module · capability present |
| Dynamic loading | Importlib import | importlib | Production | codeclone/analytics/embedding/generation.py:9 | Module · capability present |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/analytics/embedding/generation.py:34 | Callable · exact evidence |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/analytics/embedding/generation.py:50 | Callable · exact evidence |
| Dynamic loading | Importlib import | importlib.resources.files | Production | codeclone/analytics/profiles/loader.py:12 | Module · capability present |
| Dynamic loading | Importlib import | importlib.resources.files | Production | codeclone/analytics/profiles/registry.py:11 | Module · capability present |
| Database boundary | Sqlite3 import | sqlite3 | Production | codeclone/analytics/schema.py:11 | Module · capability present |
| Database boundary | Sqlite3 import | sqlite3 | Production | codeclone/analytics/store/sqlite.py:10 | Module · capability present |
| Dynamic loading | Importlib import | importlib | Production | codeclone/analytics/store/vectors_lancedb.py:10 | Module · capability present |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/analytics/store/vectors_lancedb.py:78 | Callable · exact evidence |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/analytics/store/vectors_lancedb.py:112 | Callable · exact evidence |
| Crypto transport | Secrets import | secrets | Production | codeclone/audit/events.py:11 | Module · capability present |
| Database boundary | Sqlite3 import | sqlite3 | Production | codeclone/audit/reader.py:10 | Module · capability present |
| Database boundary | Sqlite3 import | sqlite3 | Production | codeclone/audit/schema.py:9 | Module · capability present |
| Crypto transport | Hmac import | hmac | Production | codeclone/baseline/clone_baseline.py:9 | Module · capability present |
| Crypto transport | Hmac import | hmac | Production | codeclone/baseline/metrics_baseline.py:9 | Module · capability present |
| Crypto transport | Hmac import | hmac | Production | codeclone/cache/integrity.py:10 | Module · capability present |
| Dynamic loading | Importlib import | importlib.util.find_spec | Production | codeclone/config/observability.py:21 | Module · capability present |
| Dynamic loading | Importlib import | importlib | Production | codeclone/config/pyproject_loader.py:8 | Module · capability present |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/config/pyproject_loader.py:341 | Callable · exact evidence |
| Dynamic loading | Importlib import | importlib | Production | codeclone/core/entrypoints.py:9 | Module · capability present |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/core/entrypoints.py:50 | Callable · exact evidence |
| Dynamic loading | Importlib import | importlib | Production | codeclone/memory/embedding/fastembed_provider.py:9 | Module · capability present |
| Dynamic loading | Import module | importlib.import_module | Production | codeclone/memory/embedding/fastembed_provider.py:175 | Callable · exact evidence |
| Database boundary | Sqlite3 import | sqlite3 | Production | codeclone/memory/experience/store.py:13 | Module · capability present |
| Crypto transport | Hmac import | hmac | Production | codeclone/memory/ide_governance.py:10 | Module · capability present |
| Crypto transport | Secrets import | secrets | Production | codeclone/memory/ide_governance.py:11 | Module · capability present |
| Network boundary | Urllib import | urllib.parse.quote | Production | codeclone/memory/identity.py:9 | Module · capability present |
| Process boundary | Subprocess import | subprocess | Production | codeclone/memory/ingest/extractors.py:11 | Module · capability present |
| Process boundary | Subprocess run | subprocess.run | Production | codeclone/memory/ingest/extractors.py:800-813 | Callable · exact evidence |
| Process boundary | Subprocess import | subprocess | Production | codeclone/memory/jobs/spawn.py:10 | Module · capability present |
| Module | Fan-in | Fan-out | Score | Status | Signals |
|---|---|---|---|---|---|
| tests.test_mcp_service | 0 | 61 | candidate | dependency_pressurerepeated_import_pressurechain_bottleneckhigh_instability | |
| codeclone.surfaces.cli.workflow | 7 | 29 | candidate | dependency_pressurerepeated_import_pressurechain_bottleneckhigh_instability | |
| codeclone.memory.sqlite_store | 41 | 11 | candidate | dependency_pressurerepeated_import_pressurechain_bottleneckcentral_sink | |
| tests.test_analytics_foundation | 0 | 32 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| tests.test_analytics_integration | 0 | 26 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| codeclone.surfaces.cli.memory | 9 | 29 | candidate | dependency_pressurechain_bottleneckhigh_instability | |
| tests.test_cli_audit | 0 | 10 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| tests.test_report_contract_coverage | 0 | 16 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| codeclone.report.meta | 42 | 5 | non candidate | dependency_pressurechain_bottleneckcentral_sink | |
| codeclone.surfaces.mcp._session_memory_mixin | 4 | 23 | candidate | dependency_pressurechain_bottleneckhigh_instability | |
| tests.test_audit_writer | 0 | 5 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| tests.test_report | 0 | 20 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| codeclone.memory.retrieval.service | 4 | 21 | candidate | dependency_pressurechain_bottleneckhigh_instability | |
| codeclone.utils.json_io | 30 | 0 | non candidate | dependency_pressurechain_bottleneckcentral_sink | |
| tests.test_memory_jobs_coverage | 0 | 19 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| tests.test_html_report | 0 | 18 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| tests.test_semantic_rebuild_workflow | 0 | 9 | non candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| codeclone.audit.reader | 26 | 4 | candidate | dependency_pressurechain_bottleneckcentral_sink | |
| codeclone.surfaces.cli.memory_analysis | 2 | 17 | non candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| tests.test_memory_staleness | 0 | 13 | non candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| tests.test_semantic_embedding | 0 | 10 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| tests.test_target_module_map_imports | 0 | 15 | non candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| codeclone.surfaces.cli.types | 21 | 1 | non candidate | dependency_pressurerepeated_import_pressurecentral_sink | |
| codeclone.surfaces.mcp._session_workflow_mixin | 2 | 12 | candidate | dependency_pressurerepeated_import_pressurehigh_instability | |
| tests.test_memory_trajectory_projector | 3 | 10 | candidate | dependency_pressurerepeated_import_pressurehigh_instability |
| Module | File ? | Score | Status | LOC | Fan-in/out | Complexity total |
|---|---|---|---|---|---|---|
| tests.test_cli_audit | tests/test_cli_audit.py | candidate | 1259 | 0/10 | 39 | |
| tests.test_analytics_integration | tests/test_analytics_integration.py | candidate | 2010 | 0/26 | 36 | |
| tests.test_mcp_service | tests/test_mcp_service.py | candidate | 13754 | 0/61 | 268 | |
| codeclone.memory.sqlite_store | codeclone/memory/sqlite_store.py | candidate | 1347 | 41/11 | 57 | |
| tests.test_audit_writer | tests/test_audit_writer.py | candidate | 1128 | 0/5 | 42 | |
| tests.test_analytics_foundation | tests/test_analytics_foundation.py | candidate | 1925 | 0/32 | 52 | |
| tests.test_report_contract_coverage | tests/test_report_contract_coverage.py | candidate | 3089 | 0/16 | 35 | |
| tests.test_semantic_embedding | tests/test_semantic_embedding.py | candidate | 881 | 0/10 | 37 | |
| tests.test_html_report | tests/test_html_report.py | candidate | 4554 | 0/18 | 89 | |
| tests.test_report | tests/test_report.py | candidate | 3171 | 0/20 | 74 | |
| codeclone.surfaces.mcp._session_workflow_mixin | codeclone/surfaces/mcp/_session_workflow_mixin.py | candidate | 1699 | 2/12 | 139 | |
| tests.test_workspace_intents | tests/test_workspace_intents.py | candidate | 1535 | 7/9 | 42 | |
| tests.test_cli_inprocess | tests/test_cli_inprocess.py | candidate | 4518 | 0/20 | 158 | |
| codeclone.surfaces.mcp._session_patch_contract_mixin | codeclone/surfaces/mcp/_session_patch_contract_mixin.py | candidate | 1214 | 1/9 | 80 | |
| codeclone.surfaces.mcp._session_helpers | codeclone/surfaces/mcp/_session_helpers.py | candidate | 1014 | 2/16 | 84 | |
| codeclone.surfaces.mcp._session_shared | codeclone/surfaces/mcp/_session_shared.py | candidate | 877 | 25/25 | 31 | |
| codeclone.surfaces.mcp._session_memory_mixin | codeclone/surfaces/mcp/_session_memory_mixin.py | candidate | 1060 | 4/23 | 74 | |
| codeclone.audit.reader | codeclone/audit/reader.py | candidate | 1197 | 26/4 | 96 | |
| tests.test_memory_jobs_coverage | tests/test_memory_jobs_coverage.py | candidate | 1292 | 0/19 | 14 | |
| tests.test_cli_unit | tests/test_cli_unit.py | candidate | 2801 | 0/25 | 71 | |
| tests.test_cache | tests/test_cache.py | candidate | 2885 | 0/15 | 67 | |
| codeclone.surfaces.mcp._workspace_intents | codeclone/surfaces/mcp/_workspace_intents.py | candidate | 742 | 12/7 | 35 | |
| codeclone.surfaces.cli.memory | codeclone/surfaces/cli/memory.py | candidate | 1511 | 9/29 | 188 | |
| codeclone.surfaces.cli.workflow | codeclone/surfaces/cli/workflow.py | candidate | 833 | 7/29 | 44 | |
| codeclone.memory.retrieval.service | codeclone/memory/retrieval/service.py | candidate | 2124 | 4/21 | 142 | |
| codeclone.controller_insights.session_stats | codeclone/controller_insights/session_stats.py | candidate | 638 | 2/8 | 61 | |
| tests.test_pipeline_metrics | tests/test_pipeline_metrics.py | candidate | 1785 | 0/12 | 24 | |
| tests.test_core_branch_coverage | tests/test_core_branch_coverage.py | candidate | 1431 | 0/21 | 18 | |
| codeclone.surfaces.mcp.server | codeclone/surfaces/mcp/server.py | candidate | 1679 | 8/10 | 27 | |
| tests.test_cli_session_stats | tests/test_cli_session_stats.py | candidate | 1487 | 0/12 | 64 | |
| codeclone.surfaces.mcp._workspace_intent_store | codeclone/surfaces/mcp/_workspace_intent_store.py | candidate | 680 | 13/10 | 17 | |
| tests.test_memory_trajectory_projector | tests/test_memory_trajectory_projector.py | candidate | 769 | 3/10 | 12 | |
| tests.test_analytics_reporting | tests/test_analytics_reporting.py | candidate | 1220 | 0/13 | 22 | |
| codeclone.surfaces.mcp._session_intent_mixin | codeclone/surfaces/mcp/_session_intent_mixin.py | candidate | 1581 | 2/10 | 99 | |
| codeclone.report.document.derived | codeclone/report/document/derived.py | candidate | 1116 | 3/10 | 73 | |
| codeclone.cache.store | codeclone/cache/store.py | candidate | 717 | 17/11 | 48 | |
| codeclone.memory.trajectory.store | codeclone/memory/trajectory/store.py | candidate | 1125 | 9/12 | 43 | |
| tests.test_cli_memory_semantic | tests/test_cli_memory_semantic.py | candidate | 556 | 0/11 | 24 | |
| tests.test_html_report_helpers | tests/test_html_report_helpers.py | candidate | 808 | 0/22 | 20 | |
| tests.test_analytics_profiles | tests/test_analytics_profiles.py | candidate | 872 | 0/15 | 16 | |
| tests.test_metrics_modules | tests/test_metrics_modules.py | candidate | 830 | 0/11 | 18 | |
| tests.test_semantic_sources | tests/test_semantic_sources.py | candidate | 672 | 0/10 | 23 | |
| tests.test_memory_staleness | tests/test_memory_staleness.py | non candidate | 751 | 0/13 | 6 | |
| codeclone.report.document._common | codeclone/report/document/_common.py | non candidate | 414 | 7/7 | 66 | |
| codeclone.report.renderers.sarif | codeclone/report/renderers/sarif.py | non candidate | 972 | 5/8 | 77 | |
| tests.memory_fixtures | tests/memory_fixtures.py | non candidate | 700 | 63/13 | 31 | |
| codeclone.report.overview | codeclone/report/overview.py | non candidate | 765 | 4/6 | 87 | |
| tests.test_config_semantic | tests/test_config_semantic.py | non candidate | 338 | 0/3 | 11 | |
| codeclone.cache._wire_decode | codeclone/cache/_wire_decode.py | non candidate | 926 | 3/5 | 158 | |
| tests.test_semantic_rebuild_workflow | tests/test_semantic_rebuild_workflow.py | non candidate | 526 | 0/9 | 13 |
| Longest chain ? | Length ? |
|---|---|
| __main__→server→service→session→_session..ry_mixin→coverage→service→status_report→sqlite_store→store→export_context→retrieval→quality→projector→reader→schema→meta→metrics_baseline→_metrics..lidation→_metrics.._payload→projection→integrity→json_io | 23 |
| test_con..insights→server→service→session→_session..ry_mixin→coverage→service→status_report→sqlite_store→store→export_context→retrieval→quality→projector→reader→schema→meta→metrics_baseline→_metrics..lidation→_metrics.._payload→projection→integrity→json_io | 23 |
| test_golden_v2→main→workflow→memory→memory_render→coverage→service→status_report→sqlite_store→store→export_context→retrieval→quality→projector→reader→schema→meta→metrics_baseline→_metrics..lidation→_metrics.._payload→projection→integrity→json_io | 23 |
| test_mcp_server→server→service→session→_session..ry_mixin→coverage→service→status_report→sqlite_store→store→export_context→retrieval→quality→projector→reader→schema→meta→metrics_baseline→_metrics..lidation→_metrics.._payload→projection→integrity→json_io | 23 |
| test_mcp_service→server→service→session→_session..ry_mixin→coverage→service→status_report→sqlite_store→store→export_context→retrieval→quality→projector→reader→schema→meta→metrics_baseline→_metrics..lidation→_metrics.._payload→projection→integrity→json_io | 23 |
| Name ? | File ? | Line ? | Kind ? | Confidence ? | Rule | Source |
|---|---|---|---|---|---|---|
| resolve_install_target | .github/actions/codeclone/_action_impl.py | 158 | function | high | dead-code | Inline_Codeclone |
| StaticBearerTokenVerifier.verify_token | codeclone/surfaces/mcp/auth.py | 36 | method | high | dead-code | Inline_Codeclone |
| File | Location | Lines |
|---|---|---|
| codeclone/surfaces/cli/workflow.py | Production codeclone.surfaces.cli.workflow:main | 810-812 |
| codeclone/surfaces/cli/workflow.py | Production codeclone.surfaces.cli.workflow:main | 814-816 |
| codeclone/surfaces/cli/workflow.py | Production codeclone.surfaces.cli.workflow:main | 818-820 |
| File | Location | Lines |
|---|---|---|
| codeclone/memory/ingest/extractors.py | Production codeclone.memory.ingest.extractors:_parse_contract_constants | 59-59 |
| codeclone/memory/ingest/extractors.py | Production codeclone.memory.ingest.extractors:_parse_contract_constants | 67-67 |
| codeclone/memory/ingest/extractors.py | Production codeclone.memory.ingest.extractors:_parse_contract_constants | 69-69 |
| File | Location | Lines |
|---|---|---|
| codeclone/analytics/clustering/canonicalize.py | Production codeclone.analytics.clustering.canonicalize:medoid_item_id | 79-79 |
| codeclone/analytics/clustering/canonicalize.py | Production codeclone.analytics.clustering.canonicalize:medoid_item_id | 82-82 |
| File | Location | Lines |
|---|---|---|
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_agents | 985-986 |
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_agents | 988-989 |
| File | Location | Lines |
|---|---|---|
| codeclone/analytics/corpus/adapters/intent_historical.py | Production codeclone.analytics.corpus.adapters.intent_historical:extract_historical_intent_items | 169-169 |
| codeclone/analytics/corpus/adapters/intent_historical.py | Production codeclone.analytics.corpus.adapters.intent_historical:extract_historical_intent_items | 193-193 |
| File | Location | Lines |
|---|---|---|
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_dashboard | 1049-1050 |
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_dashboard | 1052-1053 |
| File | Location | Lines |
|---|---|---|
| codeclone/analytics/corpus/representations/intent.py | Production codeclone.analytics.corpus.representations.intent:declared_path_families_from_patch_trail | 81-81 |
| codeclone/analytics/corpus/representations/intent.py | Production codeclone.analytics.corpus.representations.intent:declared_path_families_from_patch_trail | 86-86 |
| File | Location | Lines |
|---|---|---|
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_anomalies | 1017-1018 |
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_anomalies | 1020-1021 |
| File | Location | Lines |
|---|---|---|
| scripts/build_docs_example_report.py | Production scripts.build_docs_example_report:_published_artifact_href | 155-156 |
| scripts/build_docs_example_report.py | Production scripts.build_docs_example_report:_published_artifact_href | 159-160 |
| File | Location | Lines |
|---|---|---|
| codeclone/surfaces/cli/workflow.py | Production codeclone.surfaces.cli.workflow:main | 810-812 |
| codeclone/surfaces/cli/workflow.py | Production codeclone.surfaces.cli.workflow:main | 814-816 |
| codeclone/surfaces/cli/workflow.py | Production codeclone.surfaces.cli.workflow:main | 818-820 |
| File | Location | Lines |
|---|---|---|
| codeclone/memory/ingest/extractors.py | Production codeclone.memory.ingest.extractors:_parse_contract_constants | 59-59 |
| codeclone/memory/ingest/extractors.py | Production codeclone.memory.ingest.extractors:_parse_contract_constants | 67-67 |
| codeclone/memory/ingest/extractors.py | Production codeclone.memory.ingest.extractors:_parse_contract_constants | 69-69 |
| File | Location | Lines |
|---|---|---|
| codeclone/analytics/clustering/canonicalize.py | Production codeclone.analytics.clustering.canonicalize:medoid_item_id | 79-79 |
| codeclone/analytics/clustering/canonicalize.py | Production codeclone.analytics.clustering.canonicalize:medoid_item_id | 82-82 |
| File | Location | Lines |
|---|---|---|
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_agents | 985-986 |
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_agents | 988-989 |
| File | Location | Lines |
|---|---|---|
| codeclone/analytics/corpus/adapters/intent_historical.py | Production codeclone.analytics.corpus.adapters.intent_historical:extract_historical_intent_items | 169-169 |
| codeclone/analytics/corpus/adapters/intent_historical.py | Production codeclone.analytics.corpus.adapters.intent_historical:extract_historical_intent_items | 193-193 |
| File | Location | Lines |
|---|---|---|
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_dashboard | 1049-1050 |
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_dashboard | 1052-1053 |
| File | Location | Lines |
|---|---|---|
| codeclone/analytics/corpus/representations/intent.py | Production codeclone.analytics.corpus.representations.intent:declared_path_families_from_patch_trail | 81-81 |
| codeclone/analytics/corpus/representations/intent.py | Production codeclone.analytics.corpus.representations.intent:declared_path_families_from_patch_trail | 86-86 |
| File | Location | Lines |
|---|---|---|
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_anomalies | 1017-1018 |
| codeclone/surfaces/cli/memory.py | Production codeclone.surfaces.cli.memory:_run_trajectory_anomalies | 1020-1021 |
| File | Location | Lines |
|---|---|---|
| scripts/build_docs_example_report.py | Production scripts.build_docs_example_report:_published_artifact_href | 155-156 |
| scripts/build_docs_example_report.py | Production scripts.build_docs_example_report:_published_artifact_href | 159-160 |
This group points to repeated guard or validation exits inside one function. Consolidating the shared exit policy usually reduces branch noise.
CodeClone reported this group because it found 3 structurally matching branch bodies inside codeclone.surfaces.cli.workflow:main.
807 | 808 | def main() -> None: 809 | if len(sys.argv) > 1 and sys.argv[1] == "analytics": 810 | from .analytics import analytics_main 811 | 812 | raise SystemExit(analytics_main(sys.argv[2:])) 813 | if len(sys.argv) > 1 and sys.argv[1] == "memory": 814 | from .memory import memory_main 815 | 811 | 812 | raise SystemExit(analytics_main(sys.argv[2:])) 813 | if len(sys.argv) > 1 and sys.argv[1] == "memory": 814 | from .memory import memory_main 815 | 816 | raise SystemExit(memory_main(sys.argv[2:])) 817 | if len(sys.argv) > 1 and sys.argv[1] == "observability": 818 | from .observability import observability_main 819 | This group reports 3 branches with the same local shape (Continue). Review whether the local branch logic should stay duplicated or be simplified in place.
CodeClone reported this group because it found 3 structurally matching branch bodies inside codeclone.memory.ingest.extractors:_parse_contract_constants.
56 | if isinstance(node, ast.Assign): 57 | value = _literal_constant_value(node.value) 58 | if value is None: 59 | continue 60 | for target in node.targets: 61 | if isinstance(target, ast.Name) and target.id.endswith( 62 | _CONTRACT_CONSTANT_SUFFIX 64 | constants[target.id] = value 65 | elif isinstance(node, ast.AnnAssign) and isinstance(node.target, ast.Name): 66 | if not node.target.id.endswith(_CONTRACT_CONSTANT_SUFFIX): 67 | continue 68 | if node.value is None: 69 | continue 70 | value = _literal_constant_value(node.value)This group reports 2 branches with the same local shape (Continue). Review whether the local branch logic should stay duplicated or be simplified in place.
CodeClone reported this group because it found 2 structurally matching branch bodies inside codeclone.analytics.clustering.canonicalize:medoid_item_id.
76 | count = 0 77 | for other_id in member_ids: 78 | if other_id == item_id: 79 | continue 80 | other = coordinates.get(other_id) 81 | if other is None: 82 | continue 79 | continue 80 | other = coordinates.get(other_id) 81 | if other is None: 82 | continue 83 | total += _euclidean(anchor, other) 84 | count += 1 85 | return total / count if count else float("inf")This group reports 2 branches with the same local shape (Expr,Return). Review whether the local branch logic should stay duplicated or be simplified in place.
CodeClone reported this group because it found 2 structurally matching branch bodies inside codeclone.surfaces.cli.memory:_run_trajectory_agents.
982 | store.close() 983 | payload = result.get("payload") 984 | if not isinstance(payload, dict): 985 | console.print("Unexpected trajectory agents payload.") 986 | return int(ExitCode.INTERNAL_ERROR) 987 | if bool(getattr(args, "json", False)): 988 | console.print(json.dumps(payload, indent=2, sort_keys=True)) 989 | return int(ExitCode.SUCCESS) 985 | console.print("Unexpected trajectory agents payload.") 986 | return int(ExitCode.INTERNAL_ERROR) 987 | if bool(getattr(args, "json", False)): 988 | console.print(json.dumps(payload, indent=2, sort_keys=True)) 989 | return int(ExitCode.SUCCESS) 990 | render_trajectory_agents(console=console, payload=payload) 991 | return int(ExitCode.SUCCESS) 992 | This group reports 2 branches with the same local shape (Continue). Review whether the local branch logic should stay duplicated or be simplified in place.
CodeClone reported this group because it found 2 structurally matching branch bodies inside codeclone.analytics.corpus.adapters.intent_historical:extract_historical_intent_items.
166 | for record in records: 167 | intent_id = record.intent_id 168 | if not intent_id: 169 | continue 170 | grouped[(project_id, intent_id)].append(record) 171 | 172 | memory_path = memory_db_path or resolve_memory_db_path(resolved_root) 190 | payload = _payload_mapping(canonical) 191 | description = _intent_description(payload) 192 | if not description.strip(): 193 | continue 194 | trajectories: tuple[Trajectory, ...] = () 195 | patch_trail_payload: dict[str, object] | None = None 196 | selected_trajectory = NoneThis group reports 2 branches with the same local shape (Expr,Return). Review whether the local branch logic should stay duplicated or be simplified in place.
CodeClone reported this group because it found 2 structurally matching branch bodies inside codeclone.surfaces.cli.memory:_run_trajectory_dashboard.
1046 | store.close() 1047 | payload = result.get("payload") 1048 | if not isinstance(payload, dict): 1049 | console.print("Unexpected trajectory dashboard payload.") 1050 | return int(ExitCode.INTERNAL_ERROR) 1051 | if bool(getattr(args, "json", False)): 1052 | console.print(json.dumps(payload, indent=2, sort_keys=True)) 1053 | return int(ExitCode.SUCCESS) 1049 | console.print("Unexpected trajectory dashboard payload.") 1050 | return int(ExitCode.INTERNAL_ERROR) 1051 | if bool(getattr(args, "json", False)): 1052 | console.print(json.dumps(payload, indent=2, sort_keys=True)) 1053 | return int(ExitCode.SUCCESS) 1054 | status = payload.get("status") 1055 | if isinstance(status, dict): 1056 | latest = status.get("latest_projection")This group reports 2 branches with the same local shape (Continue). Review whether the local branch logic should stay duplicated or be simplified in place.
CodeClone reported this group because it found 2 structurally matching branch bodies inside codeclone.analytics.corpus.representations.intent:declared_path_families_from_patch_trail.
78 | families: set[str] = set() 79 | for item in declared: 80 | if not isinstance(item, str): 81 | continue 82 | path = item.strip().replace("\\", "/") 83 | while path.startswith("./"): 84 | path = path[2:] 83 | while path.startswith("./"): 84 | path = path[2:] 85 | if not path: 86 | continue 87 | top = path.split("/", 1)[0] 88 | if top: 89 | families.add(top)This group reports 2 branches with the same local shape (Expr,Return). Review whether the local branch logic should stay duplicated or be simplified in place.
CodeClone reported this group because it found 2 structurally matching branch bodies inside codeclone.surfaces.cli.memory:_run_trajectory_anomalies.
1014 | store.close() 1015 | payload = result.get("payload") 1016 | if not isinstance(payload, dict): 1017 | console.print("Unexpected trajectory anomalies payload.") 1018 | return int(ExitCode.INTERNAL_ERROR) 1019 | if bool(getattr(args, "json", False)): 1020 | console.print(json.dumps(payload, indent=2, sort_keys=True)) 1021 | return int(ExitCode.SUCCESS) 1017 | console.print("Unexpected trajectory anomalies payload.") 1018 | return int(ExitCode.INTERNAL_ERROR) 1019 | if bool(getattr(args, "json", False)): 1020 | console.print(json.dumps(payload, indent=2, sort_keys=True)) 1021 | return int(ExitCode.SUCCESS) 1022 | render_trajectory_anomalies(console=console, payload=payload) 1023 | return int(ExitCode.SUCCESS) 1024 | This group points to repeated guard or validation exits inside one function. Consolidating the shared exit policy usually reduces branch noise.
CodeClone reported this group because it found 2 structurally matching branch bodies inside scripts.build_docs_example_report:_published_artifact_href.
152 | 153 | def _published_artifact_href(site_url: str, artifact_name: str) -> str: 154 | if artifact_name not in _ARTIFACT_NAMES: 155 | msg = f"unsupported sample-report artifact: {artifact_name}" 156 | raise ValueError(msg) 157 | parsed = urlparse(site_url) 158 | if not parsed.scheme or not parsed.netloc: 159 | msg = f"project.site_url must be an absolute URL, got {site_url!r}" 156 | raise ValueError(msg) 157 | parsed = urlparse(site_url) 158 | if not parsed.scheme or not parsed.netloc: 159 | msg = f"project.site_url must be an absolute URL, got {site_url!r}" 160 | raise ValueError(msg) 161 | base_path = parsed.path.rstrip("/") 162 | artifact_path = f"{base_path}/examples/report/live/{artifact_name}" 163 | return f"{parsed.scheme}://{parsed.netloc}{artifact_path}"