crackerjack 0.33.0__py3-none-any.whl → 0.33.2__py3-none-any.whl

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 (198) hide show
  1. crackerjack/__main__.py +1350 -34
  2. crackerjack/adapters/__init__.py +17 -0
  3. crackerjack/adapters/lsp_client.py +358 -0
  4. crackerjack/adapters/rust_tool_adapter.py +194 -0
  5. crackerjack/adapters/rust_tool_manager.py +193 -0
  6. crackerjack/adapters/skylos_adapter.py +231 -0
  7. crackerjack/adapters/zuban_adapter.py +560 -0
  8. crackerjack/agents/base.py +7 -3
  9. crackerjack/agents/coordinator.py +271 -33
  10. crackerjack/agents/documentation_agent.py +9 -15
  11. crackerjack/agents/dry_agent.py +3 -15
  12. crackerjack/agents/formatting_agent.py +1 -1
  13. crackerjack/agents/import_optimization_agent.py +36 -180
  14. crackerjack/agents/performance_agent.py +17 -98
  15. crackerjack/agents/performance_helpers.py +7 -31
  16. crackerjack/agents/proactive_agent.py +1 -3
  17. crackerjack/agents/refactoring_agent.py +16 -85
  18. crackerjack/agents/refactoring_helpers.py +7 -42
  19. crackerjack/agents/security_agent.py +9 -48
  20. crackerjack/agents/test_creation_agent.py +356 -513
  21. crackerjack/agents/test_specialist_agent.py +0 -4
  22. crackerjack/api.py +6 -25
  23. crackerjack/cli/cache_handlers.py +204 -0
  24. crackerjack/cli/cache_handlers_enhanced.py +683 -0
  25. crackerjack/cli/facade.py +100 -0
  26. crackerjack/cli/handlers.py +224 -9
  27. crackerjack/cli/interactive.py +6 -4
  28. crackerjack/cli/options.py +642 -55
  29. crackerjack/cli/utils.py +2 -1
  30. crackerjack/code_cleaner.py +58 -117
  31. crackerjack/config/global_lock_config.py +8 -48
  32. crackerjack/config/hooks.py +53 -62
  33. crackerjack/core/async_workflow_orchestrator.py +24 -34
  34. crackerjack/core/autofix_coordinator.py +3 -17
  35. crackerjack/core/enhanced_container.py +4 -13
  36. crackerjack/core/file_lifecycle.py +12 -89
  37. crackerjack/core/performance.py +2 -2
  38. crackerjack/core/performance_monitor.py +15 -55
  39. crackerjack/core/phase_coordinator.py +104 -204
  40. crackerjack/core/resource_manager.py +14 -90
  41. crackerjack/core/service_watchdog.py +62 -95
  42. crackerjack/core/session_coordinator.py +149 -0
  43. crackerjack/core/timeout_manager.py +14 -72
  44. crackerjack/core/websocket_lifecycle.py +13 -78
  45. crackerjack/core/workflow_orchestrator.py +171 -174
  46. crackerjack/docs/INDEX.md +11 -0
  47. crackerjack/docs/generated/api/API_REFERENCE.md +10895 -0
  48. crackerjack/docs/generated/api/CLI_REFERENCE.md +109 -0
  49. crackerjack/docs/generated/api/CROSS_REFERENCES.md +1755 -0
  50. crackerjack/docs/generated/api/PROTOCOLS.md +3 -0
  51. crackerjack/docs/generated/api/SERVICES.md +1252 -0
  52. crackerjack/documentation/__init__.py +31 -0
  53. crackerjack/documentation/ai_templates.py +756 -0
  54. crackerjack/documentation/dual_output_generator.py +765 -0
  55. crackerjack/documentation/mkdocs_integration.py +518 -0
  56. crackerjack/documentation/reference_generator.py +977 -0
  57. crackerjack/dynamic_config.py +55 -50
  58. crackerjack/executors/async_hook_executor.py +10 -15
  59. crackerjack/executors/cached_hook_executor.py +117 -43
  60. crackerjack/executors/hook_executor.py +8 -34
  61. crackerjack/executors/hook_lock_manager.py +26 -183
  62. crackerjack/executors/individual_hook_executor.py +13 -11
  63. crackerjack/executors/lsp_aware_hook_executor.py +270 -0
  64. crackerjack/executors/tool_proxy.py +417 -0
  65. crackerjack/hooks/lsp_hook.py +79 -0
  66. crackerjack/intelligence/adaptive_learning.py +25 -10
  67. crackerjack/intelligence/agent_orchestrator.py +2 -5
  68. crackerjack/intelligence/agent_registry.py +34 -24
  69. crackerjack/intelligence/agent_selector.py +5 -7
  70. crackerjack/interactive.py +17 -6
  71. crackerjack/managers/async_hook_manager.py +0 -1
  72. crackerjack/managers/hook_manager.py +79 -1
  73. crackerjack/managers/publish_manager.py +44 -8
  74. crackerjack/managers/test_command_builder.py +1 -15
  75. crackerjack/managers/test_executor.py +1 -3
  76. crackerjack/managers/test_manager.py +98 -7
  77. crackerjack/managers/test_manager_backup.py +10 -9
  78. crackerjack/mcp/cache.py +2 -2
  79. crackerjack/mcp/client_runner.py +1 -1
  80. crackerjack/mcp/context.py +191 -68
  81. crackerjack/mcp/dashboard.py +7 -5
  82. crackerjack/mcp/enhanced_progress_monitor.py +31 -28
  83. crackerjack/mcp/file_monitor.py +30 -23
  84. crackerjack/mcp/progress_components.py +31 -21
  85. crackerjack/mcp/progress_monitor.py +50 -53
  86. crackerjack/mcp/rate_limiter.py +6 -6
  87. crackerjack/mcp/server_core.py +17 -16
  88. crackerjack/mcp/service_watchdog.py +2 -1
  89. crackerjack/mcp/state.py +4 -7
  90. crackerjack/mcp/task_manager.py +11 -9
  91. crackerjack/mcp/tools/core_tools.py +173 -32
  92. crackerjack/mcp/tools/error_analyzer.py +3 -2
  93. crackerjack/mcp/tools/execution_tools.py +8 -10
  94. crackerjack/mcp/tools/execution_tools_backup.py +42 -30
  95. crackerjack/mcp/tools/intelligence_tool_registry.py +7 -5
  96. crackerjack/mcp/tools/intelligence_tools.py +5 -2
  97. crackerjack/mcp/tools/monitoring_tools.py +33 -70
  98. crackerjack/mcp/tools/proactive_tools.py +24 -11
  99. crackerjack/mcp/tools/progress_tools.py +5 -8
  100. crackerjack/mcp/tools/utility_tools.py +20 -14
  101. crackerjack/mcp/tools/workflow_executor.py +62 -40
  102. crackerjack/mcp/websocket/app.py +8 -0
  103. crackerjack/mcp/websocket/endpoints.py +352 -357
  104. crackerjack/mcp/websocket/jobs.py +40 -57
  105. crackerjack/mcp/websocket/monitoring_endpoints.py +2935 -0
  106. crackerjack/mcp/websocket/server.py +7 -25
  107. crackerjack/mcp/websocket/websocket_handler.py +6 -17
  108. crackerjack/mixins/__init__.py +0 -2
  109. crackerjack/mixins/error_handling.py +1 -70
  110. crackerjack/models/config.py +12 -1
  111. crackerjack/models/config_adapter.py +49 -1
  112. crackerjack/models/protocols.py +122 -122
  113. crackerjack/models/resource_protocols.py +55 -210
  114. crackerjack/monitoring/ai_agent_watchdog.py +13 -13
  115. crackerjack/monitoring/metrics_collector.py +426 -0
  116. crackerjack/monitoring/regression_prevention.py +8 -8
  117. crackerjack/monitoring/websocket_server.py +643 -0
  118. crackerjack/orchestration/advanced_orchestrator.py +11 -6
  119. crackerjack/orchestration/coverage_improvement.py +3 -3
  120. crackerjack/orchestration/execution_strategies.py +26 -6
  121. crackerjack/orchestration/test_progress_streamer.py +8 -5
  122. crackerjack/plugins/base.py +2 -2
  123. crackerjack/plugins/hooks.py +7 -0
  124. crackerjack/plugins/managers.py +11 -8
  125. crackerjack/security/__init__.py +0 -1
  126. crackerjack/security/audit.py +6 -35
  127. crackerjack/services/anomaly_detector.py +392 -0
  128. crackerjack/services/api_extractor.py +615 -0
  129. crackerjack/services/backup_service.py +2 -2
  130. crackerjack/services/bounded_status_operations.py +15 -152
  131. crackerjack/services/cache.py +127 -1
  132. crackerjack/services/changelog_automation.py +395 -0
  133. crackerjack/services/config.py +15 -9
  134. crackerjack/services/config_merge.py +19 -80
  135. crackerjack/services/config_template.py +506 -0
  136. crackerjack/services/contextual_ai_assistant.py +48 -22
  137. crackerjack/services/coverage_badge_service.py +171 -0
  138. crackerjack/services/coverage_ratchet.py +27 -25
  139. crackerjack/services/debug.py +3 -3
  140. crackerjack/services/dependency_analyzer.py +460 -0
  141. crackerjack/services/dependency_monitor.py +14 -11
  142. crackerjack/services/documentation_generator.py +491 -0
  143. crackerjack/services/documentation_service.py +675 -0
  144. crackerjack/services/enhanced_filesystem.py +6 -5
  145. crackerjack/services/enterprise_optimizer.py +865 -0
  146. crackerjack/services/error_pattern_analyzer.py +676 -0
  147. crackerjack/services/file_hasher.py +1 -1
  148. crackerjack/services/git.py +8 -25
  149. crackerjack/services/health_metrics.py +10 -8
  150. crackerjack/services/heatmap_generator.py +735 -0
  151. crackerjack/services/initialization.py +11 -30
  152. crackerjack/services/input_validator.py +5 -97
  153. crackerjack/services/intelligent_commit.py +327 -0
  154. crackerjack/services/log_manager.py +15 -12
  155. crackerjack/services/logging.py +4 -3
  156. crackerjack/services/lsp_client.py +628 -0
  157. crackerjack/services/memory_optimizer.py +19 -87
  158. crackerjack/services/metrics.py +42 -33
  159. crackerjack/services/parallel_executor.py +9 -67
  160. crackerjack/services/pattern_cache.py +1 -1
  161. crackerjack/services/pattern_detector.py +6 -6
  162. crackerjack/services/performance_benchmarks.py +18 -59
  163. crackerjack/services/performance_cache.py +20 -81
  164. crackerjack/services/performance_monitor.py +27 -95
  165. crackerjack/services/predictive_analytics.py +510 -0
  166. crackerjack/services/quality_baseline.py +234 -0
  167. crackerjack/services/quality_baseline_enhanced.py +646 -0
  168. crackerjack/services/quality_intelligence.py +785 -0
  169. crackerjack/services/regex_patterns.py +618 -524
  170. crackerjack/services/regex_utils.py +43 -123
  171. crackerjack/services/secure_path_utils.py +5 -164
  172. crackerjack/services/secure_status_formatter.py +30 -141
  173. crackerjack/services/secure_subprocess.py +11 -92
  174. crackerjack/services/security.py +9 -41
  175. crackerjack/services/security_logger.py +12 -24
  176. crackerjack/services/server_manager.py +124 -16
  177. crackerjack/services/status_authentication.py +16 -159
  178. crackerjack/services/status_security_manager.py +4 -131
  179. crackerjack/services/thread_safe_status_collector.py +19 -125
  180. crackerjack/services/unified_config.py +21 -13
  181. crackerjack/services/validation_rate_limiter.py +5 -54
  182. crackerjack/services/version_analyzer.py +459 -0
  183. crackerjack/services/version_checker.py +1 -1
  184. crackerjack/services/websocket_resource_limiter.py +10 -144
  185. crackerjack/services/zuban_lsp_service.py +390 -0
  186. crackerjack/slash_commands/__init__.py +2 -7
  187. crackerjack/slash_commands/run.md +2 -2
  188. crackerjack/tools/validate_input_validator_patterns.py +14 -40
  189. crackerjack/tools/validate_regex_patterns.py +19 -48
  190. {crackerjack-0.33.0.dist-info → crackerjack-0.33.2.dist-info}/METADATA +196 -25
  191. crackerjack-0.33.2.dist-info/RECORD +229 -0
  192. crackerjack/CLAUDE.md +0 -207
  193. crackerjack/RULES.md +0 -380
  194. crackerjack/py313.py +0 -234
  195. crackerjack-0.33.0.dist-info/RECORD +0 -187
  196. {crackerjack-0.33.0.dist-info → crackerjack-0.33.2.dist-info}/WHEEL +0 -0
  197. {crackerjack-0.33.0.dist-info → crackerjack-0.33.2.dist-info}/entry_points.txt +0 -0
  198. {crackerjack-0.33.0.dist-info → crackerjack-0.33.2.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,229 @@
1
+ crackerjack/__init__.py,sha256=k8_Ev_3fWdjFtGNSJdSOvyaSLW54y3j484d3a8k_Ob4,1396
2
+ crackerjack/__main__.py,sha256=zSZyImAZrHvOvGQT7-QHXqJPW8IQLH2c6QU5Awvy1eU,52552
3
+ crackerjack/api.py,sha256=hXWqk9qLxYley6NiIIz9RemYhxC67cwwbktQdV1IPPY,21550
4
+ crackerjack/code_cleaner.py,sha256=M1zVaq31uW0nOkPneKR8kfR3892gyyVx0VhFgRaxsj4,44338
5
+ crackerjack/dynamic_config.py,sha256=1eIXUemABDmY7nN3i45L91GXDEKC14wXfkXsE7YVAWY,18360
6
+ crackerjack/errors.py,sha256=yYbZ92kn_y6acEWgQvEPvozAYs2HT65uLwAXrtXxGsE,10049
7
+ crackerjack/interactive.py,sha256=QXFZrnbY0nc8rFJcivFAVFNgUTHXqLCu3FFv5bmq_eI,21634
8
+ crackerjack/adapters/__init__.py,sha256=k-8ajMDL9DS9hV2FYOu694nmNQg3HkudJRuNcXmx8N4,451
9
+ crackerjack/adapters/lsp_client.py,sha256=4kQ3T5JiWC7uc6kOjZuPdtUboseKSDjZpuKQpV74onc,10963
10
+ crackerjack/adapters/rust_tool_adapter.py,sha256=ui_qMt_WIwInRvRCeT7MnIdp8eln7Fvp4hakXQiVnjg,5999
11
+ crackerjack/adapters/rust_tool_manager.py,sha256=RotOX7WUMAm4GT9bD8xOhSeHFXaME37R9dW-YLTpVcc,6590
12
+ crackerjack/adapters/skylos_adapter.py,sha256=aUO8P7daTXstM3UxaAKOwZDLdMPIUbjmhmXROTF5RlU,7890
13
+ crackerjack/adapters/zuban_adapter.py,sha256=NHg2vAsaONEMMlV3a5lmjPm61poIojL-gqZWqoX-R9o,19663
14
+ crackerjack/agents/__init__.py,sha256=OkL6WdzTk1_EnhJpIPsHV2qCrw6tqKegu_zTpZXnJik,908
15
+ crackerjack/agents/architect_agent.py,sha256=Gq9eAy1_pl-1iEYC28xn4rdIPi9AVynZ7Sd5FnBrNn8,8130
16
+ crackerjack/agents/base.py,sha256=XRF0VKrkIB-QJ_izuM33EPKL26gBABrDKKgMNJy9lJQ,4888
17
+ crackerjack/agents/coordinator.py,sha256=uLh-9aTJedqmTSDmwV2dx42_aeIIOCEFbcdj9wcIR4w,22470
18
+ crackerjack/agents/documentation_agent.py,sha256=tPtNO-2K1f4LELDtC4xnM6m8tet5HPr-PEb9j020908,17180
19
+ crackerjack/agents/dry_agent.py,sha256=OP386uTOEQEQZCetCIHV6j7_cl7BKrhK3BmAmRqdgYI,13302
20
+ crackerjack/agents/formatting_agent.py,sha256=eDkLABvpkc3vkYLBjsjib9_AtqsdjxyPIddIvD293L8,6821
21
+ crackerjack/agents/import_optimization_agent.py,sha256=DoDaN7Pb0Z6Nt6YkkKeWMu3Paffy5eOb6ao4khtL3ko,40578
22
+ crackerjack/agents/performance_agent.py,sha256=1EwvGUBD046mI9HUwEhn4q_PTnXbKthgijY-Qy_vplU,47130
23
+ crackerjack/agents/performance_helpers.py,sha256=fyK5lkh8j5f1dTPld8v1ABMzsVEkeVCk3Feq4BEa_hY,7187
24
+ crackerjack/agents/proactive_agent.py,sha256=cwb5VqYDhqIDB19ACzXq9pp3Jfz5ZukkNJBQ6AkKUOA,2010
25
+ crackerjack/agents/refactoring_agent.py,sha256=F9eOj1Eu-gAvw75ddJntefZmy3TK63RRNG5j1g48G4Y,35411
26
+ crackerjack/agents/refactoring_helpers.py,sha256=FmnuAZ5kXXNljFTd17L5H1ElumkIX6ZmOAjuo7m74bA,9087
27
+ crackerjack/agents/security_agent.py,sha256=gl10hhKAAX_u-3HdhLt7mKditW1XzlLRXDtHk-4f7A4,29050
28
+ crackerjack/agents/test_creation_agent.py,sha256=Mv8rjmhthoFyP5fvzMe6BAb1PsfUUe7N7w7ofsJDSSs,79768
29
+ crackerjack/agents/test_specialist_agent.py,sha256=m9N6G6j1Gc39KxaAIgkkFwlJFdfkZx6NGHOffivxj6M,18434
30
+ crackerjack/agents/tracker.py,sha256=5Hje7Ox-hSPq2yTqkbucwChEvzwlCQxjgVri0KSUUPY,3401
31
+ crackerjack/cli/__init__.py,sha256=6pnXZIglNzax4XA2lWfiqAZQs24Dr7GbXUwIwCF_9_w,583
32
+ crackerjack/cli/cache_handlers.py,sha256=Wa-1ZJdWO7RufLd6Fo62pUTij-a3epFi92h5CfJLlDM,6757
33
+ crackerjack/cli/cache_handlers_enhanced.py,sha256=6X5rYSo1l-rj9eb7eB8mpA-6BlUagyDu-IvCaHwYy5k,24841
34
+ crackerjack/cli/facade.py,sha256=e4_oB04awqEijI3yqiYAZGc6x09uMBa4ih0SsXpgMuY,3751
35
+ crackerjack/cli/handlers.py,sha256=mYhwMLUKid6mQLff0ScpcnhP0yUS9IzOIMdM7VLkUCc,17178
36
+ crackerjack/cli/interactive.py,sha256=bGOMXHYyuselHh2b4khbDGJ4tX9yI2rVN3SZ1oSDOaM,16988
37
+ crackerjack/cli/options.py,sha256=rbjGnl4Y_xbJwWWZEfCVVqzO6RLackGvk4GYthbB2uo,33847
38
+ crackerjack/cli/utils.py,sha256=XC7dT8GNidhORjUe2p2hQOpZgCi2KvVCNu6g3azzgqY,584
39
+ crackerjack/config/__init__.py,sha256=b0481N2f_JvGufMPcbo5IXu2VjYd111r1BHw0oD3x7o,330
40
+ crackerjack/config/global_lock_config.py,sha256=PyonoA2__HKEEvn6SD-gEYh9iD7xIAdts2C3lNoTWhw,1996
41
+ crackerjack/config/hooks.py,sha256=iYliWaMIuEnTHyhf_u9je-7jTEGBQz3ohZGFtc6jIFk,5294
42
+ crackerjack/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
+ crackerjack/core/async_workflow_orchestrator.py,sha256=qX4gTLZVHZmcp-z5hhjJ3fc3LOgbFdJ92LwocdMQzNw,26187
44
+ crackerjack/core/autofix_coordinator.py,sha256=e8n7_LBG5K1DINFuXQReKuvYOpG2ymwsih7zFr8E8Eg,8694
45
+ crackerjack/core/container.py,sha256=e9_1YnWHijUJ0yl23lpgf9mennVQy8NkgJBKtZstG-M,2889
46
+ crackerjack/core/enhanced_container.py,sha256=0rN9aDm5WfcH-g3D_dj7byc1aZK6dLKthKdQrVYuIHw,19475
47
+ crackerjack/core/file_lifecycle.py,sha256=W0A0Bk3XTds1Za-h4gASAUdUrMozbq2XvGi-BjrnkGc,15149
48
+ crackerjack/core/performance.py,sha256=ZVpDydd5BDycxwwZLOUG1tzwejwVvjJvFFSiKbDHpVQ,7606
49
+ crackerjack/core/performance_monitor.py,sha256=5fMDcn8mSDAEJNm6DfNNLDt_NTcRwDHcbKx_eyqHeTs,13303
50
+ crackerjack/core/phase_coordinator.py,sha256=qEkbaD4iXcpFi2voLMy4n0AQveQ8S5dxtAToZJIlN-Y,31126
51
+ crackerjack/core/proactive_workflow.py,sha256=DcmQnOvP4uge5O13t0bfXfBI4K4EjD8fnJPQmlYMO5U,9774
52
+ crackerjack/core/resource_manager.py,sha256=gFQ629Ves5vwd0KNSVCqDp4H57e7-342yRCWL4xRHD8,12797
53
+ crackerjack/core/service_watchdog.py,sha256=Ttj1imOxvUea4Tkf5JO1e2dQtGIK7D-bX1xOsHTa-Kc,15688
54
+ crackerjack/core/session_coordinator.py,sha256=TgoGE9DfXe2x-OkH93Ld9dX9ROjx2_mZFkGXen-z5YI,15680
55
+ crackerjack/core/timeout_manager.py,sha256=_sbEsfYDwWx7y0Pn89QCoAZ5DpWIbCdtR9qkG_Kqj5E,15013
56
+ crackerjack/core/websocket_lifecycle.py,sha256=74kn6ugu6FLlDQhCNSPgqguCFwRoT1WFOvtl8G2OyFc,12860
57
+ crackerjack/core/workflow_orchestrator.py,sha256=Hqow7VkI7WeZVXHDn_Mt6Cc_aKhUaOh5PQ4wurtZfG0,65007
58
+ crackerjack/docs/INDEX.md,sha256=a6CGFEeL5DX_FRft_JFWd0nOxoBmCSSp-QHIC3B7ato,342
59
+ crackerjack/docs/generated/api/API_REFERENCE.md,sha256=mWoqImZA7AhDvRqqF1MhUo70g_pnZr3NoBeZQRotqN8,155816
60
+ crackerjack/docs/generated/api/CLI_REFERENCE.md,sha256=ikuG0hO5EjIiQlJtAUnvEuAhXDa-JHPULPXNNmUwvk4,2805
61
+ crackerjack/docs/generated/api/CROSS_REFERENCES.md,sha256=MscaFom5lJAT1bgh6ubFrj0h3Y6mOkEcmqttBDqH-1c,57825
62
+ crackerjack/docs/generated/api/PROTOCOLS.md,sha256=sDoy3TnMPvkLO_Vrb3u70C7g5UPClshYnHtIMn3oxTk,92
63
+ crackerjack/docs/generated/api/SERVICES.md,sha256=Zqh-6RiJeWWRiEmKR4MUZEbguOdrMlDvSp6tjY4YrXw,22315
64
+ crackerjack/documentation/__init__.py,sha256=gGR--er5oTHhbwLKOHVlU2QgGmQtA0qUXf33F5IzeP0,774
65
+ crackerjack/documentation/ai_templates.py,sha256=GRBKB5bqWudh9MDLjo1b3vNiFAgpL62ezzRp_WxTews,21629
66
+ crackerjack/documentation/dual_output_generator.py,sha256=w7rDthOnyFeRPQDWvYiR4aiScPxsHzkwjJ3blMwT9-w,28552
67
+ crackerjack/documentation/mkdocs_integration.py,sha256=KqU2_9mA-rjP_VDrrfr6KTuPWtTlcvkInPxoH03LTC0,15657
68
+ crackerjack/documentation/reference_generator.py,sha256=qthAvJU32xUjpl6GZ5s0sWILdCS3OGQLzIuw6UBsUU4,30618
69
+ crackerjack/executors/__init__.py,sha256=HF-DmXvKN45uKKDdiMxOT9bYxuy1B-Z91BihOhkK5lg,322
70
+ crackerjack/executors/async_hook_executor.py,sha256=FmKpiAxpZXKwvOWXnRQ73N-reDfX8NusESQ9a4HeacM,17620
71
+ crackerjack/executors/cached_hook_executor.py,sha256=izwdW0B22EZcl_2_llmTIyq5oTcZDZTRL2G97ZwYiXg,11173
72
+ crackerjack/executors/hook_executor.py,sha256=g53TXs5hOY0yRnSpyr44GgEmCRPMxHRgkfjtqBx_-4s,14479
73
+ crackerjack/executors/hook_lock_manager.py,sha256=ft24q6VFEkW_QrifNnSlrQeHGx9GuJeOOTsdlCcjnMI,26694
74
+ crackerjack/executors/individual_hook_executor.py,sha256=t0W9vuqLGPx0HmbTo01N9MRFyqLfY0ZLG06ZIA5qfBY,24362
75
+ crackerjack/executors/lsp_aware_hook_executor.py,sha256=aZxtTwpaDxfmN71II2MEAtfzEst-jPJp-GXmMLwnibA,10388
76
+ crackerjack/executors/tool_proxy.py,sha256=dJnrt72aFXEMuZLsgrLZrf51vfELDaXs5nBxzGHu7SQ,14881
77
+ crackerjack/hooks/lsp_hook.py,sha256=hJCkJ-jUJasE35XPWdnGRDXgynEh2-gUiEd1wxLFp48,2397
78
+ crackerjack/intelligence/__init__.py,sha256=3Sty6xFyxBEXTyy8W34dpAQk7S7m8SnxUz4wrb3xrZc,878
79
+ crackerjack/intelligence/adaptive_learning.py,sha256=Q0pUyxzBBCtySTfp96zHObQVAUaN0c5kEFOFJKIG0j8,25610
80
+ crackerjack/intelligence/agent_orchestrator.py,sha256=YOG2sQc0l5ddz7TzRZ_1YAugTNwuyY1brWrlj5tnMhk,16728
81
+ crackerjack/intelligence/agent_registry.py,sha256=aaj8aO1XTgUZKcgSEzwzsHcOUbgNfWUeYzf_L0RM9uA,13295
82
+ crackerjack/intelligence/agent_selector.py,sha256=DxiY3suJojbeoF2GdJnhECJk5ACH9l8vSBwn1Tjlwvc,15027
83
+ crackerjack/intelligence/integration.py,sha256=vVaC2Fp5RbbABpaohCePzGw1XANuRztGl4qKm_9a1SY,8295
84
+ crackerjack/managers/__init__.py,sha256=PFWccXx4hDQA76T02idAViOLVD-aPeVpgjdfSkh_Dmk,298
85
+ crackerjack/managers/async_hook_manager.py,sha256=c0HFR98sFwfk0uZ3NmAe_6OVZpBrq9I570V8A2DoIxw,5129
86
+ crackerjack/managers/hook_manager.py,sha256=_FT0ngwPwujqg0KZGpLz-pP07mwDmptJ5pVkiy5yS8k,7820
87
+ crackerjack/managers/publish_manager.py,sha256=10LzEiTH3Ck7uP6ky6JaMNSigwdZeWgwc6Ru53CR8sc,17740
88
+ crackerjack/managers/test_command_builder.py,sha256=1TlPzddNcDDxRORH6UvAudcbRc6hKwFyknSEVLkiWAo,3459
89
+ crackerjack/managers/test_executor.py,sha256=2837Ti4OaNsmLxnmELjbQ18hmfL0-Z2EW-W2UeFSDcE,13871
90
+ crackerjack/managers/test_manager.py,sha256=BRPBWXx4flPDK0w96xyHhg-9dmUca1vpKQRM2VofSlI,13158
91
+ crackerjack/managers/test_manager_backup.py,sha256=Yj_HcJBgSM0DJTWOgRCn-pDslEjrmQ_094kBU6Mn1Ec,37932
92
+ crackerjack/managers/test_progress.py,sha256=B1013ygUk2nAo37whDXNA7n-FYdsEO4qj17fuDm_fdg,3058
93
+ crackerjack/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
+ crackerjack/mcp/cache.py,sha256=uq5XVeRjNyARfaAyN9DsaPURU_OHdBId5UfDvXbfSos,11974
95
+ crackerjack/mcp/client_runner.py,sha256=Mrcsw7oTk1JgIno7OuNlVVM28UtmGjQYItpToTVOFzU,2993
96
+ crackerjack/mcp/context.py,sha256=T1rhScFxbqi0Kaf6o8NusVUIwc8o7YGxcsLdmlWVsPI,28350
97
+ crackerjack/mcp/dashboard.py,sha256=eApQekZe1DfKBrlDW5yobyqaN_gdh17ZQlqGmut5TCs,19602
98
+ crackerjack/mcp/enhanced_progress_monitor.py,sha256=xhACaEjreDw1cLObJmhr5ttowl5mRqeohmMzQfRQj3w,16448
99
+ crackerjack/mcp/file_monitor.py,sha256=4OR-nxqH0ettiGInIY6MckFoflwX5VP9bgxXcAZZzfE,12824
100
+ crackerjack/mcp/progress_components.py,sha256=OzD6jccwQOk2-pAcq2-D7f9E_VKsnhZ7AYBGBcT59-g,20577
101
+ crackerjack/mcp/progress_monitor.py,sha256=3TxQ_Og1md8zuNrH9cltOa8RQf_5lHNiVh9DiBkvbBM,37546
102
+ crackerjack/mcp/rate_limiter.py,sha256=oM29wHyvoR9Q9cMBAEqWquHoiBBS1ylrZkUhhFnDkVo,12309
103
+ crackerjack/mcp/server.py,sha256=-AdHHoFNAtoPM1A3_M2giZbIbggUhhvv16uIXk2xqNo,403
104
+ crackerjack/mcp/server_core.py,sha256=c1R_X8U2t1B0_4ZfJEHy_e2AXMF6vr9e6KtNGvorytc,10589
105
+ crackerjack/mcp/service_watchdog.py,sha256=_z99JrYrmVaXI2tVERts0_xHsl4pjltD5iF47mQVADk,16826
106
+ crackerjack/mcp/state.py,sha256=pNclwUxGTH5YiRMq8hB15B9_rpX9aJ-IVnhMw7q9dtI,14427
107
+ crackerjack/mcp/task_manager.py,sha256=hxuZGbRHwEBO-W3UTbg7Lx7gMhTcPRaAiQ8I8VIFs6g,8713
108
+ crackerjack/mcp/websocket_server.py,sha256=Dsw_orJOSeO7t7zRiVErh8GLp5jAaGab6shOeQTynbw,203
109
+ crackerjack/mcp/tools/__init__.py,sha256=T_RMPXHQQWJLvSJjrPkJYtWi5tmyoRrzm0WS2G--iwU,613
110
+ crackerjack/mcp/tools/core_tools.py,sha256=8gytjhqxKglR-ZvLIy0DwJzzaqStex_s9WHiAjkXlD0,14612
111
+ crackerjack/mcp/tools/error_analyzer.py,sha256=8ap3_TIqEfrN0n49w_wJFRE3zu7eHB9E8UyXqqz7unM,8515
112
+ crackerjack/mcp/tools/execution_tools.py,sha256=iMtcTm45v04wNgfiIdzOjMXyB-lZ9x-yUtN9SuLGxNI,10410
113
+ crackerjack/mcp/tools/execution_tools_backup.py,sha256=aq3njWeBlHT8EbBlmWsdtKwYujssV1hyI5waGku68Ec,33269
114
+ crackerjack/mcp/tools/intelligence_tool_registry.py,sha256=eAOBzW3EZTKSz_MeYVzgjD6a1xVZFSXUdgOsgcQLSBk,1262
115
+ crackerjack/mcp/tools/intelligence_tools.py,sha256=R0TK-sLuCezJQu0FfTg1xXs-xI_oI2aJeueZgOrM58g,9106
116
+ crackerjack/mcp/tools/monitoring_tools.py,sha256=5RYbytBmLjJdz1sE33xYchdrO9LgzGwSvsqRsZIV7oA,21804
117
+ crackerjack/mcp/tools/proactive_tools.py,sha256=Geww8uUbdWx1UBoT9JmNc_Q7xr4rcPuZuRVYHKocJoE,12954
118
+ crackerjack/mcp/tools/progress_tools.py,sha256=S4IkENegGaH06EYNotJ3m2Zuky2OMk-iSd3rLs9T9vs,6930
119
+ crackerjack/mcp/tools/utility_tools.py,sha256=zt4tES5uhyvZfMdgtStlqItWCBA4MWqGCypQ5u_HPds,10367
120
+ crackerjack/mcp/tools/workflow_executor.py,sha256=IvHPyvak1UP1MsWgrYScoFvIe52gL7cdPlec0mAHkFc,19628
121
+ crackerjack/mcp/websocket/__init__.py,sha256=lZzyfvYjywHfqyy5X3wWR_jgBkRUxYSpgjdKALBzZcI,345
122
+ crackerjack/mcp/websocket/app.py,sha256=NGZemhdO4TdFBcA8IvRjpRR1_26FTWBGmOsGVyAD2pY,1339
123
+ crackerjack/mcp/websocket/endpoints.py,sha256=SHP6WEm88DMyZvHrc3i3r0o9IDU06Nvce7qPwr43Sv0,16158
124
+ crackerjack/mcp/websocket/jobs.py,sha256=q88kfpvrAujD0zv8dj8xFhvjG-bXk_WXtFHLc__9QRU,13730
125
+ crackerjack/mcp/websocket/monitoring_endpoints.py,sha256=iG-xo9--00wL4U8IL2cAH49UWZ4Q1acrWRZhXsszzkM,106213
126
+ crackerjack/mcp/websocket/server.py,sha256=0kFYpAyMb4mfMyDP-kqnNlNmvql8URkrUzTjh1ZMziE,5725
127
+ crackerjack/mcp/websocket/websocket_handler.py,sha256=fskGcsG7viFWVfK_F8v8tVFEQhJ0mM7UVrEDWCsSLm4,6568
128
+ crackerjack/mixins/__init__.py,sha256=s9jqIIkqJcnnD4lRpQTGO22ITeXXeFHpTv2t4e2NApI,81
129
+ crackerjack/mixins/error_handling.py,sha256=H2B_4bYSXlq_nxvi4h1gp9G56Kd7lYYvqLXHw_UAuLM,4213
130
+ crackerjack/models/__init__.py,sha256=LtKdnwSPDLxKDfGbRa0BuWu50qL7r6EngGNsQRFT6ZY,598
131
+ crackerjack/models/config.py,sha256=YBP3W_XhI94W_mcDZ_Tw5p0cOtVPMKZ4nsJs-GiXyYU,2690
132
+ crackerjack/models/config_adapter.py,sha256=hlw2fwlgwSFjcgzRFG4NYsV5bO1Tud0PL-2WsJRSlvw,8821
133
+ crackerjack/models/protocols.py,sha256=ZtyatubJxnmnnTKzXWCbl8CvREPt2pywSco5KYBJI2o,10970
134
+ crackerjack/models/resource_protocols.py,sha256=oZiq0NEG2kWV0XQ871GIYRx_0v_oQulvEjTbidTbueM,7297
135
+ crackerjack/models/task.py,sha256=Du5vwXj-P_aSIZsFt1Ek4jCTkXz_6DXfnflUxgXkecY,4542
136
+ crackerjack/monitoring/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
+ crackerjack/monitoring/ai_agent_watchdog.py,sha256=bc29uV9uAGFjQvL36vOtmpsYAhZCwqsOs8i1I6cmegE,15150
138
+ crackerjack/monitoring/metrics_collector.py,sha256=PTeOTXk07HWvPwTDK5j-Ef7LPrrNiwouz4_jw0LcP7M,15920
139
+ crackerjack/monitoring/regression_prevention.py,sha256=hV7jwKBXjS9gBVbqHTGEr9BxtKLHkXEg6zPDgTmOeWc,20986
140
+ crackerjack/monitoring/websocket_server.py,sha256=tmCYh5Qp58iicS_txj5OTdmt3I85M5bAGONeyrv0-EQ,24965
141
+ crackerjack/orchestration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
+ crackerjack/orchestration/advanced_orchestrator.py,sha256=RFvyJuUrL2-Vrii4XPX1NNtF-tcBWbbnyokqSe6sxmQ,34000
143
+ crackerjack/orchestration/coverage_improvement.py,sha256=1G88wEvCCL3Gxa1O6jg2U_F3suwJqpu-KKbNJf1e7TI,6745
144
+ crackerjack/orchestration/execution_strategies.py,sha256=G34eYqd5fqKPgPcRScASS86PE-mX2hjL8so-7kPhbRI,12456
145
+ crackerjack/orchestration/test_progress_streamer.py,sha256=Yu6uHuhoCvX6SZP0QNG3Yt8Q4s2tufEHr40o16QU98c,22541
146
+ crackerjack/plugins/__init__.py,sha256=B7hy9b9amJVbYLHgIz8kgTI29j-vYxsUY_sZ5ISbXU0,386
147
+ crackerjack/plugins/base.py,sha256=VFk-xNsgjSlmzJ_iPQALhkr7cguiOtEd3XSR9CcCPkc,5732
148
+ crackerjack/plugins/hooks.py,sha256=IOnYYEB366HR0t09bV7G_F7wOf2D9vtMcEiR0PRfwiw,7574
149
+ crackerjack/plugins/loader.py,sha256=9RmA5Lkizz5BADn-aJDGekISyL7C_O2Grr1tB6undHY,10814
150
+ crackerjack/plugins/managers.py,sha256=3kQlxjvcHyHDgZIdr-JZBO1kqz2asqA4kf2XVAA1K6A,8824
151
+ crackerjack/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
152
+ crackerjack/security/audit.py,sha256=NZJRREvjeKJMhusNZkL8GnBf4XiQFnTwKGcu6NqmvgI,6728
153
+ crackerjack/services/__init__.py,sha256=thXyf5Yh6WRsnGjG3onf5Obe1xbd_p72Fm2tIl1IA3s,617
154
+ crackerjack/services/anomaly_detector.py,sha256=vUwhhGxNGarHQAly4GaN7kc5PBaBvlTfzuvbNYJNf3g,13405
155
+ crackerjack/services/api_extractor.py,sha256=iN4JDkvSyfHRNlhgV0Sf5B9cg4NVaCZn6p-zQlp9YGU,23836
156
+ crackerjack/services/backup_service.py,sha256=0e8AAo9svSBtbsbI9vwnAVSilB2fjph61lskgsUvDLk,15528
157
+ crackerjack/services/bounded_status_operations.py,sha256=mrBkUQwgtYjkbp-Y-5MdrU2A3rp3ZLVgOJv9vLdnJ8k,18763
158
+ crackerjack/services/cache.py,sha256=FutQKxItKSdQFzOlWQaQzVBEfn6lbPXCDdvNnz3NCDQ,14536
159
+ crackerjack/services/changelog_automation.py,sha256=KUeXCYLihRfLR0mUIRiI2aRQdCfe-45GnbB2gYNJJQE,14095
160
+ crackerjack/services/config.py,sha256=Jseaw8bVRxLlMKo2zrEiTO2PPSK1CrlZJYlGFNKZRJ4,13182
161
+ crackerjack/services/config_integrity.py,sha256=Ac6-c7WuupsyrP2dxx_ijgjzpNnx9G0NWsXB-SZjelg,2904
162
+ crackerjack/services/config_merge.py,sha256=jeyvRHSjGnPT7p2EKKJZKpx_A7Q1o4Bgvofu_tXGLfg,16263
163
+ crackerjack/services/config_template.py,sha256=RgSYFVNBxdBfMitlRqz7bzkEHaQhEWMm3pUMS7maRFU,18035
164
+ crackerjack/services/contextual_ai_assistant.py,sha256=6Pnb2r824c4JYkP5mtCH8sJ2OPPvI-KtzbXcosspCfE,19962
165
+ crackerjack/services/coverage_badge_service.py,sha256=gzC3LEyVLt4rpf378APsFVRGgNwkLc50w9S_9xEPPoM,6645
166
+ crackerjack/services/coverage_ratchet.py,sha256=eKxmFyg-7Rnctnk--6P-yNNOFhoKwzTxd4iCJ52dtZE,13439
167
+ crackerjack/services/debug.py,sha256=kTy2vy6JjjNReNn4z7xmhXDVIj8xImaE67kYi-Pfb3o,23227
168
+ crackerjack/services/dependency_analyzer.py,sha256=4MxexuyQ3wyPHVsHr77N22EsAqZTDGOVcSBSm1mOXFQ,16322
169
+ crackerjack/services/dependency_monitor.py,sha256=g2XocjAs5UJmgUfAFFbKc0__cYDMAZqvNVgFufswi6E,20562
170
+ crackerjack/services/documentation_generator.py,sha256=xDJ2dv3Q_HTGCPJADKPVtYzcIpSOhuH5qUxPU2ttICE,16482
171
+ crackerjack/services/documentation_service.py,sha256=V2fY01u_tP_ep87KMGxIocgP6hfpwbf-YyVqssLQSns,24792
172
+ crackerjack/services/enhanced_filesystem.py,sha256=IT-obfj2U2Sfy0iJOq0ZAiczEN6LdHf6VAhnugQe1mQ,15487
173
+ crackerjack/services/enterprise_optimizer.py,sha256=q6srIGxe18N9zH-MNhZ9R34sWnr_-ybGqOWnKyI17Zk,33798
174
+ crackerjack/services/error_pattern_analyzer.py,sha256=bTMwhAMAjVPSUXrNkrtm1KDqfxjnyBMGAPwetBUGCM4,24402
175
+ crackerjack/services/file_hasher.py,sha256=eReytwwK-_-B8JBnpwytDC52cKKgg4qpaxaZKcQjD-0,5211
176
+ crackerjack/services/filesystem.py,sha256=nmL3mYqylS_BSQpwFbC7EMHoA44K5qUxa9CPg1QFZvc,17480
177
+ crackerjack/services/git.py,sha256=a5uwUvZn6bmL6LWN_3G7Pfte036IW_dR4mugpuCP_r8,12723
178
+ crackerjack/services/health_metrics.py,sha256=KmwFlvcB-Pb8DnDI0IRV9ETDdp_vJTaGlhJ_HmBL2YY,21538
179
+ crackerjack/services/heatmap_generator.py,sha256=zz5V-zXPfoCGNXoj7iuyOeFuDRRUhFpxuENUnd0X75g,26200
180
+ crackerjack/services/initialization.py,sha256=oq0D9AZtLufvIP8sNOVayaEhW9PAhXb7NFHFcd2RHjs,25772
181
+ crackerjack/services/input_validator.py,sha256=N2ONa0C2tke4H4MH9kY1j21kMab0PO4iPJCHBZE8jx8,22269
182
+ crackerjack/services/intelligent_commit.py,sha256=HfryPb8ieDPcirPQm1ZYGihZMhAx-n3qv88UAaeFUuE,11307
183
+ crackerjack/services/log_manager.py,sha256=GzZJ_lwbvuj8JscnvqR2TsQ1XHrX6PturqZ6wJCkFLo,8578
184
+ crackerjack/services/logging.py,sha256=aHHrK7Hnke-pqulyJHIoqfymHVyPc5Fxp0WQX_cvbD8,5390
185
+ crackerjack/services/lsp_client.py,sha256=6XPnNbKwDWaU5DEJWBCU7w1gii4glkTYgURulzYtWlY,22299
186
+ crackerjack/services/memory_optimizer.py,sha256=GBRkzWNR1O7lkPV1EmGKMqtaJbRWOKavYYxsdTmKxSg,13328
187
+ crackerjack/services/metrics.py,sha256=0_tiaK2-lBY0Y5MrS3Rrzyxft_JziGEEPgUXW486rX0,23122
188
+ crackerjack/services/parallel_executor.py,sha256=cwKj8KKzaANn6zLmvPRr1v_nije_VqF6O6jSprBFDdM,13604
189
+ crackerjack/services/pattern_cache.py,sha256=fdD-HPoImUnd07rlGuDfyFWG86teWpNVr2LacJkCZ5Q,11097
190
+ crackerjack/services/pattern_detector.py,sha256=soB9zXsjsNFo5pzMpFhFehNOemPTCQh-ARdKlHi46U0,18032
191
+ crackerjack/services/performance_benchmarks.py,sha256=WWZq2J6uxDAPF_tkOumFaBIb8FP3x8bFkIrlKpozynM,10450
192
+ crackerjack/services/performance_cache.py,sha256=Q8_nVePfUFbOhAOyvjoip-VodkGpBsqZcD7Zc4zo6wc,11865
193
+ crackerjack/services/performance_monitor.py,sha256=cDu6FoiUX2VpslA3vG4JL6YQyIk1JzDcD4g5zR8NdjI,20214
194
+ crackerjack/services/predictive_analytics.py,sha256=OcZYP0p2_zZuyWqbqzLHDoHTxVfrPm3VtiY-Yq9y7xc,17843
195
+ crackerjack/services/quality_baseline.py,sha256=ImC1XTFTfrwFIDDDX1F0V7sGquAXI21oVxgjOSYIYFQ,8229
196
+ crackerjack/services/quality_baseline_enhanced.py,sha256=mBxzXD4lkegPc_q_KNJyorBk0cezud40lOWYDBWeNGU,24064
197
+ crackerjack/services/quality_intelligence.py,sha256=iVmYJyyfiU78dR2lsl47PZBee8dj5eCI6f2lYksp0FM,28393
198
+ crackerjack/services/regex_patterns.py,sha256=iom290RuCsoS7mWFtBBCMR0gIoy9dPckte5e7LAvWT0,117247
199
+ crackerjack/services/regex_utils.py,sha256=e7AD59_L-T5-oOxzqsGgrLd94uxRE9aKnwasZkohwI8,14966
200
+ crackerjack/services/secure_path_utils.py,sha256=aHsLwxDch42DidPYtTL_ko40g2rhbXDLnRhcx2LlGk8,16688
201
+ crackerjack/services/secure_status_formatter.py,sha256=yhwNtzvvQVcuHsNOTNZMzlqIMQT9zx-lzAtq9LuSDuk,14121
202
+ crackerjack/services/secure_subprocess.py,sha256=hVUWZMr0f3NZDG_MfhHnf6a66MRtC-7e2i-yGJPca7M,17049
203
+ crackerjack/services/security.py,sha256=plgIz-B8oYN_mpF4NYrqHnT7TRcsp4jr0-YlV9WgD5o,7298
204
+ crackerjack/services/security_logger.py,sha256=B4yuXKi02SRikS8aXLR_fpMrziAAPRvCV6C4vAP60mE,16710
205
+ crackerjack/services/server_manager.py,sha256=IQ0oUFEEMZTxI8csecIJzkCSMESE5KIkYqPxa56tvUw,11399
206
+ crackerjack/services/smart_scheduling.py,sha256=VSaL7DpKR6aa0sC_TUrYP9ZgC9CB7tE3TTNzEqB-GpE,4352
207
+ crackerjack/services/status_authentication.py,sha256=2OJ1MoWlBuvUUXOX02N_zdWKzQfXz4jhEZpsmIJfQ00,16453
208
+ crackerjack/services/status_security_manager.py,sha256=et0h6w7Wt1cPFjzg7frsykAQ-IMfiAXr44WU9Fs6-1U,10967
209
+ crackerjack/services/terminal_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
+ crackerjack/services/thread_safe_status_collector.py,sha256=DXtuaj1gT4KwPZ33LHE-_-AewSVa8I0whnFseEOW3IA,16393
211
+ crackerjack/services/tool_version_service.py,sha256=2FKDAPjnzXALNS_jJCPTy-shLsSPiRRTtHvIFuND3U8,1233
212
+ crackerjack/services/unified_config.py,sha256=QmfcAsv7N65veDI7NiAaiyh0AVTs-t4ZOk3jJZzjzGc,13565
213
+ crackerjack/services/validation_rate_limiter.py,sha256=T5n0N8PB5Ds2JrYm64CBARIm7E5fflLwKh_pCtQz3oI,7753
214
+ crackerjack/services/version_analyzer.py,sha256=yUGku0eO2MrvqV8tVuztuHEBhyOOp7Rwnv-hWd0uIm4,16910
215
+ crackerjack/services/version_checker.py,sha256=UTU3EjC4yiq3hdL203HxTErbTy1oBZnyrlmGd2cUmZk,7579
216
+ crackerjack/services/websocket_resource_limiter.py,sha256=bsEAdqY_Qgaa_Kkz5Ew8WOnTueg7R8FQFp6eKHIDEGM,17217
217
+ crackerjack/services/zuban_lsp_service.py,sha256=CA4FKvVcSGIbgi0b9v86pOTINKguo8nvTfKuO_edlmA,13101
218
+ crackerjack/slash_commands/__init__.py,sha256=69ObvFhmSn06ekM5irraPtFA1KcpP2MjQ0RhVJNt5M8,1774
219
+ crackerjack/slash_commands/init.md,sha256=mANRdCiFAzaTw29lKNrI1JFthK4pxVdtiFC5lN2SDSQ,4581
220
+ crackerjack/slash_commands/run.md,sha256=VEWWset52jPV0m00LnQpjRkHL8g8XRPYAzgOq6BaDnU,6502
221
+ crackerjack/slash_commands/status.md,sha256=U3qqppVLtIIm2lEiMYaKagaHYLI9UplL7OH1j6SRJGw,3921
222
+ crackerjack/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
+ crackerjack/tools/validate_input_validator_patterns.py,sha256=NN7smYlXWrHLQXTb-81gRam2vjW-cJav92f1klPA0qA,8234
224
+ crackerjack/tools/validate_regex_patterns.py,sha256=y2pAp2BzfSC_3XYMIKGMpQFwwwDidPy3k2Y2almOy74,5811
225
+ crackerjack-0.33.2.dist-info/METADATA,sha256=xDRVB5c1SItkZsrd38O-pHRJqECpIxggPoDulU2PXJE,37942
226
+ crackerjack-0.33.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
227
+ crackerjack-0.33.2.dist-info/entry_points.txt,sha256=AJKNft0WXm9xoGUJ3Trl-iXHOWxRAYbagQiza3AILr4,57
228
+ crackerjack-0.33.2.dist-info/licenses/LICENSE,sha256=fDt371P6_6sCu7RyqiZH_AhT1LdN3sN1zjBtqEhDYCk,1531
229
+ crackerjack-0.33.2.dist-info/RECORD,,
crackerjack/CLAUDE.md DELETED
@@ -1,207 +0,0 @@
1
- # CLAUDE.md
2
-
3
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
-
5
- ## Project Overview
6
-
7
- Crackerjack is an opinionated Python project management tool unifying UV, Ruff, pytest, and pre-commit into a single workflow with AI agent integration via MCP.
8
-
9
- **Key Dependencies**: Python 3.13+, UV, pre-commit, pytest
10
-
11
- **Clean Code Philosophy**: DRY/YAGNI/KISS - Every line is a liability. Optimize for readability with self-documenting code.
12
-
13
- ## AI Documentation References
14
-
15
- - **[AI-REFERENCE.md](AI-REFERENCE.md)** - Command reference with decision trees
16
- - **[AGENT-CAPABILITIES.json](AGENT-CAPABILITIES.json)** - Structured agent data
17
- - **[ERROR-PATTERNS.yaml](ERROR-PATTERNS.yaml)** - Automated issue resolution patterns
18
-
19
- ## Essential Commands
20
-
21
- ```bash
22
- # Daily workflow
23
- python -m crackerjack # Quality checks
24
- python -m crackerjack -t # With tests
25
- python -m crackerjack --ai-agent -t # AI auto-fixing (recommended)
26
-
27
- # Development
28
- python -m crackerjack --ai-debug -t # Debug AI issues
29
- python -m crackerjack --skip-hooks # Skip hooks during iteration
30
- python -m crackerjack -x # Code cleaning mode
31
-
32
- # Server management
33
- python -m crackerjack --start-mcp-server # MCP server
34
- python -m crackerjack --watchdog # Monitor/restart services
35
-
36
- # Release
37
- python -m crackerjack -a patch # Full release workflow
38
- ```
39
-
40
- ## AI Agent System
41
-
42
- **9 Specialized Agents** handle domain-specific issues:
43
-
44
- - **RefactoringAgent** (0.9): Complexity ≤15, dead code removal
45
- - **PerformanceAgent** (0.85): O(n²) detection, optimization
46
- - **SecurityAgent** (0.8): Hardcoded paths, unsafe operations
47
- - **DocumentationAgent** (0.8): Changelog, .md consistency
48
- - **TestCreationAgent** (0.8): Test failures, fixtures
49
- - **DRYAgent** (0.8): Code duplication patterns
50
- - **FormattingAgent** (0.8): Style violations, imports
51
- - **ImportOptimizationAgent**: Import cleanup, reorganization
52
- - **TestSpecialistAgent** (0.8): Advanced testing scenarios
53
-
54
- **Usage**: `--ai-agent` enables batch fixing; confidence ≥0.7 uses specific agents
55
-
56
- ## Architecture
57
-
58
- **Modular DI Architecture**: `__main__.py` → `WorkflowOrchestrator` → Coordinators → Managers → Services
59
-
60
- **Critical Pattern**: Always import protocols from `models/protocols.py`, never concrete classes
61
-
62
- ```python
63
- # ❌ Wrong
64
- from ..managers.test_manager import TestManager
65
-
66
- # ✅ Correct
67
- from ..models.protocols import TestManagerProtocol
68
- ```
69
-
70
- **Core Layers**:
71
-
72
- - **Orchestration**: `WorkflowOrchestrator`, DI containers, lifecycle management
73
- - **Coordinators**: Session/phase coordination, async workflows, parallel execution
74
- - **Managers**: Hook execution (fast→comprehensive), test management, publishing
75
- - **Services**: Filesystem, git, config, security, health monitoring
76
-
77
- ## Testing & Development
78
-
79
- ```bash
80
- # Specific test
81
- python -m pytest tests/test_file.py::TestClass::test_method -v
82
-
83
- # Coverage
84
- python -m pytest --cov=crackerjack --cov-report=html
85
-
86
- # Custom workers
87
- python -m crackerjack -t --test-workers 4
88
-
89
- # Version bump
90
- python -m crackerjack --bump patch
91
- ```
92
-
93
- ## Quality Process
94
-
95
- **Workflow Order**:
96
-
97
- 1. **Fast Hooks** (~5s): formatting, basic checks → retry once if fail
98
- 1. **Full Test Suite**: collect ALL failures, don't stop on first
99
- 1. **Comprehensive Hooks** (~30s): type checking, security, complexity → collect ALL issues
100
- 1. **AI Batch Fixing**: process all collected failures together
101
-
102
- **Testing**: pytest with asyncio, 300s timeout, auto-detected workers
103
- **Coverage**: Ratchet system targeting 100%, never decrease
104
-
105
- ## Code Standards
106
-
107
- **Quality Rules**:
108
-
109
- - **Complexity ≤15** per function
110
- - **No hardcoded paths** (use `tempfile`)
111
- - **No shell=True** in subprocess
112
- - **Type annotations required**
113
- - **Protocol-based DI**
114
- - **Python 3.13+**: `|` unions, protocols, pathlib
115
-
116
- **Refactoring Pattern**: Break complex methods into helpers
117
-
118
- ```python
119
- def complex_method(self, data: dict) -> bool:
120
- if not self._validate_input(data):
121
- return self._handle_invalid_input()
122
- processed = self._process_data(data)
123
- return self._save_results(processed)
124
- ```
125
-
126
- **Critical Regex Safety**: NEVER write raw regex. Use centralized registry:
127
-
128
- ```python
129
- # ❌ DANGEROUS
130
- text = re.sub(r"(\w+) - (\w+)", r"\g < 1 >-\g < 2 >", text)
131
-
132
- # ✅ SAFE
133
- from crackerjack.services.regex_patterns import SAFE_PATTERNS
134
-
135
- text = SAFE_PATTERNS["fix_hyphenated_names"].apply(text)
136
- ```
137
-
138
- ## Common Issues & Solutions
139
-
140
- **Development**:
141
-
142
- - **AI agent ineffective**: Use `--ai-debug -t` for analysis
143
- - **Import errors**: Always import protocols from `models/protocols.py`
144
- - **Test hangs**: Avoid complex async tests, use simple synchronous config tests
145
- - **Coverage failing**: Never reduce below baseline, add tests incrementally
146
- - **Complexity >15**: Break into helper methods using RefactoringAgent approach
147
-
148
- **Server**:
149
-
150
- - **MCP not starting**: `--restart-mcp-server` or `--watchdog`
151
- - **Terminal stuck**: `stty sane; reset; exec $SHELL -l`
152
- - **Slow tests**: Customize `--test-workers N` or use `--skip-hooks`
153
-
154
- ## MCP Server Integration
155
-
156
- **Features**: Dual protocol (MCP + WebSocket), real-time progress, job tracking
157
-
158
- ```bash
159
- # Start server
160
- python -m crackerjack --start-mcp-server
161
-
162
- # Monitor progress at http://localhost:8675/
163
- python -m crackerjack.mcp.progress_monitor <job_id>
164
- ```
165
-
166
- **Available Tools**: `execute_crackerjack`, `get_job_progress`, `get_comprehensive_status`, `analyze_errors`
167
-
168
- **Slash Commands**: `/crackerjack:run`, `/crackerjack:status`, `/crackerjack:init`
169
-
170
- ## Critical Reminders
171
-
172
- **Core Instructions**:
173
-
174
- - Do only what's asked, nothing more
175
- - NEVER create files unless absolutely necessary
176
- - ALWAYS prefer editing existing files
177
- - MAINTAIN coverage ratchet
178
-
179
- **Quality Standards**:
180
-
181
- - **Test Quality**: Avoid async tests that hang, use synchronous config tests
182
- - **Import Compliance**: Use protocols from `models/protocols.py`
183
- - **Fix failures FIRST** before creating new tests
184
- - Use IDE diagnostics after implementation
185
-
186
- **Failure Patterns to Avoid**:
187
-
188
- ```python
189
- # ❌ Async tests that hang
190
- @pytest.mark.asyncio
191
- async def test_batch_processing(self, batched_saver):
192
- await batched_saver.start() # Can hang
193
-
194
-
195
- # ✅ Simple synchronous tests
196
- def test_batch_configuration(self, batched_saver):
197
- assert batched_saver.max_batch_size == expected_size
198
-
199
-
200
- # ❌ Import concrete classes
201
- from ..managers.test_manager import TestManager
202
-
203
- # ✅ Import protocols
204
- from ..models.protocols import TestManagerProtocol
205
- ```
206
-
207
- **Current Status**: 10.11% coverage baseline targeting 100% (ratchet system: 2% tolerance, never reduce)