Generated: 2025-12-31 22:15:07
| Function | File | Complexity | Nesting Depth | Risk |
|---|---|---|---|---|
| FileProcessor.read_file_safely | crackerjack/code_cleaner.py | 15 | 5 | medium |
| SecurityService.create_secure_token_file | crackerjack/services/security.py | 14 | 4 | medium |
| AsyncTimeoutManager.with_timeout | crackerjack/core/timeout_manager.py | 14 | 3 | medium |
| FileIOService.read_text_file_sync | crackerjack/services/file_io_service.py | 14 | 2 | medium |
| FileIOService.read_text_file | crackerjack/services/file_io_service.py | 14 | 2 | medium |
| main | crackerjack/tools/check_added_large_files.py | 13 | 2 | medium |
| ValidatedPattern._validate | crackerjack/services/patterns/core.py | 13 | 3 | medium |
| SecureSubprocessExecutor.execute_secure | crackerjack/services/secure_subprocess.py | 13 | 2 | medium |
| FileSystemService.get_file_size | crackerjack/services/filesystem.py | 13 | 2 | medium |
| PipAuditAdapter.build_command | crackerjack/adapters/dependency/pip_audit.py | 13 | 3 | medium |
Showing top 10 of 728 functions
✓ No dead code detected
Code fragments grouped by similarity
| File | Lines | Size |
|---|---|---|
| crackerjack/tools/check_ast.py | 48-101 | 54 lines |
| crackerjack/tools/check_json.py | 46-99 | 54 lines |
| crackerjack/tools/check_toml.py | 46-99 | 54 lines |
| crackerjack/tools/check_yaml.py | 47-106 | 60 lines |
| crackerjack/tools/format_json.py | 66-124 | 59 lines |
| File | Lines | Size |
|---|---|---|
| crackerjack/adapters/sast/pyscn.py | 60-400 | 341 lines |
| crackerjack/adapters/type/pyrefly.py | 57-396 | 340 lines |
| crackerjack/adapters/type/ty.py | 57-396 | 340 lines |
| File | Lines | Size |
|---|---|---|
| crackerjack/services/ai/predictive_analytics.py | 60-74 | 15 lines |
| crackerjack/services/ai/predictive_analytics.py | 113-134 | 22 lines |
| crackerjack/services/predictive_analytics.py | 63-77 | 15 lines |
| crackerjack/services/predictive_analytics.py | 116-137 | 22 lines |
| File | Lines | Size |
|---|---|---|
| crackerjack/core/retry.py | 122-164 | 43 lines |
| crackerjack/core/retry.py | 167-209 | 43 lines |
| crackerjack/utils/retry_utils.py | 122-164 | 43 lines |
| crackerjack/utils/retry_utils.py | 167-209 | 43 lines |
| File | Lines | Size |
|---|---|---|
| crackerjack/models/config.py | 179-190 | 12 lines |
| crackerjack/models/config.py | 212-223 | 12 lines |
| crackerjack/models/pydantic_models.py | 142-153 | 12 lines |
| crackerjack/models/pydantic_models.py | 170-181 | 12 lines |
| File | Lines | Size |
|---|---|---|
| crackerjack/services/anomaly_detector.py | 164-208 | 45 lines |
| crackerjack/services/changelog_automation.py | 69-106 | 38 lines |
| crackerjack/services/quality/anomaly_detector.py | 164-208 | 45 lines |
| File | Lines | Size |
|---|---|---|
| crackerjack/adapters/dependency/pip_audit.py | 286-324 | 39 lines |
| crackerjack/adapters/sast/bandit.py | 200-282 | 83 lines |
| crackerjack/adapters/sast/pyscn.py | 196-263 | 68 lines |
| crackerjack/adapters/sast/semgrep.py | 125-171 | 47 lines |
| crackerjack/adapters/security/gitleaks.py | 207-298 | 92 lines |
| crackerjack/adapters/type/pyrefly.py | 187-259 | 73 lines |
| crackerjack/adapters/type/ty.py | 187-259 | 73 lines |
| File | Lines | Size |
|---|---|---|
| crackerjack/services/pattern_detector.py | 108-150 | 43 lines |
| crackerjack/services/pattern_detector.py | 184-237 | 54 lines |
| crackerjack/services/pattern_detector.py | 276-323 | 48 lines |
| crackerjack/services/pattern_detector.py | 325-380 | 56 lines |
| crackerjack/services/quality/pattern_detector.py | 109-151 | 43 lines |
| crackerjack/services/quality/pattern_detector.py | 185-238 | 54 lines |
| crackerjack/services/quality/pattern_detector.py | 277-324 | 48 lines |
| crackerjack/services/quality/pattern_detector.py | 326-381 | 56 lines |
| File | Lines | Size |
|---|---|---|
| crackerjack/agents/dry_agent.py | 444-486 | 43 lines |
| crackerjack/agents/performance_agent.py | 224-272 | 49 lines |
| crackerjack/agents/refactoring_agent.py | 445-495 | 51 lines |
| File | Lines | Size |
|---|---|---|
| crackerjack/core/performance_monitor.py | 107-120 | 14 lines |
| crackerjack/core/performance_monitor.py | 122-135 | 14 lines |
| crackerjack/core/performance_monitor.py | 137-161 | 25 lines |
Showing top 10 of 37 clone groups
Coupling Between Objects (CBO) metrics
| Class | File | CBO | Risk Level | Dependent Classes |
|---|---|---|---|---|
| CrackerjackSettings | crackerjack/config/settings.py | 15 | high | PublishSettings, ProgressSettings, AdvancedSettings, ZubanLSPSettings, HookSettings, GlobalLockSettings, CleaningSettings, ExecutionSettings, TestSettings, GitSettings, AISettings, CleanupSettings, MCPServerSettings, Settings, ConsoleSettings |
| WorkflowOptions | crackerjack/models/pydantic_models.py | 13 | high | ExecutionConfig, CleanupConfig, CleaningConfig, HookConfig, PublishConfig, AIConfig, ProgressConfig, AdvancedConfig, MCPServerConfig, ZubanLSPConfig, BaseModel, TestConfig, GitConfig |
| WorkflowOptions | crackerjack/models/config.py | 13 | high | GitConfig, AIConfig, AdvancedConfig, MCPServerConfig, PublishConfig, ExecutionConfig, ProgressConfig, CleanupConfig, ZubanLSPConfig, Any, CleaningConfig, HookConfig, TestConfig |
| CodeCleaner | crackerjack/code_cleaner.py | 9 | medium | PackageCleaningResult, WhitespaceStep, BaseModel, BackupMetadata, CleaningErrorHandler, FormattingStep, CleaningResult, FileProcessor, CleaningPipeline |
| PredictiveAnalyticsEngine | crackerjack/services/ai/predictive_analytics.py | 8 | medium | TrendAnalysis, Prediction, MovingAveragePredictor, CapacityForecast, PredictorProtocol, LinearTrendPredictor, SeasonalPredictor, datetime |
| PredictiveAnalyticsEngine | crackerjack/services/predictive_analytics.py | 7 | medium | LinearTrendPredictor, SeasonalPredictor, CapacityForecast, datetime, TrendAnalysis, Prediction, MovingAveragePredictor |
| QAResult | crackerjack/models/qa_results.py | 7 | medium | datetime, Any, BaseModel, UUID, QACheckType, QAResultStatus, Path |
| EnhancedQualityBaselineService | crackerjack/services/quality/quality_baseline_enhanced.py | 7 | medium | QualityReport, UnifiedMetrics, SystemHealthStatus, DashboardState, QualityBaselineService, QualityAlert, QualityTrend |
| PatternDetector | crackerjack/services/pattern_detector.py | 6 | medium | PerformanceVisitor, SecurityVisitor, ImportVisitor, AntiPatternConfig, ComplexityVisitor, AntiPattern |
| ResourceContext | crackerjack/core/resource_manager.py | 6 | medium | ManagedTemporaryFile, ManagedTemporaryDirectory, ManagedProcess, ManagedTask, ManagedFileHandle, ResourceManager |
Showing top 10 of 453 classes
Project-wide module dependency graph metrics
All modules have acyclic dependency relationships.
| # | Depth | Path |
|---|---|---|
| 1 | 8 | crackerjack.core.async_workflow_orchestrator → crackerjack.core.phase_coordinator → crackerjack.managers.test_manager → crackerjack.services.lsp_client → crackerjack.services.server_manager → crackerjack.services.secure_subprocess → crackerjack.services.security_logger → crackerjack.services.logging |
| 2 | 7 | crackerjack.__main__ → crackerjack.cli.handlers.main_handlers → crackerjack.cli.facade → crackerjack.core.workflow_orchestrator → crackerjack.core.phase_coordinator → crackerjack.services.filesystem → crackerjack.errors |
| 3 | 7 | crackerjack.adapters.lsp._manager → crackerjack.adapters.lsp.zuban → crackerjack.services.lsp_client → crackerjack.services.server_manager → crackerjack.services.secure_subprocess → crackerjack.services.security_logger → crackerjack.services.logging |
| 4 | 7 | crackerjack.cli.facade → crackerjack.core.workflow_orchestrator → crackerjack.core.phase_coordinator → crackerjack.code_cleaner → crackerjack.services.backup_service → crackerjack.services.secure_path_utils → crackerjack.errors |
| 5 | 7 | crackerjack.cli.handlers → crackerjack.mcp.server → crackerjack.mcp.server_core → crackerjack.mcp.context → crackerjack.services.regex_patterns → crackerjack.decorators.patterns → crackerjack.errors |
| 6 | 7 | crackerjack.cli.handlers → crackerjack.mcp.server → crackerjack.mcp.server_core → crackerjack.mcp.context → crackerjack.services.regex_patterns → crackerjack.decorators.patterns → crackerjack.mcp.cache |
| 7 | 7 | crackerjack.cli.handlers → crackerjack.mcp.server → crackerjack.mcp.server_core → crackerjack.mcp.context → crackerjack.services.regex_patterns → crackerjack.decorators.patterns → crackerjack.decorators.helpers |
| 8 | 7 | crackerjack.cli.handlers.documentation → crackerjack.services.documentation_service → crackerjack.services.documentation_generator → crackerjack.core.console → crackerjack.models.protocols → crackerjack.config.hooks → crackerjack.config.tool_commands |
| 9 | 7 | crackerjack.core.async_workflow_orchestrator → crackerjack.core.phase_coordinator → crackerjack.managers.test_manager → crackerjack.services.lsp_client → crackerjack.services.server_manager → crackerjack.services.security_logger → crackerjack.services.logging |
| 10 | 7 | crackerjack.core.async_workflow_orchestrator → crackerjack.core.phase_coordinator → crackerjack.managers.test_manager → crackerjack.services.lsp_client → crackerjack.services.server_manager → crackerjack.services.secure_subprocess → crackerjack.services.security_logger |
| Severity | Rule | From | To |
|---|---|---|---|
| error | domain !> application | crackerjack.models.config | crackerjack.config.settings |
| error | domain !> application | crackerjack.models.config | crackerjack.config |
| error | domain !> application | crackerjack.models.protocols | crackerjack.config.hooks |
| error | domain !> application | crackerjack.models.protocols | crackerjack.config.settings |