crackerjack 0.40.3__tar.gz → 0.41.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.
- {crackerjack-0.40.3 → crackerjack-0.41.2}/CHANGELOG.md +43 -1
- {crackerjack-0.40.3 → crackerjack-0.41.2}/GEMINI.md +5 -1
- crackerjack-0.41.2/MIGRATION-0.41.0.md +87 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/PKG-INFO +17 -5
- {crackerjack-0.40.3 → crackerjack-0.41.2}/QWEN.md +1 -1
- {crackerjack-0.40.3 → crackerjack-0.41.2}/README.md +16 -4
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/tools/validate_regex_patterns.py +4 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/pyproject.toml +1 -2
- crackerjack-0.41.2/tests/test_error_handling.py +23 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance.py +97 -1
- {crackerjack-0.40.3 → crackerjack-0.41.2}/uv.lock +26 -28
- {crackerjack-0.40.3 → crackerjack-0.41.2}/.codespell-ignore +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/.codespellrc +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/.github/FUNDING.yml +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/.gitignore +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/.pre-commit-config.yaml +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/AGENTS.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/CLAUDE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/LICENSE +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/RULES.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/SECURITY.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/__main__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/ai/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/ai/claude.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/lsp_client.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/rust_tool_adapter.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/rust_tool_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/skylos_adapter.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/zuban_adapter.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/architect_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/base.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/claude_code_bridge.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/coordinator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/documentation_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/dry_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/enhanced_coordinator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/enhanced_proactive_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/formatting_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/import_optimization_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/performance_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/performance_helpers.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/proactive_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/refactoring_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/refactoring_helpers.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/security_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/semantic_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/semantic_helpers.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/test_creation_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/test_specialist_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/tracker.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/api.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/cache_handlers.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/facade.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/handlers.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/interactive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/options.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/semantic_handlers.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/utils.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/code_cleaner.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/config/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/config/global_lock_config.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/config/hooks.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/async_workflow_orchestrator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/autofix_coordinator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/container.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/enhanced_container.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/file_lifecycle.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/performance.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/performance_monitor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/phase_coordinator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/proactive_workflow.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/resource_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/service_watchdog.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/session_coordinator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/timeout_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/websocket_lifecycle.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/workflow_orchestrator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/INDEX.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/SERVICES.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/ai_templates.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/dual_output_generator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/mkdocs_integration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/reference_generator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/dynamic_config.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/errors.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/async_hook_executor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/cached_hook_executor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/hook_executor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/hook_lock_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/individual_hook_executor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/tool_proxy.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/hooks/lsp_hook.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/adaptive_learning.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/agent_orchestrator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/agent_registry.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/agent_selector.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/integration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/interactive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/async_hook_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/hook_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/publish_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_command_builder.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_executor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_manager_backup.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_progress.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/cache.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/client_runner.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/context.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/dashboard.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/file_monitor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/progress_components.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/progress_monitor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/progress_monitor.tcss +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/rate_limiter.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/server.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/server_core.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/service_watchdog.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/state.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/task_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/core_tools.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/error_analyzer.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/execution_tools.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/proactive_tools.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/progress_tools.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/semantic_tools.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/utility_tools.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/workflow_executor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/app.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/endpoints.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/jobs.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/server.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket_server.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mixins/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mixins/error_handling.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/config.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/config_adapter.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/protocols.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/resource_protocols.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/semantic_models.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/task.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/metrics_collector.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/regression_prevention.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/websocket_server.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/coverage_improvement.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/execution_strategies.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/test_progress_streamer.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/base.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/hooks.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/loader.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/managers.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/py313.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/security/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/security/audit.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/anomaly_detector.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/api_extractor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/backup_service.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/bounded_status_operations.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/cache.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/changelog_automation.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/config.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/config_integrity.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/config_merge.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/config_template.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/contextual_ai_assistant.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/coverage_badge_service.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/coverage_ratchet.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/debug.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/dependency_analyzer.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/dependency_monitor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/documentation_generator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/documentation_service.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/embeddings.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/enhanced_filesystem.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/enterprise_optimizer.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/error_pattern_analyzer.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/file_hasher.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/file_modifier.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/filesystem.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/git.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/health_metrics.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/heatmap_generator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/initialization.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/input_validator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/intelligent_commit.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/log_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/logging.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/lsp_client.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/memory_optimizer.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/metrics.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/parallel_executor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/pattern_cache.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/pattern_detector.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/performance_benchmarks.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/performance_cache.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/performance_monitor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/predictive_analytics.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/quality_baseline.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/quality_baseline_enhanced.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/quality_intelligence.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/regex_patterns.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/regex_utils.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/secure_path_utils.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/secure_status_formatter.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/secure_subprocess.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/security.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/security_logger.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/server_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/smart_scheduling.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/status_authentication.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/status_security_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/terminal_utils.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/thread_safe_status_collector.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/tool_version_service.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/unified_config.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/validation_rate_limiter.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/vector_store.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/version_analyzer.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/version_checker.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/websocket_resource_limiter.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/zuban_lsp_service.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/slash_commands/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/slash_commands/init.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/slash_commands/run.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/slash_commands/status.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/tools/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/tools/fix_terminal.sh +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/ui/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/ui/server_panels.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/workflows/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/workflows/auto_fix.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/README.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/ai/AGENT-CAPABILITIES.json +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/ai/AGENT_SELECTION.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/ai/AI-REFERENCE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/ai/ERROR-PATTERNS.yaml +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/architecture/API_REFERENCE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/architecture/ARCHITECTURE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/architecture/WORKFLOW-ARCHITECTURE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/development/IDE-SETUP.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/guides/ADVANCED-FEATURES.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/guides/AUTO_FIX_GUIDE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/PROJECT_HISTORY.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/investigations/ai-fix-flag-bug-fix.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/investigations/workflow-routing-fix.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/PHASE2-COMPLETION-SUMMARY.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/PHASE2-CROSS-REFERENCE-ANALYSIS.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/PHASE3-COMPLETION-REPORT.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/PHASE3-OPTIMIZATION-PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-1-completion-summary.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-2-completion-summary.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-3-completion-summary.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-4-completion-summary.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-5-completion-summary.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-5-implementation-plan.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-5-task-5.1-completion-summary.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/CONFIG_MERGE_REMOVAL_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/DOCUMENTATION_AUDIT_2025-10-03.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/DOCUMENTATION_REORGANIZATION_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/DOCUMENTATION_REORGANIZATION_PLAN_2025.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/PYTORCH-COMPATIBILITY-FIX.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/REORGANIZATION_SUMMARY.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/complexipy-refactoring-summary.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/crackerjack-run-implementation-plan.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/crackerjack-run-workflow-audit.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/CLEANUP_SUMMARY.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/CRACKERJACK_PRECOMMIT_HANDLING_IMPLEMENTATION_SUMMARY.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/FINAL_PRECOMMIT_HANDLING_VERIFICATION.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/PRECOMMIT_HANDLING_SUMMARY.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/README.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY-AUDIT.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY_AUDIT_REPORT.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY_HARDENING_REPORT.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/FUTURE-ENHANCEMENTS.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/SEMANTIC-SEARCH-IMPLEMENTATION.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/UVXUSAGE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/security/SECURITY_AUDIT.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/BACKUP_SYSTEM.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/CACHING_SYSTEM.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/MCP_INTEGRATION.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/MONITORING_INTEGRATION.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/example.mcp.json +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/mypy.ini +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/scripts/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/scripts/integrate_resource_management.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/scripts/performance_benchmark.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/templates/api_reference.md.template +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/templates/changelog_entry.md.template +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/templates/user_guide.md.template +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/docs/api-reference.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/docs/getting-started.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/docs/index.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/mkdocs.yml +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/base_test.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/cli/test_command_validation.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/conftest.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/coverage.json +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/comments_sample.txt +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/docstrings_sample.txt +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/expected_comments_sample.txt +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/init.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/run_tests.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/scripts/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/scripts/agent_audit_report.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/scripts/run_test_suite.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test___main__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_ai_agent_workflow.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_ai_optimized_documentation.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_ai_templates.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_anomaly_detector_service.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_api.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_api_comprehensive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_async_hook_executor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_async_hook_executor_comprehensive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_async_workflow_orchestrator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_autofix_coordinator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_changelog_generation.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_cli/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_cli/test_global_lock_options.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_cli_semantic_naming.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_code_cleaner.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_code_cleaner_comprehensive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_container.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_coordinator_performance.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_autofix_coordinator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_comprehensive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_enhanced_container.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_modules.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_performance.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_documentation_agent (1).py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_documentation_agent_simple.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_dual_output_generator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_dynamic_config.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_dynamic_config_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_end_to_end_integration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_enhanced_container.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_enhanced_filesystem.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_enhanced_filesystem_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_errors.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_execution_speed_optimization.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_executors/__init__.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_executors/test_lock_integration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_fast_hooks_behavior.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_file_lifecycle.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_filesystem_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_final_validation.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_global_lock_config.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_hook_executor_comprehensive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_hook_lock_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_hook_manager_comprehensive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_hook_manager_simple.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_import_coverage_consolidated.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_initialization_precommit_integration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_initialization_service.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_input_validation.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_intelligence_system.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_interactive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_large_modules_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_main.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_main_entry_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_main_module.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_managers_consolidated.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_mcp_progress_monitor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_mcp_server.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_mkdocs_integration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_models_comprehensive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_models_config_adapter_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_models_focused.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_models_task_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_modernized_code.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_agent (1).py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_agent_enhanced.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_agent_simple.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_benchmarks_focused.py.bak +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_helpers.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_monitor.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_phase_coordinator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_phase_coordinator_simple.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_plugins_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_proactive_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_proactive_agent_system.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_proactive_workflow.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_protocol_compliance.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_publish_manager_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_py313.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_pytest_features.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_refactoring_agent.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_reference_generator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_regex_patterns.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_resource_cleanup_integration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_resource_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_secure_path_utils.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_secure_status_formatter.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_security_audit.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_security_hardening.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_security_integration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_server_panels.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_service_watchdog.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_services_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_session_coordinator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_session_coordinator_comprehensive.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_session_coordinator_coverage.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_simple_tool_version_service.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_simple_workflow.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_skip_hooks_functionality.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_skip_hooks_simple.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_stage_workflow_execution_order.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_structured_errors.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_structured_logging.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_syntax_validation.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_terminal_restoration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_terminal_state.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_timeout_manager.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_timeout_system.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_unified_api.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_unified_config.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_unified_monitoring_dashboard.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_validate_input_validator_patterns.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_validate_regex_patterns.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_validate_regex_patterns_tool.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_version_analyzer.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_version_bump_analyzer.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_websocket_endpoints.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_websocket_lifecycle.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_fast_hooks.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_integration.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_orchestrator.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_orchestrator_ai_routing.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_pipeline.py +0 -0
- {crackerjack-0.40.3 → crackerjack-0.41.2}/tools/validate_regex_patterns_standalone.py +0 -0
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
______________________________________________________________________
|
|
2
2
|
|
|
3
|
+
## [0.41.2] - 2025-10-04
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Crackerjack (quality: 69/100) - 2025-10-04 12:48:19
|
|
8
|
+
|
|
9
|
+
### Testing
|
|
10
|
+
|
|
11
|
+
- tests: Update 5 files
|
|
12
|
+
|
|
13
|
+
### Internal
|
|
14
|
+
|
|
15
|
+
- Add newline at EOF and update uv.lock
|
|
16
|
+
- Modernize dependency groups and fix pre-commit hook
|
|
17
|
+
|
|
18
|
+
## [Unreleased] - 2025-10-04
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- feat: add new feature
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
- fix: resolve bug in parser
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## [0.41.0] - 2025-01-10
|
|
28
|
+
|
|
29
|
+
### BREAKING CHANGES
|
|
30
|
+
|
|
31
|
+
- **Dependency Groups Modernization**: Removed self-reference from `[dependency-groups]`
|
|
32
|
+
- ⚠️ No functional impact - structural improvement only
|
|
33
|
+
- Eliminates circular dependency when installing dev group
|
|
34
|
+
- Follows modern UV and PEP 735 best practices
|
|
35
|
+
- See [MIGRATION-0.41.0.md](<./MIGRATION-0.41.0.md>) for details
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- Removed `"crackerjack"` self-reference from dev dependency group
|
|
40
|
+
- Updated dependency group structure for better UV compatibility
|
|
41
|
+
|
|
42
|
+
______________________________________________________________________
|
|
43
|
+
|
|
3
44
|
## [0.40.3] - 2025-10-04
|
|
4
45
|
|
|
5
46
|
### Testing
|
|
@@ -9,11 +50,12 @@ ______________________________________________________________________
|
|
|
9
50
|
## [Unreleased] - 2025-10-04
|
|
10
51
|
|
|
11
52
|
### Added
|
|
53
|
+
|
|
12
54
|
- feat: add new feature
|
|
13
55
|
|
|
14
56
|
### Fixed
|
|
15
|
-
- fix: resolve bug in parser
|
|
16
57
|
|
|
58
|
+
- fix: resolve bug in parser
|
|
17
59
|
|
|
18
60
|
## [0.40.2] - 2025-10-04
|
|
19
61
|
|
|
@@ -39,11 +39,15 @@ The project follows a modular architecture, with a clear separation of concerns
|
|
|
39
39
|
|
|
40
40
|
1. Install `uv` (if not already installed):
|
|
41
41
|
```bash
|
|
42
|
+
# Recommended: Official installer script
|
|
43
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
44
|
+
|
|
45
|
+
# Alternative: Using pipx
|
|
42
46
|
pipx install uv
|
|
43
47
|
```
|
|
44
48
|
1. Install Crackerjack and its dependencies:
|
|
45
49
|
```bash
|
|
46
|
-
uv sync --
|
|
50
|
+
uv sync --group dev
|
|
47
51
|
```
|
|
48
52
|
|
|
49
53
|
**Running the Main Workflow:**
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Migration Guide: Dependency Groups Modernization (v0.41.0)
|
|
2
|
+
|
|
3
|
+
## Breaking Change
|
|
4
|
+
|
|
5
|
+
Crackerjack v0.41.0 removes self-reference from `[dependency-groups]` following modern UV and PEP 735 standards.
|
|
6
|
+
|
|
7
|
+
## What Changed
|
|
8
|
+
|
|
9
|
+
### Self-Reference Removed
|
|
10
|
+
|
|
11
|
+
**Before (v0.40.3)**:
|
|
12
|
+
|
|
13
|
+
```toml
|
|
14
|
+
[dependency-groups]
|
|
15
|
+
dev = [
|
|
16
|
+
"crackerjack", # ❌ Self-reference
|
|
17
|
+
"excalidraw-mcp>=0.34.0",
|
|
18
|
+
"session-mgmt-mcp>=0.4.0",
|
|
19
|
+
]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**After (v0.41.0)**:
|
|
23
|
+
|
|
24
|
+
```toml
|
|
25
|
+
[dependency-groups]
|
|
26
|
+
dev = [
|
|
27
|
+
"excalidraw-mcp>=0.34.0",
|
|
28
|
+
"session-mgmt-mcp>=0.4.0",
|
|
29
|
+
]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Why This Change?
|
|
33
|
+
|
|
34
|
+
1. **Eliminates Circular Dependencies**: Self-references create unnecessary complexity
|
|
35
|
+
1. **UV Best Practices**: Modern UV doesn't require self-installation in dev groups
|
|
36
|
+
1. **Consistency**: Aligns with ACB v0.24.0+ dependency group standards
|
|
37
|
+
1. **Cleaner Installation**: Separates tool installation from development dependencies
|
|
38
|
+
|
|
39
|
+
## Migration Steps
|
|
40
|
+
|
|
41
|
+
### 1. Update Installation
|
|
42
|
+
|
|
43
|
+
No changes required for normal installation:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Install crackerjack
|
|
47
|
+
uv add crackerjack
|
|
48
|
+
|
|
49
|
+
# Install dev dependencies
|
|
50
|
+
uv add --group dev
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 2. Reinstall Dev Dependencies (Optional)
|
|
54
|
+
|
|
55
|
+
If you had issues with the old structure:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Clean cache
|
|
59
|
+
uv cache clean
|
|
60
|
+
|
|
61
|
+
# Remove old installation
|
|
62
|
+
uv remove crackerjack
|
|
63
|
+
|
|
64
|
+
# Reinstall
|
|
65
|
+
uv add crackerjack
|
|
66
|
+
uv add --group dev
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Impact
|
|
70
|
+
|
|
71
|
+
**Low Impact** - This change only affects development dependency installation and does not change any functionality or APIs.
|
|
72
|
+
|
|
73
|
+
- ✅ No code changes required
|
|
74
|
+
- ✅ No configuration changes required
|
|
75
|
+
- ✅ Existing installations continue to work
|
|
76
|
+
- ✅ Only affects fresh installs with `--group dev`
|
|
77
|
+
|
|
78
|
+
## Questions?
|
|
79
|
+
|
|
80
|
+
- See the main [README.md](<./README.md>) for installation examples
|
|
81
|
+
- Check [CHANGELOG.md](<./CHANGELOG.md>) for detailed release notes
|
|
82
|
+
|
|
83
|
+
______________________________________________________________________
|
|
84
|
+
|
|
85
|
+
**Version**: 0.41.0
|
|
86
|
+
**Migration Difficulty**: Very Low (structural only)
|
|
87
|
+
**Estimated Time**: 1 minute
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crackerjack
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.41.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
|
|
@@ -164,14 +164,26 @@ Crackerjack is built on the following core principles:
|
|
|
164
164
|
### Install UV
|
|
165
165
|
|
|
166
166
|
```bash
|
|
167
|
+
# Recommended: Official installer script
|
|
168
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
169
|
+
|
|
170
|
+
# Alternative: Using pipx
|
|
167
171
|
pipx install uv
|
|
172
|
+
|
|
173
|
+
# Alternative: Using Homebrew (macOS)
|
|
174
|
+
brew install uv
|
|
168
175
|
```
|
|
169
176
|
|
|
170
177
|
### Install Crackerjack
|
|
171
178
|
|
|
172
179
|
```bash
|
|
180
|
+
# Recommended: Using UV (fastest)
|
|
181
|
+
uv tool install crackerjack
|
|
182
|
+
|
|
183
|
+
# Alternative: Using pip
|
|
173
184
|
pip install crackerjack
|
|
174
|
-
|
|
185
|
+
|
|
186
|
+
# For existing project: Add as dependency
|
|
175
187
|
uv add crackerjack
|
|
176
188
|
```
|
|
177
189
|
|
|
@@ -557,10 +569,10 @@ Model Context Protocol (MCP) enables AI agents to interact directly with Cracker
|
|
|
557
569
|
|
|
558
570
|
### Setup MCP Server
|
|
559
571
|
|
|
560
|
-
1. **Install MCP
|
|
572
|
+
1. **Install development dependencies (includes MCP tools):**
|
|
561
573
|
|
|
562
574
|
```bash
|
|
563
|
-
uv sync --group
|
|
575
|
+
uv sync --group dev
|
|
564
576
|
```
|
|
565
577
|
|
|
566
578
|
1. **Start the MCP server:**
|
|
@@ -1199,7 +1211,7 @@ python -m crackerjack --start-mcp-server --verbose
|
|
|
1199
1211
|
## Contributing
|
|
1200
1212
|
|
|
1201
1213
|
1. Fork and clone the repository
|
|
1202
|
-
1. Run `uv sync --
|
|
1214
|
+
1. Run `uv sync --group dev` to install dependencies
|
|
1203
1215
|
1. Ensure `python -m crackerjack` passes all checks
|
|
1204
1216
|
1. Submit pull request
|
|
1205
1217
|
|
|
@@ -263,7 +263,7 @@ ls ~/.cache/crackerjack/logs/debug/
|
|
|
263
263
|
## Contributing Guidelines
|
|
264
264
|
|
|
265
265
|
1. Fork and clone the repository
|
|
266
|
-
1. Run `uv sync --
|
|
266
|
+
1. Run `uv sync --group dev` to install dependencies
|
|
267
267
|
1. Ensure `python -m crackerjack` passes all checks
|
|
268
268
|
1. Submit pull request
|
|
269
269
|
|
|
@@ -92,14 +92,26 @@ Crackerjack is built on the following core principles:
|
|
|
92
92
|
### Install UV
|
|
93
93
|
|
|
94
94
|
```bash
|
|
95
|
+
# Recommended: Official installer script
|
|
96
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
97
|
+
|
|
98
|
+
# Alternative: Using pipx
|
|
95
99
|
pipx install uv
|
|
100
|
+
|
|
101
|
+
# Alternative: Using Homebrew (macOS)
|
|
102
|
+
brew install uv
|
|
96
103
|
```
|
|
97
104
|
|
|
98
105
|
### Install Crackerjack
|
|
99
106
|
|
|
100
107
|
```bash
|
|
108
|
+
# Recommended: Using UV (fastest)
|
|
109
|
+
uv tool install crackerjack
|
|
110
|
+
|
|
111
|
+
# Alternative: Using pip
|
|
101
112
|
pip install crackerjack
|
|
102
|
-
|
|
113
|
+
|
|
114
|
+
# For existing project: Add as dependency
|
|
103
115
|
uv add crackerjack
|
|
104
116
|
```
|
|
105
117
|
|
|
@@ -485,10 +497,10 @@ Model Context Protocol (MCP) enables AI agents to interact directly with Cracker
|
|
|
485
497
|
|
|
486
498
|
### Setup MCP Server
|
|
487
499
|
|
|
488
|
-
1. **Install MCP
|
|
500
|
+
1. **Install development dependencies (includes MCP tools):**
|
|
489
501
|
|
|
490
502
|
```bash
|
|
491
|
-
uv sync --group
|
|
503
|
+
uv sync --group dev
|
|
492
504
|
```
|
|
493
505
|
|
|
494
506
|
1. **Start the MCP server:**
|
|
@@ -1127,7 +1139,7 @@ python -m crackerjack --start-mcp-server --verbose
|
|
|
1127
1139
|
## Contributing
|
|
1128
1140
|
|
|
1129
1141
|
1. Fork and clone the repository
|
|
1130
|
-
1. Run `uv sync --
|
|
1142
|
+
1. Run `uv sync --group dev` to install dependencies
|
|
1131
1143
|
1. Ensure `python -m crackerjack` passes all checks
|
|
1132
1144
|
1. Submit pull request
|
|
1133
1145
|
|
|
@@ -145,6 +145,10 @@ def validate_file(file_path: Path) -> list[tuple[int, str]]:
|
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
def main(file_paths: list[str]) -> int:
|
|
148
|
+
if not file_paths:
|
|
149
|
+
print("✅ No Python files to validate")
|
|
150
|
+
return 0
|
|
151
|
+
|
|
148
152
|
exit_code = 0
|
|
149
153
|
|
|
150
154
|
for file_path_str in file_paths:
|
|
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "crackerjack"
|
|
9
|
-
version = "0.
|
|
9
|
+
version = "0.41.2"
|
|
10
10
|
description = "Crackerjack Python project management tool"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
authors = [
|
|
@@ -397,7 +397,6 @@ real_time_feedback = true
|
|
|
397
397
|
|
|
398
398
|
[dependency-groups]
|
|
399
399
|
dev = [
|
|
400
|
-
"crackerjack",
|
|
401
400
|
"excalidraw-mcp>=0.34.0",
|
|
402
401
|
"session-mgmt-mcp>=0.4.0",
|
|
403
402
|
]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
def test_handle_subprocess_error_basic(self):
|
|
2
|
+
"""Test basic functionality of handle_subprocess_error."""
|
|
3
|
+
try:
|
|
4
|
+
result = handle_subprocess_error()
|
|
5
|
+
assert result is not None or result is None
|
|
6
|
+
except TypeError:
|
|
7
|
+
pytest.skip(
|
|
8
|
+
"Function requires specific arguments - manual implementation needed"
|
|
9
|
+
)
|
|
10
|
+
except Exception as e:
|
|
11
|
+
pytest.fail(f"Unexpected error in handle_subprocess_error: {e}")
|
|
12
|
+
|
|
13
|
+
def test_handle_file_operation_error_basic(self):
|
|
14
|
+
"""Test basic functionality of handle_file_operation_error."""
|
|
15
|
+
try:
|
|
16
|
+
result = handle_file_operation_error()
|
|
17
|
+
assert result is not None or result is None
|
|
18
|
+
except TypeError:
|
|
19
|
+
pytest.skip(
|
|
20
|
+
"Function requires specific arguments - manual implementation needed"
|
|
21
|
+
)
|
|
22
|
+
except Exception as e:
|
|
23
|
+
pytest.fail(f"Unexpected error in handle_file_operation_error: {e}")
|
|
@@ -152,4 +152,100 @@ def test_print_stats_basic(self):
|
|
|
152
152
|
"Function requires specific arguments - manual implementation needed"
|
|
153
153
|
)
|
|
154
154
|
except Exception as e:
|
|
155
|
-
pytest.fail(f"Unexpected error in print_stats: {e}")
|
|
155
|
+
pytest.fail(f"Unexpected error in print_stats: {e}")
|
|
156
|
+
|
|
157
|
+
def test_decorator_basic(self):
|
|
158
|
+
"""Test basic functionality of decorator."""
|
|
159
|
+
try:
|
|
160
|
+
result = decorator()
|
|
161
|
+
assert result is not None or result is None
|
|
162
|
+
except TypeError:
|
|
163
|
+
pytest.skip(
|
|
164
|
+
"Function requires specific arguments - manual implementation needed"
|
|
165
|
+
)
|
|
166
|
+
except Exception as e:
|
|
167
|
+
pytest.fail(f"Unexpected error in decorator: {e}")
|
|
168
|
+
|
|
169
|
+
def test_get_python_files_basic(self):
|
|
170
|
+
"""Test basic functionality of get_python_files."""
|
|
171
|
+
try:
|
|
172
|
+
result = get_python_files()
|
|
173
|
+
assert result is not None or result is None
|
|
174
|
+
except TypeError:
|
|
175
|
+
pytest.skip(
|
|
176
|
+
"Function requires specific arguments - manual implementation needed"
|
|
177
|
+
)
|
|
178
|
+
except Exception as e:
|
|
179
|
+
pytest.fail(f"Unexpected error in get_python_files: {e}")
|
|
180
|
+
|
|
181
|
+
def test_get_modified_files_basic(self):
|
|
182
|
+
"""Test basic functionality of get_modified_files."""
|
|
183
|
+
try:
|
|
184
|
+
result = get_modified_files()
|
|
185
|
+
assert result is not None or result is None
|
|
186
|
+
except TypeError:
|
|
187
|
+
pytest.skip(
|
|
188
|
+
"Function requires specific arguments - manual implementation needed"
|
|
189
|
+
)
|
|
190
|
+
except Exception as e:
|
|
191
|
+
pytest.fail(f"Unexpected error in get_modified_files: {e}")
|
|
192
|
+
|
|
193
|
+
def test_clear_cache_basic(self):
|
|
194
|
+
"""Test basic functionality of clear_cache."""
|
|
195
|
+
try:
|
|
196
|
+
result = clear_cache()
|
|
197
|
+
assert result is not None or result is None
|
|
198
|
+
except TypeError:
|
|
199
|
+
pytest.skip(
|
|
200
|
+
"Function requires specific arguments - manual implementation needed"
|
|
201
|
+
)
|
|
202
|
+
except Exception as e:
|
|
203
|
+
pytest.fail(f"Unexpected error in clear_cache: {e}")
|
|
204
|
+
|
|
205
|
+
def test_execute_tasks_basic(self):
|
|
206
|
+
"""Test basic functionality of execute_tasks."""
|
|
207
|
+
try:
|
|
208
|
+
result = execute_tasks()
|
|
209
|
+
assert result is not None or result is None
|
|
210
|
+
except TypeError:
|
|
211
|
+
pytest.skip(
|
|
212
|
+
"Function requires specific arguments - manual implementation needed"
|
|
213
|
+
)
|
|
214
|
+
except Exception as e:
|
|
215
|
+
pytest.fail(f"Unexpected error in execute_tasks: {e}")
|
|
216
|
+
|
|
217
|
+
def test_run_command_basic(self):
|
|
218
|
+
"""Test basic functionality of run_command."""
|
|
219
|
+
try:
|
|
220
|
+
result = run_command()
|
|
221
|
+
assert result is not None or result is None
|
|
222
|
+
except TypeError:
|
|
223
|
+
pytest.skip(
|
|
224
|
+
"Function requires specific arguments - manual implementation needed"
|
|
225
|
+
)
|
|
226
|
+
except Exception as e:
|
|
227
|
+
pytest.fail(f"Unexpected error in run_command: {e}")
|
|
228
|
+
|
|
229
|
+
def test_wrapper_basic(self):
|
|
230
|
+
"""Test basic functionality of wrapper."""
|
|
231
|
+
try:
|
|
232
|
+
result = wrapper()
|
|
233
|
+
assert result is not None or result is None
|
|
234
|
+
except TypeError:
|
|
235
|
+
pytest.skip(
|
|
236
|
+
"Function requires specific arguments - manual implementation needed"
|
|
237
|
+
)
|
|
238
|
+
except Exception as e:
|
|
239
|
+
pytest.fail(f"Unexpected error in wrapper: {e}")
|
|
240
|
+
|
|
241
|
+
def test_wrapper_basic(self):
|
|
242
|
+
"""Test basic functionality of wrapper."""
|
|
243
|
+
try:
|
|
244
|
+
result = wrapper()
|
|
245
|
+
assert result is not None or result is None
|
|
246
|
+
except TypeError:
|
|
247
|
+
pytest.skip(
|
|
248
|
+
"Function requires specific arguments - manual implementation needed"
|
|
249
|
+
)
|
|
250
|
+
except Exception as e:
|
|
251
|
+
pytest.fail(f"Unexpected error in wrapper: {e}")
|
|
@@ -405,7 +405,7 @@ wheels = [
|
|
|
405
405
|
|
|
406
406
|
[[package]]
|
|
407
407
|
name = "crackerjack"
|
|
408
|
-
version = "0.
|
|
408
|
+
version = "0.41.1"
|
|
409
409
|
source = { editable = "." }
|
|
410
410
|
dependencies = [
|
|
411
411
|
{ name = "aiofiles" },
|
|
@@ -462,7 +462,6 @@ dependencies = [
|
|
|
462
462
|
|
|
463
463
|
[package.dev-dependencies]
|
|
464
464
|
dev = [
|
|
465
|
-
{ name = "crackerjack" },
|
|
466
465
|
{ name = "excalidraw-mcp" },
|
|
467
466
|
{ name = "session-mgmt-mcp" },
|
|
468
467
|
]
|
|
@@ -523,7 +522,6 @@ requires-dist = [
|
|
|
523
522
|
|
|
524
523
|
[package.metadata.requires-dev]
|
|
525
524
|
dev = [
|
|
526
|
-
{ name = "crackerjack" },
|
|
527
525
|
{ name = "excalidraw-mcp", specifier = ">=0.34.0" },
|
|
528
526
|
{ name = "session-mgmt-mcp", specifier = ">=0.4.0" },
|
|
529
527
|
]
|
|
@@ -2741,7 +2739,7 @@ wheels = [
|
|
|
2741
2739
|
|
|
2742
2740
|
[[package]]
|
|
2743
2741
|
name = "session-mgmt-mcp"
|
|
2744
|
-
version = "0.7.
|
|
2742
|
+
version = "0.7.3"
|
|
2745
2743
|
source = { registry = "https://pypi.org/simple" }
|
|
2746
2744
|
dependencies = [
|
|
2747
2745
|
{ name = "crackerjack" },
|
|
@@ -2759,9 +2757,9 @@ dependencies = [
|
|
|
2759
2757
|
{ name = "transformers" },
|
|
2760
2758
|
{ name = "typer" },
|
|
2761
2759
|
]
|
|
2762
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2760
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e0/42/1fe74990c071fcaed2f39399ec8dac56cdf03c1ccab1d5a37d270ffc64cc/session_mgmt_mcp-0.7.3.tar.gz", hash = "sha256:5874c1b94a3b7bfe5144cc676e0413f0082e024be5cfffedb8ec5839062429cd", size = 677906, upload-time = "2025-10-04T19:52:15.679Z" }
|
|
2763
2761
|
wheels = [
|
|
2764
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2762
|
+
{ url = "https://files.pythonhosted.org/packages/d9/a7/fb94fee4bcc2dbbaf25c16dc3aa56df35066555089afc778acdd255efe11/session_mgmt_mcp-0.7.3-py3-none-any.whl", hash = "sha256:407a6a7ba0809320ef80a67eedf5162c641451c0d945e40fce68f7da545a541c", size = 273356, upload-time = "2025-10-04T19:52:14.13Z" },
|
|
2765
2763
|
]
|
|
2766
2764
|
|
|
2767
2765
|
[[package]]
|
|
@@ -3139,28 +3137,28 @@ wheels = [
|
|
|
3139
3137
|
|
|
3140
3138
|
[[package]]
|
|
3141
3139
|
name = "uv"
|
|
3142
|
-
version = "0.8.
|
|
3143
|
-
source = { registry = "https://pypi.org/simple" }
|
|
3144
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
3145
|
-
wheels = [
|
|
3146
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3147
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3148
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3149
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3150
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3151
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3152
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3153
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3154
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3155
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3156
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3157
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3158
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3159
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3160
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3161
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3162
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3163
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3140
|
+
version = "0.8.23"
|
|
3141
|
+
source = { registry = "https://pypi.org/simple" }
|
|
3142
|
+
sdist = { url = "https://files.pythonhosted.org/packages/dc/85/6ae7e6a003bf815a1774c11e08de56f2037e1dad0bbbe050c7d3bd57be14/uv-0.8.23.tar.gz", hash = "sha256:1d3ee6f88b77429454172048a9672b8058607abcdf66cb8229707f0312a6752c", size = 3667341, upload-time = "2025-10-04T18:23:53.47Z" }
|
|
3143
|
+
wheels = [
|
|
3144
|
+
{ url = "https://files.pythonhosted.org/packages/06/50/19a48639b2f61bf3f42d92e556494e3b39ccb58287b8b3244236b9d9df45/uv-0.8.23-py3-none-linux_armv6l.whl", hash = "sha256:58879ab3544ed0d7996dc5d9f87ce6a9770bd8f7886d8504298f62c481ecd9fd", size = 20599279, upload-time = "2025-10-04T18:23:06.64Z" },
|
|
3145
|
+
{ url = "https://files.pythonhosted.org/packages/d7/26/36b3b37ca79bfff6998d7e9567465e6e3b4acf3fe1c7b226302272369240/uv-0.8.23-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3a5c6cfad0a7b92e2a2ddf121e86171c7b850ccbdbc82b49afb8014e60d7dd84", size = 19580214, upload-time = "2025-10-04T18:23:10.551Z" },
|
|
3146
|
+
{ url = "https://files.pythonhosted.org/packages/97/a1/e64b4c9a4db6c6ce6ee286991ce98e9cbf472402a5d09f216b85f2287465/uv-0.8.23-py3-none-macosx_11_0_arm64.whl", hash = "sha256:092404eb361f2f6cddf2c0a195c3f4bd2bc8baae60ed8b43409f93f672992b40", size = 18193303, upload-time = "2025-10-04T18:23:12.955Z" },
|
|
3147
|
+
{ url = "https://files.pythonhosted.org/packages/f4/d7/8dfd344ca878b4de2d6e43636792ecef9d4870dd3735b3cb4951cfc22b0b/uv-0.8.23-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:8d891aa0f82d67ed32811e1f3e6f314c6b0759a01b5b7676b4969196caf74295", size = 19968823, upload-time = "2025-10-04T18:23:15.861Z" },
|
|
3148
|
+
{ url = "https://files.pythonhosted.org/packages/02/91/cbf2ebd1642577af2054842fb22cf21f7fa71d59a05ef5bda8f065ea8cc0/uv-0.8.23-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f59f3823750da8187d9b3c65b87eb2436c398f385befa0ec48a1118d2accea51", size = 20178276, upload-time = "2025-10-04T18:23:19.056Z" },
|
|
3149
|
+
{ url = "https://files.pythonhosted.org/packages/9d/d3/fefd0589f235c4c1d9b66baaad1472705c4621edc2eb7dabb0d98fc84d72/uv-0.8.23-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96c1abfcd2c44c3ac8dec5079e1e51497f371a04c97978fed2a16d1c7343e471", size = 21059931, upload-time = "2025-10-04T18:23:21.316Z" },
|
|
3150
|
+
{ url = "https://files.pythonhosted.org/packages/f7/98/7c7237d891c5d8a350bb9d59593fc103add12269ff983e13bd18bbb52b3e/uv-0.8.23-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:042c2e8b701a55078e0eb6f164c7bf550b6040437036dc572db39115cdaa5a23", size = 22547863, upload-time = "2025-10-04T18:23:24.108Z" },
|
|
3151
|
+
{ url = "https://files.pythonhosted.org/packages/03/79/c5043180fc6c1f68e4752e0067ffbb8273fea6bafc3ff4e3e1be9c69d63c/uv-0.8.23-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db02664898449af91a60b4caedc4a18944efc6375d814aa2e424204e975a43d7", size = 22172574, upload-time = "2025-10-04T18:23:26.775Z" },
|
|
3152
|
+
{ url = "https://files.pythonhosted.org/packages/f6/73/2c472e40fc31f0fd61a41499bf1559af4d662ffa884b4d575f09c695b52e/uv-0.8.23-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e310bd2b77f0e1cf5d8d31f918292e36d884eb7eed76561198a195baee72f277", size = 21272611, upload-time = "2025-10-04T18:23:28.991Z" },
|
|
3153
|
+
{ url = "https://files.pythonhosted.org/packages/c4/2f/4f4e49dd04a90d982e76abbe0b6747187006a42b04f611042b525bb05c4b/uv-0.8.23-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:126ca80b6f72859998e2036679ce21c9b5024df0a09d8112698adc4153c3a1a7", size = 21239185, upload-time = "2025-10-04T18:23:31.258Z" },
|
|
3154
|
+
{ url = "https://files.pythonhosted.org/packages/2b/35/2932f49ab0c6991e51e870bbf9fdef2a82f77cb5ed038a15b05dc9ce2c3e/uv-0.8.23-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:1a695477c367cb5568a33c8cf075280853eebbdec387c861e27e7d9201985d5f", size = 20097560, upload-time = "2025-10-04T18:23:33.975Z" },
|
|
3155
|
+
{ url = "https://files.pythonhosted.org/packages/53/ef/d34f514d759b3a2068c50d9dd68672fc5b6be9c8cd585eb311ded73a2b20/uv-0.8.23-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:cf4b8b167ff38ebcdc2dbd26b9918a2b3d937f4f2811280cbebdd937a838184e", size = 21187580, upload-time = "2025-10-04T18:23:36.365Z" },
|
|
3156
|
+
{ url = "https://files.pythonhosted.org/packages/b0/a9/52ef1b04419d1bb9ba870fc6fae4fa7b217e5dea079fb3dd7f212965fb89/uv-0.8.23-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:2884ab47ac18dcd24e366544ab93938ce8ab1aea38d896e87d92c44f08bb0bc1", size = 20136752, upload-time = "2025-10-04T18:23:38.68Z" },
|
|
3157
|
+
{ url = "https://files.pythonhosted.org/packages/15/07/6ab974393935d37c4f6fa05ee27096ba5fd28850ae8ae049fad6f11febf8/uv-0.8.23-py3-none-musllinux_1_1_i686.whl", hash = "sha256:287430978458afbeab22aa2aafbfe3f5ec90f1054e7d4faec4156282930c44cb", size = 20494797, upload-time = "2025-10-04T18:23:40.947Z" },
|
|
3158
|
+
{ url = "https://files.pythonhosted.org/packages/1b/f6/250531420babcd2e121c0998611e785335b7766989496ad405d42ef5f580/uv-0.8.23-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:16cbae67231acdd704e5e589d6fd37e16222d9fff32ca117a0cb3213be65fdf8", size = 21432784, upload-time = "2025-10-04T18:23:43.671Z" },
|
|
3159
|
+
{ url = "https://files.pythonhosted.org/packages/7a/38/0c65b9c2305cd07e938b19d074dd6db5a7fd0a9dac86813b17d0d53e1759/uv-0.8.23-py3-none-win32.whl", hash = "sha256:f52c8068569d50e1b6d7670f709f5894f0e2f09c094d578d7d12cff0166924ad", size = 19331051, upload-time = "2025-10-04T18:23:46.268Z" },
|
|
3160
|
+
{ url = "https://files.pythonhosted.org/packages/f1/1e/46f242f974e4480b157ee8276d8c21fb2a975b842e321b72497e27889f8f/uv-0.8.23-py3-none-win_amd64.whl", hash = "sha256:39bc5cd9310ef7a4f567885ba48fd4f6174029986351321fcfa5887076f82380", size = 21380950, upload-time = "2025-10-04T18:23:48.959Z" },
|
|
3161
|
+
{ url = "https://files.pythonhosted.org/packages/82/6b/37f0cfa325bb4a4a462aee8e0e2d1d1f409b7f4dcfa84b19022f28be8a5b/uv-0.8.23-py3-none-win_arm64.whl", hash = "sha256:cc1725b546edae8d66d9b10aa2616ac5f93c3fa62c1ec72087afcb4b4b802e99", size = 19821125, upload-time = "2025-10-04T18:23:51.584Z" },
|
|
3164
3162
|
]
|
|
3165
3163
|
|
|
3166
3164
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|