crackerjack 0.38.1__tar.gz → 0.38.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of crackerjack might be problematic. Click here for more details.

Files changed (401) hide show
  1. {crackerjack-0.38.1 → crackerjack-0.38.2}/CHANGELOG.md +6 -0
  2. {crackerjack-0.38.1 → crackerjack-0.38.2}/PKG-INFO +2 -2
  3. {crackerjack-0.38.1 → crackerjack-0.38.2}/README.md +1 -1
  4. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/workflow_orchestrator.py +60 -1
  5. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/managers/test_manager.py +37 -0
  6. {crackerjack-0.38.1 → crackerjack-0.38.2}/pyproject.toml +1 -1
  7. {crackerjack-0.38.1 → crackerjack-0.38.2}/uv.lock +1 -1
  8. {crackerjack-0.38.1 → crackerjack-0.38.2}/.codespell-ignore +0 -0
  9. {crackerjack-0.38.1 → crackerjack-0.38.2}/.codespellrc +0 -0
  10. {crackerjack-0.38.1 → crackerjack-0.38.2}/.github/FUNDING.yml +0 -0
  11. {crackerjack-0.38.1 → crackerjack-0.38.2}/.gitignore +0 -0
  12. {crackerjack-0.38.1 → crackerjack-0.38.2}/.pre-commit-config.yaml +0 -0
  13. {crackerjack-0.38.1 → crackerjack-0.38.2}/AGENTS.md +0 -0
  14. {crackerjack-0.38.1 → crackerjack-0.38.2}/CLAUDE.md +0 -0
  15. {crackerjack-0.38.1 → crackerjack-0.38.2}/LICENSE +0 -0
  16. {crackerjack-0.38.1 → crackerjack-0.38.2}/QWEN.md +0 -0
  17. {crackerjack-0.38.1 → crackerjack-0.38.2}/RULES.md +0 -0
  18. {crackerjack-0.38.1 → crackerjack-0.38.2}/SECURITY.md +0 -0
  19. {crackerjack-0.38.1 → crackerjack-0.38.2}/ai/AGENT-CAPABILITIES.json +0 -0
  20. {crackerjack-0.38.1 → crackerjack-0.38.2}/ai/AGENT_SELECTION.md +0 -0
  21. {crackerjack-0.38.1 → crackerjack-0.38.2}/ai/AI-REFERENCE.md +0 -0
  22. {crackerjack-0.38.1 → crackerjack-0.38.2}/ai/ERROR-PATTERNS.yaml +0 -0
  23. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/__init__.py +0 -0
  24. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/__main__.py +0 -0
  25. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/adapters/__init__.py +0 -0
  26. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/adapters/lsp_client.py +0 -0
  27. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/adapters/rust_tool_adapter.py +0 -0
  28. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/adapters/rust_tool_manager.py +0 -0
  29. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/adapters/skylos_adapter.py +0 -0
  30. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/adapters/zuban_adapter.py +0 -0
  31. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/__init__.py +0 -0
  32. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/architect_agent.py +0 -0
  33. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/base.py +0 -0
  34. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/coordinator.py +0 -0
  35. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/documentation_agent.py +0 -0
  36. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/dry_agent.py +0 -0
  37. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/formatting_agent.py +0 -0
  38. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/import_optimization_agent.py +0 -0
  39. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/performance_agent.py +0 -0
  40. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/performance_helpers.py +0 -0
  41. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/proactive_agent.py +0 -0
  42. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/refactoring_agent.py +0 -0
  43. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/refactoring_helpers.py +0 -0
  44. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/security_agent.py +0 -0
  45. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/test_creation_agent.py +0 -0
  46. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/test_specialist_agent.py +0 -0
  47. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/agents/tracker.py +0 -0
  48. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/api.py +0 -0
  49. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/cli/__init__.py +0 -0
  50. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/cli/cache_handlers.py +0 -0
  51. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
  52. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/cli/facade.py +0 -0
  53. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/cli/handlers.py +0 -0
  54. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/cli/interactive.py +0 -0
  55. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/cli/options.py +0 -0
  56. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/cli/utils.py +0 -0
  57. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/code_cleaner.py +0 -0
  58. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/config/__init__.py +0 -0
  59. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/config/global_lock_config.py +0 -0
  60. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/config/hooks.py +0 -0
  61. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/__init__.py +0 -0
  62. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/async_workflow_orchestrator.py +0 -0
  63. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/autofix_coordinator.py +0 -0
  64. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/container.py +0 -0
  65. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/enhanced_container.py +0 -0
  66. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/file_lifecycle.py +0 -0
  67. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/performance.py +0 -0
  68. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/performance_monitor.py +0 -0
  69. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/phase_coordinator.py +0 -0
  70. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/proactive_workflow.py +0 -0
  71. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/resource_manager.py +0 -0
  72. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/service_watchdog.py +0 -0
  73. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/session_coordinator.py +0 -0
  74. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/timeout_manager.py +0 -0
  75. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/core/websocket_lifecycle.py +0 -0
  76. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/docs/INDEX.md +0 -0
  77. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
  78. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
  79. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
  80. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
  81. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/docs/generated/api/SERVICES.md +0 -0
  82. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/documentation/__init__.py +0 -0
  83. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/documentation/ai_templates.py +0 -0
  84. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/documentation/dual_output_generator.py +0 -0
  85. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/documentation/mkdocs_integration.py +0 -0
  86. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/documentation/reference_generator.py +0 -0
  87. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/dynamic_config.py +0 -0
  88. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/errors.py +0 -0
  89. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/executors/__init__.py +0 -0
  90. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/executors/async_hook_executor.py +0 -0
  91. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/executors/cached_hook_executor.py +0 -0
  92. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/executors/hook_executor.py +0 -0
  93. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/executors/hook_lock_manager.py +0 -0
  94. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/executors/individual_hook_executor.py +0 -0
  95. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
  96. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/executors/tool_proxy.py +0 -0
  97. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/hooks/lsp_hook.py +0 -0
  98. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/intelligence/__init__.py +0 -0
  99. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/intelligence/adaptive_learning.py +0 -0
  100. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/intelligence/agent_orchestrator.py +0 -0
  101. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/intelligence/agent_registry.py +0 -0
  102. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/intelligence/agent_selector.py +0 -0
  103. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/intelligence/integration.py +0 -0
  104. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/interactive.py +0 -0
  105. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/managers/__init__.py +0 -0
  106. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/managers/async_hook_manager.py +0 -0
  107. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/managers/hook_manager.py +0 -0
  108. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/managers/publish_manager.py +0 -0
  109. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/managers/test_command_builder.py +0 -0
  110. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/managers/test_executor.py +0 -0
  111. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/managers/test_manager_backup.py +0 -0
  112. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/managers/test_progress.py +0 -0
  113. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/__init__.py +0 -0
  114. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/cache.py +0 -0
  115. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/client_runner.py +0 -0
  116. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/context.py +0 -0
  117. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/dashboard.py +0 -0
  118. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
  119. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
  120. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/file_monitor.py +0 -0
  121. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/progress_components.py +0 -0
  122. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/progress_monitor.py +0 -0
  123. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/progress_monitor.tcss +0 -0
  124. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/rate_limiter.py +0 -0
  125. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/server.py +0 -0
  126. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/server_core.py +0 -0
  127. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/service_watchdog.py +0 -0
  128. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/state.py +0 -0
  129. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/task_manager.py +0 -0
  130. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/__init__.py +0 -0
  131. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/core_tools.py +0 -0
  132. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/error_analyzer.py +0 -0
  133. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/execution_tools.py +0 -0
  134. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
  135. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
  136. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
  137. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
  138. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
  139. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/proactive_tools.py +0 -0
  140. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/progress_tools.py +0 -0
  141. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/utility_tools.py +0 -0
  142. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/tools/workflow_executor.py +0 -0
  143. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/websocket/__init__.py +0 -0
  144. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/websocket/app.py +0 -0
  145. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/websocket/endpoints.py +0 -0
  146. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/websocket/jobs.py +0 -0
  147. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
  148. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/websocket/server.py +0 -0
  149. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
  150. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mcp/websocket_server.py +0 -0
  151. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mixins/__init__.py +0 -0
  152. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/mixins/error_handling.py +0 -0
  153. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/models/__init__.py +0 -0
  154. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/models/config.py +0 -0
  155. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/models/config_adapter.py +0 -0
  156. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/models/protocols.py +0 -0
  157. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/models/resource_protocols.py +0 -0
  158. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/models/task.py +0 -0
  159. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/monitoring/__init__.py +0 -0
  160. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
  161. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/monitoring/metrics_collector.py +0 -0
  162. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/monitoring/regression_prevention.py +0 -0
  163. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/monitoring/websocket_server.py +0 -0
  164. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/orchestration/__init__.py +0 -0
  165. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
  166. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/orchestration/coverage_improvement.py +0 -0
  167. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/orchestration/execution_strategies.py +0 -0
  168. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/orchestration/test_progress_streamer.py +0 -0
  169. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/plugins/__init__.py +0 -0
  170. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/plugins/base.py +0 -0
  171. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/plugins/hooks.py +0 -0
  172. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/plugins/loader.py +0 -0
  173. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/plugins/managers.py +0 -0
  174. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/pyproject.toml +0 -0
  175. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/security/__init__.py +0 -0
  176. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/security/audit.py +0 -0
  177. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/__init__.py +0 -0
  178. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/anomaly_detector.py +0 -0
  179. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/api_extractor.py +0 -0
  180. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/backup_service.py +0 -0
  181. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/bounded_status_operations.py +0 -0
  182. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/cache.py +0 -0
  183. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/changelog_automation.py +0 -0
  184. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/config.py +0 -0
  185. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/config_integrity.py +0 -0
  186. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/config_merge.py +0 -0
  187. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/config_template.py +0 -0
  188. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/contextual_ai_assistant.py +0 -0
  189. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/coverage_badge_service.py +0 -0
  190. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/coverage_ratchet.py +0 -0
  191. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/debug.py +0 -0
  192. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/dependency_analyzer.py +0 -0
  193. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/dependency_monitor.py +0 -0
  194. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/documentation_generator.py +0 -0
  195. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/documentation_service.py +0 -0
  196. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/enhanced_filesystem.py +0 -0
  197. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/enterprise_optimizer.py +0 -0
  198. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/error_pattern_analyzer.py +0 -0
  199. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/file_hasher.py +0 -0
  200. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/filesystem.py +0 -0
  201. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/git.py +0 -0
  202. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/health_metrics.py +0 -0
  203. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/heatmap_generator.py +0 -0
  204. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/initialization.py +0 -0
  205. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/input_validator.py +0 -0
  206. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/intelligent_commit.py +0 -0
  207. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/log_manager.py +0 -0
  208. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/logging.py +0 -0
  209. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/lsp_client.py +0 -0
  210. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/memory_optimizer.py +0 -0
  211. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/metrics.py +0 -0
  212. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/parallel_executor.py +0 -0
  213. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/pattern_cache.py +0 -0
  214. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/pattern_detector.py +0 -0
  215. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/performance_benchmarks.py +0 -0
  216. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/performance_cache.py +0 -0
  217. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/performance_monitor.py +0 -0
  218. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/predictive_analytics.py +0 -0
  219. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/quality_baseline.py +0 -0
  220. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/quality_baseline_enhanced.py +0 -0
  221. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/quality_intelligence.py +0 -0
  222. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/regex_patterns.py +0 -0
  223. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/regex_utils.py +0 -0
  224. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/secure_path_utils.py +0 -0
  225. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/secure_status_formatter.py +0 -0
  226. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/secure_subprocess.py +0 -0
  227. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/security.py +0 -0
  228. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/security_logger.py +0 -0
  229. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/server_manager.py +0 -0
  230. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/smart_scheduling.py +0 -0
  231. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/status_authentication.py +0 -0
  232. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/status_security_manager.py +0 -0
  233. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/terminal_utils.py +0 -0
  234. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/thread_safe_status_collector.py +0 -0
  235. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/tool_version_service.py +0 -0
  236. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/unified_config.py +0 -0
  237. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/validation_rate_limiter.py +0 -0
  238. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/version_analyzer.py +0 -0
  239. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/version_checker.py +0 -0
  240. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/websocket_resource_limiter.py +0 -0
  241. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/services/zuban_lsp_service.py +0 -0
  242. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/slash_commands/__init__.py +0 -0
  243. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/slash_commands/init.md +0 -0
  244. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/slash_commands/run.md +0 -0
  245. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/slash_commands/status.md +0 -0
  246. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/tools/__init__.py +0 -0
  247. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/tools/fix_terminal.sh +0 -0
  248. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
  249. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/tools/validate_regex_patterns.py +0 -0
  250. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/ui/__init__.py +0 -0
  251. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/ui/server_panels.py +0 -0
  252. {crackerjack-0.38.1 → crackerjack-0.38.2}/crackerjack/uv.lock +0 -0
  253. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/architecture/API_REFERENCE.md +0 -0
  254. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/architecture/ARCHITECTURE.md +0 -0
  255. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/archive/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +0 -0
  256. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/archive/CONFIG_MERGE_REMOVAL_PLAN.md +0 -0
  257. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/archive/DOCUMENTATION_REORGANIZATION_PLAN.md +0 -0
  258. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/development/IDE-SETUP.md +0 -0
  259. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
  260. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
  261. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
  262. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
  263. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
  264. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
  265. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
  266. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
  267. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
  268. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
  269. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
  270. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
  271. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/UVXUSAGE.md +0 -0
  272. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
  273. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
  274. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
  275. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/security/SECURITY-AUDIT.md +0 -0
  276. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/security/SECURITY_AUDIT_REPORT.md +0 -0
  277. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
  278. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/security/SECURITY_HARDENING_REPORT.md +0 -0
  279. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
  280. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/systems/BACKUP_SYSTEM.md +0 -0
  281. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/systems/CACHING_SYSTEM.md +0 -0
  282. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
  283. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/systems/MCP_INTEGRATION.md +0 -0
  284. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/systems/MONITORING_INTEGRATION.md +0 -0
  285. {crackerjack-0.38.1 → crackerjack-0.38.2}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
  286. {crackerjack-0.38.1 → crackerjack-0.38.2}/example.mcp.json +0 -0
  287. {crackerjack-0.38.1 → crackerjack-0.38.2}/excalidraw.log +0 -0
  288. {crackerjack-0.38.1 → crackerjack-0.38.2}/mypy.ini +0 -0
  289. {crackerjack-0.38.1 → crackerjack-0.38.2}/scripts/__init__.py +0 -0
  290. {crackerjack-0.38.1 → crackerjack-0.38.2}/scripts/integrate_resource_management.py +0 -0
  291. {crackerjack-0.38.1 → crackerjack-0.38.2}/scripts/performance_benchmark.py +0 -0
  292. {crackerjack-0.38.1 → crackerjack-0.38.2}/templates/api_reference.md.template +0 -0
  293. {crackerjack-0.38.1 → crackerjack-0.38.2}/templates/changelog_entry.md.template +0 -0
  294. {crackerjack-0.38.1 → crackerjack-0.38.2}/templates/user_guide.md.template +0 -0
  295. {crackerjack-0.38.1 → crackerjack-0.38.2}/test_docs_site/site/docs/api-reference.md +0 -0
  296. {crackerjack-0.38.1 → crackerjack-0.38.2}/test_docs_site/site/docs/getting-started.md +0 -0
  297. {crackerjack-0.38.1 → crackerjack-0.38.2}/test_docs_site/site/docs/index.md +0 -0
  298. {crackerjack-0.38.1 → crackerjack-0.38.2}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
  299. {crackerjack-0.38.1 → crackerjack-0.38.2}/test_docs_site/site/mkdocs.yml +0 -0
  300. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/__init__.py +0 -0
  301. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/base_test.py +0 -0
  302. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/conftest.py +0 -0
  303. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/coverage.json +0 -0
  304. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/data/__init__.py +0 -0
  305. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/data/comments_sample.txt +0 -0
  306. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/data/docstrings_sample.txt +0 -0
  307. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/data/expected_comments_sample.txt +0 -0
  308. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/data/init.py +0 -0
  309. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
  310. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
  311. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
  312. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/run_tests.py +0 -0
  313. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/scripts/__init__.py +0 -0
  314. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/scripts/agent_audit_report.py +0 -0
  315. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/scripts/run_test_suite.py +0 -0
  316. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test___main__.py +0 -0
  317. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_ai_agent_workflow.py +0 -0
  318. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_ai_optimized_documentation.py +0 -0
  319. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_api.py +0 -0
  320. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_async_hook_executor.py +0 -0
  321. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_changelog_generation.py +0 -0
  322. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_cli/__init__.py +0 -0
  323. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_cli/test_global_lock_options.py +0 -0
  324. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_cli_semantic_naming.py +0 -0
  325. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_coordinator_performance.py +0 -0
  326. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_core_autofix_coordinator.py +0 -0
  327. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_core_comprehensive.py +0 -0
  328. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_core_coverage.py +0 -0
  329. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_core_enhanced_container.py +0 -0
  330. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_core_modules.py +0 -0
  331. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_core_performance.py +0 -0
  332. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_documentation_agent_simple.py +0 -0
  333. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_dynamic_config.py +0 -0
  334. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_dynamic_config_coverage.py +0 -0
  335. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_end_to_end_integration.py +0 -0
  336. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_enhanced_filesystem.py +0 -0
  337. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
  338. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_enhanced_filesystem_coverage.py +0 -0
  339. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_execution_speed_optimization.py +0 -0
  340. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_executors/__init__.py +0 -0
  341. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_executors/test_lock_integration.py +0 -0
  342. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_fast_hooks_behavior.py +0 -0
  343. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_filesystem_coverage.py +0 -0
  344. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_final_validation.py +0 -0
  345. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_global_lock_config.py +0 -0
  346. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_hook_lock_manager.py +0 -0
  347. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_hook_manager_simple.py +0 -0
  348. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_import_coverage_consolidated.py +0 -0
  349. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_input_validation.py +0 -0
  350. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_intelligence_system.py +0 -0
  351. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_interactive.py +0 -0
  352. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_large_modules_coverage.py +0 -0
  353. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_main_entry_coverage.py +0 -0
  354. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_main_module.py +0 -0
  355. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_managers_consolidated.py +0 -0
  356. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_mcp_progress_monitor.py +0 -0
  357. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_mcp_server.py +0 -0
  358. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_models_comprehensive.py +0 -0
  359. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_models_config_adapter_coverage.py +0 -0
  360. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_models_focused.py +0 -0
  361. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_models_task_coverage.py +0 -0
  362. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_modernized_code.py +0 -0
  363. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_performance_agent_enhanced.py +0 -0
  364. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_performance_agent_simple.py +0 -0
  365. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_performance_benchmarks_focused.py.bak +0 -0
  366. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_phase_coordinator_simple.py +0 -0
  367. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_plugins_coverage.py +0 -0
  368. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_proactive_agent_system.py +0 -0
  369. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_protocol_compliance.py +0 -0
  370. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_publish_manager_coverage.py +0 -0
  371. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_pytest_features.py +0 -0
  372. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_regex_patterns.py +0 -0
  373. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_resource_cleanup_integration.py +0 -0
  374. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_secure_path_utils.py +0 -0
  375. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_secure_status_formatter.py +0 -0
  376. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_security_audit.py +0 -0
  377. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_security_hardening.py +0 -0
  378. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_security_integration.py +0 -0
  379. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_services_coverage.py +0 -0
  380. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_session_coordinator.py +0 -0
  381. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_session_coordinator_coverage.py +0 -0
  382. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_simple_tool_version_service.py +0 -0
  383. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_simple_workflow.py +0 -0
  384. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_stage_workflow_execution_order.py +0 -0
  385. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_structured_errors.py +0 -0
  386. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_structured_logging.py +0 -0
  387. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_syntax_validation.py +0 -0
  388. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_terminal_restoration.py +0 -0
  389. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_terminal_state.py +0 -0
  390. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_timeout_system.py +0 -0
  391. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_unified_api.py +0 -0
  392. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_unified_config.py +0 -0
  393. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_unified_monitoring_dashboard.py +0 -0
  394. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_validate_regex_patterns_tool.py +0 -0
  395. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_version_analyzer.py +0 -0
  396. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_version_bump_analyzer.py +0 -0
  397. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_websocket_endpoints.py +0 -0
  398. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_workflow_fast_hooks.py +0 -0
  399. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_workflow_integration.py +0 -0
  400. {crackerjack-0.38.1 → crackerjack-0.38.2}/tests/test_workflow_orchestrator.py +0 -0
  401. {crackerjack-0.38.1 → crackerjack-0.38.2}/tools/validate_regex_patterns_standalone.py +0 -0
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.38.2] - 2025-09-18
9
+
10
+ ### Documentation
11
+
12
+ - config: Update 4 files
13
+
8
14
  ## [0.38.1] - 2025-09-18
9
15
 
10
16
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crackerjack
3
- Version: 0.38.1
3
+ Version: 0.38.2
4
4
  Summary: Crackerjack Python project management tool
5
5
  Project-URL: documentation, https://github.com/lesleslie/crackerjack
6
6
  Project-URL: homepage, https://github.com/lesleslie/crackerjack
@@ -74,7 +74,7 @@ Description-Content-Type: text/markdown
74
74
  [![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
75
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
76
76
  [![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-37.0%25-red)
77
+ ![Coverage](https://img.shields.io/badge/coverage-17.7%25-red)
78
78
 
79
79
  ## 🎯 Purpose
80
80
 
@@ -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-37.0%25-red)
10
+ ![Coverage](https://img.shields.io/badge/coverage-17.7%25-red)
11
11
 
12
12
  ## 🎯 Purpose
13
13
 
@@ -1873,7 +1873,66 @@ class WorkflowPipeline:
1873
1873
  ) -> bool:
1874
1874
  with phase_monitor(workflow_id, "testing") as monitor:
1875
1875
  monitor.record_sequential_op()
1876
- return self._run_testing_phase(options)
1876
+ test_result = self._run_testing_phase(options)
1877
+
1878
+ # Execute coverage improvement if boost_coverage is enabled and tests passed
1879
+ if test_result and getattr(options, "boost_coverage", False):
1880
+ await self._execute_coverage_improvement(options)
1881
+
1882
+ return test_result
1883
+
1884
+ async def _execute_coverage_improvement(self, options: OptionsProtocol) -> None:
1885
+ """Execute coverage improvement when boost_coverage is enabled."""
1886
+ try:
1887
+ from crackerjack.orchestration.coverage_improvement import (
1888
+ create_coverage_improvement_orchestrator,
1889
+ )
1890
+
1891
+ coverage_orchestrator = await create_coverage_improvement_orchestrator(
1892
+ self.pkg_path, console=self.console
1893
+ )
1894
+
1895
+ should_improve = await coverage_orchestrator.should_improve_coverage()
1896
+ if not should_improve:
1897
+ self.console.print(
1898
+ "[dim]📈 Coverage at 100% - no improvement needed[/dim]"
1899
+ )
1900
+ return
1901
+
1902
+ # Create agent context for coverage improvement
1903
+ from crackerjack.agents.base import AgentContext
1904
+ from crackerjack.services.filesystem_enhanced import FileSystemService
1905
+
1906
+ filesystem_service = FileSystemService(self.pkg_path)
1907
+ agent_context = AgentContext(
1908
+ pkg_path=self.pkg_path,
1909
+ filesystem=filesystem_service,
1910
+ console=self.console,
1911
+ )
1912
+
1913
+ result = await coverage_orchestrator.execute_coverage_improvement(
1914
+ agent_context
1915
+ )
1916
+
1917
+ if result["status"] == "completed":
1918
+ self.console.print(
1919
+ f"[green]📈[/green] Coverage improvement: {len(result.get('fixes_applied', []))} "
1920
+ f"tests created in {len(result.get('files_modified', []))} files"
1921
+ )
1922
+ elif result["status"] == "skipped":
1923
+ self.console.print(
1924
+ f"[dim]📈 Coverage improvement skipped: {result.get('reason', 'Unknown')}[/dim]"
1925
+ )
1926
+ else:
1927
+ self.console.print(
1928
+ "[yellow]⚠️[/yellow] Coverage improvement completed with issues"
1929
+ )
1930
+
1931
+ except Exception as e:
1932
+ self.console.print(
1933
+ f"[yellow]⚠️[/yellow] Coverage improvement failed: {str(e)}"
1934
+ )
1935
+ self.logger.warning(f"Coverage improvement error: {e}")
1877
1936
 
1878
1937
  async def _execute_standard_hooks_workflow_monitored(
1879
1938
  self, options: OptionsProtocol, workflow_id: str
@@ -142,7 +142,25 @@ class TestManager:
142
142
 
143
143
  with coverage_json_path.open() as f:
144
144
  data = json.load(f)
145
+ # Check for totals field first (newer format)
145
146
  direct_coverage = data.get("totals", {}).get("percent_covered")
147
+
148
+ # If no totals, calculate from files data (standard pytest-cov format)
149
+ if direct_coverage is None and "files" in data:
150
+ total_statements = 0
151
+ total_covered = 0
152
+
153
+ for file_data in data["files"].values():
154
+ summary = file_data.get("summary", {})
155
+ statements = summary.get("num_statements", 0)
156
+ covered = summary.get("covered_lines", 0)
157
+ total_statements += statements
158
+ total_covered += covered
159
+
160
+ if total_statements > 0:
161
+ direct_coverage = (
162
+ total_covered / total_statements
163
+ ) * 100
146
164
  except (json.JSONDecodeError, KeyError):
147
165
  pass # Fall back to ratchet data
148
166
 
@@ -273,7 +291,26 @@ class TestManager:
273
291
  try:
274
292
  with coverage_json_path.open() as f:
275
293
  data = json.load(f)
294
+ # Check for totals field first (newer format)
276
295
  current_coverage = data.get("totals", {}).get("percent_covered")
296
+
297
+ # If no totals, calculate from files data (standard pytest-cov format)
298
+ if current_coverage is None and "files" in data:
299
+ total_statements = 0
300
+ total_covered = 0
301
+
302
+ for file_data in data["files"].values():
303
+ summary = file_data.get("summary", {})
304
+ statements = summary.get("num_statements", 0)
305
+ covered = summary.get("covered_lines", 0)
306
+ total_statements += statements
307
+ total_covered += covered
308
+
309
+ if total_statements > 0:
310
+ current_coverage = (
311
+ total_covered / total_statements
312
+ ) * 100
313
+
277
314
  if current_coverage is not None:
278
315
  self.console.print(
279
316
  f"[dim]📊 Coverage extracted from coverage.json: {current_coverage:.2f}%[/dim]"
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "crackerjack"
9
- version = "0.38.1"
9
+ version = "0.38.2"
10
10
  description = "Crackerjack Python project management tool"
11
11
  readme = "README.md"
12
12
  authors = [
@@ -386,7 +386,7 @@ wheels = [
386
386
 
387
387
  [[package]]
388
388
  name = "crackerjack"
389
- version = "0.38.0"
389
+ version = "0.38.1"
390
390
  source = { editable = "." }
391
391
  dependencies = [
392
392
  { name = "aiofiles" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes