crackerjack 0.31.10__tar.gz → 0.31.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of crackerjack might be problematic. Click here for more details.

Files changed (379) hide show
  1. crackerjack-0.31.12/.gitignore +102 -0
  2. {crackerjack-0.31.10/crackerjack → crackerjack-0.31.12}/.pre-commit-config.yaml +11 -9
  3. crackerjack-0.31.12/AGENT-CAPABILITIES.json +431 -0
  4. crackerjack-0.31.12/AI-REFERENCE.md +371 -0
  5. {crackerjack-0.31.10 → crackerjack-0.31.12}/CHANGELOG.md +46 -76
  6. crackerjack-0.31.12/CLAUDE.md +588 -0
  7. crackerjack-0.31.12/ERROR-PATTERNS.yaml +382 -0
  8. crackerjack-0.31.12/PERFORMANCE_AGENT_ENHANCEMENTS.md +234 -0
  9. {crackerjack-0.31.10 → crackerjack-0.31.12}/PKG-INFO +197 -12
  10. crackerjack-0.31.12/QWEN.md +270 -0
  11. {crackerjack-0.31.10 → crackerjack-0.31.12}/README.md +196 -11
  12. crackerjack-0.31.12/REFACTORING_AGENT_ENHANCEMENTS.md +183 -0
  13. crackerjack-0.31.12/SECURITY.md +432 -0
  14. crackerjack-0.31.12/complexipy.csv +3702 -0
  15. crackerjack-0.31.12/crackerjack/.gitignore +102 -0
  16. {crackerjack-0.31.10 → crackerjack-0.31.12/crackerjack}/.pre-commit-config.yaml +11 -9
  17. crackerjack-0.31.12/crackerjack/CLAUDE.md +588 -0
  18. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/__main__.py +22 -8
  19. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/agents/__init__.py +0 -3
  20. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/agents/architect_agent.py +0 -43
  21. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/agents/base.py +1 -9
  22. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/agents/coordinator.py +2 -148
  23. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/agents/documentation_agent.py +109 -81
  24. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/agents/dry_agent.py +122 -97
  25. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/agents/formatting_agent.py +3 -16
  26. crackerjack-0.31.12/crackerjack/agents/import_optimization_agent.py +1325 -0
  27. crackerjack-0.31.12/crackerjack/agents/performance_agent.py +1437 -0
  28. crackerjack-0.31.12/crackerjack/agents/performance_helpers.py +229 -0
  29. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/agents/proactive_agent.py +1 -48
  30. crackerjack-0.31.12/crackerjack/agents/refactoring_agent.py +1058 -0
  31. crackerjack-0.31.12/crackerjack/agents/refactoring_helpers.py +282 -0
  32. crackerjack-0.31.12/crackerjack/agents/security_agent.py +832 -0
  33. crackerjack-0.31.12/crackerjack/agents/test_creation_agent.py +2313 -0
  34. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/agents/test_specialist_agent.py +59 -15
  35. crackerjack-0.31.12/crackerjack/agents/tracker.py +110 -0
  36. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/api.py +145 -37
  37. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/cli/handlers.py +48 -30
  38. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/cli/interactive.py +11 -11
  39. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/cli/options.py +66 -4
  40. crackerjack-0.31.12/crackerjack/code_cleaner.py +1330 -0
  41. crackerjack-0.31.12/crackerjack/config/global_lock_config.py +110 -0
  42. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/config/hooks.py +43 -64
  43. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/core/async_workflow_orchestrator.py +247 -97
  44. crackerjack-0.31.12/crackerjack/core/autofix_coordinator.py +283 -0
  45. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/core/enhanced_container.py +46 -63
  46. crackerjack-0.31.12/crackerjack/core/file_lifecycle.py +549 -0
  47. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/core/performance.py +9 -8
  48. crackerjack-0.31.12/crackerjack/core/performance_monitor.py +395 -0
  49. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/core/phase_coordinator.py +281 -94
  50. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/core/proactive_workflow.py +9 -58
  51. crackerjack-0.31.12/crackerjack/core/resource_manager.py +501 -0
  52. crackerjack-0.31.12/crackerjack/core/service_watchdog.py +490 -0
  53. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/core/session_coordinator.py +4 -8
  54. crackerjack-0.31.12/crackerjack/core/timeout_manager.py +504 -0
  55. crackerjack-0.31.12/crackerjack/core/websocket_lifecycle.py +475 -0
  56. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/core/workflow_orchestrator.py +343 -209
  57. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/dynamic_config.py +47 -6
  58. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/errors.py +3 -4
  59. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/executors/async_hook_executor.py +63 -13
  60. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/executors/cached_hook_executor.py +14 -14
  61. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/executors/hook_executor.py +100 -37
  62. crackerjack-0.31.12/crackerjack/executors/hook_lock_manager.py +856 -0
  63. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/executors/individual_hook_executor.py +120 -86
  64. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/intelligence/__init__.py +0 -7
  65. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/intelligence/adaptive_learning.py +13 -86
  66. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/intelligence/agent_orchestrator.py +15 -78
  67. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/intelligence/agent_registry.py +12 -59
  68. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/intelligence/agent_selector.py +31 -92
  69. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/intelligence/integration.py +1 -41
  70. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/interactive.py +9 -9
  71. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/managers/async_hook_manager.py +25 -8
  72. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/managers/hook_manager.py +9 -9
  73. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/managers/publish_manager.py +57 -59
  74. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/managers/test_command_builder.py +6 -36
  75. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/managers/test_executor.py +9 -61
  76. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/managers/test_manager.py +17 -63
  77. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/managers/test_manager_backup.py +77 -127
  78. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/managers/test_progress.py +4 -23
  79. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/cache.py +5 -12
  80. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/client_runner.py +10 -10
  81. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/context.py +64 -6
  82. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/dashboard.py +14 -11
  83. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/enhanced_progress_monitor.py +55 -55
  84. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/file_monitor.py +72 -42
  85. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/progress_components.py +103 -84
  86. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/progress_monitor.py +122 -49
  87. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/rate_limiter.py +12 -12
  88. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/server_core.py +16 -22
  89. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/service_watchdog.py +26 -26
  90. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/state.py +15 -0
  91. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/core_tools.py +95 -39
  92. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/error_analyzer.py +6 -32
  93. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/execution_tools.py +1 -56
  94. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/execution_tools_backup.py +35 -131
  95. crackerjack-0.31.12/crackerjack/mcp/tools/intelligence_tool_registry.py +44 -0
  96. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/intelligence_tools.py +2 -55
  97. crackerjack-0.31.12/crackerjack/mcp/tools/monitoring_tools.py +665 -0
  98. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/proactive_tools.py +12 -42
  99. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/progress_tools.py +23 -15
  100. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/utility_tools.py +3 -40
  101. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/workflow_executor.py +40 -60
  102. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/websocket/app.py +0 -3
  103. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/websocket/endpoints.py +206 -268
  104. crackerjack-0.31.12/crackerjack/mcp/websocket/jobs.py +400 -0
  105. crackerjack-0.31.12/crackerjack/mcp/websocket/server.py +194 -0
  106. crackerjack-0.31.12/crackerjack/mcp/websocket/websocket_handler.py +186 -0
  107. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/models/config_adapter.py +3 -16
  108. crackerjack-0.31.12/crackerjack/models/protocols.py +277 -0
  109. crackerjack-0.31.12/crackerjack/models/resource_protocols.py +454 -0
  110. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/models/task.py +3 -3
  111. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/monitoring/ai_agent_watchdog.py +25 -71
  112. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/monitoring/regression_prevention.py +28 -87
  113. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/orchestration/advanced_orchestrator.py +44 -78
  114. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/orchestration/coverage_improvement.py +10 -60
  115. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/orchestration/execution_strategies.py +16 -16
  116. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/orchestration/test_progress_streamer.py +61 -53
  117. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/plugins/base.py +1 -1
  118. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/plugins/managers.py +22 -20
  119. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/py313.py +65 -21
  120. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/pyproject.toml +4 -1
  121. crackerjack-0.31.12/crackerjack/services/backup_service.py +467 -0
  122. crackerjack-0.31.12/crackerjack/services/bounded_status_operations.py +627 -0
  123. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/cache.py +7 -9
  124. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/config.py +35 -52
  125. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/config_integrity.py +5 -16
  126. crackerjack-0.31.12/crackerjack/services/config_merge.py +542 -0
  127. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/contextual_ai_assistant.py +17 -19
  128. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/coverage_ratchet.py +44 -73
  129. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/debug.py +25 -39
  130. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/dependency_monitor.py +52 -50
  131. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/enhanced_filesystem.py +14 -11
  132. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/file_hasher.py +1 -1
  133. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/filesystem.py +1 -12
  134. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/git.py +71 -47
  135. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/health_metrics.py +31 -27
  136. crackerjack-0.31.12/crackerjack/services/initialization.py +770 -0
  137. crackerjack-0.31.12/crackerjack/services/input_validator.py +760 -0
  138. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/log_manager.py +16 -16
  139. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/logging.py +7 -6
  140. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/metrics.py +43 -43
  141. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/pattern_cache.py +2 -31
  142. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/pattern_detector.py +26 -63
  143. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/performance_benchmarks.py +20 -45
  144. crackerjack-0.31.12/crackerjack/services/regex_patterns.py +2887 -0
  145. crackerjack-0.31.12/crackerjack/services/regex_utils.py +537 -0
  146. crackerjack-0.31.12/crackerjack/services/secure_path_utils.py +683 -0
  147. crackerjack-0.31.12/crackerjack/services/secure_status_formatter.py +534 -0
  148. crackerjack-0.31.12/crackerjack/services/secure_subprocess.py +605 -0
  149. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/security.py +47 -10
  150. crackerjack-0.31.12/crackerjack/services/security_logger.py +492 -0
  151. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/server_manager.py +109 -50
  152. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/smart_scheduling.py +8 -25
  153. crackerjack-0.31.12/crackerjack/services/status_authentication.py +603 -0
  154. crackerjack-0.31.12/crackerjack/services/status_security_manager.py +442 -0
  155. crackerjack-0.31.12/crackerjack/services/thread_safe_status_collector.py +546 -0
  156. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/tool_version_service.py +1 -23
  157. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/unified_config.py +36 -58
  158. crackerjack-0.31.12/crackerjack/services/validation_rate_limiter.py +269 -0
  159. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/version_checker.py +9 -40
  160. crackerjack-0.31.12/crackerjack/services/websocket_resource_limiter.py +572 -0
  161. crackerjack-0.31.12/crackerjack/slash_commands/__init__.py +64 -0
  162. crackerjack-0.31.12/crackerjack/tools/validate_input_validator_patterns.py +262 -0
  163. crackerjack-0.31.12/crackerjack/tools/validate_regex_patterns.py +198 -0
  164. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/uv.lock +102 -152
  165. crackerjack-0.31.12/docs/BACKUP_SYSTEM.md +295 -0
  166. crackerjack-0.31.12/docs/DASHBOARD_ARCHITECTURE.md +759 -0
  167. {crackerjack-0.31.10 → crackerjack-0.31.12}/docs/FUTURE-ENHANCEMENTS.md +0 -48
  168. crackerjack-0.31.12/docs/MCP_INTEGRATION.md +441 -0
  169. crackerjack-0.31.12/docs/MONITORING_INTEGRATION.md +1170 -0
  170. crackerjack-0.31.12/docs/RESOURCE_CLEANUP_IMPLEMENTATION.md +308 -0
  171. crackerjack-0.31.12/docs/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +266 -0
  172. crackerjack-0.31.12/docs/security/SECURITY_AUDIT_REPORT.md +739 -0
  173. crackerjack-0.31.12/docs/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +403 -0
  174. crackerjack-0.31.12/docs/security/SECURITY_HARDENING_REPORT.md +185 -0
  175. crackerjack-0.31.12/docs/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +245 -0
  176. crackerjack-0.31.12/feature-implementation-optimization.md +152 -0
  177. crackerjack-0.31.12/feature-implementation-plan.md +7927 -0
  178. {crackerjack-0.31.10 → crackerjack-0.31.12}/pyproject.toml +4 -1
  179. crackerjack-0.31.12/scripts/integrate_resource_management.py +428 -0
  180. crackerjack-0.31.12/scripts/performance_benchmark.py +197 -0
  181. crackerjack-0.31.12/test-implementation-plan.md +643 -0
  182. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/conftest.py +8 -97
  183. crackerjack-0.31.12/tests/data/__init__.py +0 -0
  184. crackerjack-0.31.12/tests/data/comments_sample.txt +0 -0
  185. crackerjack-0.31.12/tests/data/docstrings_sample.txt +0 -0
  186. crackerjack-0.31.12/tests/data/expected_comments_sample.txt +0 -0
  187. crackerjack-0.31.12/tests/scripts/__init__.py +0 -0
  188. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/scripts/agent_audit_report.py +9 -69
  189. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/scripts/run_test_suite.py +84 -98
  190. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test___main__.py +0 -6
  191. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_ai_agent_workflow.py +13 -13
  192. crackerjack-0.31.12/tests/test_cli/__init__.py +1 -0
  193. crackerjack-0.31.12/tests/test_cli/test_global_lock_options.py +687 -0
  194. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_core_autofix_coordinator.py +10 -67
  195. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_core_coverage.py +8 -72
  196. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_core_enhanced_container.py +8 -125
  197. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_core_modules.py +2 -17
  198. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_documentation_agent.py +13 -43
  199. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_documentation_agent_simple.py +8 -21
  200. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_dynamic_config.py +8 -17
  201. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_dynamic_config_coverage.py +17 -17
  202. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_enhanced_filesystem_comprehensive.py +11 -87
  203. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_enhanced_filesystem_coverage.py +1 -45
  204. crackerjack-0.31.12/tests/test_executors/__init__.py +1 -0
  205. crackerjack-0.31.12/tests/test_executors/test_lock_integration.py +689 -0
  206. crackerjack-0.31.12/tests/test_global_lock_config.py +437 -0
  207. crackerjack-0.31.12/tests/test_hook_lock_manager.py +896 -0
  208. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_import_coverage_consolidated.py +0 -73
  209. crackerjack-0.31.12/tests/test_import_optimization_agent.py +343 -0
  210. crackerjack-0.31.12/tests/test_input_validation.py +550 -0
  211. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_intelligence_system.py +5 -42
  212. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_large_modules_coverage.py +1 -28
  213. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_main_module.py +11 -73
  214. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_managers_consolidated.py +16 -86
  215. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_mcp_progress_monitor.py +13 -63
  216. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_mcp_server.py +0 -12
  217. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_models_comprehensive.py +7 -7
  218. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_models_config_adapter_coverage.py +30 -96
  219. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_models_focused.py +17 -73
  220. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_models_task_coverage.py +21 -21
  221. crackerjack-0.31.12/tests/test_performance_agent.py +131 -0
  222. crackerjack-0.31.12/tests/test_performance_agent_enhanced.py +571 -0
  223. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_performance_agent_simple.py +7 -20
  224. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_performance_benchmarks_focused.py +44 -133
  225. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_phase_coordinator_simple.py +43 -17
  226. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_plugins_coverage.py +35 -47
  227. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_proactive_agent_system.py +14 -203
  228. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_protocol_compliance.py +30 -113
  229. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_publish_manager_coverage.py +4 -4
  230. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_py313_coverage.py +10 -10
  231. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_refactoring_agent.py +1 -1
  232. crackerjack-0.31.12/tests/test_regex_patterns.py +749 -0
  233. crackerjack-0.31.12/tests/test_resource_cleanup_integration.py +609 -0
  234. crackerjack-0.31.12/tests/test_secure_path_utils.py +176 -0
  235. crackerjack-0.31.12/tests/test_secure_status_formatter.py +283 -0
  236. crackerjack-0.31.12/tests/test_security_hardening.py +478 -0
  237. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_services_coverage.py +1 -35
  238. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_session_coordinator.py +5 -12
  239. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_session_coordinator_coverage.py +13 -13
  240. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_simple_tool_version_service.py +3 -162
  241. crackerjack-0.31.12/tests/test_stage_workflow_execution_order.py +471 -0
  242. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_structured_errors.py +3 -3
  243. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_terminal_restoration.py +0 -2
  244. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_terminal_state.py +0 -2
  245. crackerjack-0.31.12/tests/test_timeout_system.py +479 -0
  246. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_unified_config.py +4 -6
  247. crackerjack-0.31.12/tests/test_websocket_endpoints.py +131 -0
  248. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_workflow_integration.py +1 -1
  249. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_workflow_orchestrator.py +0 -12
  250. crackerjack-0.31.12/tools/validate_regex_patterns_standalone.py +227 -0
  251. {crackerjack-0.31.10 → crackerjack-0.31.12}/uv.lock +102 -152
  252. crackerjack-0.31.10/.gitignore +0 -44
  253. crackerjack-0.31.10/CLAUDE.md +0 -1005
  254. crackerjack-0.31.10/crackerjack/.gitignore +0 -44
  255. crackerjack-0.31.10/crackerjack/CLAUDE.md +0 -1005
  256. crackerjack-0.31.10/crackerjack/agents/import_optimization_agent.py +0 -281
  257. crackerjack-0.31.10/crackerjack/agents/performance_agent.py +0 -669
  258. crackerjack-0.31.10/crackerjack/agents/refactoring_agent.py +0 -788
  259. crackerjack-0.31.10/crackerjack/agents/security_agent.py +0 -529
  260. crackerjack-0.31.10/crackerjack/agents/test_creation_agent.py +0 -657
  261. crackerjack-0.31.10/crackerjack/agents/tracker.py +0 -212
  262. crackerjack-0.31.10/crackerjack/cli/facade.py +0 -104
  263. crackerjack-0.31.10/crackerjack/code_cleaner.py +0 -670
  264. crackerjack-0.31.10/crackerjack/core/autofix_coordinator.py +0 -200
  265. crackerjack-0.31.10/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -80
  266. crackerjack-0.31.10/crackerjack/mcp/tools/monitoring_tools.py +0 -502
  267. crackerjack-0.31.10/crackerjack/mcp/websocket/jobs.py +0 -253
  268. crackerjack-0.31.10/crackerjack/mcp/websocket/server.py +0 -116
  269. crackerjack-0.31.10/crackerjack/mcp/websocket/websocket_handler.py +0 -78
  270. crackerjack-0.31.10/crackerjack/models/protocols.py +0 -118
  271. crackerjack-0.31.10/crackerjack/services/initialization.py +0 -922
  272. crackerjack-0.31.10/crackerjack/slash_commands/__init__.py +0 -14
  273. crackerjack-0.31.10/tests/scripts/__init__.py +0 -4
  274. crackerjack-0.31.10/tests/test_advanced_orchestrator_strategic.py +0 -1026
  275. crackerjack-0.31.10/tests/test_ai_agent_comprehensive.py +0 -465
  276. crackerjack-0.31.10/tests/test_cli_strategic.py +0 -68
  277. crackerjack-0.31.10/tests/test_code_cleaner.py +0 -816
  278. crackerjack-0.31.10/tests/test_contextual_ai_assistant_strategic.py +0 -1146
  279. crackerjack-0.31.10/tests/test_core_additional_strategic.py +0 -44
  280. crackerjack-0.31.10/tests/test_core_strategic.py +0 -32
  281. crackerjack-0.31.10/tests/test_core_strategic_coverage.py +0 -403
  282. crackerjack-0.31.10/tests/test_core_workflow_orchestration_deep_quality.py +0 -755
  283. crackerjack-0.31.10/tests/test_dependency_monitor_strategic.py +0 -1044
  284. crackerjack-0.31.10/tests/test_enhanced_filesystem_integration.py +0 -151
  285. crackerjack-0.31.10/tests/test_enhanced_filesystem_strategic.py +0 -511
  286. crackerjack-0.31.10/tests/test_health_metrics_strategic.py +0 -1218
  287. crackerjack-0.31.10/tests/test_import_optimization_agent.py +0 -192
  288. crackerjack-0.31.10/tests/test_managers_strategic_coverage.py +0 -265
  289. crackerjack-0.31.10/tests/test_mcp_additional_strategic.py +0 -32
  290. crackerjack-0.31.10/tests/test_mcp_core_strategic.py +0 -1419
  291. crackerjack-0.31.10/tests/test_mcp_progress_strategic.py +0 -91
  292. crackerjack-0.31.10/tests/test_mcp_strategic.py +0 -171
  293. crackerjack-0.31.10/tests/test_mcp_websocket_lifecycle_deep_quality.py +0 -681
  294. crackerjack-0.31.10/tests/test_models_strategic.py +0 -32
  295. crackerjack-0.31.10/tests/test_orchestration_advanced_strategic.py +0 -858
  296. crackerjack-0.31.10/tests/test_orchestration_strategic.py +0 -36
  297. crackerjack-0.31.10/tests/test_performance_agent.py +0 -276
  298. crackerjack-0.31.10/tests/test_performance_benchmarks_strategic.py +0 -1526
  299. crackerjack-0.31.10/tests/test_plugins_base_strategic.py +0 -898
  300. crackerjack-0.31.10/tests/test_plugins_comprehensive.py +0 -1716
  301. crackerjack-0.31.10/tests/test_plugins_strategic.py +0 -59
  302. crackerjack-0.31.10/tests/test_plugins_system_strategic.py +0 -1459
  303. crackerjack-0.31.10/tests/test_server_manager_strategic.py +0 -574
  304. crackerjack-0.31.10/tests/test_services_strategic.py +0 -84
  305. crackerjack-0.31.10/tests/test_tool_version_service_advanced.py +0 -415
  306. crackerjack-0.31.10/tests/test_tool_version_service_business_logic.py +0 -637
  307. crackerjack-0.31.10/tests/test_tool_version_service_coverage.py +0 -260
  308. crackerjack-0.31.10/tests/test_tool_version_service_deep_coverage.py +0 -468
  309. crackerjack-0.31.10/tests/test_tool_version_service_functional.py +0 -385
  310. crackerjack-0.31.10/tests/test_tool_version_service_simple_working.py +0 -369
  311. crackerjack-0.31.10/tests/test_tool_version_service_strategic.py +0 -880
  312. crackerjack-0.31.10/tools.yaml +0 -48
  313. {crackerjack-0.31.10 → crackerjack-0.31.12}/.github/FUNDING.yml +0 -0
  314. {crackerjack-0.31.10 → crackerjack-0.31.12}/AGENTS.md +0 -0
  315. {crackerjack-0.31.10 → crackerjack-0.31.12}/AI-AGENT-RULES.md +0 -0
  316. {crackerjack-0.31.10 → crackerjack-0.31.12}/LICENSE +0 -0
  317. {crackerjack-0.31.10 → crackerjack-0.31.12}/README-AI-AGENT.md +0 -0
  318. {crackerjack-0.31.10 → crackerjack-0.31.12}/RULES.md +0 -0
  319. {crackerjack-0.31.10 → crackerjack-0.31.12}/UVXUSAGE.md +0 -0
  320. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/RULES.md +0 -0
  321. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/__init__.py +0 -0
  322. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/cli/__init__.py +0 -0
  323. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/cli/utils.py +0 -0
  324. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/config/__init__.py +0 -0
  325. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/core/__init__.py +0 -0
  326. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/core/container.py +0 -0
  327. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/example.mcp.json +0 -0
  328. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/executors/__init__.py +0 -0
  329. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/managers/__init__.py +0 -0
  330. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/__init__.py +0 -0
  331. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
  332. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/progress_monitor.tcss +0 -0
  333. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/server.py +0 -0
  334. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/task_manager.py +0 -0
  335. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/__init__.py +0 -0
  336. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
  337. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/websocket/__init__.py +0 -0
  338. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/mcp/websocket_server.py +0 -0
  339. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/models/__init__.py +0 -0
  340. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/models/config.py +0 -0
  341. {crackerjack-0.31.10/crackerjack/orchestration → crackerjack-0.31.12/crackerjack/monitoring}/__init__.py +0 -0
  342. {crackerjack-0.31.10/tests → crackerjack-0.31.12/crackerjack/orchestration}/__init__.py +0 -0
  343. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/plugins/__init__.py +0 -0
  344. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/plugins/hooks.py +0 -0
  345. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/plugins/loader.py +0 -0
  346. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/services/__init__.py +0 -0
  347. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/slash_commands/init.md +0 -0
  348. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/slash_commands/run.md +0 -0
  349. {crackerjack-0.31.10 → crackerjack-0.31.12}/crackerjack/slash_commands/status.md +0 -0
  350. /crackerjack-0.31.10/excalidraw.log → /crackerjack-0.31.12/crackerjack/tools/__init__.py +0 -0
  351. {crackerjack-0.31.10 → crackerjack-0.31.12/crackerjack/tools}/fix_terminal.sh +0 -0
  352. {crackerjack-0.31.10 → crackerjack-0.31.12}/docs/AI_AGENT_DEBUGGING.md +0 -0
  353. {crackerjack-0.31.10 → crackerjack-0.31.12}/docs/API_REFERENCE.md +0 -0
  354. {crackerjack-0.31.10 → crackerjack-0.31.12}/docs/ARCHITECTURE.md +0 -0
  355. {crackerjack-0.31.10 → crackerjack-0.31.12}/docs/SUB_AGENT_MONITORING_DESIGN.md +0 -0
  356. {crackerjack-0.31.10 → crackerjack-0.31.12}/docs/VERIFICATION_WORKFLOW.md +0 -0
  357. {crackerjack-0.31.10 → crackerjack-0.31.12}/docs/WORKFLOW_KNOWLEDGE_BASE.md +0 -0
  358. {crackerjack-0.31.10 → crackerjack-0.31.12}/example.mcp.json +0 -0
  359. /crackerjack-0.31.10/tests/.coverage → /crackerjack-0.31.12/excalidraw.log +0 -0
  360. {crackerjack-0.31.10 → crackerjack-0.31.12}/requirements.txt +0 -0
  361. /crackerjack-0.31.10/tests/TESTING.md → /crackerjack-0.31.12/scripts/__init__.py +0 -0
  362. /crackerjack-0.31.10/tests/data/comments_sample.txt → /crackerjack-0.31.12/tests/.coverage +0 -0
  363. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
  364. /crackerjack-0.31.10/tests/data/docstrings_sample.txt → /crackerjack-0.31.12/tests/TESTING.md +0 -0
  365. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/TEST_COVERAGE_PLAN.md +0 -0
  366. /crackerjack-0.31.10/tests/data/expected_comments_sample.txt → /crackerjack-0.31.12/tests/__init__.py +0 -0
  367. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/coverage.json +0 -0
  368. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/data/init.py +0 -0
  369. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_async_hook_executor.py +0 -0
  370. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_core_comprehensive.py +0 -0
  371. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_core_performance.py +0 -0
  372. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_enhanced_filesystem.py +0 -0
  373. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_filesystem_coverage.py +0 -0
  374. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_hook_manager_simple.py +0 -0
  375. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_main_entry_coverage.py +0 -0
  376. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_modernized_code.py +0 -0
  377. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_pytest_features.py +0 -0
  378. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_structured_logging.py +0 -0
  379. {crackerjack-0.31.10 → crackerjack-0.31.12}/tests/test_unified_api.py +0 -0
@@ -0,0 +1,102 @@
1
+ /.idea
2
+ /.pdm-python
3
+ /.pdm.toml
4
+ /build/
5
+ /__pypackages__/
6
+ /dist/
7
+ /.mypy_cache/
8
+ /.ruff_cache/
9
+ /.pdm-build/
10
+ /tmp/
11
+ /.venv/
12
+ __pycache__/
13
+ /*.pyc
14
+ /scratch/
15
+ /.benchmarks/
16
+ **/.claude/settings.local.json
17
+ /complexipy.json
18
+ /coverage.json
19
+ /test-results.xml
20
+ /.coverage*
21
+ /.DS_STORE
22
+ /crackerjack-debug-*.log
23
+ /crackerjack-ai-debug-*.log
24
+ /hooks-analysis.json
25
+ /quality-metrics.json
26
+ /project-structure.json
27
+ /error-context.json
28
+ /ai-agent-summary.json
29
+ /bandit-report.json
30
+ /.autotyping-cache/
31
+ /.crackerjack-state
32
+ /.crackerjack-hooks-updated
33
+ /.crackerjack-mcp/
34
+ /.crackerjack_cache
35
+ /.envrc
36
+ /htmlcov/
37
+ /examples/
38
+ /.crackerjack/
39
+ /.claude/
40
+ .mcp.json
41
+ /tests/htmlcov/
42
+ /tests/.benchmarks/
43
+ /.hypothesis/
44
+ /crackerjack.egg-info/
45
+
46
+ # Crackerjack patterns
47
+ # Crackerjack generated files
48
+ *$py.class
49
+ **/.claude/settings.local.json
50
+ *.crackerjack.bak
51
+ *.py[cod]
52
+ .coverage.*
53
+ .crackerjack/
54
+ .mcp.json
55
+ .mypy_cache/
56
+ .pytest_cache/
57
+ .ruff_cache/
58
+ .tox/
59
+ /
60
+ /*.pyc
61
+ /.DS_STORE
62
+ /.autotyping-cache/
63
+ /.benchmarks/
64
+ /.claude/
65
+ /.coverage*
66
+ /.crackerjack-hooks-updated
67
+ /.crackerjack-mcp/
68
+ /.crackerjack-state
69
+ /.crackerjack/
70
+ /.crackerjack_cache
71
+ /.envrc
72
+ /.hypothesis/
73
+ /.idea
74
+ /.mypy_cache/
75
+ /.pdm-build/
76
+ /.pdm-python
77
+ /.pdm.toml
78
+ /.ruff_cache/
79
+ /.venv/
80
+ /__pypackages__/
81
+ /ai-agent-summary.json
82
+ /bandit-report.json
83
+ /build/
84
+ /complexipy.json
85
+ /coverage.json
86
+ /crackerjack-ai-debug-*.log
87
+ /crackerjack-debug-*.log
88
+ /crackerjack.egg-info/
89
+ /dist/
90
+ /error-context.json
91
+ /examples/
92
+ /hooks-analysis.json
93
+ /htmlcov/
94
+ /project-structure.json
95
+ /quality-metrics.json
96
+ /scratch/
97
+ /test-results.xml
98
+ /tests/.benchmarks/
99
+ /tests/htmlcov/
100
+ /tmp/
101
+ __pycache__/
102
+ crackerjack-debug-*.log
@@ -1,5 +1,12 @@
1
1
  repos:
2
- # File structure and format validators
2
+ - repo: local
3
+ hooks:
4
+ - id: validate-regex-patterns
5
+ name: validate-regex-patterns
6
+ entry: uv run python /Users/les/Projects/crackerjack/tools/validate_regex_patterns_standalone.py
7
+ language: system
8
+ files: \.py$
9
+ exclude: ^\.venv/
3
10
  - repo: https://github.com/pre-commit/pre-commit-hooks
4
11
  rev: v6.0.0
5
12
  hooks:
@@ -19,17 +26,15 @@ repos:
19
26
  name: check-added-large-files
20
27
  exclude: ^\.venv/
21
28
  - repo: https://github.com/astral-sh/uv-pre-commit
22
- rev: 0.8.14
29
+ rev: 0.8.15
23
30
  hooks:
24
31
  - id: uv-lock
25
- files: ^pyproject\.toml$
26
- # Security checks
32
+ files: ^ pyproject\.toml$
27
33
  - repo: https://github.com/gitleaks/gitleaks
28
34
  rev: v8.28.0
29
35
  hooks:
30
36
  - id: gitleaks
31
37
  exclude: uv\.lock|pyproject\.toml|tests/.*|docs/.*|.*\.md
32
- # Security checks
33
38
  - repo: https://github.com/PyCQA/bandit
34
39
  rev: 1.8.6
35
40
  hooks:
@@ -37,14 +42,12 @@ repos:
37
42
  args: ["-c", "pyproject.toml", "-r", "-ll"]
38
43
  files: ^crackerjack/.*\.py$
39
44
  stages: ["pre-push", "manual"]
40
- # Code formatting and quality
41
45
  - repo: https://github.com/codespell-project/codespell
42
46
  rev: v2.4.1
43
47
  hooks:
44
48
  - id: codespell
45
49
  exclude: ^\.venv/
46
50
  additional_dependencies: ["tomli"]
47
- # Code formatting and quality
48
51
  - repo: https://github.com/astral-sh/ruff-pre-commit
49
52
  rev: v0.12.11
50
53
  hooks:
@@ -52,7 +55,6 @@ repos:
52
55
  exclude: ^\.venv/
53
56
  - id: ruff-format
54
57
  exclude: ^\.venv/
55
- # Code formatting and quality
56
58
  - repo: https://github.com/executablebooks/mdformat
57
59
  rev: 0.7.22
58
60
  hooks:
@@ -75,7 +77,7 @@ repos:
75
77
  rev: v3.3.0
76
78
  hooks:
77
79
  - id: complexipy
78
- args: ["-d", "low"]
80
+ args: ["-d", "low", "--max-complexity-allowed", "15"]
79
81
  files: ^crackerjack/.*\.py$
80
82
  exclude: ^(\.venv/|tests/)
81
83
  stages: ["pre-push", "manual"]
@@ -0,0 +1,431 @@
1
+ {
2
+ "metadata": {
3
+ "version": "1.0.0",
4
+ "last_updated": "2025-01-06",
5
+ "description": "Structured agent capabilities for AI-optimized selection and coordination",
6
+ "total_agents": 9,
7
+ "coordination_system": "AgentCoordinator with confidence-based routing"
8
+ },
9
+ "agents": {
10
+ "DocumentationAgent": {
11
+ "confidence_level": 0.8,
12
+ "specializations": [
13
+ "changelog_generation",
14
+ "readme_updates",
15
+ "markdown_consistency",
16
+ "version_documentation",
17
+ "link_validation"
18
+ ],
19
+ "input_patterns": [
20
+ "documentation inconsistency",
21
+ "changelog.*update",
22
+ "readme.*outdated",
23
+ "markdown.*format",
24
+ "version.*bump.*document"
25
+ ],
26
+ "output_formats": [
27
+ "markdown_files",
28
+ "structured_changelog",
29
+ "version_updates"
30
+ ],
31
+ "typical_fixes": [
32
+ {
33
+ "issue": "Version mismatch in README",
34
+ "action": "Update version references across all .md files",
35
+ "confidence": 0.9
36
+ },
37
+ {
38
+ "issue": "Broken documentation links",
39
+ "action": "Validate and fix internal/external links",
40
+ "confidence": 0.8
41
+ },
42
+ {
43
+ "issue": "Inconsistent formatting",
44
+ "action": "Standardize markdown structure and syntax",
45
+ "confidence": 0.8
46
+ }
47
+ ],
48
+ "file_types": [".md", ".rst", ".txt"],
49
+ "estimated_fix_time": "2-5 minutes",
50
+ "success_rate": 0.85
51
+ },
52
+ "RefactoringAgent": {
53
+ "confidence_level": 0.9,
54
+ "specializations": [
55
+ "complexity_reduction",
56
+ "dead_code_removal",
57
+ "ast_analysis",
58
+ "method_extraction",
59
+ "import_optimization"
60
+ ],
61
+ "input_patterns": [
62
+ "cognitive complexity.*exceeds.*15",
63
+ "F401.*imported but unused",
64
+ "dead code detected",
65
+ "complex.*method.*refactor",
66
+ "duplicate.*logic"
67
+ ],
68
+ "complexity_rules": {
69
+ "max_complexity": 15,
70
+ "extraction_threshold": 20,
71
+ "nesting_penalty": true,
72
+ "boolean_chain_penalty": true
73
+ },
74
+ "typical_fixes": [
75
+ {
76
+ "issue": "Complexity 34 -> 3 (91% reduction)",
77
+ "action": "Extract helper methods, reduce nesting",
78
+ "confidence": 0.95,
79
+ "example_transformation": {
80
+ "before_lines": 45,
81
+ "after_lines": 12,
82
+ "methods_extracted": 3
83
+ }
84
+ },
85
+ {
86
+ "issue": "Unused imports cleanup",
87
+ "action": "AST analysis and safe removal",
88
+ "confidence": 0.85
89
+ },
90
+ {
91
+ "issue": "Duplicate code blocks",
92
+ "action": "Extract common utilities",
93
+ "confidence": 0.8
94
+ }
95
+ ],
96
+ "file_types": [".py"],
97
+ "tools_used": ["ast", "complexity_calculator", "usage_analyzer"],
98
+ "estimated_fix_time": "3-8 minutes",
99
+ "success_rate": 0.92
100
+ },
101
+ "PerformanceAgent": {
102
+ "confidence_level": 0.85,
103
+ "specializations": [
104
+ "o_n_squared_detection",
105
+ "string_optimization",
106
+ "memory_efficiency",
107
+ "loop_optimization",
108
+ "data_structure_choice"
109
+ ],
110
+ "input_patterns": [
111
+ "performance.*bottleneck",
112
+ "O\\(n²\\).*detected",
113
+ "string.*concatenation.*loop",
114
+ "memory.*usage.*high",
115
+ "slow.*iteration"
116
+ ],
117
+ "performance_rules": {
118
+ "detect_nested_loops": true,
119
+ "analyze_string_building": true,
120
+ "check_data_structures": true,
121
+ "memory_profiling": false
122
+ },
123
+ "typical_fixes": [
124
+ {
125
+ "issue": "O(n²) nested loop optimization",
126
+ "action": "Convert to dictionary lookup or set operations",
127
+ "confidence": 0.9,
128
+ "performance_gain": "90-95% time reduction"
129
+ },
130
+ {
131
+ "issue": "String concatenation in loop",
132
+ "action": "Use list comprehension with join()",
133
+ "confidence": 0.85,
134
+ "performance_gain": "60-80% time reduction"
135
+ },
136
+ {
137
+ "issue": "Inefficient data structure choice",
138
+ "action": "Replace list with set/dict for lookups",
139
+ "confidence": 0.8,
140
+ "performance_gain": "O(n) to O(1) lookup"
141
+ }
142
+ ],
143
+ "transforms_code": true,
144
+ "file_types": [".py"],
145
+ "estimated_fix_time": "4-10 minutes",
146
+ "success_rate": 0.88
147
+ },
148
+ "DRYAgent": {
149
+ "confidence_level": 0.8,
150
+ "specializations": [
151
+ "code_duplication_detection",
152
+ "pattern_extraction",
153
+ "utility_creation",
154
+ "common_logic_identification"
155
+ ],
156
+ "input_patterns": [
157
+ "code.*duplication.*detected",
158
+ "repeated.*logic",
159
+ "similar.*functions",
160
+ "common.*pattern.*extract"
161
+ ],
162
+ "duplication_rules": {
163
+ "min_line_similarity": 5,
164
+ "similarity_threshold": 0.8,
165
+ "extract_threshold": 3
166
+ },
167
+ "typical_fixes": [
168
+ {
169
+ "issue": "Duplicate error handling patterns",
170
+ "action": "Extract common error handler utility",
171
+ "confidence": 0.85
172
+ },
173
+ {
174
+ "issue": "Repeated validation logic",
175
+ "action": "Create reusable validator functions",
176
+ "confidence": 0.8
177
+ }
178
+ ],
179
+ "file_types": [".py"],
180
+ "estimated_fix_time": "5-12 minutes",
181
+ "success_rate": 0.82
182
+ },
183
+ "FormattingAgent": {
184
+ "confidence_level": 0.8,
185
+ "specializations": [
186
+ "code_style_violations",
187
+ "import_formatting",
188
+ "consistency_enforcement",
189
+ "pep8_compliance"
190
+ ],
191
+ "input_patterns": [
192
+ "E[0-9]+.*style.*violation",
193
+ "import.*formatting",
194
+ "line.*length.*exceeded",
195
+ "whitespace.*issue"
196
+ ],
197
+ "formatting_rules": {
198
+ "line_length": 88,
199
+ "import_sorting": true,
200
+ "trailing_whitespace": false,
201
+ "blank_lines": "pep8_standard"
202
+ },
203
+ "typical_fixes": [
204
+ {
205
+ "issue": "Import order violations",
206
+ "action": "Sort imports according to isort standards",
207
+ "confidence": 0.9
208
+ },
209
+ {
210
+ "issue": "Line length exceeded",
211
+ "action": "Break long lines preserving readability",
212
+ "confidence": 0.8
213
+ }
214
+ ],
215
+ "file_types": [".py"],
216
+ "tools_used": ["ruff", "isort"],
217
+ "estimated_fix_time": "1-3 minutes",
218
+ "success_rate": 0.95
219
+ },
220
+ "SecurityAgent": {
221
+ "confidence_level": 0.8,
222
+ "specializations": [
223
+ "vulnerability_detection",
224
+ "hardcoded_path_fixes",
225
+ "subprocess_security",
226
+ "best_practices_enforcement"
227
+ ],
228
+ "input_patterns": [
229
+ "B[0-9]+.*security.*issue",
230
+ "hardcoded.*path",
231
+ "shell=True.*dangerous",
232
+ "security.*vulnerability"
233
+ ],
234
+ "security_rules": {
235
+ "no_hardcoded_paths": true,
236
+ "no_shell_true": true,
237
+ "tempfile_required": true,
238
+ "input_validation": true
239
+ },
240
+ "typical_fixes": [
241
+ {
242
+ "issue": "B108: hardcoded_tmp_directory",
243
+ "action": "Replace with tempfile.NamedTemporaryFile()",
244
+ "confidence": 0.9,
245
+ "security_improvement": "Eliminates path traversal risks"
246
+ },
247
+ {
248
+ "issue": "B602: subprocess_popen_with_shell_equals_true",
249
+ "action": "Use list arguments without shell=True",
250
+ "confidence": 0.85,
251
+ "security_improvement": "Prevents command injection"
252
+ }
253
+ ],
254
+ "file_types": [".py"],
255
+ "tools_used": ["bandit", "regex_patterns"],
256
+ "estimated_fix_time": "3-7 minutes",
257
+ "success_rate": 0.87
258
+ },
259
+ "ImportOptimizationAgent": {
260
+ "confidence_level": 0.8,
261
+ "specializations": [
262
+ "unused_import_removal",
263
+ "import_organization",
264
+ "dependency_cleanup",
265
+ "circular_import_detection"
266
+ ],
267
+ "input_patterns": [
268
+ "F401.*imported.*unused",
269
+ "import.*not.*used",
270
+ "circular.*import",
271
+ "import.*optimization"
272
+ ],
273
+ "import_rules": {
274
+ "remove_unused": true,
275
+ "sort_imports": true,
276
+ "group_by_type": true,
277
+ "detect_circular": true
278
+ },
279
+ "typical_fixes": [
280
+ {
281
+ "issue": "Unused imports detected",
282
+ "action": "Safe AST-based removal of unused imports",
283
+ "confidence": 0.9
284
+ },
285
+ {
286
+ "issue": "Import organization needed",
287
+ "action": "Group and sort imports by standard/third-party/local",
288
+ "confidence": 0.85
289
+ }
290
+ ],
291
+ "file_types": [".py"],
292
+ "estimated_fix_time": "2-5 minutes",
293
+ "success_rate": 0.9
294
+ },
295
+ "TestCreationAgent": {
296
+ "confidence_level": 0.8,
297
+ "specializations": [
298
+ "test_failure_fixes",
299
+ "fixture_management",
300
+ "assertion_improvements",
301
+ "test_dependency_resolution"
302
+ ],
303
+ "input_patterns": [
304
+ "test.*failed",
305
+ "assertion.*error",
306
+ "fixture.*not.*found",
307
+ "test.*timeout"
308
+ ],
309
+ "testing_rules": {
310
+ "timeout_limit": 300,
311
+ "fixture_scope": "function",
312
+ "async_test_caution": true,
313
+ "synchronous_preferred": true
314
+ },
315
+ "typical_fixes": [
316
+ {
317
+ "issue": "Test assertion failures",
318
+ "action": "Fix assertion logic and expected values",
319
+ "confidence": 0.85
320
+ },
321
+ {
322
+ "issue": "Missing test fixtures",
323
+ "action": "Create or import required fixtures",
324
+ "confidence": 0.8
325
+ },
326
+ {
327
+ "issue": "Async test hangs",
328
+ "action": "Convert to synchronous test when possible",
329
+ "confidence": 0.75,
330
+ "note": "Async tests avoided due to hanging issues"
331
+ }
332
+ ],
333
+ "file_types": [".py", "test_*.py", "*_test.py"],
334
+ "frameworks": ["pytest", "unittest"],
335
+ "estimated_fix_time": "4-8 minutes",
336
+ "success_rate": 0.83
337
+ },
338
+ "TestSpecialistAgent": {
339
+ "confidence_level": 0.8,
340
+ "specializations": [
341
+ "advanced_testing_patterns",
342
+ "test_framework_integration",
343
+ "coverage_optimization",
344
+ "test_architecture"
345
+ ],
346
+ "input_patterns": [
347
+ "advanced.*test.*needed",
348
+ "test.*framework.*integration",
349
+ "coverage.*improvement",
350
+ "test.*architecture"
351
+ ],
352
+ "testing_expertise": {
353
+ "frameworks": ["pytest", "hypothesis", "unittest", "pytest-asyncio"],
354
+ "patterns": ["parameterization", "fixtures", "mocking"],
355
+ "coverage_tools": ["coverage.py", "pytest-cov"]
356
+ },
357
+ "typical_fixes": [
358
+ {
359
+ "issue": "Complex test scenarios needed",
360
+ "action": "Design comprehensive test architecture",
361
+ "confidence": 0.8
362
+ },
363
+ {
364
+ "issue": "Test framework integration",
365
+ "action": "Configure and optimize testing tools",
366
+ "confidence": 0.8
367
+ }
368
+ ],
369
+ "file_types": [".py", "conftest.py", "test_*.py"],
370
+ "estimated_fix_time": "6-15 minutes",
371
+ "success_rate": 0.85
372
+ }
373
+ },
374
+ "coordination_rules": {
375
+ "single_agent_threshold": 0.7,
376
+ "collaborative_threshold": 0.7,
377
+ "max_agents_per_task": 3,
378
+ "routing_logic": {
379
+ "confidence >= 0.7": "use_single_best_agent",
380
+ "confidence < 0.7": "use_collaborative_approach",
381
+ "multiple_issue_types": "batch_processing_with_coordination"
382
+ }
383
+ },
384
+ "workflow_patterns": {
385
+ "ai_agent_iterations": {
386
+ "max_iterations": 5,
387
+ "typical_iterations": "2-3",
388
+ "success_criteria": "all_hooks_pass_and_tests_pass",
389
+ "failure_escalation": "ai_debug_mode"
390
+ },
391
+ "batch_processing": {
392
+ "enabled": true,
393
+ "collects_all_issues": true,
394
+ "processes_together": true,
395
+ "reduces_iterations": true
396
+ },
397
+ "learning_system": {
398
+ "tracks_success_patterns": true,
399
+ "adapts_confidence_levels": true,
400
+ "improves_routing": true
401
+ }
402
+ },
403
+ "integration_points": {
404
+ "crackerjack_phases": [
405
+ "fast_hooks",
406
+ "test_execution",
407
+ "comprehensive_hooks",
408
+ "ai_batch_fixing"
409
+ ],
410
+ "mcp_tools": [
411
+ "execute_crackerjack",
412
+ "get_job_progress",
413
+ "analyze_errors",
414
+ "session_management"
415
+ ],
416
+ "external_tools": [
417
+ "ruff",
418
+ "pytest",
419
+ "bandit",
420
+ "pyright",
421
+ "pre-commit"
422
+ ]
423
+ },
424
+ "performance_metrics": {
425
+ "avg_fix_success_rate": 0.87,
426
+ "avg_fix_time": "4-8 minutes",
427
+ "confidence_accuracy": 0.89,
428
+ "collaboration_efficiency": 0.83,
429
+ "learning_improvement_rate": "5% per month"
430
+ }
431
+ }