crackerjack 0.33.1__tar.gz → 0.33.2__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 (396) hide show
  1. {crackerjack-0.33.1 → crackerjack-0.33.2}/CHANGELOG.md +6 -0
  2. {crackerjack-0.33.1 → crackerjack-0.33.2}/PKG-INFO +1 -1
  3. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/regex_patterns.py +13 -0
  4. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/archive/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +58 -41
  5. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/archive/CONFIG_MERGE_REMOVAL_PLAN.md +26 -18
  6. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/archive/DOCUMENTATION_REORGANIZATION_PLAN.md +21 -12
  7. {crackerjack-0.33.1 → crackerjack-0.33.2}/fix_typing_imports.py +4 -4
  8. {crackerjack-0.33.1 → crackerjack-0.33.2}/pyproject.toml +1 -1
  9. {crackerjack-0.33.1 → crackerjack-0.33.2}/uv.lock +1 -1
  10. {crackerjack-0.33.1 → crackerjack-0.33.2}/.github/FUNDING.yml +0 -0
  11. {crackerjack-0.33.1 → crackerjack-0.33.2}/.gitignore +0 -0
  12. {crackerjack-0.33.1 → crackerjack-0.33.2}/.pre-commit-config.yaml +0 -0
  13. {crackerjack-0.33.1 → crackerjack-0.33.2}/AGENTS.md +0 -0
  14. {crackerjack-0.33.1 → crackerjack-0.33.2}/CLAUDE.md +0 -0
  15. {crackerjack-0.33.1 → crackerjack-0.33.2}/LICENSE +0 -0
  16. {crackerjack-0.33.1 → crackerjack-0.33.2}/QWEN.md +0 -0
  17. {crackerjack-0.33.1 → crackerjack-0.33.2}/README.md +0 -0
  18. {crackerjack-0.33.1 → crackerjack-0.33.2}/RULES.md +0 -0
  19. {crackerjack-0.33.1 → crackerjack-0.33.2}/SECURITY.md +0 -0
  20. {crackerjack-0.33.1 → crackerjack-0.33.2}/ai/AGENT-CAPABILITIES.json +0 -0
  21. {crackerjack-0.33.1 → crackerjack-0.33.2}/ai/AGENT_SELECTION.md +0 -0
  22. {crackerjack-0.33.1 → crackerjack-0.33.2}/ai/AI-REFERENCE.md +0 -0
  23. {crackerjack-0.33.1 → crackerjack-0.33.2}/ai/ERROR-PATTERNS.yaml +0 -0
  24. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/__init__.py +0 -0
  25. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/__main__.py +0 -0
  26. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/adapters/__init__.py +0 -0
  27. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/adapters/lsp_client.py +0 -0
  28. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/adapters/rust_tool_adapter.py +0 -0
  29. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/adapters/rust_tool_manager.py +0 -0
  30. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/adapters/skylos_adapter.py +0 -0
  31. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/adapters/zuban_adapter.py +0 -0
  32. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/__init__.py +0 -0
  33. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/architect_agent.py +0 -0
  34. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/base.py +0 -0
  35. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/coordinator.py +0 -0
  36. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/documentation_agent.py +0 -0
  37. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/dry_agent.py +0 -0
  38. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/formatting_agent.py +0 -0
  39. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/import_optimization_agent.py +0 -0
  40. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/performance_agent.py +0 -0
  41. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/performance_helpers.py +0 -0
  42. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/proactive_agent.py +0 -0
  43. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/refactoring_agent.py +0 -0
  44. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/refactoring_helpers.py +0 -0
  45. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/security_agent.py +0 -0
  46. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/test_creation_agent.py +0 -0
  47. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/test_specialist_agent.py +0 -0
  48. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/agents/tracker.py +0 -0
  49. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/api.py +0 -0
  50. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/cli/__init__.py +0 -0
  51. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/cli/cache_handlers.py +0 -0
  52. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
  53. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/cli/facade.py +0 -0
  54. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/cli/handlers.py +0 -0
  55. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/cli/interactive.py +0 -0
  56. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/cli/options.py +0 -0
  57. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/cli/utils.py +0 -0
  58. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/code_cleaner.py +0 -0
  59. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/config/__init__.py +0 -0
  60. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/config/global_lock_config.py +0 -0
  61. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/config/hooks.py +0 -0
  62. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/__init__.py +0 -0
  63. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/async_workflow_orchestrator.py +0 -0
  64. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/autofix_coordinator.py +0 -0
  65. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/container.py +0 -0
  66. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/enhanced_container.py +0 -0
  67. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/file_lifecycle.py +0 -0
  68. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/performance.py +0 -0
  69. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/performance_monitor.py +0 -0
  70. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/phase_coordinator.py +0 -0
  71. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/proactive_workflow.py +0 -0
  72. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/resource_manager.py +0 -0
  73. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/service_watchdog.py +0 -0
  74. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/session_coordinator.py +0 -0
  75. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/timeout_manager.py +0 -0
  76. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/websocket_lifecycle.py +0 -0
  77. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/core/workflow_orchestrator.py +0 -0
  78. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/docs/INDEX.md +0 -0
  79. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
  80. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
  81. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
  82. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
  83. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/docs/generated/api/SERVICES.md +0 -0
  84. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/documentation/__init__.py +0 -0
  85. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/documentation/ai_templates.py +0 -0
  86. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/documentation/dual_output_generator.py +0 -0
  87. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/documentation/mkdocs_integration.py +0 -0
  88. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/documentation/reference_generator.py +0 -0
  89. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/dynamic_config.py +0 -0
  90. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/errors.py +0 -0
  91. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/executors/__init__.py +0 -0
  92. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/executors/async_hook_executor.py +0 -0
  93. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/executors/cached_hook_executor.py +0 -0
  94. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/executors/hook_executor.py +0 -0
  95. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/executors/hook_lock_manager.py +0 -0
  96. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/executors/individual_hook_executor.py +0 -0
  97. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
  98. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/executors/tool_proxy.py +0 -0
  99. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/hooks/lsp_hook.py +0 -0
  100. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/intelligence/__init__.py +0 -0
  101. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/intelligence/adaptive_learning.py +0 -0
  102. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/intelligence/agent_orchestrator.py +0 -0
  103. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/intelligence/agent_registry.py +0 -0
  104. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/intelligence/agent_selector.py +0 -0
  105. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/intelligence/integration.py +0 -0
  106. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/interactive.py +0 -0
  107. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/managers/__init__.py +0 -0
  108. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/managers/async_hook_manager.py +0 -0
  109. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/managers/hook_manager.py +0 -0
  110. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/managers/publish_manager.py +0 -0
  111. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/managers/test_command_builder.py +0 -0
  112. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/managers/test_executor.py +0 -0
  113. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/managers/test_manager.py +0 -0
  114. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/managers/test_manager_backup.py +0 -0
  115. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/managers/test_progress.py +0 -0
  116. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/__init__.py +0 -0
  117. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/cache.py +0 -0
  118. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/client_runner.py +0 -0
  119. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/context.py +0 -0
  120. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/dashboard.py +0 -0
  121. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
  122. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
  123. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/file_monitor.py +0 -0
  124. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/progress_components.py +0 -0
  125. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/progress_monitor.py +0 -0
  126. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/progress_monitor.tcss +0 -0
  127. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/rate_limiter.py +0 -0
  128. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/server.py +0 -0
  129. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/server_core.py +0 -0
  130. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/service_watchdog.py +0 -0
  131. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/state.py +0 -0
  132. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/task_manager.py +0 -0
  133. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/__init__.py +0 -0
  134. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/core_tools.py +0 -0
  135. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/error_analyzer.py +0 -0
  136. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/execution_tools.py +0 -0
  137. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
  138. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
  139. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
  140. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
  141. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
  142. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/proactive_tools.py +0 -0
  143. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/progress_tools.py +0 -0
  144. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/utility_tools.py +0 -0
  145. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/tools/workflow_executor.py +0 -0
  146. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/websocket/__init__.py +0 -0
  147. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/websocket/app.py +0 -0
  148. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/websocket/endpoints.py +0 -0
  149. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/websocket/jobs.py +0 -0
  150. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
  151. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/websocket/server.py +0 -0
  152. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
  153. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mcp/websocket_server.py +0 -0
  154. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mixins/__init__.py +0 -0
  155. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/mixins/error_handling.py +0 -0
  156. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/models/__init__.py +0 -0
  157. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/models/config.py +0 -0
  158. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/models/config_adapter.py +0 -0
  159. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/models/protocols.py +0 -0
  160. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/models/resource_protocols.py +0 -0
  161. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/models/task.py +0 -0
  162. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/monitoring/__init__.py +0 -0
  163. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
  164. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/monitoring/metrics_collector.py +0 -0
  165. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/monitoring/regression_prevention.py +0 -0
  166. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/monitoring/websocket_server.py +0 -0
  167. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/orchestration/__init__.py +0 -0
  168. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
  169. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/orchestration/coverage_improvement.py +0 -0
  170. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/orchestration/execution_strategies.py +0 -0
  171. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/orchestration/test_progress_streamer.py +0 -0
  172. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/plugins/__init__.py +0 -0
  173. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/plugins/base.py +0 -0
  174. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/plugins/hooks.py +0 -0
  175. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/plugins/loader.py +0 -0
  176. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/plugins/managers.py +0 -0
  177. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/pyproject.toml +0 -0
  178. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/security/__init__.py +0 -0
  179. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/security/audit.py +0 -0
  180. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/__init__.py +0 -0
  181. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/anomaly_detector.py +0 -0
  182. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/api_extractor.py +0 -0
  183. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/backup_service.py +0 -0
  184. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/bounded_status_operations.py +0 -0
  185. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/cache.py +0 -0
  186. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/changelog_automation.py +0 -0
  187. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/config.py +0 -0
  188. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/config_integrity.py +0 -0
  189. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/config_merge.py +0 -0
  190. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/config_template.py +0 -0
  191. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/contextual_ai_assistant.py +0 -0
  192. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/coverage_badge_service.py +0 -0
  193. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/coverage_ratchet.py +0 -0
  194. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/debug.py +0 -0
  195. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/dependency_analyzer.py +0 -0
  196. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/dependency_monitor.py +0 -0
  197. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/documentation_generator.py +0 -0
  198. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/documentation_service.py +0 -0
  199. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/enhanced_filesystem.py +0 -0
  200. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/enterprise_optimizer.py +0 -0
  201. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/error_pattern_analyzer.py +0 -0
  202. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/file_hasher.py +0 -0
  203. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/filesystem.py +0 -0
  204. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/git.py +0 -0
  205. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/health_metrics.py +0 -0
  206. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/heatmap_generator.py +0 -0
  207. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/initialization.py +0 -0
  208. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/input_validator.py +0 -0
  209. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/intelligent_commit.py +0 -0
  210. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/log_manager.py +0 -0
  211. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/logging.py +0 -0
  212. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/lsp_client.py +0 -0
  213. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/memory_optimizer.py +0 -0
  214. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/metrics.py +0 -0
  215. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/parallel_executor.py +0 -0
  216. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/pattern_cache.py +0 -0
  217. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/pattern_detector.py +0 -0
  218. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/performance_benchmarks.py +0 -0
  219. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/performance_cache.py +0 -0
  220. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/performance_monitor.py +0 -0
  221. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/predictive_analytics.py +0 -0
  222. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/quality_baseline.py +0 -0
  223. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/quality_baseline_enhanced.py +0 -0
  224. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/quality_intelligence.py +0 -0
  225. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/regex_utils.py +0 -0
  226. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/secure_path_utils.py +0 -0
  227. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/secure_status_formatter.py +0 -0
  228. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/secure_subprocess.py +0 -0
  229. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/security.py +0 -0
  230. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/security_logger.py +0 -0
  231. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/server_manager.py +0 -0
  232. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/smart_scheduling.py +0 -0
  233. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/status_authentication.py +0 -0
  234. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/status_security_manager.py +0 -0
  235. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/terminal_utils.py +0 -0
  236. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/thread_safe_status_collector.py +0 -0
  237. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/tool_version_service.py +0 -0
  238. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/unified_config.py +0 -0
  239. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/validation_rate_limiter.py +0 -0
  240. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/version_analyzer.py +0 -0
  241. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/version_checker.py +0 -0
  242. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/websocket_resource_limiter.py +0 -0
  243. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/services/zuban_lsp_service.py +0 -0
  244. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/slash_commands/__init__.py +0 -0
  245. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/slash_commands/init.md +0 -0
  246. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/slash_commands/run.md +0 -0
  247. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/slash_commands/status.md +0 -0
  248. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/tools/__init__.py +0 -0
  249. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/tools/fix_terminal.sh +0 -0
  250. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
  251. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/tools/validate_regex_patterns.py +0 -0
  252. {crackerjack-0.33.1 → crackerjack-0.33.2}/crackerjack/uv.lock +0 -0
  253. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/architecture/API_REFERENCE.md +0 -0
  254. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/architecture/ARCHITECTURE.md +0 -0
  255. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/development/IDE-SETUP.md +0 -0
  256. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
  257. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
  258. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
  259. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
  260. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
  261. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
  262. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
  263. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
  264. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
  265. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
  266. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
  267. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
  268. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/UVXUSAGE.md +0 -0
  269. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
  270. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
  271. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
  272. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/security/SECURITY-AUDIT.md +0 -0
  273. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/security/SECURITY_AUDIT_REPORT.md +0 -0
  274. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
  275. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/security/SECURITY_HARDENING_REPORT.md +0 -0
  276. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
  277. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/systems/BACKUP_SYSTEM.md +0 -0
  278. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/systems/CACHING_SYSTEM.md +0 -0
  279. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
  280. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/systems/MCP_INTEGRATION.md +0 -0
  281. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/systems/MONITORING_INTEGRATION.md +0 -0
  282. {crackerjack-0.33.1 → crackerjack-0.33.2}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
  283. {crackerjack-0.33.1 → crackerjack-0.33.2}/example.mcp.json +0 -0
  284. {crackerjack-0.33.1 → crackerjack-0.33.2}/excalidraw.log +0 -0
  285. {crackerjack-0.33.1 → crackerjack-0.33.2}/mypy.ini +0 -0
  286. {crackerjack-0.33.1 → crackerjack-0.33.2}/scripts/__init__.py +0 -0
  287. {crackerjack-0.33.1 → crackerjack-0.33.2}/scripts/integrate_resource_management.py +0 -0
  288. {crackerjack-0.33.1 → crackerjack-0.33.2}/scripts/performance_benchmark.py +0 -0
  289. {crackerjack-0.33.1 → crackerjack-0.33.2}/templates/api_reference.md.template +0 -0
  290. {crackerjack-0.33.1 → crackerjack-0.33.2}/templates/changelog_entry.md.template +0 -0
  291. {crackerjack-0.33.1 → crackerjack-0.33.2}/templates/user_guide.md.template +0 -0
  292. {crackerjack-0.33.1 → crackerjack-0.33.2}/test_docs_site/site/docs/api-reference.md +0 -0
  293. {crackerjack-0.33.1 → crackerjack-0.33.2}/test_docs_site/site/docs/getting-started.md +0 -0
  294. {crackerjack-0.33.1 → crackerjack-0.33.2}/test_docs_site/site/docs/index.md +0 -0
  295. {crackerjack-0.33.1 → crackerjack-0.33.2}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
  296. {crackerjack-0.33.1 → crackerjack-0.33.2}/test_docs_site/site/mkdocs.yml +0 -0
  297. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/__init__.py +0 -0
  298. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/base_test.py +0 -0
  299. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/conftest.py +0 -0
  300. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/coverage.json +0 -0
  301. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/data/__init__.py +0 -0
  302. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/data/comments_sample.txt +0 -0
  303. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/data/docstrings_sample.txt +0 -0
  304. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/data/expected_comments_sample.txt +0 -0
  305. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/data/init.py +0 -0
  306. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
  307. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
  308. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
  309. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/run_tests.py +0 -0
  310. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/scripts/__init__.py +0 -0
  311. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/scripts/agent_audit_report.py +0 -0
  312. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/scripts/run_test_suite.py +0 -0
  313. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test___main__.py +0 -0
  314. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_ai_agent_workflow.py +0 -0
  315. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_ai_optimized_documentation.py +0 -0
  316. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_async_hook_executor.py +0 -0
  317. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_changelog_generation.py +0 -0
  318. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_cli/__init__.py +0 -0
  319. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_cli/test_global_lock_options.py +0 -0
  320. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_cli_semantic_naming.py +0 -0
  321. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_coordinator_performance.py +0 -0
  322. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_core_autofix_coordinator.py +0 -0
  323. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_core_comprehensive.py +0 -0
  324. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_core_coverage.py +0 -0
  325. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_core_enhanced_container.py +0 -0
  326. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_core_modules.py +0 -0
  327. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_core_performance.py +0 -0
  328. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_documentation_agent_simple.py +0 -0
  329. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_dynamic_config.py +0 -0
  330. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_dynamic_config_coverage.py +0 -0
  331. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_end_to_end_integration.py +0 -0
  332. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_enhanced_filesystem.py +0 -0
  333. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
  334. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_enhanced_filesystem_coverage.py +0 -0
  335. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_execution_speed_optimization.py +0 -0
  336. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_executors/__init__.py +0 -0
  337. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_executors/test_lock_integration.py +0 -0
  338. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_fast_hooks_behavior.py +0 -0
  339. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_filesystem_coverage.py +0 -0
  340. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_final_validation.py +0 -0
  341. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_global_lock_config.py +0 -0
  342. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_hook_lock_manager.py +0 -0
  343. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_hook_manager_simple.py +0 -0
  344. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_import_coverage_consolidated.py +0 -0
  345. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_input_validation.py +0 -0
  346. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_intelligence_system.py +0 -0
  347. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_large_modules_coverage.py +0 -0
  348. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_main_entry_coverage.py +0 -0
  349. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_main_module.py +0 -0
  350. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_managers_consolidated.py +0 -0
  351. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_mcp_progress_monitor.py +0 -0
  352. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_mcp_server.py +0 -0
  353. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_models_comprehensive.py +0 -0
  354. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_models_config_adapter_coverage.py +0 -0
  355. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_models_focused.py +0 -0
  356. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_models_task_coverage.py +0 -0
  357. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_modernized_code.py +0 -0
  358. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_performance_agent_enhanced.py +0 -0
  359. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_performance_agent_simple.py +0 -0
  360. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_performance_benchmarks_focused.py.bak +0 -0
  361. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_phase_coordinator_simple.py +0 -0
  362. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_plugins_coverage.py +0 -0
  363. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_proactive_agent_system.py +0 -0
  364. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_protocol_compliance.py +0 -0
  365. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_publish_manager_coverage.py +0 -0
  366. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_pytest_features.py +0 -0
  367. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_regex_patterns.py +0 -0
  368. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_resource_cleanup_integration.py +0 -0
  369. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_secure_path_utils.py +0 -0
  370. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_secure_status_formatter.py +0 -0
  371. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_security_audit.py +0 -0
  372. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_security_hardening.py +0 -0
  373. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_security_integration.py +0 -0
  374. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_services_coverage.py +0 -0
  375. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_session_coordinator.py +0 -0
  376. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_session_coordinator_coverage.py +0 -0
  377. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_simple_tool_version_service.py +0 -0
  378. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_simple_workflow.py +0 -0
  379. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_stage_workflow_execution_order.py +0 -0
  380. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_structured_errors.py +0 -0
  381. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_structured_logging.py +0 -0
  382. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_syntax_validation.py +0 -0
  383. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_terminal_restoration.py +0 -0
  384. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_terminal_state.py +0 -0
  385. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_timeout_system.py +0 -0
  386. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_unified_api.py +0 -0
  387. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_unified_config.py +0 -0
  388. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_unified_monitoring_dashboard.py +0 -0
  389. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_validate_regex_patterns_tool.py +0 -0
  390. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_version_analyzer.py +0 -0
  391. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_version_bump_analyzer.py +0 -0
  392. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_websocket_endpoints.py +0 -0
  393. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_workflow_fast_hooks.py +0 -0
  394. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_workflow_integration.py +0 -0
  395. {crackerjack-0.33.1 → crackerjack-0.33.2}/tests/test_workflow_orchestrator.py +0 -0
  396. {crackerjack-0.33.1 → crackerjack-0.33.2}/tools/validate_regex_patterns_standalone.py +0 -0
@@ -5,6 +5,12 @@ 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
+ ## [0.33.2] - 2025-09-14
9
+
10
+ ### Added
11
+
12
+ - Fix regex validation and remove conflicting pre-commit git hook
13
+
8
14
  ## [0.33.1] - 2025-09-14
9
15
 
10
16
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crackerjack
3
- Version: 0.33.1
3
+ Version: 0.33.2
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
@@ -2704,6 +2704,19 @@ SAFE_PATTERNS: dict[str, ValidatedPattern] = {
2704
2704
  ("no coverage here", "no coverage here"), # No match
2705
2705
  ],
2706
2706
  ),
2707
+ "detect_typing_usage": ValidatedPattern(
2708
+ name="detect_typing_usage",
2709
+ pattern=r"\bt\.[A-Z]",
2710
+ replacement="",
2711
+ description="Detect usage of typing module aliases like t.Any, t.Dict, etc.",
2712
+ global_replace=True,
2713
+ test_cases=[
2714
+ ("def func(x: t.Any) -> t.Dict:", "def func(x: ny) -> ict:"), # Removes t.A and t.D
2715
+ ("value: t.Optional[str] = None", "value: ptional[str] = None"), # Removes t.O
2716
+ ("from typing import Dict", "from typing import Dict"), # No match
2717
+ ("data = dict()", "data = dict()"), # No match
2718
+ ],
2719
+ ),
2707
2720
  }
2708
2721
 
2709
2722
 
@@ -7,23 +7,27 @@ Replace the current ConfigMergeService and file-copying system with a cleaner, v
7
7
  ## Current System Problems
8
8
 
9
9
  ### 1. File Copying Overhead
10
+
10
11
  - **Issue**: 6 config files are copied TO the package directory on every `python -m crackerjack` run
11
12
  - **Files copied**: `.pre-commit-config.yaml`, `CLAUDE.md`, `RULES.md`, `.gitignore`, `example.mcp.json`, `uv.lock`
12
13
  - **Location**: `_copy_config_files_to_package()` in PhaseCoordinator (lines 251-295)
13
14
  - **Impact**: Unnecessary I/O, confusing self-referential copying for crackerjack itself
14
15
 
15
16
  ### 2. Dual Configuration Systems
17
+
16
18
  - **ConfigMergeService**: Automatically merges configs from package templates to project
17
19
  - **DynamicConfigGenerator**: Dynamically generates `.pre-commit-config.yaml`
18
20
  - **Problem**: Both systems can overwrite manual changes, causing conflicts
19
21
 
20
22
  ### 3. Pre-commit Cache Issues
23
+
21
24
  - **Location**: `~/.cache/pre-commit/`
22
25
  - **Problem**: Cached environments don't refresh when config changes
23
26
  - **Symptom**: Old hooks (like zuban) still appear even after config updates
24
27
  - **Current workaround**: Manual `pre-commit clean && pre-commit install`
25
28
 
26
29
  ### 4. Forced Automatic Updates
30
+
27
31
  - **Problem**: ConfigMergeService forces "smart merges" without user consent
28
32
  - **Impact**: Manual configuration changes get reverted
29
33
  - **Example**: Switching from zuban to pyright gets undone on next run
@@ -31,11 +35,12 @@ Replace the current ConfigMergeService and file-copying system with a cleaner, v
31
35
  ## Proposed Solution: Version-Based Pull Configuration System
32
36
 
33
37
  ### Core Principles
38
+
34
39
  1. **No file copying**: Templates stored as Python data structures
35
- 2. **Pull-based updates**: Users explicitly request config updates
36
- 3. **Version tracking**: Each config has a version number
37
- 4. **Diff visibility**: Show changes before applying
38
- 5. **Cache management**: Automatic pre-commit cache invalidation
40
+ 1. **Pull-based updates**: Users explicitly request config updates
41
+ 1. **Version tracking**: Each config has a version number
42
+ 1. **Diff visibility**: Show changes before applying
43
+ 1. **Cache management**: Automatic pre-commit cache invalidation
39
44
 
40
45
  ## Implementation Architecture
41
46
 
@@ -44,29 +49,31 @@ Replace the current ConfigMergeService and file-copying system with a cleaner, v
44
49
  ```python
45
50
  # crackerjack/services/config_template.py
46
51
 
52
+
47
53
  class ConfigTemplateService:
48
54
  """Version-based configuration template management."""
49
-
55
+
50
56
  CONFIG_VERSIONS = {
51
57
  "pre-commit": "3.0.0",
52
58
  "pyproject": "1.2.0",
53
59
  "gitignore": "1.0.0",
54
60
  }
55
-
61
+
56
62
  def get_template(self, config_type: str, version: str = None) -> dict:
57
63
  """Get config template as structured data."""
58
64
  pass
59
-
65
+
60
66
  def check_updates(self, project_path: Path) -> dict[str, UpdateInfo]:
61
67
  """Check if newer config versions are available."""
62
68
  pass
63
-
69
+
64
70
  def generate_diff(self, config_type: str, current: dict, new: dict) -> str:
65
71
  """Generate readable diff between configs."""
66
72
  pass
67
-
68
- def apply_update(self, config_type: str, project_path: Path,
69
- interactive: bool = False) -> bool:
73
+
74
+ def apply_update(
75
+ self, config_type: str, project_path: Path, interactive: bool = False
76
+ ) -> bool:
70
77
  """Apply config update with optional interactive mode."""
71
78
  pass
72
79
  ```
@@ -89,9 +96,9 @@ PRE_COMMIT_TEMPLATE = {
89
96
  "language": "system",
90
97
  "files": r"\.py$",
91
98
  }
92
- ]
99
+ ],
93
100
  }
94
- ]
101
+ ],
95
102
  }
96
103
 
97
104
  PYPROJECT_TEMPLATE = {
@@ -102,7 +109,7 @@ PYPROJECT_TEMPLATE = {
102
109
  "line-length": 88,
103
110
  # ... rest of config
104
111
  }
105
- }
112
+ },
106
113
  }
107
114
  ```
108
115
 
@@ -146,15 +153,15 @@ configs:
146
153
  ```python
147
154
  class PreCommitCacheManager:
148
155
  """Manage pre-commit cache to prevent staleness."""
149
-
156
+
150
157
  def get_config_hash(self, config_path: Path) -> str:
151
158
  """Generate hash of current config."""
152
159
  pass
153
-
160
+
154
161
  def should_refresh_cache(self, config_path: Path) -> bool:
155
162
  """Check if cache needs refresh based on config changes."""
156
163
  pass
157
-
164
+
158
165
  def refresh_cache(self) -> bool:
159
166
  """Run pre-commit clean and gc."""
160
167
  subprocess.run(["pre-commit", "clean"])
@@ -166,44 +173,51 @@ class PreCommitCacheManager:
166
173
  ## Migration Plan
167
174
 
168
175
  ### Phase 1: Add New System (Week 1)
176
+
169
177
  1. Create ConfigTemplateService
170
- 2. Convert existing configs to template format
171
- 3. Add version tracking
172
- 4. Implement diff generation
173
- 5. Add new CLI commands
178
+ 1. Convert existing configs to template format
179
+ 1. Add version tracking
180
+ 1. Implement diff generation
181
+ 1. Add new CLI commands
174
182
 
175
183
  ### Phase 2: Integration (Week 2)
184
+
176
185
  1. Add PreCommitCacheManager
177
- 2. Integrate cache management with updates
178
- 3. Add config version tracking file
179
- 4. Update documentation
186
+ 1. Integrate cache management with updates
187
+ 1. Add config version tracking file
188
+ 1. Update documentation
180
189
 
181
190
  ### Phase 3: Deprecate Old System (Week 3)
191
+
182
192
  1. Mark ConfigMergeService as deprecated
183
- 2. Remove `_copy_config_files_to_package` from PhaseCoordinator
184
- 3. Update InitializationService to use new system
185
- 4. Add migration warnings
193
+ 1. Remove `_copy_config_files_to_package` from PhaseCoordinator
194
+ 1. Update InitializationService to use new system
195
+ 1. Add migration warnings
186
196
 
187
197
  ### Phase 4: Remove Old System (Week 4)
198
+
188
199
  1. Delete ConfigMergeService
189
- 2. Clean up all smart merge code
190
- 3. Remove package-level config templates
191
- 4. Final testing and validation
200
+ 1. Clean up all smart merge code
201
+ 1. Remove package-level config templates
202
+ 1. Final testing and validation
192
203
 
193
204
  ## Benefits
194
205
 
195
206
  ### For Crackerjack Project
207
+
196
208
  - No more self-referential file copying
197
209
  - Cleaner codebase without merge logic
198
210
  - Faster execution (no I/O for copying)
199
211
 
200
212
  ### For Other Projects Using Crackerjack
213
+
201
214
  - Control over when to update configs
202
215
  - See changes before applying
203
216
  - Pin configs to specific versions
204
217
  - No surprise overwrites
205
218
 
206
219
  ### For Development
220
+
207
221
  - Pre-commit cache properly managed
208
222
  - No more stale hook issues
209
223
  - Faster iteration cycles
@@ -220,7 +234,7 @@ class PreCommitCacheManager:
220
234
  - [ ] Implement update mechanism
221
235
  - [ ] Add interactive update mode
222
236
  - [ ] Create migration documentation
223
- - [ ] Remove _copy_config_files_to_package
237
+ - [ ] Remove \_copy_config_files_to_package
224
238
  - [ ] Deprecate ConfigMergeService
225
239
  - [ ] Update InitializationService
226
240
  - [ ] Add tests for new system
@@ -229,20 +243,23 @@ class PreCommitCacheManager:
229
243
  ## Success Criteria
230
244
 
231
245
  1. **Zero file copying**: No configs copied to package directory
232
- 2. **User control**: Updates only when explicitly requested
233
- 3. **Version visibility**: Clear tracking of config versions
234
- 4. **Cache freshness**: Pre-commit cache automatically managed
235
- 5. **Backward compatibility**: Smooth migration path
246
+ 1. **User control**: Updates only when explicitly requested
247
+ 1. **Version visibility**: Clear tracking of config versions
248
+ 1. **Cache freshness**: Pre-commit cache automatically managed
249
+ 1. **Backward compatibility**: Smooth migration path
236
250
 
237
251
  ## Risk Mitigation
238
252
 
239
253
  1. **Risk**: Breaking existing projects
254
+
240
255
  - **Mitigation**: Gradual migration with deprecation warnings
241
256
 
242
- 2. **Risk**: Complex diff generation
257
+ 1. **Risk**: Complex diff generation
258
+
243
259
  - **Mitigation**: Start with simple text diffs, enhance later
244
260
 
245
- 3. **Risk**: User confusion
261
+ 1. **Risk**: User confusion
262
+
246
263
  - **Mitigation**: Clear documentation and migration guide
247
264
 
248
265
  ## Timeline
@@ -255,7 +272,7 @@ class PreCommitCacheManager:
255
272
  ## Next Steps
256
273
 
257
274
  1. Review and approve this plan
258
- 2. Create feature branch
259
- 3. Begin implementation with ConfigTemplateService
260
- 4. Regular testing during development
261
- 5. User acceptance testing before merge
275
+ 1. Create feature branch
276
+ 1. Begin implementation with ConfigTemplateService
277
+ 1. Regular testing during development
278
+ 1. User acceptance testing before merge
@@ -5,9 +5,9 @@
5
5
  The config merging system in crackerjack is causing configuration reversion issues:
6
6
 
7
7
  1. **ConfigMergeService** automatically syncs configs from `crackerjack/` package directory to project root
8
- 2. **PhaseCoordinator** triggers this merge during every `python -m crackerjack` run
9
- 3. Manual changes (like switching from zuban to pyright) get reverted every time
10
- 4. The system was designed for project initialization but interferes with ongoing development
8
+ 1. **PhaseCoordinator** triggers this merge during every `python -m crackerjack` run
9
+ 1. Manual changes (like switching from zuban to pyright) get reverted every time
10
+ 1. The system was designed for project initialization but interferes with ongoing development
11
11
 
12
12
  ## Current Config Merge Flow
13
13
 
@@ -19,6 +19,7 @@ PhaseCoordinator._execute_configuration_steps()
19
19
  ```
20
20
 
21
21
  Files involved:
22
+
22
23
  - `/crackerjack/.pre-commit-config.yaml` (package template)
23
24
  - `/.pre-commit-config.yaml` (project config - gets overwritten)
24
25
 
@@ -27,57 +28,64 @@ Files involved:
27
28
  Remove the entire config merging system since:
28
29
 
29
30
  1. **It's counterproductive** - prevents manual configuration changes
30
- 2. **It's not needed for existing projects** - only useful during initialization
31
- 3. **It creates confusion** - users expect manual edits to persist
32
- 4. **Alternative exists** - InitializationService can handle new project setup
31
+ 1. **It's not needed for existing projects** - only useful during initialization
32
+ 1. **It creates confusion** - users expect manual edits to persist
33
+ 1. **Alternative exists** - InitializationService can handle new project setup
33
34
 
34
35
  ## Implementation Steps
35
36
 
36
37
  ### Phase 1: Remove Config Merge Invocation
38
+
37
39
  - **File**: `crackerjack/core/phase_coordinator.py`
38
40
  - **Action**: Remove calls to `_handle_smart_config_merge()` and related methods
39
41
  - **Lines**: 212, 221-278, 310-315
40
42
 
41
43
  ### Phase 2: Remove Package-Level Templates
44
+
42
45
  - **Files to Delete**:
43
46
  - `/crackerjack/.pre-commit-config.yaml`
44
47
  - Any other config templates in package directory
45
48
  - **Rationale**: Remove the source of unwanted merging
46
49
 
47
50
  ### Phase 3: Preserve InitializationService
48
- - **File**: `crackerjack/services/initialization.py`
51
+
52
+ - **File**: `crackerjack/services/initialization.py`
49
53
  - **Action**: Keep as-is for `--init` functionality
50
54
  - **Rationale**: Still useful for new project setup
51
55
 
52
56
  ### Phase 4: Remove ConfigMergeService (Optional)
57
+
53
58
  - **Consideration**: May still be useful for `--init` command
54
59
  - **Decision**: Keep for now, remove only if unused after Phase 1-2
55
60
 
56
61
  ## Benefits
57
62
 
58
63
  1. **Manual edits persist** - Configuration changes will no longer be reverted
59
- 2. **Cleaner workflow** - Less magic, more predictable behavior
60
- 3. **Reduced complexity** - Fewer moving parts in the system
61
- 4. **User expectations met** - Configuration files behave like normal files
64
+ 1. **Cleaner workflow** - Less magic, more predictable behavior
65
+ 1. **Reduced complexity** - Fewer moving parts in the system
66
+ 1. **User expectations met** - Configuration files behave like normal files
62
67
 
63
68
  ## Risks & Mitigation
64
69
 
65
70
  1. **Risk**: Users might expect automatic config updates
71
+
66
72
  - **Mitigation**: Document that configs should be managed manually
67
-
68
- 2. **Risk**: New projects won't get optimal configs
73
+
74
+ 1. **Risk**: New projects won't get optimal configs
75
+
69
76
  - **Mitigation**: InitializationService still provides good defaults
70
-
71
- 3. **Risk**: Breaking change for existing workflows
77
+
78
+ 1. **Risk**: Breaking change for existing workflows
79
+
72
80
  - **Mitigation**: Most users probably don't rely on config merging
73
81
 
74
82
  ## Testing Strategy
75
83
 
76
84
  1. Remove config merge calls
77
- 2. Test that manual edits to `.pre-commit-config.yaml` persist after running crackerjack
78
- 3. Verify that `--init` still works for new projects
79
- 4. Confirm no functionality is broken
85
+ 1. Test that manual edits to `.pre-commit-config.yaml` persist after running crackerjack
86
+ 1. Verify that `--init` still works for new projects
87
+ 1. Confirm no functionality is broken
80
88
 
81
89
  ## Implementation Priority
82
90
 
83
- **HIGH** - This is blocking the zuban → pyright transition and likely affects other manual configuration changes.
91
+ **HIGH** - This is blocking the zuban → pyright transition and likely affects other manual configuration changes.
@@ -5,18 +5,21 @@
5
5
  **Problem**: 50+ markdown files scattered across project root, docs/, tests/, and nested directories with significant duplication and poor organization.
6
6
 
7
7
  **Key Issues Identified**:
8
+
8
9
  - Duplicated files: `API_REFERENCE.md`, `ARCHITECTURE.md` exist in both root and docs/
9
10
  - Mixed purposes: User docs, implementation plans, and internal analysis all in root
10
11
  - Scattered security docs: Root has `SECURITY.md`, `SECURITY-AUDIT.md` + 5 files in docs/security/
11
- - Implementation plans cluttering root directory (12+ *_PLAN.md files)
12
+ - Implementation plans cluttering root directory (12+ \*\_PLAN.md files)
12
13
  - No clear navigation structure for developers
13
14
 
14
15
  ## Proposed Reorganization
15
16
 
16
17
  ### Project Root - Essential User Files Only
18
+
17
19
  **Keep in root** (5 files):
20
+
18
21
  ```
19
- README.md # Main project overview
22
+ README.md # Main project overview
20
23
  CHANGELOG.md # Version history
21
24
  CLAUDE.md # Claude Code instructions
22
25
  SECURITY.md # Security policy (consolidated)
@@ -24,11 +27,12 @@ RULES.md # Development rules
24
27
  ```
25
28
 
26
29
  ### docs/ Directory - Organized Documentation
30
+
27
31
  ```
28
32
  docs/
29
33
  ├── architecture/
30
34
  │ ├── ARCHITECTURE.md # (moved from root, deduplicated)
31
- │ ├── API_REFERENCE.md # (moved from root, deduplicated)
35
+ │ ├── API_REFERENCE.md # (moved from root, deduplicated)
32
36
  │ └── AGENTS.md # (moved from root)
33
37
  ├── development/
34
38
  │ ├── IDE-SETUP.md
@@ -63,6 +67,7 @@ docs/
63
67
  ```
64
68
 
65
69
  ### tests/docs/ - Test Documentation
70
+
66
71
  ```
67
72
  tests/docs/
68
73
  ├── TEST_COVERAGE_PLAN.md
@@ -71,6 +76,7 @@ tests/docs/
71
76
  ```
72
77
 
73
78
  ### Keep As-Is
79
+
74
80
  - `crackerjack/docs/generated/` - Generated API documentation
75
81
  - `crackerjack/slash_commands/` - MCP command documentation
76
82
  - `examples/README.md` - Example documentation
@@ -79,17 +85,20 @@ tests/docs/
79
85
  ## File Actions Required
80
86
 
81
87
  ### Moves (25 files)
88
+
82
89
  - Root → docs/architecture/: `ARCHITECTURE.md`, `API_REFERENCE.md`, `AGENTS.md`
83
90
  - Root → docs/ai/: `AI-REFERENCE.md`
84
91
  - Root → docs/planning/: 12+ implementation and status files
85
92
  - tests/ → tests/docs/: 3 test planning files
86
93
 
87
94
  ### Consolidations (2 merges)
95
+
88
96
  - Merge duplicate `ARCHITECTURE.md` files (keep most current)
89
97
  - Merge duplicate `API_REFERENCE.md` files (keep most current)
90
98
  - Consolidate `SECURITY-AUDIT.md` into docs/security/
91
99
 
92
100
  ### Removals (3+ files)
101
+
93
102
  - Remove duplicate versions after content verification
94
103
  - Archive completed implementation plans (if any)
95
104
  - Remove obsolete analysis files (candidate: `QWEN.md`, `UVXUSAGE.md`)
@@ -97,24 +106,24 @@ tests/docs/
97
106
  ## Reference Updates Needed
98
107
 
99
108
  1. **CLAUDE.md**: Update any documentation references
100
- 2. **README.md**: Update documentation links to new structure
101
- 3. **Internal docs**: Update cross-references between moved files
109
+ 1. **README.md**: Update documentation links to new structure
110
+ 1. **Internal docs**: Update cross-references between moved files
102
111
 
103
112
  ## Implementation Order
104
113
 
105
114
  1. Create new directory structure
106
- 2. Check duplicates for content differences
107
- 3. Move files to new locations
108
- 4. Update cross-references
109
- 5. Remove duplicates and obsolete files
110
- 6. Verify all links work
115
+ 1. Check duplicates for content differences
116
+ 1. Move files to new locations
117
+ 1. Update cross-references
118
+ 1. Remove duplicates and obsolete files
119
+ 1. Verify all links work
111
120
 
112
121
  ## Expected Outcome
113
122
 
114
123
  - **Root directory**: Clean, only essential user files (5 files vs current 25+)
115
124
  - **docs/ directory**: Logical organization by purpose and audience
116
- - **No duplicates**: Single source of truth for each piece of documentation
125
+ - **No duplicates**: Single source of truth for each piece of documentation
117
126
  - **Better navigation**: Clear hierarchy for finding relevant documentation
118
127
  - **Easier maintenance**: Related docs grouped together
119
128
 
120
- **File count reduction**: ~50 scattered files → ~35 organized files
129
+ **File count reduction**: ~50 scattered files → ~35 organized files
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env python3
2
2
  """Fix missing 'import typing as t' in files that use 't' but don't import it."""
3
3
 
4
- import re
5
4
  import subprocess
6
- import typing as t
7
5
  from pathlib import Path
8
6
 
7
+ from crackerjack.services.regex_patterns import SAFE_PATTERNS
8
+
9
9
 
10
10
  def get_files_needing_typing_import() -> list[str]:
11
11
  """Get files that use 't' but don't have the import."""
@@ -35,8 +35,8 @@ def file_needs_typing_import(file_path: str) -> bool:
35
35
  with open(file_path, encoding="utf-8") as f:
36
36
  content = f.read()
37
37
 
38
- # Check if file uses t.Any, t.Dict, etc.
39
- uses_t = bool(re.search(r"\bt\.[A-Z]", content))
38
+ # REGEX OK: Using safe pattern for typing detection
39
+ uses_t = SAFE_PATTERNS["detect_typing_usage"].test(content)
40
40
 
41
41
  # Check if it already has the import
42
42
  has_import = "import typing as t" in content or "from typing import" in content
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "crackerjack"
9
- version = "0.33.1"
9
+ version = "0.33.2"
10
10
  description = "Crackerjack Python project management tool"
11
11
  readme = "README.md"
12
12
  authors = [
@@ -398,7 +398,7 @@ wheels = [
398
398
 
399
399
  [[package]]
400
400
  name = "crackerjack"
401
- version = "0.33.1"
401
+ version = "0.33.2"
402
402
  source = { editable = "." }
403
403
  dependencies = [
404
404
  { name = "aiofiles" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes