crackerjack 0.31.18__tar.gz → 0.33.0__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 (343) hide show
  1. {crackerjack-0.31.18 → crackerjack-0.33.0}/.gitignore +3 -0
  2. {crackerjack-0.31.18/crackerjack → crackerjack-0.33.0}/.pre-commit-config.yaml +1 -1
  3. {crackerjack-0.31.18 → crackerjack-0.33.0}/CHANGELOG.md +239 -0
  4. crackerjack-0.33.0/CLAUDE.md +207 -0
  5. crackerjack-0.33.0/PERFORMANCE-BENCHMARK-REPORT.md +377 -0
  6. {crackerjack-0.31.18 → crackerjack-0.33.0}/PKG-INFO +2 -2
  7. crackerjack-0.33.0/REFACTORING-REPORT.md +439 -0
  8. crackerjack-0.33.0/REFACTORING_SUMMARY.md +141 -0
  9. crackerjack-0.33.0/SECURITY-AUDIT.md +178 -0
  10. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/.gitignore +3 -0
  11. {crackerjack-0.31.18 → crackerjack-0.33.0/crackerjack}/.pre-commit-config.yaml +1 -1
  12. crackerjack-0.33.0/crackerjack/CLAUDE.md +207 -0
  13. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/__main__.py +1 -1
  14. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/refactoring_agent.py +67 -46
  15. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/cli/handlers.py +7 -7
  16. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/config/hooks.py +36 -6
  17. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/async_workflow_orchestrator.py +2 -2
  18. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/enhanced_container.py +67 -0
  19. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/phase_coordinator.py +211 -44
  20. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/workflow_orchestrator.py +723 -72
  21. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/dynamic_config.py +1 -25
  22. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/managers/publish_manager.py +22 -5
  23. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/managers/test_command_builder.py +19 -13
  24. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/managers/test_manager.py +15 -4
  25. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/server_core.py +162 -34
  26. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/core_tools.py +1 -1
  27. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/execution_tools.py +16 -3
  28. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/workflow_executor.py +130 -40
  29. crackerjack-0.33.0/crackerjack/mixins/__init__.py +5 -0
  30. crackerjack-0.33.0/crackerjack/mixins/error_handling.py +214 -0
  31. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/models/config.py +9 -0
  32. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/models/protocols.py +114 -0
  33. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/models/task.py +3 -0
  34. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/pyproject.toml +8 -2
  35. crackerjack-0.33.0/crackerjack/security/__init__.py +1 -0
  36. crackerjack-0.33.0/crackerjack/security/audit.py +226 -0
  37. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/config.py +3 -2
  38. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/config_merge.py +11 -5
  39. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/coverage_ratchet.py +22 -0
  40. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/git.py +121 -22
  41. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/initialization.py +25 -9
  42. crackerjack-0.33.0/crackerjack/services/memory_optimizer.py +477 -0
  43. crackerjack-0.33.0/crackerjack/services/parallel_executor.py +474 -0
  44. crackerjack-0.33.0/crackerjack/services/performance_benchmarks.py +343 -0
  45. crackerjack-0.33.0/crackerjack/services/performance_cache.py +443 -0
  46. crackerjack-0.33.0/crackerjack/services/performance_monitor.py +633 -0
  47. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/security.py +63 -0
  48. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/security_logger.py +9 -1
  49. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/tools/validate_regex_patterns.py +14 -0
  50. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/uv.lock +4 -4
  51. crackerjack-0.33.0/performance_benchmark_results.json +63 -0
  52. {crackerjack-0.31.18 → crackerjack-0.33.0}/pyproject.toml +8 -2
  53. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/conftest.py +1 -1
  54. crackerjack-0.33.0/tests/scripts/__init__.py +0 -0
  55. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_ai_agent_workflow.py +1 -1
  56. crackerjack-0.33.0/tests/test_fast_hooks_behavior.py +355 -0
  57. crackerjack-0.33.0/tests/test_final_validation.py +257 -0
  58. crackerjack-0.31.18/tests/test_performance_benchmarks_focused.py → crackerjack-0.33.0/tests/test_performance_benchmarks_focused.py.bak +2 -2
  59. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_phase_coordinator_simple.py +52 -0
  60. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_protocol_compliance.py +6 -0
  61. crackerjack-0.33.0/tests/test_security_audit.py +143 -0
  62. crackerjack-0.33.0/tests/test_security_integration.py +220 -0
  63. crackerjack-0.33.0/tests/test_simple_workflow.py +149 -0
  64. crackerjack-0.33.0/tests/test_validate_regex_patterns_tool.py +286 -0
  65. crackerjack-0.33.0/tests/test_workflow_fast_hooks.py +379 -0
  66. {crackerjack-0.31.18 → crackerjack-0.33.0}/uv.lock +4 -4
  67. crackerjack-0.31.18/CLAUDE.md +0 -588
  68. crackerjack-0.31.18/complexipy.csv +0 -3702
  69. crackerjack-0.31.18/crackerjack/CLAUDE.md +0 -588
  70. crackerjack-0.31.18/crackerjack/services/performance_benchmarks.py +0 -628
  71. crackerjack-0.31.18/feature-implementation-optimization.md +0 -152
  72. crackerjack-0.31.18/feature-implementation-plan.md +0 -7927
  73. crackerjack-0.31.18/session_handoff_20250906_110220.md +0 -29
  74. crackerjack-0.31.18/test-implementation-plan.md +0 -643
  75. {crackerjack-0.31.18 → crackerjack-0.33.0}/.github/FUNDING.yml +0 -0
  76. {crackerjack-0.31.18 → crackerjack-0.33.0}/AGENT-CAPABILITIES.json +0 -0
  77. {crackerjack-0.31.18 → crackerjack-0.33.0}/AGENTS.md +0 -0
  78. {crackerjack-0.31.18 → crackerjack-0.33.0}/AI-AGENT-RULES.md +0 -0
  79. {crackerjack-0.31.18 → crackerjack-0.33.0}/AI-REFERENCE.md +0 -0
  80. {crackerjack-0.31.18 → crackerjack-0.33.0}/ERROR-PATTERNS.yaml +0 -0
  81. {crackerjack-0.31.18 → crackerjack-0.33.0}/LICENSE +0 -0
  82. {crackerjack-0.31.18 → crackerjack-0.33.0}/PERFORMANCE_AGENT_ENHANCEMENTS.md +0 -0
  83. {crackerjack-0.31.18 → crackerjack-0.33.0}/QWEN.md +0 -0
  84. {crackerjack-0.31.18 → crackerjack-0.33.0}/README-AI-AGENT.md +0 -0
  85. {crackerjack-0.31.18 → crackerjack-0.33.0}/README.md +0 -0
  86. {crackerjack-0.31.18 → crackerjack-0.33.0}/REFACTORING_AGENT_ENHANCEMENTS.md +0 -0
  87. {crackerjack-0.31.18 → crackerjack-0.33.0}/RULES.md +0 -0
  88. {crackerjack-0.31.18 → crackerjack-0.33.0}/SECURITY.md +0 -0
  89. {crackerjack-0.31.18 → crackerjack-0.33.0}/UVXUSAGE.md +0 -0
  90. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/RULES.md +0 -0
  91. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/__init__.py +0 -0
  92. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/__init__.py +0 -0
  93. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/architect_agent.py +0 -0
  94. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/base.py +0 -0
  95. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/coordinator.py +0 -0
  96. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/documentation_agent.py +0 -0
  97. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/dry_agent.py +0 -0
  98. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/formatting_agent.py +0 -0
  99. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/import_optimization_agent.py +0 -0
  100. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/performance_agent.py +0 -0
  101. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/performance_helpers.py +0 -0
  102. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/proactive_agent.py +0 -0
  103. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/refactoring_helpers.py +0 -0
  104. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/security_agent.py +0 -0
  105. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/test_creation_agent.py +0 -0
  106. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/test_specialist_agent.py +0 -0
  107. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/agents/tracker.py +0 -0
  108. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/api.py +0 -0
  109. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/cli/__init__.py +0 -0
  110. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/cli/interactive.py +0 -0
  111. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/cli/options.py +0 -0
  112. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/cli/utils.py +0 -0
  113. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/code_cleaner.py +0 -0
  114. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/config/__init__.py +0 -0
  115. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/config/global_lock_config.py +0 -0
  116. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/__init__.py +0 -0
  117. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/autofix_coordinator.py +0 -0
  118. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/container.py +0 -0
  119. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/file_lifecycle.py +0 -0
  120. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/performance.py +0 -0
  121. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/performance_monitor.py +0 -0
  122. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/proactive_workflow.py +0 -0
  123. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/resource_manager.py +0 -0
  124. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/service_watchdog.py +0 -0
  125. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/session_coordinator.py +0 -0
  126. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/timeout_manager.py +0 -0
  127. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/core/websocket_lifecycle.py +0 -0
  128. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/errors.py +0 -0
  129. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/example.mcp.json +0 -0
  130. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/executors/__init__.py +0 -0
  131. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/executors/async_hook_executor.py +0 -0
  132. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/executors/cached_hook_executor.py +0 -0
  133. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/executors/hook_executor.py +0 -0
  134. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/executors/hook_lock_manager.py +0 -0
  135. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/executors/individual_hook_executor.py +0 -0
  136. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/intelligence/__init__.py +0 -0
  137. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/intelligence/adaptive_learning.py +0 -0
  138. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/intelligence/agent_orchestrator.py +0 -0
  139. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/intelligence/agent_registry.py +0 -0
  140. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/intelligence/agent_selector.py +0 -0
  141. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/intelligence/integration.py +0 -0
  142. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/interactive.py +0 -0
  143. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/managers/__init__.py +0 -0
  144. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/managers/async_hook_manager.py +0 -0
  145. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/managers/hook_manager.py +0 -0
  146. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/managers/test_executor.py +0 -0
  147. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/managers/test_manager_backup.py +0 -0
  148. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/managers/test_progress.py +0 -0
  149. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/__init__.py +0 -0
  150. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/cache.py +0 -0
  151. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/client_runner.py +0 -0
  152. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/context.py +0 -0
  153. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/dashboard.py +0 -0
  154. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
  155. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
  156. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/file_monitor.py +0 -0
  157. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/progress_components.py +0 -0
  158. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/progress_monitor.py +0 -0
  159. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/progress_monitor.tcss +0 -0
  160. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/rate_limiter.py +0 -0
  161. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/server.py +0 -0
  162. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/service_watchdog.py +0 -0
  163. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/state.py +0 -0
  164. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/task_manager.py +0 -0
  165. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/__init__.py +0 -0
  166. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/error_analyzer.py +0 -0
  167. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
  168. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
  169. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
  170. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
  171. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
  172. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/proactive_tools.py +0 -0
  173. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/progress_tools.py +0 -0
  174. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/tools/utility_tools.py +0 -0
  175. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/websocket/__init__.py +0 -0
  176. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/websocket/app.py +0 -0
  177. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/websocket/endpoints.py +0 -0
  178. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/websocket/jobs.py +0 -0
  179. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/websocket/server.py +0 -0
  180. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
  181. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/mcp/websocket_server.py +0 -0
  182. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/models/__init__.py +0 -0
  183. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/models/config_adapter.py +0 -0
  184. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/models/resource_protocols.py +0 -0
  185. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/monitoring/__init__.py +0 -0
  186. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
  187. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/monitoring/regression_prevention.py +0 -0
  188. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/orchestration/__init__.py +0 -0
  189. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
  190. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/orchestration/coverage_improvement.py +0 -0
  191. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/orchestration/execution_strategies.py +0 -0
  192. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/orchestration/test_progress_streamer.py +0 -0
  193. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/plugins/__init__.py +0 -0
  194. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/plugins/base.py +0 -0
  195. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/plugins/hooks.py +0 -0
  196. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/plugins/loader.py +0 -0
  197. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/plugins/managers.py +0 -0
  198. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/py313.py +0 -0
  199. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/__init__.py +0 -0
  200. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/backup_service.py +0 -0
  201. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/bounded_status_operations.py +0 -0
  202. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/cache.py +0 -0
  203. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/config_integrity.py +0 -0
  204. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/contextual_ai_assistant.py +0 -0
  205. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/debug.py +0 -0
  206. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/dependency_monitor.py +0 -0
  207. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/enhanced_filesystem.py +0 -0
  208. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/file_hasher.py +0 -0
  209. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/filesystem.py +0 -0
  210. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/health_metrics.py +0 -0
  211. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/input_validator.py +0 -0
  212. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/log_manager.py +0 -0
  213. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/logging.py +0 -0
  214. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/metrics.py +0 -0
  215. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/pattern_cache.py +0 -0
  216. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/pattern_detector.py +0 -0
  217. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/regex_patterns.py +0 -0
  218. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/regex_utils.py +0 -0
  219. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/secure_path_utils.py +0 -0
  220. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/secure_status_formatter.py +0 -0
  221. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/secure_subprocess.py +0 -0
  222. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/server_manager.py +0 -0
  223. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/smart_scheduling.py +0 -0
  224. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/status_authentication.py +0 -0
  225. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/status_security_manager.py +0 -0
  226. /crackerjack-0.31.18/crackerjack/tools/__init__.py → /crackerjack-0.33.0/crackerjack/services/terminal_utils.py +0 -0
  227. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/thread_safe_status_collector.py +0 -0
  228. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/tool_version_service.py +0 -0
  229. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/unified_config.py +0 -0
  230. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/validation_rate_limiter.py +0 -0
  231. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/version_checker.py +0 -0
  232. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/services/websocket_resource_limiter.py +0 -0
  233. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/slash_commands/__init__.py +0 -0
  234. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/slash_commands/init.md +0 -0
  235. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/slash_commands/run.md +0 -0
  236. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/slash_commands/status.md +0 -0
  237. {crackerjack-0.31.18/scripts → crackerjack-0.33.0/crackerjack/tools}/__init__.py +0 -0
  238. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/tools/fix_terminal.sh +0 -0
  239. {crackerjack-0.31.18 → crackerjack-0.33.0}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
  240. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/AI_AGENT_DEBUGGING.md +0 -0
  241. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/API_REFERENCE.md +0 -0
  242. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/ARCHITECTURE.md +0 -0
  243. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/BACKUP_SYSTEM.md +0 -0
  244. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/DASHBOARD_ARCHITECTURE.md +0 -0
  245. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/FUTURE-ENHANCEMENTS.md +0 -0
  246. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/MCP_INTEGRATION.md +0 -0
  247. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/MONITORING_INTEGRATION.md +0 -0
  248. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/RESOURCE_CLEANUP_IMPLEMENTATION.md +0 -0
  249. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/SUB_AGENT_MONITORING_DESIGN.md +0 -0
  250. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/VERIFICATION_WORKFLOW.md +0 -0
  251. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/WORKFLOW_KNOWLEDGE_BASE.md +0 -0
  252. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
  253. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/security/SECURITY_AUDIT_REPORT.md +0 -0
  254. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
  255. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/security/SECURITY_HARDENING_REPORT.md +0 -0
  256. {crackerjack-0.31.18 → crackerjack-0.33.0}/docs/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
  257. {crackerjack-0.31.18 → crackerjack-0.33.0}/example.mcp.json +0 -0
  258. {crackerjack-0.31.18 → crackerjack-0.33.0}/excalidraw.log +0 -0
  259. {crackerjack-0.31.18 → crackerjack-0.33.0}/requirements.txt +0 -0
  260. {crackerjack-0.31.18/tests → crackerjack-0.33.0/scripts}/__init__.py +0 -0
  261. {crackerjack-0.31.18 → crackerjack-0.33.0}/scripts/integrate_resource_management.py +0 -0
  262. {crackerjack-0.31.18 → crackerjack-0.33.0}/scripts/performance_benchmark.py +0 -0
  263. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/.coverage +0 -0
  264. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
  265. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/TESTING.md +0 -0
  266. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/TEST_COVERAGE_PLAN.md +0 -0
  267. {crackerjack-0.31.18/tests/data → crackerjack-0.33.0/tests}/__init__.py +0 -0
  268. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/coverage.json +0 -0
  269. {crackerjack-0.31.18/tests/scripts → crackerjack-0.33.0/tests/data}/__init__.py +0 -0
  270. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/data/comments_sample.txt +0 -0
  271. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/data/docstrings_sample.txt +0 -0
  272. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/data/expected_comments_sample.txt +0 -0
  273. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/data/init.py +0 -0
  274. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/scripts/agent_audit_report.py +0 -0
  275. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/scripts/run_test_suite.py +0 -0
  276. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test___main__.py +0 -0
  277. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_async_hook_executor.py +0 -0
  278. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_cli/__init__.py +0 -0
  279. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_cli/test_global_lock_options.py +0 -0
  280. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_core_autofix_coordinator.py +0 -0
  281. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_core_comprehensive.py +0 -0
  282. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_core_coverage.py +0 -0
  283. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_core_enhanced_container.py +0 -0
  284. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_core_modules.py +0 -0
  285. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_core_performance.py +0 -0
  286. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_documentation_agent.py +0 -0
  287. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_documentation_agent_simple.py +0 -0
  288. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_dynamic_config.py +0 -0
  289. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_dynamic_config_coverage.py +0 -0
  290. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_enhanced_filesystem.py +0 -0
  291. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
  292. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_enhanced_filesystem_coverage.py +0 -0
  293. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_executors/__init__.py +0 -0
  294. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_executors/test_lock_integration.py +0 -0
  295. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_filesystem_coverage.py +0 -0
  296. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_global_lock_config.py +0 -0
  297. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_hook_lock_manager.py +0 -0
  298. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_hook_manager_simple.py +0 -0
  299. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_import_coverage_consolidated.py +0 -0
  300. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_import_optimization_agent.py +0 -0
  301. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_input_validation.py +0 -0
  302. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_intelligence_system.py +0 -0
  303. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_large_modules_coverage.py +0 -0
  304. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_main_entry_coverage.py +0 -0
  305. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_main_module.py +0 -0
  306. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_managers_consolidated.py +0 -0
  307. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_mcp_progress_monitor.py +0 -0
  308. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_mcp_server.py +0 -0
  309. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_models_comprehensive.py +0 -0
  310. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_models_config_adapter_coverage.py +0 -0
  311. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_models_focused.py +0 -0
  312. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_models_task_coverage.py +0 -0
  313. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_modernized_code.py +0 -0
  314. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_performance_agent.py +0 -0
  315. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_performance_agent_enhanced.py +0 -0
  316. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_performance_agent_simple.py +0 -0
  317. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_plugins_coverage.py +0 -0
  318. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_proactive_agent_system.py +0 -0
  319. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_publish_manager_coverage.py +0 -0
  320. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_py313_coverage.py +0 -0
  321. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_pytest_features.py +0 -0
  322. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_refactoring_agent.py +0 -0
  323. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_regex_patterns.py +0 -0
  324. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_resource_cleanup_integration.py +0 -0
  325. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_secure_path_utils.py +0 -0
  326. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_secure_status_formatter.py +0 -0
  327. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_security_hardening.py +0 -0
  328. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_services_coverage.py +0 -0
  329. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_session_coordinator.py +0 -0
  330. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_session_coordinator_coverage.py +0 -0
  331. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_simple_tool_version_service.py +0 -0
  332. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_stage_workflow_execution_order.py +0 -0
  333. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_structured_errors.py +0 -0
  334. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_structured_logging.py +0 -0
  335. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_terminal_restoration.py +0 -0
  336. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_terminal_state.py +0 -0
  337. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_timeout_system.py +0 -0
  338. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_unified_api.py +0 -0
  339. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_unified_config.py +0 -0
  340. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_websocket_endpoints.py +0 -0
  341. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_workflow_integration.py +0 -0
  342. {crackerjack-0.31.18 → crackerjack-0.33.0}/tests/test_workflow_orchestrator.py +0 -0
  343. {crackerjack-0.31.18 → crackerjack-0.33.0}/tools/validate_regex_patterns_standalone.py +0 -0
@@ -89,11 +89,14 @@ __pycache__/
89
89
  /dist/
90
90
  /error-context.json
91
91
  /examples/
92
+ /feature-implementation-*.md
92
93
  /hooks-analysis.json
93
94
  /htmlcov/
94
95
  /project-structure.json
95
96
  /quality-metrics.json
96
97
  /scratch/
98
+ /session_handoff_*.md
99
+ /test-implementation-*.md
97
100
  /test-results.xml
98
101
  /tests/.benchmarks/
99
102
  /tests/htmlcov/
@@ -3,7 +3,7 @@ repos:
3
3
  hooks:
4
4
  - id: validate-regex-patterns
5
5
  name: validate-regex-patterns
6
- entry: uv run python /Users/les/Projects/crackerjack/tools/validate_regex_patterns_standalone.py
6
+ entry: uv run python -m crackerjack.tools.validate_regex_patterns
7
7
  language: system
8
8
  files: \.py$
9
9
  exclude: ^\.venv/
@@ -5,6 +5,245 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [Unreleased] - 2025-09-07
9
+
10
+ ### Added
11
+ - feat: add new feature
12
+
13
+ ### Fixed
14
+ - fix: resolve bug in parser
15
+
16
+
17
+ ## [Unreleased] - 2025-09-07
18
+
19
+ ### Added
20
+
21
+ - feat: add new feature
22
+
23
+ ### Fixed
24
+
25
+ - fix: resolve bug in parser
26
+
27
+ ## [Unreleased] - 2025-09-07
28
+
29
+ ### Added
30
+
31
+ - feat: add new feature
32
+
33
+ ### Fixed
34
+
35
+ - fix: resolve bug in parser
36
+
37
+ ## [Unreleased] - 2025-09-07
38
+
39
+ ### Added
40
+
41
+ - feat: add new feature
42
+
43
+ ### Fixed
44
+
45
+ - fix: resolve bug in parser
46
+
47
+ ## [Unreleased] - 2025-09-07
48
+
49
+ ### Added
50
+
51
+ - feat: add new feature
52
+
53
+ ### Fixed
54
+
55
+ - fix: resolve bug in parser
56
+
57
+ ## [Unreleased] - 2025-09-06
58
+
59
+ ### Added
60
+
61
+ - feat: add new feature
62
+
63
+ ### Fixed
64
+
65
+ - fix: resolve bug in parser
66
+
67
+ ## [Unreleased] - 2025-09-06
68
+
69
+ ### Added
70
+
71
+ - feat: add new feature
72
+
73
+ ### Fixed
74
+
75
+ - fix: resolve bug in parser
76
+
77
+ ## [Unreleased] - 2025-09-06
78
+
79
+ ### Added
80
+
81
+ - feat: add new feature
82
+
83
+ ### Fixed
84
+
85
+ - fix: resolve bug in parser
86
+
87
+ ## [Unreleased] - 2025-09-06
88
+
89
+ ### Added
90
+
91
+ - feat: add new feature
92
+
93
+ ### Fixed
94
+
95
+ - fix: resolve bug in parser
96
+
97
+ ## [Unreleased] - 2025-09-06
98
+
99
+ ### Added
100
+
101
+ - feat: add new feature
102
+
103
+ ### Fixed
104
+
105
+ - fix: resolve bug in parser
106
+
107
+ ## [Unreleased] - 2025-09-06
108
+
109
+ ### Added
110
+
111
+ - feat: add new feature
112
+
113
+ ### Fixed
114
+
115
+ - fix: resolve bug in parser
116
+
117
+ ## [Unreleased] - 2025-09-06
118
+
119
+ ### Added
120
+
121
+ - feat: add new feature
122
+
123
+ ### Fixed
124
+
125
+ - fix: resolve bug in parser
126
+
127
+ ## [Unreleased] - 2025-09-06
128
+
129
+ ### Added
130
+
131
+ - feat: add new feature
132
+
133
+ ### Fixed
134
+
135
+ - fix: resolve bug in parser
136
+
137
+ ## [Unreleased] - 2025-09-06
138
+
139
+ ### Added
140
+
141
+ - feat: add new feature
142
+
143
+ ### Fixed
144
+
145
+ - fix: resolve bug in parser
146
+
147
+ ## [Unreleased] - 2025-09-06
148
+
149
+ ### Added
150
+
151
+ - feat: add new feature
152
+
153
+ ### Fixed
154
+
155
+ - fix: resolve bug in parser
156
+
157
+ ## [Unreleased] - 2025-09-06
158
+
159
+ ### Added
160
+
161
+ - feat: add new feature
162
+
163
+ ### Fixed
164
+
165
+ - fix: resolve bug in parser
166
+
167
+ ## [Unreleased] - 2025-09-06
168
+
169
+ ### Added
170
+
171
+ - feat: add new feature
172
+
173
+ ### Fixed
174
+
175
+ - fix: resolve bug in parser
176
+
177
+ ## [Unreleased] - 2025-09-06
178
+
179
+ ### Added
180
+
181
+ - feat: add new feature
182
+
183
+ ### Fixed
184
+
185
+ - fix: resolve bug in parser
186
+
187
+ ## [Unreleased] - 2025-09-06
188
+
189
+ ### Added
190
+
191
+ - feat: add new feature
192
+
193
+ ### Fixed
194
+
195
+ - fix: resolve bug in parser
196
+
197
+ ## [Unreleased] - 2025-09-06
198
+
199
+ ### Added
200
+
201
+ - feat: add new feature
202
+
203
+ ### Fixed
204
+
205
+ - fix: resolve bug in parser
206
+
207
+ ## [Unreleased] - 2025-09-06
208
+
209
+ ### Added
210
+
211
+ - feat: add new feature
212
+
213
+ ### Fixed
214
+
215
+ - fix: resolve bug in parser
216
+
217
+ ## [Unreleased] - 2025-09-06
218
+
219
+ ### Added
220
+
221
+ - feat: add new feature
222
+
223
+ ### Fixed
224
+
225
+ - fix: resolve bug in parser
226
+
227
+ ## [Unreleased] - 2025-09-06
228
+
229
+ ### Added
230
+
231
+ - feat: add new feature
232
+
233
+ ### Fixed
234
+
235
+ - fix: resolve bug in parser
236
+
237
+ ## [Unreleased] - 2025-09-06
238
+
239
+ ### Added
240
+
241
+ - feat: add new feature
242
+
243
+ ### Fixed
244
+
245
+ - fix: resolve bug in parser
246
+
8
247
  ## [Unreleased] - 2025-09-06
9
248
 
10
249
  ### Added
@@ -0,0 +1,207 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ Crackerjack is an opinionated Python project management tool unifying UV, Ruff, pytest, and pre-commit into a single workflow with AI agent integration via MCP.
8
+
9
+ **Key Dependencies**: Python 3.13+, UV, pre-commit, pytest
10
+
11
+ **Clean Code Philosophy**: DRY/YAGNI/KISS - Every line is a liability. Optimize for readability with self-documenting code.
12
+
13
+ ## AI Documentation References
14
+
15
+ - **[AI-REFERENCE.md](AI-REFERENCE.md)** - Command reference with decision trees
16
+ - **[AGENT-CAPABILITIES.json](AGENT-CAPABILITIES.json)** - Structured agent data
17
+ - **[ERROR-PATTERNS.yaml](ERROR-PATTERNS.yaml)** - Automated issue resolution patterns
18
+
19
+ ## Essential Commands
20
+
21
+ ```bash
22
+ # Daily workflow
23
+ python -m crackerjack # Quality checks
24
+ python -m crackerjack -t # With tests
25
+ python -m crackerjack --ai-agent -t # AI auto-fixing (recommended)
26
+
27
+ # Development
28
+ python -m crackerjack --ai-debug -t # Debug AI issues
29
+ python -m crackerjack --skip-hooks # Skip hooks during iteration
30
+ python -m crackerjack -x # Code cleaning mode
31
+
32
+ # Server management
33
+ python -m crackerjack --start-mcp-server # MCP server
34
+ python -m crackerjack --watchdog # Monitor/restart services
35
+
36
+ # Release
37
+ python -m crackerjack -a patch # Full release workflow
38
+ ```
39
+
40
+ ## AI Agent System
41
+
42
+ **9 Specialized Agents** handle domain-specific issues:
43
+
44
+ - **RefactoringAgent** (0.9): Complexity ≤15, dead code removal
45
+ - **PerformanceAgent** (0.85): O(n²) detection, optimization
46
+ - **SecurityAgent** (0.8): Hardcoded paths, unsafe operations
47
+ - **DocumentationAgent** (0.8): Changelog, .md consistency
48
+ - **TestCreationAgent** (0.8): Test failures, fixtures
49
+ - **DRYAgent** (0.8): Code duplication patterns
50
+ - **FormattingAgent** (0.8): Style violations, imports
51
+ - **ImportOptimizationAgent**: Import cleanup, reorganization
52
+ - **TestSpecialistAgent** (0.8): Advanced testing scenarios
53
+
54
+ **Usage**: `--ai-agent` enables batch fixing; confidence ≥0.7 uses specific agents
55
+
56
+ ## Architecture
57
+
58
+ **Modular DI Architecture**: `__main__.py` → `WorkflowOrchestrator` → Coordinators → Managers → Services
59
+
60
+ **Critical Pattern**: Always import protocols from `models/protocols.py`, never concrete classes
61
+
62
+ ```python
63
+ # ❌ Wrong
64
+ from ..managers.test_manager import TestManager
65
+
66
+ # ✅ Correct
67
+ from ..models.protocols import TestManagerProtocol
68
+ ```
69
+
70
+ **Core Layers**:
71
+
72
+ - **Orchestration**: `WorkflowOrchestrator`, DI containers, lifecycle management
73
+ - **Coordinators**: Session/phase coordination, async workflows, parallel execution
74
+ - **Managers**: Hook execution (fast→comprehensive), test management, publishing
75
+ - **Services**: Filesystem, git, config, security, health monitoring
76
+
77
+ ## Testing & Development
78
+
79
+ ```bash
80
+ # Specific test
81
+ python -m pytest tests/test_file.py::TestClass::test_method -v
82
+
83
+ # Coverage
84
+ python -m pytest --cov=crackerjack --cov-report=html
85
+
86
+ # Custom workers
87
+ python -m crackerjack -t --test-workers 4
88
+
89
+ # Version bump
90
+ python -m crackerjack --bump patch
91
+ ```
92
+
93
+ ## Quality Process
94
+
95
+ **Workflow Order**:
96
+
97
+ 1. **Fast Hooks** (~5s): formatting, basic checks → retry once if fail
98
+ 1. **Full Test Suite**: collect ALL failures, don't stop on first
99
+ 1. **Comprehensive Hooks** (~30s): type checking, security, complexity → collect ALL issues
100
+ 1. **AI Batch Fixing**: process all collected failures together
101
+
102
+ **Testing**: pytest with asyncio, 300s timeout, auto-detected workers
103
+ **Coverage**: Ratchet system targeting 100%, never decrease
104
+
105
+ ## Code Standards
106
+
107
+ **Quality Rules**:
108
+
109
+ - **Complexity ≤15** per function
110
+ - **No hardcoded paths** (use `tempfile`)
111
+ - **No shell=True** in subprocess
112
+ - **Type annotations required**
113
+ - **Protocol-based DI**
114
+ - **Python 3.13+**: `|` unions, protocols, pathlib
115
+
116
+ **Refactoring Pattern**: Break complex methods into helpers
117
+
118
+ ```python
119
+ def complex_method(self, data: dict) -> bool:
120
+ if not self._validate_input(data):
121
+ return self._handle_invalid_input()
122
+ processed = self._process_data(data)
123
+ return self._save_results(processed)
124
+ ```
125
+
126
+ **Critical Regex Safety**: NEVER write raw regex. Use centralized registry:
127
+
128
+ ```python
129
+ # ❌ DANGEROUS
130
+ text = re.sub(r"(\w+) - (\w+)", r"\g < 1 >-\g < 2 >", text)
131
+
132
+ # ✅ SAFE
133
+ from crackerjack.services.regex_patterns import SAFE_PATTERNS
134
+
135
+ text = SAFE_PATTERNS["fix_hyphenated_names"].apply(text)
136
+ ```
137
+
138
+ ## Common Issues & Solutions
139
+
140
+ **Development**:
141
+
142
+ - **AI agent ineffective**: Use `--ai-debug -t` for analysis
143
+ - **Import errors**: Always import protocols from `models/protocols.py`
144
+ - **Test hangs**: Avoid complex async tests, use simple synchronous config tests
145
+ - **Coverage failing**: Never reduce below baseline, add tests incrementally
146
+ - **Complexity >15**: Break into helper methods using RefactoringAgent approach
147
+
148
+ **Server**:
149
+
150
+ - **MCP not starting**: `--restart-mcp-server` or `--watchdog`
151
+ - **Terminal stuck**: `stty sane; reset; exec $SHELL -l`
152
+ - **Slow tests**: Customize `--test-workers N` or use `--skip-hooks`
153
+
154
+ ## MCP Server Integration
155
+
156
+ **Features**: Dual protocol (MCP + WebSocket), real-time progress, job tracking
157
+
158
+ ```bash
159
+ # Start server
160
+ python -m crackerjack --start-mcp-server
161
+
162
+ # Monitor progress at http://localhost:8675/
163
+ python -m crackerjack.mcp.progress_monitor <job_id>
164
+ ```
165
+
166
+ **Available Tools**: `execute_crackerjack`, `get_job_progress`, `get_comprehensive_status`, `analyze_errors`
167
+
168
+ **Slash Commands**: `/crackerjack:run`, `/crackerjack:status`, `/crackerjack:init`
169
+
170
+ ## Critical Reminders
171
+
172
+ **Core Instructions**:
173
+
174
+ - Do only what's asked, nothing more
175
+ - NEVER create files unless absolutely necessary
176
+ - ALWAYS prefer editing existing files
177
+ - MAINTAIN coverage ratchet
178
+
179
+ **Quality Standards**:
180
+
181
+ - **Test Quality**: Avoid async tests that hang, use synchronous config tests
182
+ - **Import Compliance**: Use protocols from `models/protocols.py`
183
+ - **Fix failures FIRST** before creating new tests
184
+ - Use IDE diagnostics after implementation
185
+
186
+ **Failure Patterns to Avoid**:
187
+
188
+ ```python
189
+ # ❌ Async tests that hang
190
+ @pytest.mark.asyncio
191
+ async def test_batch_processing(self, batched_saver):
192
+ await batched_saver.start() # Can hang
193
+
194
+
195
+ # ✅ Simple synchronous tests
196
+ def test_batch_configuration(self, batched_saver):
197
+ assert batched_saver.max_batch_size == expected_size
198
+
199
+
200
+ # ❌ Import concrete classes
201
+ from ..managers.test_manager import TestManager
202
+
203
+ # ✅ Import protocols
204
+ from ..models.protocols import TestManagerProtocol
205
+ ```
206
+
207
+ **Current Status**: 10.11% coverage baseline targeting 100% (ratchet system: 2% tolerance, never reduce)