crackerjack 0.38.15__tar.gz → 0.39.1__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 (483) hide show
  1. {crackerjack-0.38.15 → crackerjack-0.39.1}/CHANGELOG.md +72 -0
  2. {crackerjack-0.38.15 → crackerjack-0.39.1}/CLAUDE.md +103 -314
  3. {crackerjack-0.38.15 → crackerjack-0.39.1}/PKG-INFO +7 -2
  4. {crackerjack-0.38.15 → crackerjack-0.39.1}/README.md +1 -1
  5. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/__main__.py +134 -13
  6. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/__init__.py +2 -0
  7. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/base.py +1 -0
  8. crackerjack-0.39.1/crackerjack/agents/claude_code_bridge.py +319 -0
  9. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/coordinator.py +6 -3
  10. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/dry_agent.py +187 -3
  11. crackerjack-0.39.1/crackerjack/agents/enhanced_coordinator.py +279 -0
  12. crackerjack-0.39.1/crackerjack/agents/enhanced_proactive_agent.py +185 -0
  13. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/performance_agent.py +324 -3
  14. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/refactoring_agent.py +254 -5
  15. crackerjack-0.39.1/crackerjack/agents/semantic_agent.py +479 -0
  16. crackerjack-0.39.1/crackerjack/agents/semantic_helpers.py +356 -0
  17. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/cli/options.py +27 -0
  18. crackerjack-0.39.1/crackerjack/cli/semantic_handlers.py +290 -0
  19. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/async_workflow_orchestrator.py +9 -8
  20. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/enhanced_container.py +1 -1
  21. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/phase_coordinator.py +1 -1
  22. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/proactive_workflow.py +1 -1
  23. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/workflow_orchestrator.py +9 -6
  24. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/documentation/ai_templates.py +1 -1
  25. crackerjack-0.39.1/crackerjack/example.mcp.json +16 -0
  26. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/interactive.py +1 -1
  27. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/server_core.py +2 -0
  28. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/__init__.py +2 -0
  29. crackerjack-0.39.1/crackerjack/mcp/tools/semantic_tools.py +584 -0
  30. crackerjack-0.39.1/crackerjack/models/semantic_models.py +271 -0
  31. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/plugins/loader.py +2 -2
  32. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/py313.py +4 -1
  33. crackerjack-0.39.1/crackerjack/services/embeddings.py +444 -0
  34. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/quality_intelligence.py +11 -1
  35. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/smart_scheduling.py +1 -1
  36. crackerjack-0.39.1/crackerjack/services/vector_store.py +681 -0
  37. crackerjack-0.39.1/crackerjack/slash_commands/run.md +197 -0
  38. crackerjack-0.39.1/docs/PYTORCH-COMPATIBILITY-FIX.md +39 -0
  39. crackerjack-0.39.1/docs/SEMANTIC-SEARCH-IMPLEMENTATION.md +288 -0
  40. {crackerjack-0.38.15 → crackerjack-0.39.1}/pyproject.toml +13 -10
  41. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test___main__.py +48 -0
  42. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_ai_templates.py +1 -1
  43. crackerjack-0.39.1/tests/test_architect_agent.py +197 -0
  44. crackerjack-0.39.1/tests/test_async_workflow_orchestrator.py +107 -0
  45. crackerjack-0.39.1/tests/test_base.py +795 -0
  46. crackerjack-0.39.1/tests/test_claude_code_bridge.py +170 -0
  47. crackerjack-0.39.1/tests/test_coordinator.py +244 -0
  48. crackerjack-0.39.1/tests/test_documentation_agent (1).py +249 -0
  49. crackerjack-0.39.1/tests/test_documentation_agent.py +161 -0
  50. crackerjack-0.39.1/tests/test_dry_agent.py +161 -0
  51. crackerjack-0.39.1/tests/test_enhanced_coordinator.py +262 -0
  52. crackerjack-0.39.1/tests/test_enhanced_proactive_agent.py +227 -0
  53. crackerjack-0.39.1/tests/test_formatting_agent.py +161 -0
  54. crackerjack-0.39.1/tests/test_import_optimization_agent.py +161 -0
  55. crackerjack-0.39.1/tests/test_lsp_client.py +235 -0
  56. crackerjack-0.39.1/tests/test_performance_agent (1).py +131 -0
  57. crackerjack-0.39.1/tests/test_performance_monitor.py +83 -0
  58. crackerjack-0.39.1/tests/test_proactive_workflow.py +11 -0
  59. crackerjack-0.39.1/tests/test_rust_tool_adapter.py +711 -0
  60. crackerjack-0.39.1/tests/test_rust_tool_manager.py +82 -0
  61. crackerjack-0.39.1/tests/test_service_watchdog.py +155 -0
  62. crackerjack-0.39.1/tests/test_skylos_adapter.py +123 -0
  63. crackerjack-0.39.1/tests/test_timeout_manager.py +227 -0
  64. crackerjack-0.39.1/tests/test_validate_input_validator_patterns.py +11 -0
  65. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_validate_regex_patterns.py +13 -1
  66. crackerjack-0.39.1/tests/test_websocket_lifecycle.py +239 -0
  67. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_workflow_orchestrator.py +60 -0
  68. crackerjack-0.39.1/tests/test_zuban_adapter.py +137 -0
  69. {crackerjack-0.38.15 → crackerjack-0.39.1}/uv.lock +753 -218
  70. crackerjack-0.38.15/crackerjack/slash_commands/run.md +0 -163
  71. crackerjack-0.38.15/tests/test_architect_agent.py +0 -70
  72. crackerjack-0.38.15/tests/test_base.py +0 -74
  73. crackerjack-0.38.15/tests/test_coordinator.py +0 -55
  74. crackerjack-0.38.15/tests/test_documentation_agent.py +0 -67
  75. crackerjack-0.38.15/tests/test_dry_agent.py +0 -69
  76. crackerjack-0.38.15/tests/test_formatting_agent.py +0 -67
  77. crackerjack-0.38.15/tests/test_import_optimization_agent.py +0 -192
  78. crackerjack-0.38.15/tests/test_lsp_client.py +0 -51
  79. crackerjack-0.38.15/tests/test_rust_tool_adapter.py +0 -53
  80. crackerjack-0.38.15/tests/test_rust_tool_manager.py +0 -53
  81. crackerjack-0.38.15/tests/test_skylos_adapter.py +0 -51
  82. crackerjack-0.38.15/tests/test_zuban_adapter.py +0 -51
  83. {crackerjack-0.38.15 → crackerjack-0.39.1}/.codespell-ignore +0 -0
  84. {crackerjack-0.38.15 → crackerjack-0.39.1}/.codespellrc +0 -0
  85. {crackerjack-0.38.15 → crackerjack-0.39.1}/.github/FUNDING.yml +0 -0
  86. {crackerjack-0.38.15 → crackerjack-0.39.1}/.gitignore +0 -0
  87. {crackerjack-0.38.15 → crackerjack-0.39.1}/.pre-commit-config.yaml +0 -0
  88. {crackerjack-0.38.15 → crackerjack-0.39.1}/AGENTS.md +0 -0
  89. {crackerjack-0.38.15 → crackerjack-0.39.1}/LICENSE +0 -0
  90. {crackerjack-0.38.15 → crackerjack-0.39.1}/QWEN.md +0 -0
  91. {crackerjack-0.38.15 → crackerjack-0.39.1}/RULES.md +0 -0
  92. {crackerjack-0.38.15 → crackerjack-0.39.1}/SECURITY.md +0 -0
  93. {crackerjack-0.38.15 → crackerjack-0.39.1}/ai/AGENT-CAPABILITIES.json +0 -0
  94. {crackerjack-0.38.15 → crackerjack-0.39.1}/ai/AGENT_SELECTION.md +0 -0
  95. {crackerjack-0.38.15 → crackerjack-0.39.1}/ai/AI-REFERENCE.md +0 -0
  96. {crackerjack-0.38.15 → crackerjack-0.39.1}/ai/ERROR-PATTERNS.yaml +0 -0
  97. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/CLAUDE.md +0 -0
  98. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/__init__.py +0 -0
  99. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/adapters/__init__.py +0 -0
  100. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/adapters/lsp_client.py +0 -0
  101. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/adapters/rust_tool_adapter.py +0 -0
  102. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/adapters/rust_tool_manager.py +0 -0
  103. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/adapters/skylos_adapter.py +0 -0
  104. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/adapters/zuban_adapter.py +0 -0
  105. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/architect_agent.py +0 -0
  106. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/documentation_agent.py +0 -0
  107. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/formatting_agent.py +0 -0
  108. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/import_optimization_agent.py +0 -0
  109. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/performance_helpers.py +0 -0
  110. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/proactive_agent.py +0 -0
  111. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/refactoring_helpers.py +0 -0
  112. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/security_agent.py +0 -0
  113. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/test_creation_agent.py +0 -0
  114. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/test_specialist_agent.py +0 -0
  115. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/agents/tracker.py +0 -0
  116. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/api.py +0 -0
  117. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/cli/__init__.py +0 -0
  118. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/cli/cache_handlers.py +0 -0
  119. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
  120. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/cli/facade.py +0 -0
  121. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/cli/handlers.py +0 -0
  122. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/cli/interactive.py +0 -0
  123. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/cli/utils.py +0 -0
  124. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/code_cleaner.py +0 -0
  125. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/config/__init__.py +0 -0
  126. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/config/global_lock_config.py +0 -0
  127. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/config/hooks.py +0 -0
  128. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/__init__.py +0 -0
  129. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/autofix_coordinator.py +0 -0
  130. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/container.py +0 -0
  131. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/file_lifecycle.py +0 -0
  132. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/performance.py +0 -0
  133. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/performance_monitor.py +0 -0
  134. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/resource_manager.py +0 -0
  135. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/service_watchdog.py +0 -0
  136. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/session_coordinator.py +0 -0
  137. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/timeout_manager.py +0 -0
  138. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/core/websocket_lifecycle.py +0 -0
  139. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/docs/INDEX.md +0 -0
  140. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
  141. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
  142. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
  143. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
  144. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/docs/generated/api/SERVICES.md +0 -0
  145. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/documentation/__init__.py +0 -0
  146. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/documentation/dual_output_generator.py +0 -0
  147. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/documentation/mkdocs_integration.py +0 -0
  148. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/documentation/reference_generator.py +0 -0
  149. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/dynamic_config.py +0 -0
  150. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/errors.py +0 -0
  151. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/executors/__init__.py +0 -0
  152. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/executors/async_hook_executor.py +0 -0
  153. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/executors/cached_hook_executor.py +0 -0
  154. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/executors/hook_executor.py +0 -0
  155. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/executors/hook_lock_manager.py +0 -0
  156. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/executors/individual_hook_executor.py +0 -0
  157. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
  158. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/executors/tool_proxy.py +0 -0
  159. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/hooks/lsp_hook.py +0 -0
  160. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/intelligence/__init__.py +0 -0
  161. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/intelligence/adaptive_learning.py +0 -0
  162. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/intelligence/agent_orchestrator.py +0 -0
  163. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/intelligence/agent_registry.py +0 -0
  164. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/intelligence/agent_selector.py +0 -0
  165. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/intelligence/integration.py +0 -0
  166. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/managers/__init__.py +0 -0
  167. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/managers/async_hook_manager.py +0 -0
  168. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/managers/hook_manager.py +0 -0
  169. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/managers/publish_manager.py +0 -0
  170. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/managers/test_command_builder.py +0 -0
  171. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/managers/test_executor.py +0 -0
  172. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/managers/test_manager.py +0 -0
  173. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/managers/test_manager_backup.py +0 -0
  174. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/managers/test_progress.py +0 -0
  175. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/__init__.py +0 -0
  176. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/cache.py +0 -0
  177. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/client_runner.py +0 -0
  178. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/context.py +0 -0
  179. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/dashboard.py +0 -0
  180. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
  181. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
  182. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/file_monitor.py +0 -0
  183. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/progress_components.py +0 -0
  184. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/progress_monitor.py +0 -0
  185. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/progress_monitor.tcss +0 -0
  186. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/rate_limiter.py +0 -0
  187. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/server.py +0 -0
  188. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/service_watchdog.py +0 -0
  189. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/state.py +0 -0
  190. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/task_manager.py +0 -0
  191. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/core_tools.py +0 -0
  192. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/error_analyzer.py +0 -0
  193. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/execution_tools.py +0 -0
  194. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
  195. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
  196. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
  197. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
  198. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
  199. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/proactive_tools.py +0 -0
  200. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/progress_tools.py +0 -0
  201. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/utility_tools.py +0 -0
  202. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/tools/workflow_executor.py +0 -0
  203. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/websocket/__init__.py +0 -0
  204. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/websocket/app.py +0 -0
  205. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/websocket/endpoints.py +0 -0
  206. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/websocket/jobs.py +0 -0
  207. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
  208. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/websocket/server.py +0 -0
  209. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
  210. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mcp/websocket_server.py +0 -0
  211. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mixins/__init__.py +0 -0
  212. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/mixins/error_handling.py +0 -0
  213. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/models/__init__.py +0 -0
  214. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/models/config.py +0 -0
  215. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/models/config_adapter.py +0 -0
  216. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/models/protocols.py +0 -0
  217. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/models/resource_protocols.py +0 -0
  218. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/models/task.py +0 -0
  219. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/monitoring/__init__.py +0 -0
  220. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
  221. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/monitoring/metrics_collector.py +0 -0
  222. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/monitoring/regression_prevention.py +0 -0
  223. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/monitoring/websocket_server.py +0 -0
  224. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/orchestration/__init__.py +0 -0
  225. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
  226. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/orchestration/coverage_improvement.py +0 -0
  227. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/orchestration/execution_strategies.py +0 -0
  228. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/orchestration/test_progress_streamer.py +0 -0
  229. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/plugins/__init__.py +0 -0
  230. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/plugins/base.py +0 -0
  231. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/plugins/hooks.py +0 -0
  232. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/plugins/managers.py +0 -0
  233. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/pyproject.toml +0 -0
  234. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/security/__init__.py +0 -0
  235. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/security/audit.py +0 -0
  236. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/__init__.py +0 -0
  237. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/anomaly_detector.py +0 -0
  238. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/api_extractor.py +0 -0
  239. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/backup_service.py +0 -0
  240. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/bounded_status_operations.py +0 -0
  241. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/cache.py +0 -0
  242. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/changelog_automation.py +0 -0
  243. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/config.py +0 -0
  244. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/config_integrity.py +0 -0
  245. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/config_merge.py +0 -0
  246. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/config_template.py +0 -0
  247. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/contextual_ai_assistant.py +0 -0
  248. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/coverage_badge_service.py +0 -0
  249. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/coverage_ratchet.py +0 -0
  250. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/debug.py +0 -0
  251. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/dependency_analyzer.py +0 -0
  252. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/dependency_monitor.py +0 -0
  253. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/documentation_generator.py +0 -0
  254. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/documentation_service.py +0 -0
  255. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/enhanced_filesystem.py +0 -0
  256. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/enterprise_optimizer.py +0 -0
  257. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/error_pattern_analyzer.py +0 -0
  258. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/file_hasher.py +0 -0
  259. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/filesystem.py +0 -0
  260. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/git.py +0 -0
  261. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/health_metrics.py +0 -0
  262. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/heatmap_generator.py +0 -0
  263. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/initialization.py +0 -0
  264. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/input_validator.py +0 -0
  265. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/intelligent_commit.py +0 -0
  266. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/log_manager.py +0 -0
  267. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/logging.py +0 -0
  268. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/lsp_client.py +0 -0
  269. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/memory_optimizer.py +0 -0
  270. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/metrics.py +0 -0
  271. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/parallel_executor.py +0 -0
  272. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/pattern_cache.py +0 -0
  273. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/pattern_detector.py +0 -0
  274. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/performance_benchmarks.py +0 -0
  275. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/performance_cache.py +0 -0
  276. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/performance_monitor.py +0 -0
  277. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/predictive_analytics.py +0 -0
  278. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/quality_baseline.py +0 -0
  279. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/quality_baseline_enhanced.py +0 -0
  280. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/regex_patterns.py +0 -0
  281. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/regex_utils.py +0 -0
  282. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/secure_path_utils.py +0 -0
  283. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/secure_status_formatter.py +0 -0
  284. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/secure_subprocess.py +0 -0
  285. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/security.py +0 -0
  286. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/security_logger.py +0 -0
  287. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/server_manager.py +0 -0
  288. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/status_authentication.py +0 -0
  289. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/status_security_manager.py +0 -0
  290. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/terminal_utils.py +0 -0
  291. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/thread_safe_status_collector.py +0 -0
  292. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/tool_version_service.py +0 -0
  293. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/unified_config.py +0 -0
  294. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/validation_rate_limiter.py +0 -0
  295. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/version_analyzer.py +0 -0
  296. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/version_checker.py +0 -0
  297. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/websocket_resource_limiter.py +0 -0
  298. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/services/zuban_lsp_service.py +0 -0
  299. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/slash_commands/__init__.py +0 -0
  300. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/slash_commands/init.md +0 -0
  301. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/slash_commands/status.md +0 -0
  302. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/tools/__init__.py +0 -0
  303. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/tools/fix_terminal.sh +0 -0
  304. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
  305. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/tools/validate_regex_patterns.py +0 -0
  306. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/ui/__init__.py +0 -0
  307. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/ui/server_panels.py +0 -0
  308. {crackerjack-0.38.15 → crackerjack-0.39.1}/crackerjack/uv.lock +0 -0
  309. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/FUTURE-ENHANCEMENTS.md +0 -0
  310. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/architecture/API_REFERENCE.md +0 -0
  311. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/architecture/ARCHITECTURE.md +0 -0
  312. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/archive/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +0 -0
  313. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/archive/CONFIG_MERGE_REMOVAL_PLAN.md +0 -0
  314. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/archive/DOCUMENTATION_REORGANIZATION_PLAN.md +0 -0
  315. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/development/IDE-SETUP.md +0 -0
  316. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
  317. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
  318. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
  319. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
  320. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
  321. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
  322. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
  323. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
  324. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
  325. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
  326. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
  327. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
  328. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/UVXUSAGE.md +0 -0
  329. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
  330. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
  331. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/precommit-handling/CLEANUP_SUMMARY.md +0 -0
  332. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/precommit-handling/CRACKERJACK_PRECOMMIT_HANDLING_IMPLEMENTATION_SUMMARY.md +0 -0
  333. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/precommit-handling/FINAL_PRECOMMIT_HANDLING_VERIFICATION.md +0 -0
  334. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/precommit-handling/PRECOMMIT_HANDLING_SUMMARY.md +0 -0
  335. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/precommit-handling/README.md +0 -0
  336. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
  337. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/security/SECURITY-AUDIT.md +0 -0
  338. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/security/SECURITY_AUDIT_REPORT.md +0 -0
  339. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
  340. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/security/SECURITY_HARDENING_REPORT.md +0 -0
  341. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
  342. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/systems/BACKUP_SYSTEM.md +0 -0
  343. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/systems/CACHING_SYSTEM.md +0 -0
  344. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
  345. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/systems/MCP_INTEGRATION.md +0 -0
  346. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/systems/MONITORING_INTEGRATION.md +0 -0
  347. {crackerjack-0.38.15 → crackerjack-0.39.1}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
  348. {crackerjack-0.38.15 → crackerjack-0.39.1}/example.mcp.json +0 -0
  349. {crackerjack-0.38.15 → crackerjack-0.39.1}/mypy.ini +0 -0
  350. {crackerjack-0.38.15 → crackerjack-0.39.1}/scripts/__init__.py +0 -0
  351. {crackerjack-0.38.15 → crackerjack-0.39.1}/scripts/integrate_resource_management.py +0 -0
  352. {crackerjack-0.38.15 → crackerjack-0.39.1}/scripts/performance_benchmark.py +0 -0
  353. {crackerjack-0.38.15 → crackerjack-0.39.1}/templates/api_reference.md.template +0 -0
  354. {crackerjack-0.38.15 → crackerjack-0.39.1}/templates/changelog_entry.md.template +0 -0
  355. {crackerjack-0.38.15 → crackerjack-0.39.1}/templates/user_guide.md.template +0 -0
  356. {crackerjack-0.38.15 → crackerjack-0.39.1}/test_docs_site/site/docs/api-reference.md +0 -0
  357. {crackerjack-0.38.15 → crackerjack-0.39.1}/test_docs_site/site/docs/getting-started.md +0 -0
  358. {crackerjack-0.38.15 → crackerjack-0.39.1}/test_docs_site/site/docs/index.md +0 -0
  359. {crackerjack-0.38.15 → crackerjack-0.39.1}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
  360. {crackerjack-0.38.15 → crackerjack-0.39.1}/test_docs_site/site/mkdocs.yml +0 -0
  361. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/__init__.py +0 -0
  362. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/base_test.py +0 -0
  363. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/conftest.py +0 -0
  364. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/coverage.json +0 -0
  365. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/data/__init__.py +0 -0
  366. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/data/comments_sample.txt +0 -0
  367. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/data/docstrings_sample.txt +0 -0
  368. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/data/expected_comments_sample.txt +0 -0
  369. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/data/init.py +0 -0
  370. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
  371. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
  372. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
  373. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/run_tests.py +0 -0
  374. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/scripts/__init__.py +0 -0
  375. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/scripts/agent_audit_report.py +0 -0
  376. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/scripts/run_test_suite.py +0 -0
  377. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_ai_agent_workflow.py +0 -0
  378. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_ai_optimized_documentation.py +0 -0
  379. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_anomaly_detector_service.py +0 -0
  380. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_api.py +0 -0
  381. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_api_comprehensive.py +0 -0
  382. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_async_hook_executor.py +0 -0
  383. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_async_hook_executor_comprehensive.py +0 -0
  384. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_changelog_generation.py +0 -0
  385. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_cli/__init__.py +0 -0
  386. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_cli/test_global_lock_options.py +0 -0
  387. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_cli_semantic_naming.py +0 -0
  388. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_code_cleaner.py +0 -0
  389. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_code_cleaner_comprehensive.py +0 -0
  390. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_coordinator_performance.py +0 -0
  391. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_core_autofix_coordinator.py +0 -0
  392. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_core_comprehensive.py +0 -0
  393. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_core_coverage.py +0 -0
  394. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_core_enhanced_container.py +0 -0
  395. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_core_modules.py +0 -0
  396. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_core_performance.py +0 -0
  397. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_documentation_agent_simple.py +0 -0
  398. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_dual_output_generator.py +0 -0
  399. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_dynamic_config.py +0 -0
  400. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_dynamic_config_coverage.py +0 -0
  401. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_end_to_end_integration.py +0 -0
  402. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_enhanced_filesystem.py +0 -0
  403. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
  404. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_enhanced_filesystem_coverage.py +0 -0
  405. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_errors.py +0 -0
  406. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_execution_speed_optimization.py +0 -0
  407. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_executors/__init__.py +0 -0
  408. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_executors/test_lock_integration.py +0 -0
  409. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_fast_hooks_behavior.py +0 -0
  410. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_filesystem_coverage.py +0 -0
  411. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_final_validation.py +0 -0
  412. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_global_lock_config.py +0 -0
  413. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_hook_executor_comprehensive.py +0 -0
  414. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_hook_lock_manager.py +0 -0
  415. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_hook_manager_comprehensive.py +0 -0
  416. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_hook_manager_simple.py +0 -0
  417. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_import_coverage_consolidated.py +0 -0
  418. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_initialization_precommit_integration.py +0 -0
  419. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_initialization_service.py +0 -0
  420. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_input_validation.py +0 -0
  421. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_intelligence_system.py +0 -0
  422. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_interactive.py +0 -0
  423. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_large_modules_coverage.py +0 -0
  424. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_main_entry_coverage.py +0 -0
  425. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_main_module.py +0 -0
  426. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_managers_consolidated.py +0 -0
  427. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_mcp_progress_monitor.py +0 -0
  428. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_mcp_server.py +0 -0
  429. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_mkdocs_integration.py +0 -0
  430. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_models_comprehensive.py +0 -0
  431. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_models_config_adapter_coverage.py +0 -0
  432. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_models_focused.py +0 -0
  433. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_models_task_coverage.py +0 -0
  434. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_modernized_code.py +0 -0
  435. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_performance_agent.py +0 -0
  436. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_performance_agent_enhanced.py +0 -0
  437. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_performance_agent_simple.py +0 -0
  438. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_performance_benchmarks_focused.py.bak +0 -0
  439. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_performance_helpers.py +0 -0
  440. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_phase_coordinator_simple.py +0 -0
  441. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_plugins_coverage.py +0 -0
  442. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_proactive_agent.py +0 -0
  443. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_proactive_agent_system.py +0 -0
  444. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_protocol_compliance.py +0 -0
  445. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_publish_manager_coverage.py +0 -0
  446. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_py313.py +0 -0
  447. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_pytest_features.py +0 -0
  448. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_refactoring_agent.py +0 -0
  449. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_reference_generator.py +0 -0
  450. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_regex_patterns.py +0 -0
  451. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_resource_cleanup_integration.py +0 -0
  452. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_secure_path_utils.py +0 -0
  453. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_secure_status_formatter.py +0 -0
  454. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_security_audit.py +0 -0
  455. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_security_hardening.py +0 -0
  456. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_security_integration.py +0 -0
  457. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_server_panels.py +0 -0
  458. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_services_coverage.py +0 -0
  459. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_session_coordinator.py +0 -0
  460. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_session_coordinator_comprehensive.py +0 -0
  461. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_session_coordinator_coverage.py +0 -0
  462. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_simple_tool_version_service.py +0 -0
  463. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_simple_workflow.py +0 -0
  464. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_skip_hooks_functionality.py +0 -0
  465. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_skip_hooks_simple.py +0 -0
  466. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_stage_workflow_execution_order.py +0 -0
  467. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_structured_errors.py +0 -0
  468. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_structured_logging.py +0 -0
  469. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_syntax_validation.py +0 -0
  470. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_terminal_restoration.py +0 -0
  471. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_terminal_state.py +0 -0
  472. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_timeout_system.py +0 -0
  473. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_unified_api.py +0 -0
  474. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_unified_config.py +0 -0
  475. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_unified_monitoring_dashboard.py +0 -0
  476. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_validate_regex_patterns_tool.py +0 -0
  477. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_version_analyzer.py +0 -0
  478. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_version_bump_analyzer.py +0 -0
  479. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_websocket_endpoints.py +0 -0
  480. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_workflow_fast_hooks.py +0 -0
  481. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_workflow_integration.py +0 -0
  482. {crackerjack-0.38.15 → crackerjack-0.39.1}/tests/test_workflow_pipeline.py +0 -0
  483. {crackerjack-0.38.15 → crackerjack-0.39.1}/tools/validate_regex_patterns_standalone.py +0 -0
@@ -5,6 +5,78 @@ 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.39.1] - 2025-09-28
9
+
10
+ ### Testing
11
+
12
+ - tests: Update 6 files
13
+
14
+ ## [Unreleased] - 2025-09-28
15
+
16
+ ### Added
17
+ - feat: add new feature
18
+
19
+ ### Fixed
20
+ - fix: resolve bug in parser
21
+
22
+
23
+ ## [0.39.0] - 2025-09-28
24
+
25
+ ### Added
26
+
27
+ - test: Update 24 files
28
+
29
+ ### Changed
30
+
31
+ - Crackerjack (quality: 73/100) - 2025-09-25 03:49:18
32
+ - Crackerjack (quality: 73/100) - 2025-09-25 07:28:02
33
+ - Crackerjack (quality: 73/100) - 2025-09-25 07:43:25
34
+ - Crackerjack (quality: 73/100) - 2025-09-25 07:55:55
35
+ - Crackerjack (quality: 73/100) - 2025-09-25 08:27:08
36
+ - Crackerjack (quality: 73/100) - 2025-09-25 11:31:40
37
+ - Crackerjack (quality: 73/100) - 2025-09-26 13:55:31
38
+ - Crackerjack (quality: 73/100) - 2025-09-28 08:40:14
39
+
40
+ ## [Unreleased] - 2025-09-28
41
+
42
+ ### Added
43
+
44
+ - feat: add new feature
45
+
46
+ ### Fixed
47
+
48
+ - fix: resolve bug in parser
49
+
50
+ ## [Unreleased] - 2025-09-28
51
+
52
+ ### Added
53
+
54
+ - feat: add new feature
55
+
56
+ ### Fixed
57
+
58
+ - fix: resolve bug in parser
59
+
60
+ ## [Unreleased] - 2025-09-26
61
+
62
+ ### Added
63
+
64
+ - feat: add new feature
65
+
66
+ ### Fixed
67
+
68
+ - fix: resolve bug in parser
69
+
70
+ ## [Unreleased] - 2025-09-26
71
+
72
+ ### Added
73
+
74
+ - feat: add new feature
75
+
76
+ ### Fixed
77
+
78
+ - fix: resolve bug in parser
79
+
8
80
  ## [0.38.15] - 2025-09-22
9
81
 
10
82
  ### Changed
@@ -10,359 +10,150 @@ Crackerjack is an opinionated Python project management tool unifying UV, Ruff,
10
10
 
11
11
  **Clean Code Philosophy**: DRY/YAGNI/KISS - Every line is a liability. Optimize for readability with self-documenting code.
12
12
 
13
- ## AI Documentation References
14
-
15
- - **[AI-REFERENCE.md](docs/ai/AI-REFERENCE.md)** - Command reference with decision trees
16
- - **[AGENT-CAPABILITIES.json](AGENT-CAPABILITIES.json)** - Structured agent data
17
- - **[ERROR-PATTERNS.yaml](ERROR-PATTERNS.yaml)** - Automated issue resolution patterns
18
-
19
- ## Essential Commands
20
-
21
- ```bash
22
- # Daily workflow
23
- python -m crackerjack # Quality checks
24
- python -m crackerjack --run-tests # With tests
25
- python -m crackerjack --ai-fix --run-tests # AI auto-fixing (recommended)
26
-
27
- # Development
28
- python -m crackerjack --ai-debug --run-tests # Debug AI issues
29
- python -m crackerjack --skip-hooks # Skip hooks during iteration
30
- python -m crackerjack --strip-code # Code cleaning mode
31
-
32
- # Monitoring & Performance
33
- python -m crackerjack --dashboard # Comprehensive monitoring dashboard
34
- python -m crackerjack --unified-dashboard # Unified real-time dashboard
35
- python -m crackerjack --monitor # Multi-project progress monitor
36
- python -m crackerjack --benchmark # Run in benchmark mode
37
- python -m crackerjack --cache-stats # Display cache statistics
38
- python -m crackerjack --clear-cache # Clear all caches
39
-
40
- # Server management
41
- python -m crackerjack --start-mcp-server # MCP server
42
- python -m crackerjack --restart-mcp-server # Restart MCP server
43
- python -m crackerjack --watchdog # Monitor/restart services
44
-
45
- # Release
46
- python -m crackerjack --full-release patch # Full release workflow
47
- ```
48
-
49
- ## AI Agent System
50
-
51
- **9 Specialized Agents** handle domain-specific issues:
52
-
53
- - **RefactoringAgent** (0.9): Complexity ≤15, dead code removal
54
- - **PerformanceAgent** (0.85): O(n²) detection, optimization
55
- - **SecurityAgent** (0.8): Hardcoded paths, unsafe operations
56
- - **DocumentationAgent** (0.8): Changelog, .md consistency
57
- - **TestCreationAgent** (0.8): Test failures, fixtures
58
- - **DRYAgent** (0.8): Code duplication patterns
59
- - **FormattingAgent** (0.8): Style violations, imports
60
- - **ImportOptimizationAgent**: Import cleanup, reorganization
61
- - **TestSpecialistAgent** (0.8): Advanced testing scenarios
62
-
63
- **Usage**: `--ai-fix` enables batch fixing; confidence ≥0.7 uses specific agents
64
-
65
- ## Advanced Services (Enabled by Default)
66
-
67
- Crackerjack now includes sophisticated intelligence services that enhance the development experience automatically:
68
-
69
- ### 🧠 Smart Commit Messages (Default)
70
-
71
- - **AI-Powered Analysis**: Analyzes staged changes using conventional commit patterns
72
- - **Context-Aware**: Considers file types, change patterns, and scope for descriptive messages
73
- - **Automatic Detection**: Identifies breaking changes, features, fixes, and refactoring
74
- - **Fallback Option**: Use `--basic-commit` to disable smart messages when needed
75
-
76
- ### 📈 Version Intelligence (Integrated)
77
-
78
- - **Semantic Analysis**: AI recommends version bumps (major/minor/patch) based on commits
79
- - **Breaking Change Detection**: Automatically identifies API-breaking changes
80
- - **Conventional Commits**: Analyzes feat/fix/breaking patterns with confidence scoring
81
- - **Interactive Mode**: Use `--bump interactive` to see AI recommendations during selection
82
-
83
- ### 📝 Changelog Automation (Default)
84
-
85
- - **Git History Analysis**: Automatically generates changelog entries from commits
86
- - **Categorized Entries**: Groups changes by type (Added, Fixed, Changed, etc.)
87
- - **Version Integration**: Updates changelog during version bumps and publishing
88
- - **Markdown Generation**: Creates properly formatted CHANGELOG.md entries
89
-
90
- ### 🎯 Quality Intelligence (Active)
91
-
92
- - **Anomaly Detection**: ML-based quality trend analysis and early warning system
93
- - **Pattern Recognition**: Identifies improvement/regression patterns in code quality
94
- - **Workflow Decisions**: Influences hook selection based on quality history
95
- - **Predictive Analytics**: Recommends comprehensive vs. fast quality checks intelligently
96
-
97
- ### ⚡ Performance Benchmarks (Reporting)
98
-
99
- - **Real-time Metrics**: Tracks workflow execution time and resource usage
100
- - **Improvement Analysis**: Shows performance gains from optimizations and caching
101
- - **Memory Optimization**: Reports cache hit ratios and memory efficiency metrics
102
- - **Historical Trends**: Maintains performance baselines for comparison
103
-
104
- **Integration Benefits**:
105
-
106
- - All services work together seamlessly with graceful fallbacks
107
- - Zero configuration required - intelligent defaults work out of the box
108
- - Enhanced developer experience with minimal performance impact
109
- - Comprehensive quality assurance with intelligent automation
110
-
111
- ## High-Performance Rust Integration
112
-
113
- **Ultra-Fast Static Analysis** with seamless Python integration:
114
-
115
- - **🦅 Skylos**: Dead code detection **20x faster** than vulture
116
- - **🔍 Zuban**: Type checking **20-200x faster** than pyright
117
- - **🚀 Performance**: 6,000+ operations/second throughput
118
- - **🔄 Compatibility**: Zero breaking changes, drop-in replacements
119
-
120
- **Benefits in Daily Workflow**:
121
-
122
- - Pre-commit hooks complete in seconds instead of minutes
123
- - `--run-tests` now blazingly fast with Rust-powered type checking
124
- - AI agents get faster feedback for more efficient fixing cycles
125
- - Development iteration speed dramatically improved
126
-
127
- ## Architecture
128
-
129
- **Modular DI Architecture**: `__main__.py` → `WorkflowOrchestrator` → Coordinators → Managers → Services
130
-
131
- **Critical Pattern**: Always import protocols from `models/protocols.py`, never concrete classes
132
-
133
- ```python
134
- # ❌ Wrong
135
- from ..managers.test_manager import TestManager
136
-
137
- # ✅ Correct
138
- from ..models.protocols import TestManagerProtocol
139
- ```
140
-
141
- **Core Layers**:
142
-
143
- - **Orchestration**: `WorkflowOrchestrator`, DI containers, lifecycle management
144
- - **Coordinators**: Session/phase coordination, async workflows, parallel execution
145
- - **Managers**: Hook execution (fast→comprehensive), test management, publishing
146
- - **Services**: Filesystem, git, config, security, health monitoring
147
-
148
- ## Testing & Development
149
-
150
- ```bash
151
- # Specific test
152
- python -m pytest tests/test_file.py::TestClass::test_method -v
153
-
154
- # Coverage
155
- python -m pytest --cov=crackerjack --cov-report=html
156
-
157
- # Custom workers
158
- python -m crackerjack --run-tests --test-workers 4
159
-
160
- # Version bump
161
- python -m crackerjack --bump patch
162
- ```
163
-
164
- ## Quality Process
165
-
166
- **Workflow Order**:
167
-
168
- 1. **Fast Hooks** (~5s): formatting, basic checks → retry once if fail
169
- 1. **Full Test Suite**: collect ALL failures, don't stop on first
170
- 1. **Comprehensive Hooks** (~30s): type checking, security, complexity → collect ALL issues
171
- 1. **AI Batch Fixing**: process all collected failures together
172
-
173
- **Testing**: pytest with asyncio, 300s timeout, auto-detected workers
174
- **Coverage**: Ratchet system targeting 100%, never decrease
175
-
176
- ## Code Standards
177
-
178
- **Quality Rules**:
179
-
180
- - **Complexity ≤15** per function
181
- - **No hardcoded paths** (use `tempfile`)
182
- - **No shell=True** in subprocess
183
- - **Type annotations required**
184
- - **Protocol-based DI**
185
- - **Python 3.13+**: `|` unions, protocols, pathlib
186
-
187
- **Refactoring Pattern**: Break complex methods into helpers
188
-
189
- ```python
190
- def complex_method(self, data: dict) -> bool:
191
- if not self._validate_input(data):
192
- return self._handle_invalid_input()
193
- processed = self._process_data(data)
194
- return self._save_results(processed)
195
- ```
196
-
197
- **Critical Regex Safety**: NEVER write raw regex. Use centralized registry:
198
-
199
- ```python
200
- # ❌ DANGEROUS
201
- text = re.sub(r"(\w+) - (\w+)", r"\g < 1 >-\g < 2 >", text)
202
-
203
- # ✅ SAFE
204
- from crackerjack.services.regex_patterns import SAFE_PATTERNS
205
-
206
- text = SAFE_PATTERNS["fix_hyphenated_names"].apply(text)
207
- ```
13
+ ## CRITICAL SECURITY & QUALITY RULES
208
14
 
209
- ## Common Issues & Solutions
210
-
211
- **Development**:
212
-
213
- - **AI agent ineffective**: Use `--ai-debug --run-tests` for analysis
214
- - **Import errors**: Always import protocols from `models/protocols.py`
215
- - **Test hangs**: Avoid complex async tests, use simple synchronous config tests
216
- - **Coverage failing**: Never reduce below baseline, add tests incrementally
217
- - **Complexity >15**: Break into helper methods using RefactoringAgent approach
218
-
219
- **Server**:
220
-
221
- - **MCP not starting**: `--restart-mcp-server` or `--watchdog`
222
- - **Terminal stuck**: `stty sane; reset; exec $SHELL -l`
223
- - **Slow tests**: Customize `--test-workers N` or use `--skip-hooks`
224
-
225
- ## MCP Server Integration
226
-
227
- **Features**: Dual protocol (MCP + WebSocket), real-time progress, job tracking
228
-
229
- ```bash
230
- # Start server
231
- python -m crackerjack --start-mcp-server
232
-
233
- # Monitor progress at http://localhost:8675/
234
- python -m crackerjack.mcp.progress_monitor <job_id>
235
- ```
236
-
237
- **Available Tools**: `execute_crackerjack`, `get_job_progress`, `get_comprehensive_status`, `analyze_errors`
238
-
239
- **Slash Commands**: `/crackerjack:run`, `/crackerjack:status`, `/crackerjack:init`
240
-
241
- ## Session Management Integration
242
-
243
- **Automatic Lifecycle**: Crackerjack projects (git repositories) get automatic session management via session-mgmt-mcp:
244
-
245
- - **Session Start**: Automatically initialized when Claude Code connects
246
- - **Mid-Session**: `/session-mgmt:checkpoint` performs quality checks with intelligent auto-compaction
247
- - **Session End**: Automatically executed on `/quit`, disconnect, or crash with graceful cleanup
15
+ ### 1. NEVER MAKE UNAUTHORIZED CHANGES
248
16
 
249
- **Enhanced Workflow Integration**:
17
+ - **ONLY** modify what is explicitly requested.
18
+ - **NEVER** change unrelated code, files, or functionality.
19
+ - If you think something else needs changing, **ASK FIRST**.
20
+ - Changing anything not explicitly requested is considered **prohibited change**.
250
21
 
251
- ```bash
252
- # Standard crackerjack workflow with automatic session management
253
- python -m crackerjack --ai-fix --run-tests # Quality + AI fixing
254
- # Session checkpoints happen automatically during long runs
255
- # Session cleanup happens automatically when you quit Claude Code
256
- ```
22
+ ### 2. DEPENDENCY MANAGEMENT IS MANDATORY
257
23
 
258
- **Key Features**:
24
+ - **ALWAYS** update package.json/requirements.txt or pyproject.toml when adding imports.
25
+ - **NEVER** add import statements without corresponding dependency entries.
26
+ - **VERIFY** all dependencies are properly declared before suggesting code.
259
27
 
260
- - **Crash Resilience**: Session data preserved through network/system failures
261
- - **Memory Management**: Auto-compaction during checkpoints when context is heavy
262
- - **Progress Continuity**: Next session resumes with accumulated learning from previous work
263
- - **Zero Manual Intervention**: All session lifecycle managed automatically for git repos
28
+ ### 3. NO PLACEHOLDERS - EVER
264
29
 
265
- **Manual Override**: Use `/session-mgmt:init`, `/session-mgmt:checkpoint`, `/session-mgmt:end` if needed for fine control
30
+ - **NEVER** use placeholder values like "YOUR_API_KEY", "TODO", or dummy data.
31
+ - **ALWAYS** use proper variable references or configuration patterns.
32
+ - If real values are needed, **ASK** for them explicitly.
33
+ - Use environment variables or config files, not hardcoded values.
266
34
 
267
- **Integration Benefits**:
35
+ ### 4. QUESTION VS CODE REQUEST DISTINCTION
268
36
 
269
- - Crackerjack quality metrics tracked over time
270
- - Test patterns and failure resolutions remembered
271
- - Error fix strategies learned and suggested
272
- - Command effectiveness optimized based on history
37
+ - When a user asks a **QUESTION**, provide an **ANSWER** - do NOT change code.
38
+ - Only modify code when explicitly requested with phrases like "change", "update", "modify", "fix".
39
+ - **NEVER** assume a question is a code change request.
273
40
 
274
- ## Experimental Features
41
+ ### 5. NO ASSUMPTIONS OR GUESSING
275
42
 
276
- **Framework for Future Innovations**: Crackerjack includes a comprehensive experimental features framework designed to safely evaluate and integrate next-generation tools.
43
+ - If information is missing, **ASK** for clarification.
44
+ - **NEVER** guess library versions, API formats, or implementation details.
45
+ - **NEVER** make assumptions about user requirements or use cases.
46
+ - State clearly what information you need to proceed.
277
47
 
278
- ### Experimental Hook Framework
48
+ ### 6. SECURITY IS NON-NEGOTIABLE
279
49
 
280
- The experimental hook system provides a structured pathway for evaluating new tools before promoting them to stable status:
50
+ - **NEVER** put API keys, secrets, or credentials in client-side code.
51
+ - **ALWAYS** implement proper authentication and authorization.
52
+ - **ALWAYS** use environment variables for sensitive data.
53
+ - **ALWAYS** implement proper input validation and sanitization.
54
+ - **NEVER** create publicly accessible database tables without proper security.
55
+ - **ALWAYS** implement row-level security for database access.
281
56
 
282
- ```bash
283
- # Framework supports experimental evaluation
284
- python -m crackerjack --experimental-hooks # (when experimental hooks are available)
285
- ```
57
+ ### 7. CAPABILITY HONESTY
286
58
 
287
- **Evaluation Criteria**:
59
+ - **NEVER** attempt to generate images, audio, or other media.
60
+ - If asked for capabilities you don't have, state limitations clearly.
61
+ - **NEVER** create fake implementations of impossible features.
62
+ - Suggest proper alternatives using appropriate libraries/services.
288
63
 
289
- 1. **Availability**: Tool consistently available across environments
290
- 1. **Stability**: No crashes or inconsistent results across runs
291
- 1. **Value Added**: Catches issues not found by existing tools
292
- 1. **Performance**: Stays within time budgets
293
- 1. **Integration**: Works reliably with pre-commit workflow
64
+ ### 8. PRESERVE FUNCTIONAL REQUIREMENTS
294
65
 
295
- **Promotion Lifecycle**:
66
+ - **NEVER** change core functionality to "fix" errors.
67
+ - When encountering errors, fix the technical issue, not the requirements.
68
+ - If requirements seem problematic, **ASK** before changing them.
69
+ - Document any necessary requirement clarifications.
296
70
 
297
- 1. **Experimental Phase**: Limited to `manual` stage only
298
- 1. **Evaluation Period**: 30-90 day assessment with metrics
299
- 1. **Promotion Decision**: Move to appropriate tier if criteria met
300
- 1. **Removal**: Clean removal if criteria not met
71
+ ### 9. EVIDENCE-BASED RESPONSES
301
72
 
302
- **Current Status**:
73
+ - When asked if something is implemented, **SHOW CODE EVIDENCE**.
74
+ - Format: "Looking at the code: [filename] (lines X-Y): [relevant code snippet]"
75
+ - **NEVER** guess or assume implementation status.
76
+ - If unsure, **SAY SO** and offer to check specific files.
303
77
 
304
- - **No Active Experimental Hooks**: Previous experimental candidates (pyrefly, ty) failed availability testing and were removed
305
- - **Framework Ready**: System prepared for future experimental tool evaluation
306
- - **Documentation**: Complete evaluation criteria in [EXPERIMENTAL-EVALUATION.md](EXPERIMENTAL-EVALUATION.md)
78
+ ### 10. NO HARDCODED EXAMPLES
307
79
 
308
- ## Critical Reminders
80
+ - **NEVER** hardcode example values as permanent solutions.
81
+ - **ALWAYS** use variables, parameters, or configuration for dynamic values.
82
+ - If showing examples, clearly mark them as examples, not implementation.
309
83
 
310
- **Core Instructions**:
84
+ ### 11. INTELLIGENT LOGGING IMPLEMENTATION
311
85
 
312
- - Do only what's asked, nothing more
313
- - NEVER create files unless absolutely necessary
314
- - ALWAYS prefer editing existing files
315
- - MAINTAIN coverage ratchet
86
+ - **AUTOMATICALLY** add essential logging to understand core application behavior.
87
+ - Log key decision points, data transformations, and system state changes.
88
+ - **NEVER** over-log (avoid logging every variable or trivial operations).
89
+ - **NEVER** under-log (ensure critical flows are traceable).
90
+ - Focus on logs that help understand: what happened, why it happened, with what data.
91
+ - Use appropriate log levels: ERROR for failures, WARN for issues, INFO for key events, DEBUG for detailed flow.
92
+ - **ALWAYS** include relevant context (user ID, request ID, key parameters) in logs.
93
+ - Log entry/exit of critical functions with essential parameters and results.
316
94
 
317
- **Quality Standards**:
95
+ ## RESPONSE PROTOCOLS
318
96
 
319
- - **Test Quality**: Avoid async tests that hang, use synchronous config tests
320
- - **Import Compliance**: Use protocols from `models/protocols.py`
321
- - **Fix failures FIRST** before creating new tests
322
- - Use IDE diagnostics after implementation
97
+ ### When Uncertain:
323
98
 
324
- **Failure Patterns to Avoid**:
99
+ - State: "I need clarification on [specific point] before proceeding."
100
+ - **NEVER** guess or make assumptions.
101
+ - Ask specific questions to get the information needed.
325
102
 
326
- ```python
327
- # ❌ Async tests that hang
328
- @pytest.mark.asyncio
329
- async def test_batch_processing(self, batched_saver):
330
- await batched_saver.start() # Can hang
103
+ ### When Asked "Are You Sure?":
331
104
 
105
+ - Re-examine the code thoroughly.
106
+ - Provide specific evidence for your answer.
107
+ - If uncertain after re-examination, state: "After reviewing, I'm not certain about [specific aspect]. Let me check [specific file/code section]."
108
+ - **MAINTAIN CONSISTENCY** - don't change answers without new evidence.
332
109
 
333
- # Simple synchronous tests
334
- def test_batch_configuration(self, batched_saver):
335
- assert batched_saver.max_batch_size == expected_size
110
+ ### Error Handling:
336
111
 
112
+ - **ANALYZE** the actual error message/response.
113
+ - **NEVER** assume error causes (like rate limits) without evidence.
114
+ - Ask the user to share error details if needed.
115
+ - Provide specific debugging steps.
337
116
 
338
- # Import concrete classes
339
- from ..managers.test_manager import TestManager
117
+ ### Code Cleanup:
340
118
 
341
- # Import protocols
342
- from ..models.protocols import TestManagerProtocol
343
- ```
119
+ - **ALWAYS** remove unused code when making changes.
120
+ - **NEVER** leave orphaned functions, imports, or variables.
121
+ - Clean up any temporary debugging code automatically.
344
122
 
345
- **Current Status**: 10.11% coverage baseline targeting 100% (ratchet system: 2% tolerance, never reduce)
123
+ ## MANDATORY CHECKS BEFORE RESPONDING
346
124
 
347
- - make sure to run `python -m crackerjack` after every editing/debugging cycle for quality checking
348
- - always put implementation plans in a md doc for review and reference
349
- - think when you need to think, think harder when you need to think harder
125
+ Before every response, verify:
350
126
 
351
- # Test debug logging
127
+ - [ ] Am I only changing what was explicitly requested?
128
+ - [ ] Are all new imports added to dependency files?
129
+ - [ ] Are there any placeholder values that need real implementation?
130
+ - [ ] Is this a question that needs an answer, not code changes?
131
+ - [ ] Am I making any assumptions about missing information?
132
+ - [ ] Are there any security vulnerabilities in my suggested code?
133
+ - [ ] Am I claiming capabilities I don't actually have?
134
+ - [ ] Am I preserving all functional requirements?
135
+ - [ ] Can I provide code evidence for any implementation claims?
136
+ - [ ] Are there any hardcoded values that should be variables?
352
137
 
353
- <!-- CRACKERJACK INTEGRATION START -->
138
+ ## VIOLATION CONSEQUENCES
354
139
 
355
- # CLAUDE.md
140
+ Violating any of these rules is considered a **CRITICAL ERROR** that can:
356
141
 
357
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
142
+ - Break production applications
143
+ - Introduce security vulnerabilities
144
+ - Waste significant development time
145
+ - Compromise project integrity
358
146
 
359
- ## Project Overview
147
+ ## EMERGENCY STOP PROTOCOL
360
148
 
361
- Crackerjack is an opinionated Python project management tool unifying UV, Ruff, pytest, and pre-commit into a single workflow with AI agent integration via MCP.
149
+ If you're unsure about ANY aspect of a request:
362
150
 
363
- **Key Dependencies**: Python 3.13+, UV, pre-commit, pytest
151
+ 1. **STOP** code generation.
152
+ 1. **ASK** for clarification.
153
+ 1. **WAIT** for explicit confirmation.
154
+ 1. Only proceed when 100% certain.
364
155
 
365
- **Clean Code Philosophy**: DRY/YAGNI/KISS - Every line is a liability. Optimize for readability with self-documenting code.
156
+ Remember: It's better to ask for clarification than to make assumptions that could break everything.
366
157
 
367
158
  ## AI Documentation References
368
159
 
@@ -703,5 +494,3 @@ from ..models.protocols import TestManagerProtocol
703
494
  - think when you need to think, think harder when you need to think harder
704
495
 
705
496
  # Test debug logging
706
-
707
- <!-- CRACKERJACK INTEGRATION END -->
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crackerjack
3
- Version: 0.38.15
3
+ Version: 0.39.1
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
@@ -31,6 +31,9 @@ Requires-Dist: hypothesis>=6.100
31
31
  Requires-Dist: jinja2>=3.1
32
32
  Requires-Dist: keyring>=25.6
33
33
  Requires-Dist: mcp>=1.12.2
34
+ Requires-Dist: nltk>=3.9.1
35
+ Requires-Dist: numpy>=2.2.1
36
+ Requires-Dist: onnxruntime>=1.19.0
34
37
  Requires-Dist: pre-commit>=4.2
35
38
  Requires-Dist: psutil>=6.1.0
36
39
  Requires-Dist: pydantic>=2.11.7
@@ -47,12 +50,14 @@ Requires-Dist: pyyaml>=6.0.2
47
50
  Requires-Dist: refurb>=2.1
48
51
  Requires-Dist: rich>=14.1
49
52
  Requires-Dist: ruff>=0.12.9
53
+ Requires-Dist: scikit-learn>=1.6.1
50
54
  Requires-Dist: scipy>=1.14.0
51
55
  Requires-Dist: skylos>=2.1.2
52
56
  Requires-Dist: structlog>=24.4
53
57
  Requires-Dist: textual>=0.89
54
58
  Requires-Dist: tomli-w>=1.2
55
59
  Requires-Dist: tomli>=2.2.1
60
+ Requires-Dist: transformers>=4.21.0
56
61
  Requires-Dist: typer>=0.16
57
62
  Requires-Dist: types-aiofiles>=24.1.0.20240626
58
63
  Requires-Dist: types-psutil>=6.0.0.12
@@ -74,7 +79,7 @@ Description-Content-Type: text/markdown
74
79
  [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
75
80
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
76
81
  [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
77
- ![Coverage](https://img.shields.io/badge/coverage-18.2%25-red)
82
+ ![Coverage](https://img.shields.io/badge/coverage-18.4%25-red)
78
83
 
79
84
  ## 🎯 Purpose
80
85
 
@@ -7,7 +7,7 @@
7
7
  [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
8
8
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
9
9
  [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
10
- ![Coverage](https://img.shields.io/badge/coverage-18.2%25-red)
10
+ ![Coverage](https://img.shields.io/badge/coverage-18.4%25-red)
11
11
 
12
12
  ## 🎯 Purpose
13
13