crackerjack 0.41.1__tar.gz → 0.41.3__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 (497) hide show
  1. crackerjack-0.41.3/.gitleaksignore +22 -0
  2. {crackerjack-0.41.1 → crackerjack-0.41.3}/.pre-commit-config.yaml +2 -2
  3. crackerjack-0.41.3/AGENTS.md +25 -0
  4. {crackerjack-0.41.1 → crackerjack-0.41.3}/CHANGELOG.md +36 -1
  5. {crackerjack-0.41.1 → crackerjack-0.41.3}/GEMINI.md +5 -1
  6. {crackerjack-0.41.1 → crackerjack-0.41.3}/MIGRATION-0.41.0.md +8 -6
  7. {crackerjack-0.41.1 → crackerjack-0.41.3}/PKG-INFO +17 -5
  8. {crackerjack-0.41.1 → crackerjack-0.41.3}/QWEN.md +1 -1
  9. {crackerjack-0.41.1 → crackerjack-0.41.3}/README.md +16 -4
  10. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/dynamic_config.py +3 -3
  11. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/tools/validate_regex_patterns.py +4 -0
  12. {crackerjack-0.41.1 → crackerjack-0.41.3}/pyproject.toml +1 -1
  13. crackerjack-0.41.3/tests/test_agent_selector.py +11 -0
  14. crackerjack-0.41.3/tests/test_error_handling.py +71 -0
  15. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_performance.py +37 -1
  16. {crackerjack-0.41.1 → crackerjack-0.41.3}/uv.lock +526 -315
  17. crackerjack-0.41.1/AGENTS.md +0 -32
  18. {crackerjack-0.41.1 → crackerjack-0.41.3}/.codespell-ignore +0 -0
  19. {crackerjack-0.41.1 → crackerjack-0.41.3}/.codespellrc +0 -0
  20. {crackerjack-0.41.1 → crackerjack-0.41.3}/.github/FUNDING.yml +0 -0
  21. {crackerjack-0.41.1 → crackerjack-0.41.3}/.gitignore +0 -0
  22. {crackerjack-0.41.1 → crackerjack-0.41.3}/CLAUDE.md +0 -0
  23. {crackerjack-0.41.1 → crackerjack-0.41.3}/LICENSE +0 -0
  24. {crackerjack-0.41.1 → crackerjack-0.41.3}/RULES.md +0 -0
  25. {crackerjack-0.41.1 → crackerjack-0.41.3}/SECURITY.md +0 -0
  26. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/__init__.py +0 -0
  27. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/__main__.py +0 -0
  28. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/adapters/__init__.py +0 -0
  29. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/adapters/ai/__init__.py +0 -0
  30. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/adapters/ai/claude.py +0 -0
  31. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/adapters/lsp_client.py +0 -0
  32. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/adapters/rust_tool_adapter.py +0 -0
  33. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/adapters/rust_tool_manager.py +0 -0
  34. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/adapters/skylos_adapter.py +0 -0
  35. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/adapters/zuban_adapter.py +0 -0
  36. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/__init__.py +0 -0
  37. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/architect_agent.py +0 -0
  38. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/base.py +0 -0
  39. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/claude_code_bridge.py +0 -0
  40. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/coordinator.py +0 -0
  41. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/documentation_agent.py +0 -0
  42. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/dry_agent.py +0 -0
  43. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/enhanced_coordinator.py +0 -0
  44. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/enhanced_proactive_agent.py +0 -0
  45. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/formatting_agent.py +0 -0
  46. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/import_optimization_agent.py +0 -0
  47. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/performance_agent.py +0 -0
  48. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/performance_helpers.py +0 -0
  49. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/proactive_agent.py +0 -0
  50. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/refactoring_agent.py +0 -0
  51. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/refactoring_helpers.py +0 -0
  52. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/security_agent.py +0 -0
  53. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/semantic_agent.py +0 -0
  54. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/semantic_helpers.py +0 -0
  55. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/test_creation_agent.py +0 -0
  56. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/test_specialist_agent.py +0 -0
  57. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/agents/tracker.py +0 -0
  58. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/api.py +0 -0
  59. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/cli/__init__.py +0 -0
  60. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/cli/cache_handlers.py +0 -0
  61. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
  62. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/cli/facade.py +0 -0
  63. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/cli/handlers.py +0 -0
  64. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/cli/interactive.py +0 -0
  65. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/cli/options.py +0 -0
  66. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/cli/semantic_handlers.py +0 -0
  67. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/cli/utils.py +0 -0
  68. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/code_cleaner.py +0 -0
  69. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/config/__init__.py +0 -0
  70. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/config/global_lock_config.py +0 -0
  71. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/config/hooks.py +0 -0
  72. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/__init__.py +0 -0
  73. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/async_workflow_orchestrator.py +0 -0
  74. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/autofix_coordinator.py +0 -0
  75. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/container.py +0 -0
  76. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/enhanced_container.py +0 -0
  77. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/file_lifecycle.py +0 -0
  78. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/performance.py +0 -0
  79. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/performance_monitor.py +0 -0
  80. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/phase_coordinator.py +0 -0
  81. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/proactive_workflow.py +0 -0
  82. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/resource_manager.py +0 -0
  83. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/service_watchdog.py +0 -0
  84. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/session_coordinator.py +0 -0
  85. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/timeout_manager.py +0 -0
  86. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/websocket_lifecycle.py +0 -0
  87. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/core/workflow_orchestrator.py +0 -0
  88. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/docs/INDEX.md +0 -0
  89. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
  90. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
  91. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
  92. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
  93. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/docs/generated/api/SERVICES.md +0 -0
  94. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/documentation/__init__.py +0 -0
  95. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/documentation/ai_templates.py +0 -0
  96. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/documentation/dual_output_generator.py +0 -0
  97. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/documentation/mkdocs_integration.py +0 -0
  98. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/documentation/reference_generator.py +0 -0
  99. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/errors.py +0 -0
  100. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/executors/__init__.py +0 -0
  101. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/executors/async_hook_executor.py +0 -0
  102. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/executors/cached_hook_executor.py +0 -0
  103. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/executors/hook_executor.py +0 -0
  104. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/executors/hook_lock_manager.py +0 -0
  105. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/executors/individual_hook_executor.py +0 -0
  106. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
  107. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/executors/tool_proxy.py +0 -0
  108. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/hooks/lsp_hook.py +0 -0
  109. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/intelligence/__init__.py +0 -0
  110. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/intelligence/adaptive_learning.py +0 -0
  111. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/intelligence/agent_orchestrator.py +0 -0
  112. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/intelligence/agent_registry.py +0 -0
  113. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/intelligence/agent_selector.py +0 -0
  114. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/intelligence/integration.py +0 -0
  115. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/interactive.py +0 -0
  116. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/managers/__init__.py +0 -0
  117. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/managers/async_hook_manager.py +0 -0
  118. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/managers/hook_manager.py +0 -0
  119. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/managers/publish_manager.py +0 -0
  120. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/managers/test_command_builder.py +0 -0
  121. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/managers/test_executor.py +0 -0
  122. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/managers/test_manager.py +0 -0
  123. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/managers/test_manager_backup.py +0 -0
  124. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/managers/test_progress.py +0 -0
  125. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/__init__.py +0 -0
  126. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/cache.py +0 -0
  127. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/client_runner.py +0 -0
  128. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/context.py +0 -0
  129. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/dashboard.py +0 -0
  130. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
  131. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
  132. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/file_monitor.py +0 -0
  133. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/progress_components.py +0 -0
  134. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/progress_monitor.py +0 -0
  135. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/progress_monitor.tcss +0 -0
  136. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/rate_limiter.py +0 -0
  137. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/server.py +0 -0
  138. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/server_core.py +0 -0
  139. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/service_watchdog.py +0 -0
  140. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/state.py +0 -0
  141. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/task_manager.py +0 -0
  142. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/__init__.py +0 -0
  143. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/core_tools.py +0 -0
  144. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/error_analyzer.py +0 -0
  145. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/execution_tools.py +0 -0
  146. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
  147. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
  148. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
  149. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
  150. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
  151. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/proactive_tools.py +0 -0
  152. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/progress_tools.py +0 -0
  153. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/semantic_tools.py +0 -0
  154. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/utility_tools.py +0 -0
  155. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/tools/workflow_executor.py +0 -0
  156. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/websocket/__init__.py +0 -0
  157. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/websocket/app.py +0 -0
  158. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/websocket/endpoints.py +0 -0
  159. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/websocket/jobs.py +0 -0
  160. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
  161. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/websocket/server.py +0 -0
  162. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
  163. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mcp/websocket_server.py +0 -0
  164. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mixins/__init__.py +0 -0
  165. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/mixins/error_handling.py +0 -0
  166. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/models/__init__.py +0 -0
  167. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/models/config.py +0 -0
  168. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/models/config_adapter.py +0 -0
  169. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/models/protocols.py +0 -0
  170. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/models/resource_protocols.py +0 -0
  171. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/models/semantic_models.py +0 -0
  172. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/models/task.py +0 -0
  173. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/monitoring/__init__.py +0 -0
  174. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
  175. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/monitoring/metrics_collector.py +0 -0
  176. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/monitoring/regression_prevention.py +0 -0
  177. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/monitoring/websocket_server.py +0 -0
  178. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/orchestration/__init__.py +0 -0
  179. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
  180. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/orchestration/coverage_improvement.py +0 -0
  181. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/orchestration/execution_strategies.py +0 -0
  182. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/orchestration/test_progress_streamer.py +0 -0
  183. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/plugins/__init__.py +0 -0
  184. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/plugins/base.py +0 -0
  185. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/plugins/hooks.py +0 -0
  186. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/plugins/loader.py +0 -0
  187. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/plugins/managers.py +0 -0
  188. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/py313.py +0 -0
  189. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/security/__init__.py +0 -0
  190. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/security/audit.py +0 -0
  191. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/__init__.py +0 -0
  192. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/anomaly_detector.py +0 -0
  193. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/api_extractor.py +0 -0
  194. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/backup_service.py +0 -0
  195. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/bounded_status_operations.py +0 -0
  196. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/cache.py +0 -0
  197. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/changelog_automation.py +0 -0
  198. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/config.py +0 -0
  199. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/config_integrity.py +0 -0
  200. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/config_merge.py +0 -0
  201. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/config_template.py +0 -0
  202. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/contextual_ai_assistant.py +0 -0
  203. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/coverage_badge_service.py +0 -0
  204. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/coverage_ratchet.py +0 -0
  205. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/debug.py +0 -0
  206. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/dependency_analyzer.py +0 -0
  207. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/dependency_monitor.py +0 -0
  208. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/documentation_generator.py +0 -0
  209. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/documentation_service.py +0 -0
  210. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/embeddings.py +0 -0
  211. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/enhanced_filesystem.py +0 -0
  212. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/enterprise_optimizer.py +0 -0
  213. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/error_pattern_analyzer.py +0 -0
  214. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/file_hasher.py +0 -0
  215. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/file_modifier.py +0 -0
  216. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/filesystem.py +0 -0
  217. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/git.py +0 -0
  218. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/health_metrics.py +0 -0
  219. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/heatmap_generator.py +0 -0
  220. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/initialization.py +0 -0
  221. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/input_validator.py +0 -0
  222. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/intelligent_commit.py +0 -0
  223. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/log_manager.py +0 -0
  224. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/logging.py +0 -0
  225. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/lsp_client.py +0 -0
  226. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/memory_optimizer.py +0 -0
  227. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/metrics.py +0 -0
  228. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/parallel_executor.py +0 -0
  229. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/pattern_cache.py +0 -0
  230. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/pattern_detector.py +0 -0
  231. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/performance_benchmarks.py +0 -0
  232. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/performance_cache.py +0 -0
  233. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/performance_monitor.py +0 -0
  234. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/predictive_analytics.py +0 -0
  235. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/quality_baseline.py +0 -0
  236. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/quality_baseline_enhanced.py +0 -0
  237. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/quality_intelligence.py +0 -0
  238. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/regex_patterns.py +0 -0
  239. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/regex_utils.py +0 -0
  240. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/secure_path_utils.py +0 -0
  241. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/secure_status_formatter.py +0 -0
  242. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/secure_subprocess.py +0 -0
  243. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/security.py +0 -0
  244. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/security_logger.py +0 -0
  245. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/server_manager.py +0 -0
  246. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/smart_scheduling.py +0 -0
  247. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/status_authentication.py +0 -0
  248. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/status_security_manager.py +0 -0
  249. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/terminal_utils.py +0 -0
  250. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/thread_safe_status_collector.py +0 -0
  251. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/tool_version_service.py +0 -0
  252. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/unified_config.py +0 -0
  253. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/validation_rate_limiter.py +0 -0
  254. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/vector_store.py +0 -0
  255. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/version_analyzer.py +0 -0
  256. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/version_checker.py +0 -0
  257. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/websocket_resource_limiter.py +0 -0
  258. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/services/zuban_lsp_service.py +0 -0
  259. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/slash_commands/__init__.py +0 -0
  260. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/slash_commands/init.md +0 -0
  261. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/slash_commands/run.md +0 -0
  262. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/slash_commands/status.md +0 -0
  263. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/tools/__init__.py +0 -0
  264. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/tools/fix_terminal.sh +0 -0
  265. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
  266. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/ui/__init__.py +0 -0
  267. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/ui/server_panels.py +0 -0
  268. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/workflows/__init__.py +0 -0
  269. {crackerjack-0.41.1 → crackerjack-0.41.3}/crackerjack/workflows/auto_fix.py +0 -0
  270. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/README.md +0 -0
  271. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/ai/AGENT-CAPABILITIES.json +0 -0
  272. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/ai/AGENT_SELECTION.md +0 -0
  273. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/ai/AI-REFERENCE.md +0 -0
  274. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/ai/ERROR-PATTERNS.yaml +0 -0
  275. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/architecture/API_REFERENCE.md +0 -0
  276. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/architecture/ARCHITECTURE.md +0 -0
  277. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/architecture/WORKFLOW-ARCHITECTURE.md +0 -0
  278. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/development/IDE-SETUP.md +0 -0
  279. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
  280. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/guides/ADVANCED-FEATURES.md +0 -0
  281. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/guides/AUTO_FIX_GUIDE.md +0 -0
  282. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/PROJECT_HISTORY.md +0 -0
  283. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/investigations/ai-fix-flag-bug-fix.md +0 -0
  284. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/investigations/workflow-routing-fix.md +0 -0
  285. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/PHASE2-COMPLETION-SUMMARY.md +0 -0
  286. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/PHASE2-CROSS-REFERENCE-ANALYSIS.md +0 -0
  287. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/PHASE3-COMPLETION-REPORT.md +0 -0
  288. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/PHASE3-OPTIMIZATION-PLAN.md +0 -0
  289. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/phase-1-completion-summary.md +0 -0
  290. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/phase-2-completion-summary.md +0 -0
  291. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/phase-3-completion-summary.md +0 -0
  292. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/phase-4-completion-summary.md +0 -0
  293. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/phase-5-completion-summary.md +0 -0
  294. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/phase-5-implementation-plan.md +0 -0
  295. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/phases/phase-5-task-5.1-completion-summary.md +0 -0
  296. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +0 -0
  297. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/CONFIG_MERGE_REMOVAL_PLAN.md +0 -0
  298. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/DOCUMENTATION_AUDIT_2025-10-03.md +0 -0
  299. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/DOCUMENTATION_REORGANIZATION_PLAN.md +0 -0
  300. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/DOCUMENTATION_REORGANIZATION_PLAN_2025.md +0 -0
  301. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/PYTORCH-COMPATIBILITY-FIX.md +0 -0
  302. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/REORGANIZATION_SUMMARY.md +0 -0
  303. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/complexipy-refactoring-summary.md +0 -0
  304. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/crackerjack-run-implementation-plan.md +0 -0
  305. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/planning/crackerjack-run-workflow-audit.md +0 -0
  306. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/precommit/CLEANUP_SUMMARY.md +0 -0
  307. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/precommit/CRACKERJACK_PRECOMMIT_HANDLING_IMPLEMENTATION_SUMMARY.md +0 -0
  308. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/precommit/FINAL_PRECOMMIT_HANDLING_VERIFICATION.md +0 -0
  309. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/precommit/PRECOMMIT_HANDLING_SUMMARY.md +0 -0
  310. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/precommit/README.md +0 -0
  311. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
  312. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/security/SECURITY-AUDIT.md +0 -0
  313. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/security/SECURITY_AUDIT_REPORT.md +0 -0
  314. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
  315. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/security/SECURITY_HARDENING_REPORT.md +0 -0
  316. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/history/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
  317. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
  318. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
  319. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
  320. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
  321. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
  322. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
  323. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/FUTURE-ENHANCEMENTS.md +0 -0
  324. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
  325. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
  326. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/SEMANTIC-SEARCH-IMPLEMENTATION.md +0 -0
  327. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
  328. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
  329. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
  330. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/UVXUSAGE.md +0 -0
  331. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
  332. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
  333. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/security/SECURITY_AUDIT.md +0 -0
  334. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/systems/BACKUP_SYSTEM.md +0 -0
  335. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/systems/CACHING_SYSTEM.md +0 -0
  336. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
  337. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/systems/MCP_INTEGRATION.md +0 -0
  338. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/systems/MONITORING_INTEGRATION.md +0 -0
  339. {crackerjack-0.41.1 → crackerjack-0.41.3}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
  340. {crackerjack-0.41.1 → crackerjack-0.41.3}/example.mcp.json +0 -0
  341. {crackerjack-0.41.1 → crackerjack-0.41.3}/mypy.ini +0 -0
  342. {crackerjack-0.41.1 → crackerjack-0.41.3}/scripts/__init__.py +0 -0
  343. {crackerjack-0.41.1 → crackerjack-0.41.3}/scripts/integrate_resource_management.py +0 -0
  344. {crackerjack-0.41.1 → crackerjack-0.41.3}/scripts/performance_benchmark.py +0 -0
  345. {crackerjack-0.41.1 → crackerjack-0.41.3}/templates/api_reference.md.template +0 -0
  346. {crackerjack-0.41.1 → crackerjack-0.41.3}/templates/changelog_entry.md.template +0 -0
  347. {crackerjack-0.41.1 → crackerjack-0.41.3}/templates/user_guide.md.template +0 -0
  348. {crackerjack-0.41.1 → crackerjack-0.41.3}/test_docs_site/site/docs/api-reference.md +0 -0
  349. {crackerjack-0.41.1 → crackerjack-0.41.3}/test_docs_site/site/docs/getting-started.md +0 -0
  350. {crackerjack-0.41.1 → crackerjack-0.41.3}/test_docs_site/site/docs/index.md +0 -0
  351. {crackerjack-0.41.1 → crackerjack-0.41.3}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
  352. {crackerjack-0.41.1 → crackerjack-0.41.3}/test_docs_site/site/mkdocs.yml +0 -0
  353. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/__init__.py +0 -0
  354. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/base_test.py +0 -0
  355. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/cli/test_command_validation.py +0 -0
  356. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/conftest.py +0 -0
  357. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/coverage.json +0 -0
  358. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/data/__init__.py +0 -0
  359. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/data/comments_sample.txt +0 -0
  360. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/data/docstrings_sample.txt +0 -0
  361. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/data/expected_comments_sample.txt +0 -0
  362. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/data/init.py +0 -0
  363. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
  364. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
  365. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
  366. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/run_tests.py +0 -0
  367. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/scripts/__init__.py +0 -0
  368. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/scripts/agent_audit_report.py +0 -0
  369. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/scripts/run_test_suite.py +0 -0
  370. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test___main__.py +0 -0
  371. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_ai_agent_workflow.py +0 -0
  372. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_ai_optimized_documentation.py +0 -0
  373. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_ai_templates.py +0 -0
  374. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_anomaly_detector_service.py +0 -0
  375. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_api.py +0 -0
  376. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_api_comprehensive.py +0 -0
  377. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_async_hook_executor.py +0 -0
  378. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_async_hook_executor_comprehensive.py +0 -0
  379. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_async_workflow_orchestrator.py +0 -0
  380. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_autofix_coordinator.py +0 -0
  381. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_changelog_generation.py +0 -0
  382. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_cli/__init__.py +0 -0
  383. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_cli/test_global_lock_options.py +0 -0
  384. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_cli_semantic_naming.py +0 -0
  385. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_code_cleaner.py +0 -0
  386. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_code_cleaner_comprehensive.py +0 -0
  387. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_container.py +0 -0
  388. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_coordinator_performance.py +0 -0
  389. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_core_autofix_coordinator.py +0 -0
  390. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_core_comprehensive.py +0 -0
  391. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_core_coverage.py +0 -0
  392. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_core_enhanced_container.py +0 -0
  393. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_core_modules.py +0 -0
  394. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_core_performance.py +0 -0
  395. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_documentation_agent (1).py +0 -0
  396. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_documentation_agent_simple.py +0 -0
  397. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_dual_output_generator.py +0 -0
  398. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_dynamic_config.py +0 -0
  399. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_dynamic_config_coverage.py +0 -0
  400. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_end_to_end_integration.py +0 -0
  401. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_enhanced_container.py +0 -0
  402. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_enhanced_filesystem.py +0 -0
  403. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
  404. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_enhanced_filesystem_coverage.py +0 -0
  405. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_errors.py +0 -0
  406. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_execution_speed_optimization.py +0 -0
  407. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_executors/__init__.py +0 -0
  408. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_executors/test_lock_integration.py +0 -0
  409. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_fast_hooks_behavior.py +0 -0
  410. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_file_lifecycle.py +0 -0
  411. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_filesystem_coverage.py +0 -0
  412. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_final_validation.py +0 -0
  413. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_global_lock_config.py +0 -0
  414. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_hook_executor_comprehensive.py +0 -0
  415. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_hook_lock_manager.py +0 -0
  416. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_hook_manager_comprehensive.py +0 -0
  417. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_hook_manager_simple.py +0 -0
  418. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_import_coverage_consolidated.py +0 -0
  419. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_initialization_precommit_integration.py +0 -0
  420. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_initialization_service.py +0 -0
  421. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_input_validation.py +0 -0
  422. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_intelligence_system.py +0 -0
  423. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_interactive.py +0 -0
  424. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_large_modules_coverage.py +0 -0
  425. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_main.py +0 -0
  426. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_main_entry_coverage.py +0 -0
  427. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_main_module.py +0 -0
  428. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_managers_consolidated.py +0 -0
  429. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_mcp_progress_monitor.py +0 -0
  430. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_mcp_server.py +0 -0
  431. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_mkdocs_integration.py +0 -0
  432. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_models_comprehensive.py +0 -0
  433. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_models_config_adapter_coverage.py +0 -0
  434. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_models_focused.py +0 -0
  435. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_models_task_coverage.py +0 -0
  436. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_modernized_code.py +0 -0
  437. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_performance_agent (1).py +0 -0
  438. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_performance_agent.py +0 -0
  439. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_performance_agent_enhanced.py +0 -0
  440. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_performance_agent_simple.py +0 -0
  441. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_performance_benchmarks_focused.py.bak +0 -0
  442. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_performance_helpers.py +0 -0
  443. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_performance_monitor.py +0 -0
  444. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_phase_coordinator.py +0 -0
  445. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_phase_coordinator_simple.py +0 -0
  446. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_plugins_coverage.py +0 -0
  447. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_proactive_agent.py +0 -0
  448. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_proactive_agent_system.py +0 -0
  449. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_proactive_workflow.py +0 -0
  450. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_protocol_compliance.py +0 -0
  451. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_publish_manager_coverage.py +0 -0
  452. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_py313.py +0 -0
  453. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_pytest_features.py +0 -0
  454. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_refactoring_agent.py +0 -0
  455. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_reference_generator.py +0 -0
  456. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_regex_patterns.py +0 -0
  457. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_resource_cleanup_integration.py +0 -0
  458. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_resource_manager.py +0 -0
  459. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_secure_path_utils.py +0 -0
  460. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_secure_status_formatter.py +0 -0
  461. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_security_audit.py +0 -0
  462. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_security_hardening.py +0 -0
  463. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_security_integration.py +0 -0
  464. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_server_panels.py +0 -0
  465. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_service_watchdog.py +0 -0
  466. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_services_coverage.py +0 -0
  467. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_session_coordinator.py +0 -0
  468. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_session_coordinator_comprehensive.py +0 -0
  469. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_session_coordinator_coverage.py +0 -0
  470. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_simple_tool_version_service.py +0 -0
  471. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_simple_workflow.py +0 -0
  472. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_skip_hooks_functionality.py +0 -0
  473. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_skip_hooks_simple.py +0 -0
  474. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_stage_workflow_execution_order.py +0 -0
  475. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_structured_errors.py +0 -0
  476. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_structured_logging.py +0 -0
  477. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_syntax_validation.py +0 -0
  478. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_terminal_restoration.py +0 -0
  479. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_terminal_state.py +0 -0
  480. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_timeout_manager.py +0 -0
  481. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_timeout_system.py +0 -0
  482. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_unified_api.py +0 -0
  483. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_unified_config.py +0 -0
  484. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_unified_monitoring_dashboard.py +0 -0
  485. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_validate_input_validator_patterns.py +0 -0
  486. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_validate_regex_patterns.py +0 -0
  487. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_validate_regex_patterns_tool.py +0 -0
  488. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_version_analyzer.py +0 -0
  489. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_version_bump_analyzer.py +0 -0
  490. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_websocket_endpoints.py +0 -0
  491. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_websocket_lifecycle.py +0 -0
  492. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_workflow_fast_hooks.py +0 -0
  493. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_workflow_integration.py +0 -0
  494. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_workflow_orchestrator.py +0 -0
  495. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_workflow_orchestrator_ai_routing.py +0 -0
  496. {crackerjack-0.41.1 → crackerjack-0.41.3}/tests/test_workflow_pipeline.py +0 -0
  497. {crackerjack-0.41.1 → crackerjack-0.41.3}/tools/validate_regex_patterns_standalone.py +0 -0
@@ -0,0 +1,22 @@
1
+ # Documentation and example code containing sample secrets
2
+ **/.claude/**
3
+ **/*.md
4
+ **/docs/**
5
+ **/examples/**
6
+
7
+ # IDE configuration files
8
+ **/.idea/**
9
+ **/.vscode/**
10
+
11
+ # Test files
12
+ **/tests/**
13
+
14
+ # Lock files and configuration
15
+ uv.lock
16
+ pyproject.toml
17
+
18
+ # Build and cache directories
19
+ **/__pycache__/**
20
+ **/build/**
21
+ **/dist/**
22
+ **/.venv/**
@@ -42,7 +42,7 @@ repos:
42
42
  name: check-added-large-files
43
43
  exclude: ^\.venv/|^src/
44
44
  - repo: https://github.com/astral-sh/uv-pre-commit
45
- rev: 0.8.22
45
+ rev: 0.9.0
46
46
  hooks:
47
47
  - id: uv-lock
48
48
  files: ^ pyproject\.toml$
@@ -67,7 +67,7 @@ repos:
67
67
  exclude: ^\.venv/|^src/
68
68
  additional_dependencies: ["tomli"]
69
69
  - repo: https://github.com/astral-sh/ruff-pre-commit
70
- rev: v0.13.2
70
+ rev: v0.14.0
71
71
  hooks:
72
72
  - id: ruff-check
73
73
  exclude: ^\.venv/|^src/
@@ -0,0 +1,25 @@
1
+ # Repository Guidelines
2
+
3
+ ## Project Structure & Module Organization
4
+
5
+ Crackerjack's agent runtime lives in `crackerjack/`, housing orchestrator logic, agent classes, and CLI entrypoints. Automation scripts reside in `scripts/` and `tools/`, while documentation is maintained in `docs/`, `README.md`, and `CLAUDE.md`. Tests mirror the package in `tests/`, with documentation fixtures under `test_docs_site/`, and integration examples available in `examples/` alongside `example.mcp.json`.
6
+
7
+ ## Build, Test, and Development Commands
8
+
9
+ `uv sync --group dev` installs runtime, testing, and MCP dependencies. `uv run pre-commit run --all-files` enforces formatting, linting, and security hooks before pushing. `/crackerjack:run --debug` executes the full multi-agent workflow locally and should precede manual Python invocations. `uv run python -m crackerjack --help` enumerates CLI entrypoints when adjusting interface behavior.
10
+
11
+ ## Coding Style & Naming Conventions
12
+
13
+ Target Python 3.13 with 4-space indentation and explicit type annotations. Keep identifiers concise yet descriptive, and maintain Ruff's cognitive complexity guidance of ≤15. Run `uv run ruff check --fix` for linting and `uv run ruff format` to enforce 88-character lines and import order. Name tests `test_<feature>.py`, fixtures descriptively, and finish agent class names with `*Agent`.
14
+
15
+ ## Testing Guidelines
16
+
17
+ Execute `uv run pytest` for the default suite, adding `--maxfail=1` during iteration. Follow with `/crackerjack:run` to confirm the agent loop converges. Preserve ≥42% coverage by reviewing `coverage.json` or `htmlcov/` and expanding tests when metrics drop. Use markers `chaos`, `ai_generated`, and `breakthrough` to isolate expensive scenarios, and share fixtures via `tests/conftest.py`.
18
+
19
+ ## Commit & Pull Request Guidelines
20
+
21
+ Adopt the `type(scope): summary` message pattern (e.g., `fix(agents): guard iteration retry`). Keep commits tight, reference tickets or MCP jobs, and note agent or workflow impacts. PRs should state motivation, implementation notes, validation evidence (commands run, screenshots for docs/UI changes), link issues, and flag follow-up tasks.
22
+
23
+ ## Agent-Aware Workflow
24
+
25
+ Rely on MCP tooling where possible: kick off quality sweeps with `/crackerjack:run`, monitor progress through `get_job_progress`, and verify readiness with `/crackerjack:status`. Update `.mcp.json` whenever wiring new servers, document fresh agent capabilities here, and keep structured outputs (`test-results.xml`, `coverage.json`) current after major changes.
@@ -1,6 +1,16 @@
1
1
  ______________________________________________________________________
2
2
 
3
- ## [Unreleased] - 2025-10-04
3
+ ## [0.41.3] - 2025-10-08
4
+
5
+ ### Changed
6
+
7
+ - Crackerjack (quality: 69/100) - 2025-10-08 20:46:02
8
+
9
+ ### Fixed
10
+
11
+ - tests: Update 6 files
12
+
13
+ ## [Unreleased] - 2025-10-08
4
14
 
5
15
  ### Added
6
16
  - feat: add new feature
@@ -9,6 +19,31 @@ ______________________________________________________________________
9
19
  - fix: resolve bug in parser
10
20
 
11
21
 
22
+ ## [0.41.2] - 2025-10-04
23
+
24
+ ### Changed
25
+
26
+ - Crackerjack (quality: 69/100) - 2025-10-04 12:48:19
27
+
28
+ ### Testing
29
+
30
+ - tests: Update 5 files
31
+
32
+ ### Internal
33
+
34
+ - Add newline at EOF and update uv.lock
35
+ - Modernize dependency groups and fix pre-commit hook
36
+
37
+ ## [Unreleased] - 2025-10-04
38
+
39
+ ### Added
40
+
41
+ - feat: add new feature
42
+
43
+ ### Fixed
44
+
45
+ - fix: resolve bug in parser
46
+
12
47
  ## [0.41.0] - 2025-01-10
13
48
 
14
49
  ### BREAKING CHANGES
@@ -39,11 +39,15 @@ The project follows a modular architecture, with a clear separation of concerns
39
39
 
40
40
  1. Install `uv` (if not already installed):
41
41
  ```bash
42
+ # Recommended: Official installer script
43
+ curl -LsSf https://astral.sh/uv/install.sh | sh
44
+
45
+ # Alternative: Using pipx
42
46
  pipx install uv
43
47
  ```
44
48
  1. Install Crackerjack and its dependencies:
45
49
  ```bash
46
- uv sync --all-groups
50
+ uv sync --group dev
47
51
  ```
48
52
 
49
53
  **Running the Main Workflow:**
@@ -9,6 +9,7 @@ Crackerjack v0.41.0 removes self-reference from `[dependency-groups]` following
9
9
  ### Self-Reference Removed
10
10
 
11
11
  **Before (v0.40.3)**:
12
+
12
13
  ```toml
13
14
  [dependency-groups]
14
15
  dev = [
@@ -19,6 +20,7 @@ dev = [
19
20
  ```
20
21
 
21
22
  **After (v0.41.0)**:
23
+
22
24
  ```toml
23
25
  [dependency-groups]
24
26
  dev = [
@@ -30,9 +32,9 @@ dev = [
30
32
  ## Why This Change?
31
33
 
32
34
  1. **Eliminates Circular Dependencies**: Self-references create unnecessary complexity
33
- 2. **UV Best Practices**: Modern UV doesn't require self-installation in dev groups
34
- 3. **Consistency**: Aligns with ACB v0.24.0+ dependency group standards
35
- 4. **Cleaner Installation**: Separates tool installation from development dependencies
35
+ 1. **UV Best Practices**: Modern UV doesn't require self-installation in dev groups
36
+ 1. **Consistency**: Aligns with ACB v0.24.0+ dependency group standards
37
+ 1. **Cleaner Installation**: Separates tool installation from development dependencies
36
38
 
37
39
  ## Migration Steps
38
40
 
@@ -75,10 +77,10 @@ uv add --group dev
75
77
 
76
78
  ## Questions?
77
79
 
78
- - See the main [README.md](README.md) for installation examples
79
- - Check [CHANGELOG.md](CHANGELOG.md) for detailed release notes
80
+ - See the main [README.md](<./README.md>) for installation examples
81
+ - Check [CHANGELOG.md](<./CHANGELOG.md>) for detailed release notes
80
82
 
81
- ---
83
+ ______________________________________________________________________
82
84
 
83
85
  **Version**: 0.41.0
84
86
  **Migration Difficulty**: Very Low (structural only)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crackerjack
3
- Version: 0.41.1
3
+ Version: 0.41.3
4
4
  Summary: Crackerjack Python project management tool
5
5
  Project-URL: documentation, https://github.com/lesleslie/crackerjack
6
6
  Project-URL: homepage, https://github.com/lesleslie/crackerjack
@@ -164,14 +164,26 @@ Crackerjack is built on the following core principles:
164
164
  ### Install UV
165
165
 
166
166
  ```bash
167
+ # Recommended: Official installer script
168
+ curl -LsSf https://astral.sh/uv/install.sh | sh
169
+
170
+ # Alternative: Using pipx
167
171
  pipx install uv
172
+
173
+ # Alternative: Using Homebrew (macOS)
174
+ brew install uv
168
175
  ```
169
176
 
170
177
  ### Install Crackerjack
171
178
 
172
179
  ```bash
180
+ # Recommended: Using UV (fastest)
181
+ uv tool install crackerjack
182
+
183
+ # Alternative: Using pip
173
184
  pip install crackerjack
174
- # or
185
+
186
+ # For existing project: Add as dependency
175
187
  uv add crackerjack
176
188
  ```
177
189
 
@@ -557,10 +569,10 @@ Model Context Protocol (MCP) enables AI agents to interact directly with Cracker
557
569
 
558
570
  ### Setup MCP Server
559
571
 
560
- 1. **Install MCP dependencies:**
572
+ 1. **Install development dependencies (includes MCP tools):**
561
573
 
562
574
  ```bash
563
- uv sync --group mcp
575
+ uv sync --group dev
564
576
  ```
565
577
 
566
578
  1. **Start the MCP server:**
@@ -1199,7 +1211,7 @@ python -m crackerjack --start-mcp-server --verbose
1199
1211
  ## Contributing
1200
1212
 
1201
1213
  1. Fork and clone the repository
1202
- 1. Run `uv sync --all-groups` to install dependencies
1214
+ 1. Run `uv sync --group dev` to install dependencies
1203
1215
  1. Ensure `python -m crackerjack` passes all checks
1204
1216
  1. Submit pull request
1205
1217
 
@@ -263,7 +263,7 @@ ls ~/.cache/crackerjack/logs/debug/
263
263
  ## Contributing Guidelines
264
264
 
265
265
  1. Fork and clone the repository
266
- 1. Run `uv sync --all-groups` to install dependencies
266
+ 1. Run `uv sync --group dev` to install dependencies
267
267
  1. Ensure `python -m crackerjack` passes all checks
268
268
  1. Submit pull request
269
269
 
@@ -92,14 +92,26 @@ Crackerjack is built on the following core principles:
92
92
  ### Install UV
93
93
 
94
94
  ```bash
95
+ # Recommended: Official installer script
96
+ curl -LsSf https://astral.sh/uv/install.sh | sh
97
+
98
+ # Alternative: Using pipx
95
99
  pipx install uv
100
+
101
+ # Alternative: Using Homebrew (macOS)
102
+ brew install uv
96
103
  ```
97
104
 
98
105
  ### Install Crackerjack
99
106
 
100
107
  ```bash
108
+ # Recommended: Using UV (fastest)
109
+ uv tool install crackerjack
110
+
111
+ # Alternative: Using pip
101
112
  pip install crackerjack
102
- # or
113
+
114
+ # For existing project: Add as dependency
103
115
  uv add crackerjack
104
116
  ```
105
117
 
@@ -485,10 +497,10 @@ Model Context Protocol (MCP) enables AI agents to interact directly with Cracker
485
497
 
486
498
  ### Setup MCP Server
487
499
 
488
- 1. **Install MCP dependencies:**
500
+ 1. **Install development dependencies (includes MCP tools):**
489
501
 
490
502
  ```bash
491
- uv sync --group mcp
503
+ uv sync --group dev
492
504
  ```
493
505
 
494
506
  1. **Start the MCP server:**
@@ -1127,7 +1139,7 @@ python -m crackerjack --start-mcp-server --verbose
1127
1139
  ## Contributing
1128
1140
 
1129
1141
  1. Fork and clone the repository
1130
- 1. Run `uv sync --all-groups` to install dependencies
1142
+ 1. Run `uv sync --group dev` to install dependencies
1131
1143
  1. Ensure `python -m crackerjack` passes all checks
1132
1144
  1. Submit pull request
1133
1145
 
@@ -148,7 +148,7 @@ HOOKS_REGISTRY: dict[str, list[HookMetadata]] = {
148
148
  "id": "uv-lock",
149
149
  "name": None,
150
150
  "repo": "https://github.com/astral-sh/uv-pre-commit",
151
- "rev": "0.8.22",
151
+ "rev": "0.9.0",
152
152
  "tier": 1,
153
153
  "time_estimate": 0.5,
154
154
  "stages": None,
@@ -224,7 +224,7 @@ HOOKS_REGISTRY: dict[str, list[HookMetadata]] = {
224
224
  "id": "ruff-check",
225
225
  "name": None,
226
226
  "repo": "https://github.com/astral-sh/ruff-pre-commit",
227
- "rev": "v0.13.2",
227
+ "rev": "v0.14.0",
228
228
  "tier": 2,
229
229
  "time_estimate": 1.5,
230
230
  "stages": None,
@@ -242,7 +242,7 @@ HOOKS_REGISTRY: dict[str, list[HookMetadata]] = {
242
242
  "id": "ruff-format",
243
243
  "name": None,
244
244
  "repo": "https://github.com/astral-sh/ruff-pre-commit",
245
- "rev": "v0.13.2",
245
+ "rev": "v0.14.0",
246
246
  "tier": 2,
247
247
  "time_estimate": 1.0,
248
248
  "stages": None,
@@ -145,6 +145,10 @@ def validate_file(file_path: Path) -> list[tuple[int, str]]:
145
145
 
146
146
 
147
147
  def main(file_paths: list[str]) -> int:
148
+ if not file_paths:
149
+ print("✅ No Python files to validate")
150
+ return 0
151
+
148
152
  exit_code = 0
149
153
 
150
154
  for file_path_str in file_paths:
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "crackerjack"
9
- version = "0.41.1"
9
+ version = "0.41.3"
10
10
  description = "Crackerjack Python project management tool"
11
11
  readme = "README.md"
12
12
  authors = [
@@ -0,0 +1,11 @@
1
+ def test_get_registry_basic(self):
2
+ """Test basic functionality of get_registry."""
3
+ try:
4
+ result = get_registry()
5
+ assert result is not None or result is None
6
+ except TypeError:
7
+ pytest.skip(
8
+ "Function requires specific arguments - manual implementation needed"
9
+ )
10
+ except Exception as e:
11
+ pytest.fail(f"Unexpected error in get_registry: {e}")
@@ -0,0 +1,71 @@
1
+ def test_handle_subprocess_error_basic(self):
2
+ """Test basic functionality of handle_subprocess_error."""
3
+ try:
4
+ result = handle_subprocess_error()
5
+ assert result is not None or result is None
6
+ except TypeError:
7
+ pytest.skip(
8
+ "Function requires specific arguments - manual implementation needed"
9
+ )
10
+ except Exception as e:
11
+ pytest.fail(f"Unexpected error in handle_subprocess_error: {e}")
12
+
13
+ def test_handle_file_operation_error_basic(self):
14
+ """Test basic functionality of handle_file_operation_error."""
15
+ try:
16
+ result = handle_file_operation_error()
17
+ assert result is not None or result is None
18
+ except TypeError:
19
+ pytest.skip(
20
+ "Function requires specific arguments - manual implementation needed"
21
+ )
22
+ except Exception as e:
23
+ pytest.fail(f"Unexpected error in handle_file_operation_error: {e}")
24
+
25
+ def test_handle_timeout_error_basic(self):
26
+ """Test basic functionality of handle_timeout_error."""
27
+ try:
28
+ result = handle_timeout_error()
29
+ assert result is not None or result is None
30
+ except TypeError:
31
+ pytest.skip(
32
+ "Function requires specific arguments - manual implementation needed"
33
+ )
34
+ except Exception as e:
35
+ pytest.fail(f"Unexpected error in handle_timeout_error: {e}")
36
+
37
+ def test_log_operation_success_basic(self):
38
+ """Test basic functionality of log_operation_success."""
39
+ try:
40
+ result = log_operation_success()
41
+ assert result is not None or result is None
42
+ except TypeError:
43
+ pytest.skip(
44
+ "Function requires specific arguments - manual implementation needed"
45
+ )
46
+ except Exception as e:
47
+ pytest.fail(f"Unexpected error in log_operation_success: {e}")
48
+
49
+ def test_validate_required_tools_basic(self):
50
+ """Test basic functionality of validate_required_tools."""
51
+ try:
52
+ result = validate_required_tools()
53
+ assert result is not None or result is None
54
+ except TypeError:
55
+ pytest.skip(
56
+ "Function requires specific arguments - manual implementation needed"
57
+ )
58
+ except Exception as e:
59
+ pytest.fail(f"Unexpected error in validate_required_tools: {e}")
60
+
61
+ def test_safe_get_attribute_basic(self):
62
+ """Test basic functionality of safe_get_attribute."""
63
+ try:
64
+ result = safe_get_attribute()
65
+ assert result is not None or result is None
66
+ except TypeError:
67
+ pytest.skip(
68
+ "Function requires specific arguments - manual implementation needed"
69
+ )
70
+ except Exception as e:
71
+ pytest.fail(f"Unexpected error in safe_get_attribute: {e}")
@@ -212,4 +212,40 @@ def test_execute_tasks_basic(self):
212
212
  "Function requires specific arguments - manual implementation needed"
213
213
  )
214
214
  except Exception as e:
215
- pytest.fail(f"Unexpected error in execute_tasks: {e}")
215
+ pytest.fail(f"Unexpected error in execute_tasks: {e}")
216
+
217
+ def test_run_command_basic(self):
218
+ """Test basic functionality of run_command."""
219
+ try:
220
+ result = run_command()
221
+ assert result is not None or result is None
222
+ except TypeError:
223
+ pytest.skip(
224
+ "Function requires specific arguments - manual implementation needed"
225
+ )
226
+ except Exception as e:
227
+ pytest.fail(f"Unexpected error in run_command: {e}")
228
+
229
+ def test_wrapper_basic(self):
230
+ """Test basic functionality of wrapper."""
231
+ try:
232
+ result = wrapper()
233
+ assert result is not None or result is None
234
+ except TypeError:
235
+ pytest.skip(
236
+ "Function requires specific arguments - manual implementation needed"
237
+ )
238
+ except Exception as e:
239
+ pytest.fail(f"Unexpected error in wrapper: {e}")
240
+
241
+ def test_wrapper_basic(self):
242
+ """Test basic functionality of wrapper."""
243
+ try:
244
+ result = wrapper()
245
+ assert result is not None or result is None
246
+ except TypeError:
247
+ pytest.skip(
248
+ "Function requires specific arguments - manual implementation needed"
249
+ )
250
+ except Exception as e:
251
+ pytest.fail(f"Unexpected error in wrapper: {e}")