crackerjack 0.39.0__tar.gz → 0.39.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.39.0 → crackerjack-0.39.2}/.gitignore +3 -0
- crackerjack-0.39.2/AGENTS.md +28 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/CHANGELOG.md +33 -1
- crackerjack-0.39.2/GEMINI.md +83 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/PKG-INFO +1 -1
- {crackerjack-0.39.0 → crackerjack-0.39.2}/pyproject.toml +3 -1
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_async_workflow_orchestrator.py +1 -1
- crackerjack-0.39.2/tests/test_performance_monitor.py +203 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/uv.lock +195 -68
- crackerjack-0.39.0/AGENTS.md +0 -454
- crackerjack-0.39.0/tests/test_performance_monitor.py +0 -23
- {crackerjack-0.39.0 → crackerjack-0.39.2}/.codespell-ignore +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/.codespellrc +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/.github/FUNDING.yml +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/.pre-commit-config.yaml +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/CLAUDE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/LICENSE +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/QWEN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/README.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/RULES.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/SECURITY.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/ai/AGENT-CAPABILITIES.json +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/ai/AGENT_SELECTION.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/ai/AI-REFERENCE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/ai/ERROR-PATTERNS.yaml +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/CLAUDE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/__main__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/adapters/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/adapters/lsp_client.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/adapters/rust_tool_adapter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/adapters/rust_tool_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/adapters/skylos_adapter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/adapters/zuban_adapter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/architect_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/base.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/claude_code_bridge.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/coordinator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/documentation_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/dry_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/enhanced_coordinator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/enhanced_proactive_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/formatting_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/import_optimization_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/performance_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/performance_helpers.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/proactive_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/refactoring_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/refactoring_helpers.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/security_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/semantic_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/semantic_helpers.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/test_creation_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/test_specialist_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/agents/tracker.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/api.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/cli/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/cli/cache_handlers.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/cli/facade.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/cli/handlers.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/cli/interactive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/cli/options.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/cli/semantic_handlers.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/cli/utils.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/code_cleaner.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/config/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/config/global_lock_config.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/config/hooks.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/async_workflow_orchestrator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/autofix_coordinator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/container.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/enhanced_container.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/file_lifecycle.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/performance.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/performance_monitor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/phase_coordinator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/proactive_workflow.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/resource_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/service_watchdog.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/session_coordinator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/timeout_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/websocket_lifecycle.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/core/workflow_orchestrator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/docs/INDEX.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/docs/generated/api/SERVICES.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/documentation/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/documentation/ai_templates.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/documentation/dual_output_generator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/documentation/mkdocs_integration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/documentation/reference_generator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/dynamic_config.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/errors.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/example.mcp.json +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/executors/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/executors/async_hook_executor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/executors/cached_hook_executor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/executors/hook_executor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/executors/hook_lock_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/executors/individual_hook_executor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/executors/tool_proxy.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/hooks/lsp_hook.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/intelligence/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/intelligence/adaptive_learning.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/intelligence/agent_orchestrator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/intelligence/agent_registry.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/intelligence/agent_selector.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/intelligence/integration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/interactive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/managers/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/managers/async_hook_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/managers/hook_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/managers/publish_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/managers/test_command_builder.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/managers/test_executor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/managers/test_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/managers/test_manager_backup.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/managers/test_progress.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/cache.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/client_runner.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/context.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/dashboard.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/file_monitor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/progress_components.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/progress_monitor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/progress_monitor.tcss +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/rate_limiter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/server.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/server_core.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/service_watchdog.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/state.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/task_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/core_tools.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/error_analyzer.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/execution_tools.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/proactive_tools.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/progress_tools.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/semantic_tools.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/utility_tools.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/tools/workflow_executor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/websocket/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/websocket/app.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/websocket/endpoints.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/websocket/jobs.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/websocket/server.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mcp/websocket_server.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mixins/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/mixins/error_handling.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/models/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/models/config.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/models/config_adapter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/models/protocols.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/models/resource_protocols.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/models/semantic_models.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/models/task.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/monitoring/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/monitoring/metrics_collector.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/monitoring/regression_prevention.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/monitoring/websocket_server.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/orchestration/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/orchestration/coverage_improvement.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/orchestration/execution_strategies.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/orchestration/test_progress_streamer.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/plugins/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/plugins/base.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/plugins/hooks.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/plugins/loader.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/plugins/managers.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/py313.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/pyproject.toml +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/security/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/security/audit.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/anomaly_detector.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/api_extractor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/backup_service.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/bounded_status_operations.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/cache.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/changelog_automation.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/config.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/config_integrity.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/config_merge.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/config_template.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/contextual_ai_assistant.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/coverage_badge_service.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/coverage_ratchet.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/debug.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/dependency_analyzer.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/dependency_monitor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/documentation_generator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/documentation_service.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/embeddings.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/enhanced_filesystem.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/enterprise_optimizer.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/error_pattern_analyzer.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/file_hasher.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/filesystem.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/git.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/health_metrics.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/heatmap_generator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/initialization.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/input_validator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/intelligent_commit.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/log_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/logging.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/lsp_client.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/memory_optimizer.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/metrics.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/parallel_executor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/pattern_cache.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/pattern_detector.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/performance_benchmarks.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/performance_cache.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/performance_monitor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/predictive_analytics.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/quality_baseline.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/quality_baseline_enhanced.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/quality_intelligence.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/regex_patterns.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/regex_utils.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/secure_path_utils.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/secure_status_formatter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/secure_subprocess.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/security.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/security_logger.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/server_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/smart_scheduling.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/status_authentication.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/status_security_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/terminal_utils.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/thread_safe_status_collector.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/tool_version_service.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/unified_config.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/validation_rate_limiter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/vector_store.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/version_analyzer.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/version_checker.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/websocket_resource_limiter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/services/zuban_lsp_service.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/slash_commands/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/slash_commands/init.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/slash_commands/run.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/slash_commands/status.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/tools/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/tools/fix_terminal.sh +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/tools/validate_regex_patterns.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/ui/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/ui/server_panels.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/crackerjack/uv.lock +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/FUTURE-ENHANCEMENTS.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/PYTORCH-COMPATIBILITY-FIX.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/SEMANTIC-SEARCH-IMPLEMENTATION.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/architecture/API_REFERENCE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/architecture/ARCHITECTURE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/archive/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/archive/CONFIG_MERGE_REMOVAL_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/archive/DOCUMENTATION_REORGANIZATION_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/development/IDE-SETUP.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/UVXUSAGE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/precommit-handling/CLEANUP_SUMMARY.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/precommit-handling/CRACKERJACK_PRECOMMIT_HANDLING_IMPLEMENTATION_SUMMARY.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/precommit-handling/FINAL_PRECOMMIT_HANDLING_VERIFICATION.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/precommit-handling/PRECOMMIT_HANDLING_SUMMARY.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/precommit-handling/README.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/security/SECURITY-AUDIT.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/security/SECURITY_AUDIT_REPORT.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/security/SECURITY_HARDENING_REPORT.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/systems/BACKUP_SYSTEM.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/systems/CACHING_SYSTEM.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/systems/MCP_INTEGRATION.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/systems/MONITORING_INTEGRATION.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/example.mcp.json +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/mypy.ini +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/scripts/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/scripts/integrate_resource_management.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/scripts/performance_benchmark.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/templates/api_reference.md.template +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/templates/changelog_entry.md.template +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/templates/user_guide.md.template +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/test_docs_site/site/docs/api-reference.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/test_docs_site/site/docs/getting-started.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/test_docs_site/site/docs/index.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/test_docs_site/site/mkdocs.yml +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/base_test.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/conftest.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/coverage.json +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/data/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/data/comments_sample.txt +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/data/docstrings_sample.txt +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/data/expected_comments_sample.txt +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/data/init.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/run_tests.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/scripts/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/scripts/agent_audit_report.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/scripts/run_test_suite.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test___main__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_ai_agent_workflow.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_ai_optimized_documentation.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_ai_templates.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_anomaly_detector_service.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_api.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_api_comprehensive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_architect_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_async_hook_executor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_async_hook_executor_comprehensive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_base.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_changelog_generation.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_claude_code_bridge.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_cli/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_cli/test_global_lock_options.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_cli_semantic_naming.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_code_cleaner.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_code_cleaner_comprehensive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_coordinator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_coordinator_performance.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_core_autofix_coordinator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_core_comprehensive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_core_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_core_enhanced_container.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_core_modules.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_core_performance.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_documentation_agent (1).py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_documentation_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_documentation_agent_simple.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_dry_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_dual_output_generator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_dynamic_config.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_dynamic_config_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_end_to_end_integration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_enhanced_coordinator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_enhanced_filesystem.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_enhanced_filesystem_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_enhanced_proactive_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_errors.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_execution_speed_optimization.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_executors/__init__.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_executors/test_lock_integration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_fast_hooks_behavior.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_filesystem_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_final_validation.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_formatting_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_global_lock_config.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_hook_executor_comprehensive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_hook_lock_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_hook_manager_comprehensive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_hook_manager_simple.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_import_coverage_consolidated.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_import_optimization_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_initialization_precommit_integration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_initialization_service.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_input_validation.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_intelligence_system.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_interactive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_large_modules_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_lsp_client.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_main_entry_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_main_module.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_managers_consolidated.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_mcp_progress_monitor.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_mcp_server.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_mkdocs_integration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_models_comprehensive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_models_config_adapter_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_models_focused.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_models_task_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_modernized_code.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_performance_agent (1).py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_performance_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_performance_agent_enhanced.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_performance_agent_simple.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_performance_benchmarks_focused.py.bak +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_performance_helpers.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_phase_coordinator_simple.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_plugins_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_proactive_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_proactive_agent_system.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_proactive_workflow.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_protocol_compliance.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_publish_manager_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_py313.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_pytest_features.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_refactoring_agent.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_reference_generator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_regex_patterns.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_resource_cleanup_integration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_rust_tool_adapter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_rust_tool_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_secure_path_utils.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_secure_status_formatter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_security_audit.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_security_hardening.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_security_integration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_server_panels.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_service_watchdog.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_services_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_session_coordinator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_session_coordinator_comprehensive.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_session_coordinator_coverage.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_simple_tool_version_service.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_simple_workflow.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_skip_hooks_functionality.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_skip_hooks_simple.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_skylos_adapter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_stage_workflow_execution_order.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_structured_errors.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_structured_logging.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_syntax_validation.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_terminal_restoration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_terminal_state.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_timeout_manager.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_timeout_system.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_unified_api.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_unified_config.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_unified_monitoring_dashboard.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_validate_input_validator_patterns.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_validate_regex_patterns.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_validate_regex_patterns_tool.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_version_analyzer.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_version_bump_analyzer.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_websocket_endpoints.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_websocket_lifecycle.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_workflow_fast_hooks.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_workflow_integration.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_workflow_orchestrator.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_workflow_pipeline.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tests/test_zuban_adapter.py +0 -0
- {crackerjack-0.39.0 → crackerjack-0.39.2}/tools/validate_regex_patterns_standalone.py +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Repository Guidelines
|
|
2
|
+
|
|
3
|
+
## Project Structure & Module Organization
|
|
4
|
+
|
|
5
|
+
Crackerjack's core package lives under `crackerjack/`, where agents, the orchestrator, and CLI entrypoints are defined. Documentation and public guides sit in `docs/`, `README.md`, and `CLAUDE.md`, while reusable automation lives in `scripts/` and `tools/`. Tests mirror the package layout in `tests/` and leverage `test_docs_site/` for documentation fixtures. Use `examples/` and `example.mcp.json` when demonstrating integrations, and keep contributions aligned with the DRY/KISS/YAGNI philosophy.
|
|
6
|
+
|
|
7
|
+
## Build, Test, and Development Commands
|
|
8
|
+
|
|
9
|
+
- `uv sync --group dev` installs runtime, testing, and MCP dependencies.
|
|
10
|
+
- `uv run pre-commit run --all-files` validates formatting, linting, and security hooks before you push.
|
|
11
|
+
- `/crackerjack:run --debug` executes the full agent workflow locally; prefer this over raw `python -m` invocations.
|
|
12
|
+
- `uv run python -m crackerjack --help` observes CLI entrypoints when adjusting commands or docs.
|
|
13
|
+
|
|
14
|
+
## Coding Style & Naming Conventions
|
|
15
|
+
|
|
16
|
+
Target Python 3.13 with 4-space indentation, full type annotations, and descriptive but concise identifiers. `ruff` owns style, import order, and formatting (`uv run ruff check --fix` and `uv run ruff format`), holding line length to 88 and cognitive complexity to ≤15. Favor self-documenting code; reserve comments for intent or non-obvious trade-offs. Name test files `test_<feature>.py`, fixtures descriptively, and end agent classes with `*Agent` to match the architecture.
|
|
17
|
+
|
|
18
|
+
## Testing Guidelines
|
|
19
|
+
|
|
20
|
+
Run `uv run pytest` for the default suite and add `--maxfail=1` while iterating. Follow up with `/crackerjack:run` to ensure the multi-agent iteration protocol still converges. Maintain ≥42% coverage; audit `coverage.json` or `htmlcov/` when adding modules and expand tests if thresholds slip. Leverage existing markers (`chaos`, `ai_generated`, `breakthrough`) to isolate heavyweight scenarios, and keep shared fixtures in `tests/conftest.py`.
|
|
21
|
+
|
|
22
|
+
## Commit & Pull Request Guidelines
|
|
23
|
+
|
|
24
|
+
Adopt the `type(scope): summary` convention from history—examples include `fix(agents): guard iteration retry` or `test(tests): update scenarios`. Keep commits tightly scoped, reference tickets or MCP jobs when relevant, and note any agent or workflow impacts. Pull requests need a concise motivation, implementation notes, and validation proof (commands run, test outcomes, screenshots for docs/UI tweaks). Link issues and flag required follow-up work.
|
|
25
|
+
|
|
26
|
+
## Agent-Aware Workflow
|
|
27
|
+
|
|
28
|
+
Favor MCP tooling in day-to-day work: start quality sweeps with `/crackerjack:run`, monitor progress via `get_job_progress`, and sanity-check the environment with `/crackerjack:status`. Document new agents or capabilities here, update `.mcp.json` when wiring servers, and ensure structured outputs (`test-results.xml`, `coverage.json`) stay current after changes.
|
|
@@ -5,6 +5,37 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.39.2] - 2025-10-01
|
|
9
|
+
|
|
10
|
+
### Testing
|
|
11
|
+
|
|
12
|
+
- tests: Update 5 files
|
|
13
|
+
|
|
14
|
+
## [Unreleased] - 2025-10-01
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- feat: add new feature
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- fix: resolve bug in parser
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## [0.39.1] - 2025-09-28
|
|
24
|
+
|
|
25
|
+
### Testing
|
|
26
|
+
|
|
27
|
+
- tests: Update 6 files
|
|
28
|
+
|
|
29
|
+
## [Unreleased] - 2025-09-28
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
- feat: add new feature
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- fix: resolve bug in parser
|
|
38
|
+
|
|
8
39
|
## [0.39.0] - 2025-09-28
|
|
9
40
|
|
|
10
41
|
### Added
|
|
@@ -25,11 +56,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
25
56
|
## [Unreleased] - 2025-09-28
|
|
26
57
|
|
|
27
58
|
### Added
|
|
59
|
+
|
|
28
60
|
- feat: add new feature
|
|
29
61
|
|
|
30
62
|
### Fixed
|
|
31
|
-
- fix: resolve bug in parser
|
|
32
63
|
|
|
64
|
+
- fix: resolve bug in parser
|
|
33
65
|
|
|
34
66
|
## [Unreleased] - 2025-09-28
|
|
35
67
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Crackerjack: AI-Powered Python Development Platform
|
|
2
|
+
|
|
3
|
+
## Project Overview
|
|
4
|
+
|
|
5
|
+
Crackerjack is a sophisticated, AI-driven platform designed to enhance Python development by enforcing high code quality standards through intelligent automation. It streamlines the development process by integrating a comprehensive suite of tools for linting, formatting, testing, and security analysis into a single, powerful command-line interface.
|
|
6
|
+
|
|
7
|
+
The core philosophy of Crackerjack is to proactively prevent issues rather than reactively fixing them. It employs a multi-agent AI system to automatically identify and resolve code quality problems, including type errors, security vulnerabilities, performance bottlenecks, and style inconsistencies. This allows developers to focus on writing high-quality code, confident that Crackerjack will handle the rest.
|
|
8
|
+
|
|
9
|
+
**Key Technologies:**
|
|
10
|
+
|
|
11
|
+
- **Python 3.13+:** The project is built on the latest version of Python, leveraging modern language features.
|
|
12
|
+
- **`uv`:** Used for high-performance package management and virtual environment creation.
|
|
13
|
+
- **`typer`:** Powers the command-line interface, providing a user-friendly experience with a rich set of options.
|
|
14
|
+
- **`ruff`:** A fast Python linter and code formatter that ensures consistent code style.
|
|
15
|
+
- **`pytest`:** The testing framework used to run the project's extensive test suite.
|
|
16
|
+
- **`pyright` and `zuban`:** Used for static type checking, with the custom Rust-based `zuban` providing significant performance improvements.
|
|
17
|
+
- **`bandit`:** A tool for finding common security issues in Python code.
|
|
18
|
+
- **AI Agents:** A team of specialized AI agents, coordinated by an `EnhancedAgentCoordinator`, that can automatically fix a wide range of code quality issues.
|
|
19
|
+
- **MCP (Model Context Protocol):** A WebSocket-based protocol that allows AI agents to interact with the Crackerjack CLI.
|
|
20
|
+
|
|
21
|
+
**Architecture:**
|
|
22
|
+
|
|
23
|
+
The project follows a modular architecture, with a clear separation of concerns between the CLI, core workflow orchestration, and various services.
|
|
24
|
+
|
|
25
|
+
- **`crackerjack/__main__.py`:** The main entry point for the CLI, which uses `typer` to define the available commands and options.
|
|
26
|
+
- **`crackerjack/cli/handlers.py`:** Contains the logic for handling the different CLI commands, delegating the actual work to the appropriate services and managers.
|
|
27
|
+
- **`crackerjack/core/workflow_orchestrator.py`:** The heart of the application, which defines the `WorkflowOrchestrator` and `WorkflowPipeline` classes that manage the execution of the code quality workflow.
|
|
28
|
+
- **`crackerjack/services/`:** A collection of services that provide specific functionality, such as Git integration, documentation generation, and AI-powered code analysis.
|
|
29
|
+
- **`crackerjack/agents/`:** Contains the implementation of the specialized AI agents that are responsible for fixing code quality issues.
|
|
30
|
+
- **`crackerjack/mcp/`:** Implements the Model Context Protocol server, which enables communication between the Crackerjack CLI and external AI agents.
|
|
31
|
+
|
|
32
|
+
## Building and Running
|
|
33
|
+
|
|
34
|
+
**Installation:**
|
|
35
|
+
|
|
36
|
+
1. Install `uv` (if not already installed):
|
|
37
|
+
```bash
|
|
38
|
+
pipx install uv
|
|
39
|
+
```
|
|
40
|
+
1. Install Crackerjack and its dependencies:
|
|
41
|
+
```bash
|
|
42
|
+
uv sync --all-groups
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Running the Main Workflow:**
|
|
46
|
+
|
|
47
|
+
The primary way to use Crackerjack is through its command-line interface. The main command is `python -m crackerjack`.
|
|
48
|
+
|
|
49
|
+
- **Run all quality checks:**
|
|
50
|
+
```bash
|
|
51
|
+
python -m crackerjack
|
|
52
|
+
```
|
|
53
|
+
- **Run quality checks and tests:**
|
|
54
|
+
```bash
|
|
55
|
+
python -m crackerjack --run-tests
|
|
56
|
+
```
|
|
57
|
+
- **Enable AI-powered auto-fixing:**
|
|
58
|
+
```bash
|
|
59
|
+
python -m crackerjack --ai-fix
|
|
60
|
+
```
|
|
61
|
+
- **Run the full release workflow (including version bumping and publishing):**
|
|
62
|
+
```bash
|
|
63
|
+
python -m crackerjack --all patch
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Starting the MCP Server:**
|
|
67
|
+
|
|
68
|
+
To enable AI agent integration, you can start the MCP server:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
python -m crackerjack --start-mcp-server
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
This will start a WebSocket server on `localhost:8675`, allowing AI agents to connect and interact with the Crackerjack CLI.
|
|
75
|
+
|
|
76
|
+
## Development Conventions
|
|
77
|
+
|
|
78
|
+
- **Code Style:** The project uses `ruff` to enforce a consistent code style. All code should be formatted according to the rules defined in `pyproject.toml`.
|
|
79
|
+
- **Testing:** The project has an extensive test suite that is run using `pytest`. The "coverage ratchet" system ensures that test coverage can only increase over time, with a goal of 100% coverage.
|
|
80
|
+
- **Type Hinting:** The project uses modern Python type hints (e.g., `|` for unions) and enforces strict type checking with `pyright` and `zuban`.
|
|
81
|
+
- **Self-Documenting Code:** The project favors self-documenting code over extensive docstrings.
|
|
82
|
+
- **Commit Messages:** The project uses a standardized format for commit messages, which are automatically generated based on the changes made.
|
|
83
|
+
- **Pre-commit Hooks:** The project uses a comprehensive set of pre-commit hooks to ensure that all code is formatted, linted, and tested before it is committed.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crackerjack
|
|
3
|
-
Version: 0.39.
|
|
3
|
+
Version: 0.39.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
|
|
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "crackerjack"
|
|
9
|
-
version = "0.39.
|
|
9
|
+
version = "0.39.2"
|
|
10
10
|
description = "Crackerjack Python project management tool"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
authors = [
|
|
@@ -398,4 +398,6 @@ real_time_feedback = true
|
|
|
398
398
|
[dependency-groups]
|
|
399
399
|
dev = [
|
|
400
400
|
"crackerjack",
|
|
401
|
+
"excalidraw-mcp>=0.34.0",
|
|
402
|
+
"session-mgmt-mcp>=0.4.0",
|
|
401
403
|
]
|
|
@@ -104,4 +104,4 @@ def test_run_configuration_phase_basic(self):
|
|
|
104
104
|
"Function requires specific arguments - manual implementation needed"
|
|
105
105
|
)
|
|
106
106
|
except Exception as e:
|
|
107
|
-
pytest.fail(f"Unexpected error in run_configuration_phase: {e}")
|
|
107
|
+
pytest.fail(f"Unexpected error in run_configuration_phase: {e}")
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
def test_get_performance_monitor_basic(self):
|
|
2
|
+
"""Test basic functionality of get_performance_monitor."""
|
|
3
|
+
try:
|
|
4
|
+
result = get_performance_monitor()
|
|
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 get_performance_monitor: {e}")
|
|
12
|
+
|
|
13
|
+
def test_reset_performance_monitor_basic(self):
|
|
14
|
+
"""Test basic functionality of reset_performance_monitor."""
|
|
15
|
+
try:
|
|
16
|
+
result = reset_performance_monitor()
|
|
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 reset_performance_monitor: {e}")
|
|
24
|
+
|
|
25
|
+
def test_success_rate_basic(self):
|
|
26
|
+
"""Test basic functionality of success_rate."""
|
|
27
|
+
try:
|
|
28
|
+
result = success_rate()
|
|
29
|
+
assert result is not None or result is None
|
|
30
|
+
except TypeError:
|
|
31
|
+
pytest.skip(
|
|
32
|
+
"Function requires specific arguments - manual implementation needed"
|
|
33
|
+
)
|
|
34
|
+
except Exception as e:
|
|
35
|
+
pytest.fail(f"Unexpected error in success_rate: {e}")
|
|
36
|
+
|
|
37
|
+
def test_average_time_basic(self):
|
|
38
|
+
"""Test basic functionality of average_time."""
|
|
39
|
+
try:
|
|
40
|
+
result = average_time()
|
|
41
|
+
assert result is not None or result is None
|
|
42
|
+
except TypeError:
|
|
43
|
+
pytest.skip(
|
|
44
|
+
"Function requires specific arguments - manual implementation needed"
|
|
45
|
+
)
|
|
46
|
+
except Exception as e:
|
|
47
|
+
pytest.fail(f"Unexpected error in average_time: {e}")
|
|
48
|
+
|
|
49
|
+
def test_recent_average_time_basic(self):
|
|
50
|
+
"""Test basic functionality of recent_average_time."""
|
|
51
|
+
try:
|
|
52
|
+
result = recent_average_time()
|
|
53
|
+
assert result is not None or result is None
|
|
54
|
+
except TypeError:
|
|
55
|
+
pytest.skip(
|
|
56
|
+
"Function requires specific arguments - manual implementation needed"
|
|
57
|
+
)
|
|
58
|
+
except Exception as e:
|
|
59
|
+
pytest.fail(f"Unexpected error in recent_average_time: {e}")
|
|
60
|
+
|
|
61
|
+
def test_record_operation_start_basic(self):
|
|
62
|
+
"""Test basic functionality of record_operation_start."""
|
|
63
|
+
try:
|
|
64
|
+
result = record_operation_start()
|
|
65
|
+
assert result is not None or result is None
|
|
66
|
+
except TypeError:
|
|
67
|
+
pytest.skip(
|
|
68
|
+
"Function requires specific arguments - manual implementation needed"
|
|
69
|
+
)
|
|
70
|
+
except Exception as e:
|
|
71
|
+
pytest.fail(f"Unexpected error in record_operation_start: {e}")
|
|
72
|
+
|
|
73
|
+
def test_record_operation_success_basic(self):
|
|
74
|
+
"""Test basic functionality of record_operation_success."""
|
|
75
|
+
try:
|
|
76
|
+
result = record_operation_success()
|
|
77
|
+
assert result is not None or result is None
|
|
78
|
+
except TypeError:
|
|
79
|
+
pytest.skip(
|
|
80
|
+
"Function requires specific arguments - manual implementation needed"
|
|
81
|
+
)
|
|
82
|
+
except Exception as e:
|
|
83
|
+
pytest.fail(f"Unexpected error in record_operation_success: {e}")
|
|
84
|
+
|
|
85
|
+
def test_record_operation_failure_basic(self):
|
|
86
|
+
"""Test basic functionality of record_operation_failure."""
|
|
87
|
+
try:
|
|
88
|
+
result = record_operation_failure()
|
|
89
|
+
assert result is not None or result is None
|
|
90
|
+
except TypeError:
|
|
91
|
+
pytest.skip(
|
|
92
|
+
"Function requires specific arguments - manual implementation needed"
|
|
93
|
+
)
|
|
94
|
+
except Exception as e:
|
|
95
|
+
pytest.fail(f"Unexpected error in record_operation_failure: {e}")
|
|
96
|
+
|
|
97
|
+
def test_record_operation_timeout_basic(self):
|
|
98
|
+
"""Test basic functionality of record_operation_timeout."""
|
|
99
|
+
try:
|
|
100
|
+
result = record_operation_timeout()
|
|
101
|
+
assert result is not None or result is None
|
|
102
|
+
except TypeError:
|
|
103
|
+
pytest.skip(
|
|
104
|
+
"Function requires specific arguments - manual implementation needed"
|
|
105
|
+
)
|
|
106
|
+
except Exception as e:
|
|
107
|
+
pytest.fail(f"Unexpected error in record_operation_timeout: {e}")
|
|
108
|
+
|
|
109
|
+
def test_record_circuit_breaker_event_basic(self):
|
|
110
|
+
"""Test basic functionality of record_circuit_breaker_event."""
|
|
111
|
+
try:
|
|
112
|
+
result = record_circuit_breaker_event()
|
|
113
|
+
assert result is not None or result is None
|
|
114
|
+
except TypeError:
|
|
115
|
+
pytest.skip(
|
|
116
|
+
"Function requires specific arguments - manual implementation needed"
|
|
117
|
+
)
|
|
118
|
+
except Exception as e:
|
|
119
|
+
pytest.fail(f"Unexpected error in record_circuit_breaker_event: {e}")
|
|
120
|
+
|
|
121
|
+
def test_get_operation_metrics_basic(self):
|
|
122
|
+
"""Test basic functionality of get_operation_metrics."""
|
|
123
|
+
try:
|
|
124
|
+
result = get_operation_metrics()
|
|
125
|
+
assert result is not None or result is None
|
|
126
|
+
except TypeError:
|
|
127
|
+
pytest.skip(
|
|
128
|
+
"Function requires specific arguments - manual implementation needed"
|
|
129
|
+
)
|
|
130
|
+
except Exception as e:
|
|
131
|
+
pytest.fail(f"Unexpected error in get_operation_metrics: {e}")
|
|
132
|
+
|
|
133
|
+
def test_get_all_metrics_basic(self):
|
|
134
|
+
"""Test basic functionality of get_all_metrics."""
|
|
135
|
+
try:
|
|
136
|
+
result = get_all_metrics()
|
|
137
|
+
assert result is not None or result is None
|
|
138
|
+
except TypeError:
|
|
139
|
+
pytest.skip(
|
|
140
|
+
"Function requires specific arguments - manual implementation needed"
|
|
141
|
+
)
|
|
142
|
+
except Exception as e:
|
|
143
|
+
pytest.fail(f"Unexpected error in get_all_metrics: {e}")
|
|
144
|
+
|
|
145
|
+
def test_get_recent_timeout_events_basic(self):
|
|
146
|
+
"""Test basic functionality of get_recent_timeout_events."""
|
|
147
|
+
try:
|
|
148
|
+
result = get_recent_timeout_events()
|
|
149
|
+
assert result is not None or result is None
|
|
150
|
+
except TypeError:
|
|
151
|
+
pytest.skip(
|
|
152
|
+
"Function requires specific arguments - manual implementation needed"
|
|
153
|
+
)
|
|
154
|
+
except Exception as e:
|
|
155
|
+
pytest.fail(f"Unexpected error in get_recent_timeout_events: {e}")
|
|
156
|
+
|
|
157
|
+
def test_get_performance_alerts_basic(self):
|
|
158
|
+
"""Test basic functionality of get_performance_alerts."""
|
|
159
|
+
try:
|
|
160
|
+
result = get_performance_alerts()
|
|
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 get_performance_alerts: {e}")
|
|
168
|
+
|
|
169
|
+
def test_get_summary_stats_basic(self):
|
|
170
|
+
"""Test basic functionality of get_summary_stats."""
|
|
171
|
+
try:
|
|
172
|
+
result = get_summary_stats()
|
|
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_summary_stats: {e}")
|
|
180
|
+
|
|
181
|
+
def test_export_metrics_json_basic(self):
|
|
182
|
+
"""Test basic functionality of export_metrics_json."""
|
|
183
|
+
try:
|
|
184
|
+
result = export_metrics_json()
|
|
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 export_metrics_json: {e}")
|
|
192
|
+
|
|
193
|
+
def test_print_performance_report_basic(self):
|
|
194
|
+
"""Test basic functionality of print_performance_report."""
|
|
195
|
+
try:
|
|
196
|
+
result = print_performance_report()
|
|
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 print_performance_report: {e}")
|