claude-mpm 4.1.0__py3-none-any.whl → 4.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- claude_mpm/BUILD_NUMBER +1 -1
- claude_mpm/VERSION +1 -1
- claude_mpm/__main__.py +1 -1
- claude_mpm/agents/BASE_PM.md +74 -46
- claude_mpm/agents/INSTRUCTIONS.md +11 -153
- claude_mpm/agents/WORKFLOW.md +61 -321
- claude_mpm/agents/__init__.py +11 -11
- claude_mpm/agents/agent_loader.py +23 -20
- claude_mpm/agents/agent_loader_integration.py +1 -1
- claude_mpm/agents/agents_metadata.py +27 -0
- claude_mpm/agents/async_agent_loader.py +5 -8
- claude_mpm/agents/base_agent_loader.py +36 -25
- claude_mpm/agents/frontmatter_validator.py +6 -6
- claude_mpm/agents/schema/agent_schema.json +1 -1
- claude_mpm/agents/system_agent_config.py +9 -9
- claude_mpm/agents/templates/api_qa.json +47 -2
- claude_mpm/agents/templates/imagemagick.json +256 -0
- claude_mpm/agents/templates/qa.json +41 -2
- claude_mpm/agents/templates/ticketing.json +5 -5
- claude_mpm/agents/templates/web_qa.json +133 -58
- claude_mpm/agents/templates/web_ui.json +3 -3
- claude_mpm/cli/__init__.py +51 -46
- claude_mpm/cli/__main__.py +1 -1
- claude_mpm/cli/commands/__init__.py +10 -12
- claude_mpm/cli/commands/agent_manager.py +186 -181
- claude_mpm/cli/commands/agents.py +271 -268
- claude_mpm/cli/commands/aggregate.py +30 -29
- claude_mpm/cli/commands/cleanup.py +50 -44
- claude_mpm/cli/commands/cleanup_orphaned_agents.py +25 -25
- claude_mpm/cli/commands/config.py +162 -127
- claude_mpm/cli/commands/doctor.py +52 -62
- claude_mpm/cli/commands/info.py +37 -25
- claude_mpm/cli/commands/mcp.py +3 -7
- claude_mpm/cli/commands/mcp_command_router.py +14 -18
- claude_mpm/cli/commands/mcp_install_commands.py +28 -23
- claude_mpm/cli/commands/mcp_pipx_config.py +58 -49
- claude_mpm/cli/commands/mcp_server_commands.py +23 -17
- claude_mpm/cli/commands/memory.py +192 -141
- claude_mpm/cli/commands/monitor.py +117 -88
- claude_mpm/cli/commands/run.py +120 -84
- claude_mpm/cli/commands/run_config_checker.py +4 -5
- claude_mpm/cli/commands/socketio_monitor.py +17 -19
- claude_mpm/cli/commands/tickets.py +92 -92
- claude_mpm/cli/parser.py +1 -5
- claude_mpm/cli/parsers/__init__.py +1 -1
- claude_mpm/cli/parsers/agent_manager_parser.py +50 -98
- claude_mpm/cli/parsers/agents_parser.py +2 -3
- claude_mpm/cli/parsers/base_parser.py +7 -5
- claude_mpm/cli/parsers/mcp_parser.py +4 -2
- claude_mpm/cli/parsers/monitor_parser.py +26 -18
- claude_mpm/cli/shared/__init__.py +10 -10
- claude_mpm/cli/shared/argument_patterns.py +57 -71
- claude_mpm/cli/shared/base_command.py +61 -53
- claude_mpm/cli/shared/error_handling.py +62 -58
- claude_mpm/cli/shared/output_formatters.py +78 -77
- claude_mpm/cli/startup_logging.py +204 -172
- claude_mpm/cli/utils.py +10 -11
- claude_mpm/cli_module/__init__.py +1 -1
- claude_mpm/cli_module/args.py +1 -1
- claude_mpm/cli_module/migration_example.py +5 -5
- claude_mpm/config/__init__.py +9 -9
- claude_mpm/config/agent_config.py +15 -14
- claude_mpm/config/experimental_features.py +4 -4
- claude_mpm/config/paths.py +0 -1
- claude_mpm/config/socketio_config.py +5 -6
- claude_mpm/constants.py +1 -2
- claude_mpm/core/__init__.py +8 -8
- claude_mpm/core/agent_name_normalizer.py +1 -1
- claude_mpm/core/agent_registry.py +20 -23
- claude_mpm/core/agent_session_manager.py +3 -3
- claude_mpm/core/base_service.py +7 -15
- claude_mpm/core/cache.py +4 -6
- claude_mpm/core/claude_runner.py +85 -113
- claude_mpm/core/config.py +43 -28
- claude_mpm/core/config_aliases.py +0 -9
- claude_mpm/core/config_constants.py +52 -30
- claude_mpm/core/constants.py +0 -1
- claude_mpm/core/container.py +18 -27
- claude_mpm/core/exceptions.py +2 -2
- claude_mpm/core/factories.py +10 -12
- claude_mpm/core/framework_loader.py +581 -280
- claude_mpm/core/hook_manager.py +26 -22
- claude_mpm/core/hook_performance_config.py +58 -47
- claude_mpm/core/injectable_service.py +1 -1
- claude_mpm/core/interactive_session.py +61 -152
- claude_mpm/core/interfaces.py +1 -100
- claude_mpm/core/lazy.py +5 -5
- claude_mpm/core/log_manager.py +587 -0
- claude_mpm/core/logger.py +125 -8
- claude_mpm/core/logging_config.py +15 -15
- claude_mpm/core/minimal_framework_loader.py +5 -8
- claude_mpm/core/oneshot_session.py +15 -33
- claude_mpm/core/optimized_agent_loader.py +4 -6
- claude_mpm/core/optimized_startup.py +2 -1
- claude_mpm/core/output_style_manager.py +147 -106
- claude_mpm/core/pm_hook_interceptor.py +0 -1
- claude_mpm/core/service_registry.py +11 -8
- claude_mpm/core/session_manager.py +1 -2
- claude_mpm/core/shared/__init__.py +1 -1
- claude_mpm/core/shared/config_loader.py +101 -97
- claude_mpm/core/shared/path_resolver.py +72 -68
- claude_mpm/core/shared/singleton_manager.py +56 -50
- claude_mpm/core/socketio_pool.py +26 -6
- claude_mpm/core/tool_access_control.py +4 -5
- claude_mpm/core/typing_utils.py +50 -59
- claude_mpm/core/unified_agent_registry.py +14 -19
- claude_mpm/core/unified_config.py +4 -6
- claude_mpm/core/unified_paths.py +197 -109
- claude_mpm/dashboard/open_dashboard.py +2 -4
- claude_mpm/experimental/cli_enhancements.py +51 -36
- claude_mpm/generators/agent_profile_generator.py +2 -4
- claude_mpm/hooks/base_hook.py +1 -2
- claude_mpm/hooks/claude_hooks/connection_pool.py +72 -26
- claude_mpm/hooks/claude_hooks/event_handlers.py +93 -38
- claude_mpm/hooks/claude_hooks/hook_handler.py +130 -76
- claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +104 -77
- claude_mpm/hooks/claude_hooks/memory_integration.py +2 -4
- claude_mpm/hooks/claude_hooks/response_tracking.py +15 -11
- claude_mpm/hooks/claude_hooks/tool_analysis.py +12 -18
- claude_mpm/hooks/memory_integration_hook.py +5 -5
- claude_mpm/hooks/tool_call_interceptor.py +1 -1
- claude_mpm/hooks/validation_hooks.py +4 -4
- claude_mpm/init.py +4 -9
- claude_mpm/models/__init__.py +2 -2
- claude_mpm/models/agent_session.py +11 -14
- claude_mpm/scripts/mcp_server.py +20 -11
- claude_mpm/scripts/mcp_wrapper.py +5 -5
- claude_mpm/scripts/mpm_doctor.py +321 -0
- claude_mpm/scripts/socketio_daemon.py +28 -25
- claude_mpm/scripts/socketio_daemon_hardened.py +298 -258
- claude_mpm/scripts/socketio_server_manager.py +116 -95
- claude_mpm/services/__init__.py +49 -49
- claude_mpm/services/agent_capabilities_service.py +12 -18
- claude_mpm/services/agents/__init__.py +22 -22
- claude_mpm/services/agents/agent_builder.py +140 -119
- claude_mpm/services/agents/deployment/__init__.py +3 -3
- claude_mpm/services/agents/deployment/agent_config_provider.py +9 -9
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +19 -20
- claude_mpm/services/agents/deployment/agent_definition_factory.py +1 -5
- claude_mpm/services/agents/deployment/agent_deployment.py +136 -106
- claude_mpm/services/agents/deployment/agent_discovery_service.py +4 -8
- claude_mpm/services/agents/deployment/agent_environment_manager.py +2 -7
- claude_mpm/services/agents/deployment/agent_filesystem_manager.py +6 -10
- claude_mpm/services/agents/deployment/agent_format_converter.py +11 -15
- claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +2 -3
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +5 -5
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +13 -19
- claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -1
- claude_mpm/services/agents/deployment/agent_template_builder.py +26 -35
- claude_mpm/services/agents/deployment/agent_validator.py +0 -1
- claude_mpm/services/agents/deployment/agent_version_manager.py +7 -9
- claude_mpm/services/agents/deployment/agent_versioning.py +3 -3
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +6 -7
- claude_mpm/services/agents/deployment/async_agent_deployment.py +51 -38
- claude_mpm/services/agents/deployment/config/__init__.py +1 -1
- claude_mpm/services/agents/deployment/config/deployment_config.py +7 -8
- claude_mpm/services/agents/deployment/deployment_type_detector.py +1 -1
- claude_mpm/services/agents/deployment/deployment_wrapper.py +18 -18
- claude_mpm/services/agents/deployment/facade/__init__.py +1 -1
- claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -3
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -4
- claude_mpm/services/agents/deployment/interface_adapter.py +5 -7
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +345 -276
- claude_mpm/services/agents/deployment/pipeline/__init__.py +2 -2
- claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +1 -1
- claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +6 -4
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +3 -3
- claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +2 -2
- claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +14 -13
- claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -1
- claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +1 -1
- claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +8 -9
- claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +1 -1
- claude_mpm/services/agents/deployment/processors/__init__.py +1 -1
- claude_mpm/services/agents/deployment/processors/agent_processor.py +20 -16
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +5 -12
- claude_mpm/services/agents/deployment/results/__init__.py +1 -1
- claude_mpm/services/agents/deployment/results/deployment_result_builder.py +1 -1
- claude_mpm/services/agents/deployment/strategies/__init__.py +2 -2
- claude_mpm/services/agents/deployment/strategies/base_strategy.py +1 -7
- claude_mpm/services/agents/deployment/strategies/project_strategy.py +1 -4
- claude_mpm/services/agents/deployment/strategies/system_strategy.py +2 -3
- claude_mpm/services/agents/deployment/strategies/user_strategy.py +3 -7
- claude_mpm/services/agents/deployment/validation/__init__.py +1 -1
- claude_mpm/services/agents/deployment/validation/agent_validator.py +1 -1
- claude_mpm/services/agents/deployment/validation/template_validator.py +2 -2
- claude_mpm/services/agents/deployment/validation/validation_result.py +2 -6
- claude_mpm/services/agents/loading/__init__.py +1 -1
- claude_mpm/services/agents/loading/agent_profile_loader.py +6 -12
- claude_mpm/services/agents/loading/base_agent_manager.py +5 -5
- claude_mpm/services/agents/loading/framework_agent_loader.py +2 -4
- claude_mpm/services/agents/management/__init__.py +1 -1
- claude_mpm/services/agents/management/agent_capabilities_generator.py +1 -3
- claude_mpm/services/agents/management/agent_management_service.py +5 -9
- claude_mpm/services/agents/memory/__init__.py +4 -4
- claude_mpm/services/agents/memory/agent_memory_manager.py +280 -160
- claude_mpm/services/agents/memory/agent_persistence_service.py +0 -2
- claude_mpm/services/agents/memory/content_manager.py +44 -38
- claude_mpm/services/agents/memory/template_generator.py +4 -6
- claude_mpm/services/agents/registry/__init__.py +10 -6
- claude_mpm/services/agents/registry/deployed_agent_discovery.py +30 -27
- claude_mpm/services/agents/registry/modification_tracker.py +3 -6
- claude_mpm/services/async_session_logger.py +1 -2
- claude_mpm/services/claude_session_logger.py +1 -2
- claude_mpm/services/command_deployment_service.py +173 -0
- claude_mpm/services/command_handler_service.py +20 -22
- claude_mpm/services/core/__init__.py +25 -25
- claude_mpm/services/core/base.py +0 -5
- claude_mpm/services/core/interfaces/__init__.py +32 -32
- claude_mpm/services/core/interfaces/agent.py +0 -21
- claude_mpm/services/core/interfaces/communication.py +0 -27
- claude_mpm/services/core/interfaces/infrastructure.py +0 -56
- claude_mpm/services/core/interfaces/service.py +0 -29
- claude_mpm/services/diagnostics/__init__.py +1 -1
- claude_mpm/services/diagnostics/checks/__init__.py +6 -6
- claude_mpm/services/diagnostics/checks/agent_check.py +89 -80
- claude_mpm/services/diagnostics/checks/base_check.py +12 -16
- claude_mpm/services/diagnostics/checks/claude_desktop_check.py +84 -81
- claude_mpm/services/diagnostics/checks/common_issues_check.py +99 -91
- claude_mpm/services/diagnostics/checks/configuration_check.py +82 -77
- claude_mpm/services/diagnostics/checks/filesystem_check.py +67 -68
- claude_mpm/services/diagnostics/checks/installation_check.py +254 -94
- claude_mpm/services/diagnostics/checks/mcp_check.py +90 -88
- claude_mpm/services/diagnostics/checks/monitor_check.py +75 -76
- claude_mpm/services/diagnostics/checks/startup_log_check.py +67 -73
- claude_mpm/services/diagnostics/diagnostic_runner.py +67 -59
- claude_mpm/services/diagnostics/doctor_reporter.py +107 -70
- claude_mpm/services/diagnostics/models.py +21 -19
- claude_mpm/services/event_aggregator.py +10 -17
- claude_mpm/services/event_bus/__init__.py +1 -1
- claude_mpm/services/event_bus/config.py +54 -35
- claude_mpm/services/event_bus/event_bus.py +76 -71
- claude_mpm/services/event_bus/relay.py +74 -64
- claude_mpm/services/events/__init__.py +11 -11
- claude_mpm/services/events/consumers/__init__.py +3 -3
- claude_mpm/services/events/consumers/dead_letter.py +71 -63
- claude_mpm/services/events/consumers/logging.py +39 -37
- claude_mpm/services/events/consumers/metrics.py +56 -57
- claude_mpm/services/events/consumers/socketio.py +82 -81
- claude_mpm/services/events/core.py +110 -99
- claude_mpm/services/events/interfaces.py +56 -72
- claude_mpm/services/events/producers/__init__.py +1 -1
- claude_mpm/services/events/producers/hook.py +38 -38
- claude_mpm/services/events/producers/system.py +46 -44
- claude_mpm/services/exceptions.py +81 -80
- claude_mpm/services/framework_claude_md_generator/__init__.py +2 -4
- claude_mpm/services/framework_claude_md_generator/content_assembler.py +3 -5
- claude_mpm/services/framework_claude_md_generator/content_validator.py +1 -1
- claude_mpm/services/framework_claude_md_generator/deployment_manager.py +4 -4
- claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -1
- claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -2
- claude_mpm/services/framework_claude_md_generator/version_manager.py +4 -5
- claude_mpm/services/hook_service.py +6 -9
- claude_mpm/services/infrastructure/__init__.py +1 -1
- claude_mpm/services/infrastructure/context_preservation.py +8 -12
- claude_mpm/services/infrastructure/monitoring.py +21 -23
- claude_mpm/services/mcp_gateway/__init__.py +37 -37
- claude_mpm/services/mcp_gateway/auto_configure.py +95 -103
- claude_mpm/services/mcp_gateway/config/__init__.py +1 -1
- claude_mpm/services/mcp_gateway/config/config_loader.py +23 -25
- claude_mpm/services/mcp_gateway/config/config_schema.py +5 -5
- claude_mpm/services/mcp_gateway/config/configuration.py +9 -6
- claude_mpm/services/mcp_gateway/core/__init__.py +10 -10
- claude_mpm/services/mcp_gateway/core/base.py +0 -3
- claude_mpm/services/mcp_gateway/core/interfaces.py +1 -38
- claude_mpm/services/mcp_gateway/core/process_pool.py +99 -93
- claude_mpm/services/mcp_gateway/core/singleton_manager.py +65 -62
- claude_mpm/services/mcp_gateway/core/startup_verification.py +75 -74
- claude_mpm/services/mcp_gateway/main.py +2 -1
- claude_mpm/services/mcp_gateway/registry/service_registry.py +5 -8
- claude_mpm/services/mcp_gateway/registry/tool_registry.py +1 -1
- claude_mpm/services/mcp_gateway/server/__init__.py +1 -1
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +12 -19
- claude_mpm/services/mcp_gateway/server/stdio_handler.py +4 -3
- claude_mpm/services/mcp_gateway/server/stdio_server.py +79 -71
- claude_mpm/services/mcp_gateway/tools/__init__.py +2 -2
- claude_mpm/services/mcp_gateway/tools/base_adapter.py +5 -6
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +13 -22
- claude_mpm/services/mcp_gateway/tools/health_check_tool.py +79 -78
- claude_mpm/services/mcp_gateway/tools/hello_world.py +12 -14
- claude_mpm/services/mcp_gateway/tools/ticket_tools.py +42 -49
- claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +51 -55
- claude_mpm/services/memory/__init__.py +3 -3
- claude_mpm/services/memory/builder.py +3 -6
- claude_mpm/services/memory/cache/__init__.py +1 -1
- claude_mpm/services/memory/cache/shared_prompt_cache.py +3 -5
- claude_mpm/services/memory/cache/simple_cache.py +1 -1
- claude_mpm/services/memory/indexed_memory.py +5 -7
- claude_mpm/services/memory/optimizer.py +7 -10
- claude_mpm/services/memory/router.py +8 -9
- claude_mpm/services/memory_hook_service.py +48 -34
- claude_mpm/services/monitor_build_service.py +77 -73
- claude_mpm/services/port_manager.py +130 -108
- claude_mpm/services/project/analyzer.py +12 -10
- claude_mpm/services/project/registry.py +11 -11
- claude_mpm/services/recovery_manager.py +10 -19
- claude_mpm/services/response_tracker.py +0 -1
- claude_mpm/services/runner_configuration_service.py +19 -20
- claude_mpm/services/session_management_service.py +7 -11
- claude_mpm/services/shared/__init__.py +1 -1
- claude_mpm/services/shared/async_service_base.py +58 -50
- claude_mpm/services/shared/config_service_base.py +73 -67
- claude_mpm/services/shared/lifecycle_service_base.py +82 -78
- claude_mpm/services/shared/manager_base.py +94 -82
- claude_mpm/services/shared/service_factory.py +96 -98
- claude_mpm/services/socketio/__init__.py +3 -3
- claude_mpm/services/socketio/client_proxy.py +5 -5
- claude_mpm/services/socketio/event_normalizer.py +199 -181
- claude_mpm/services/socketio/handlers/__init__.py +3 -3
- claude_mpm/services/socketio/handlers/base.py +5 -4
- claude_mpm/services/socketio/handlers/connection.py +163 -136
- claude_mpm/services/socketio/handlers/file.py +13 -14
- claude_mpm/services/socketio/handlers/git.py +12 -7
- claude_mpm/services/socketio/handlers/hook.py +49 -44
- claude_mpm/services/socketio/handlers/memory.py +0 -1
- claude_mpm/services/socketio/handlers/project.py +0 -1
- claude_mpm/services/socketio/handlers/registry.py +37 -19
- claude_mpm/services/socketio/migration_utils.py +98 -84
- claude_mpm/services/socketio/server/__init__.py +1 -1
- claude_mpm/services/socketio/server/broadcaster.py +81 -87
- claude_mpm/services/socketio/server/core.py +65 -54
- claude_mpm/services/socketio/server/eventbus_integration.py +95 -56
- claude_mpm/services/socketio/server/main.py +64 -38
- claude_mpm/services/socketio_client_manager.py +10 -12
- claude_mpm/services/subprocess_launcher_service.py +4 -7
- claude_mpm/services/system_instructions_service.py +13 -14
- claude_mpm/services/ticket_manager.py +2 -2
- claude_mpm/services/utility_service.py +5 -13
- claude_mpm/services/version_control/__init__.py +16 -16
- claude_mpm/services/version_control/branch_strategy.py +5 -8
- claude_mpm/services/version_control/conflict_resolution.py +9 -23
- claude_mpm/services/version_control/git_operations.py +5 -7
- claude_mpm/services/version_control/semantic_versioning.py +16 -17
- claude_mpm/services/version_control/version_parser.py +13 -18
- claude_mpm/services/version_service.py +10 -11
- claude_mpm/storage/__init__.py +1 -1
- claude_mpm/storage/state_storage.py +22 -28
- claude_mpm/utils/__init__.py +6 -6
- claude_mpm/utils/agent_dependency_loader.py +47 -33
- claude_mpm/utils/config_manager.py +11 -14
- claude_mpm/utils/dependency_cache.py +1 -1
- claude_mpm/utils/dependency_manager.py +13 -17
- claude_mpm/utils/dependency_strategies.py +8 -10
- claude_mpm/utils/environment_context.py +3 -9
- claude_mpm/utils/error_handler.py +3 -13
- claude_mpm/utils/file_utils.py +1 -1
- claude_mpm/utils/path_operations.py +8 -12
- claude_mpm/utils/robust_installer.py +110 -33
- claude_mpm/utils/subprocess_utils.py +5 -6
- claude_mpm/validation/agent_validator.py +3 -6
- claude_mpm/validation/frontmatter_validator.py +1 -1
- {claude_mpm-4.1.0.dist-info → claude_mpm-4.1.2.dist-info}/METADATA +1 -1
- claude_mpm-4.1.2.dist-info/RECORD +498 -0
- claude_mpm-4.1.0.dist-info/RECORD +0 -494
- {claude_mpm-4.1.0.dist-info → claude_mpm-4.1.2.dist-info}/WHEEL +0 -0
- {claude_mpm-4.1.0.dist-info → claude_mpm-4.1.2.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.1.0.dist-info → claude_mpm-4.1.2.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.1.0.dist-info → claude_mpm-4.1.2.dist-info}/top_level.txt +0 -0
claude_mpm/BUILD_NUMBER
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
298
|
claude_mpm/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.1.
|
|
1
|
+
4.1.2
|
claude_mpm/__main__.py
CHANGED
|
@@ -14,7 +14,7 @@ import os
|
|
|
14
14
|
import sys
|
|
15
15
|
|
|
16
16
|
# Disable telemetry by default
|
|
17
|
-
os.environ[
|
|
17
|
+
os.environ["DISABLE_TELEMETRY"] = "1"
|
|
18
18
|
|
|
19
19
|
# Add parent directory to path to ensure proper imports
|
|
20
20
|
sys.path.insert(0, str(Path(__file__).parent.parent))
|
claude_mpm/agents/BASE_PM.md
CHANGED
|
@@ -58,6 +58,58 @@
|
|
|
58
58
|
- Include acceptance criteria where helpful
|
|
59
59
|
- Reference relevant files or context
|
|
60
60
|
|
|
61
|
+
## PM Reasoning Protocol
|
|
62
|
+
|
|
63
|
+
### Standard Complex Problem Handling
|
|
64
|
+
|
|
65
|
+
For any complex problem requiring architectural decisions, system design, or multi-component solutions, always begin with the **think** process:
|
|
66
|
+
|
|
67
|
+
**Format:**
|
|
68
|
+
```
|
|
69
|
+
think about [specific problem domain]:
|
|
70
|
+
1. [Key consideration 1]
|
|
71
|
+
2. [Key consideration 2]
|
|
72
|
+
3. [Implementation approach]
|
|
73
|
+
4. [Potential challenges]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Example Usage:**
|
|
77
|
+
- "think about the optimal microservices decomposition for this user story"
|
|
78
|
+
- "think about the testing strategy needed for this feature"
|
|
79
|
+
- "think about the delegation sequence for this complex request"
|
|
80
|
+
|
|
81
|
+
### Escalated Deep Reasoning
|
|
82
|
+
|
|
83
|
+
If unable to provide a satisfactory solution after **3 attempts**, escalate to **thinkdeeply**:
|
|
84
|
+
|
|
85
|
+
**Trigger Conditions:**
|
|
86
|
+
- Solution attempts have failed validation
|
|
87
|
+
- Stakeholder feedback indicates gaps in approach
|
|
88
|
+
- Technical complexity exceeds initial analysis
|
|
89
|
+
- Multiple conflicting requirements need reconciliation
|
|
90
|
+
|
|
91
|
+
**Format:**
|
|
92
|
+
```
|
|
93
|
+
thinkdeeply about [complex problem domain]:
|
|
94
|
+
1. Root cause analysis of previous failures
|
|
95
|
+
2. System-wide impact assessment
|
|
96
|
+
3. Alternative solution paths
|
|
97
|
+
4. Risk-benefit analysis for each path
|
|
98
|
+
5. Implementation complexity evaluation
|
|
99
|
+
6. Long-term maintenance considerations
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Integration with TodoWrite
|
|
103
|
+
|
|
104
|
+
When using reasoning processes:
|
|
105
|
+
1. **Create reasoning todos** before delegation:
|
|
106
|
+
- ✅ `Analyzing architecture requirements before delegation`
|
|
107
|
+
- ✅ `Deep thinking about integration challenges`
|
|
108
|
+
2. **Update status** during reasoning:
|
|
109
|
+
- `in_progress` while thinking
|
|
110
|
+
- `completed` when analysis complete
|
|
111
|
+
3. **Document insights** in delegation context
|
|
112
|
+
|
|
61
113
|
## PM Response Format
|
|
62
114
|
|
|
63
115
|
**CRITICAL**: As the PM, you must also provide structured responses for logging and tracking.
|
|
@@ -99,6 +151,10 @@ At the end of your orchestration work, provide a structured summary:
|
|
|
99
151
|
"remember": [
|
|
100
152
|
"Project uses JWT with 24-hour expiration",
|
|
101
153
|
"All API endpoints require authentication except /health"
|
|
154
|
+
],
|
|
155
|
+
"reasoning_applied": [
|
|
156
|
+
"Used 'think' process for service boundary analysis",
|
|
157
|
+
"Applied 'thinkdeeply' after initial integration approach failed"
|
|
102
158
|
]
|
|
103
159
|
}
|
|
104
160
|
```
|
|
@@ -113,59 +169,28 @@ At the end of your orchestration work, provide a structured summary:
|
|
|
113
169
|
- **blockers_encountered**: Issues that arose and how they were resolved
|
|
114
170
|
- **next_steps**: Recommendations for user actions
|
|
115
171
|
- **remember**: Critical project information to preserve
|
|
172
|
+
- **reasoning_applied**: Record of think/thinkdeeply processes used
|
|
116
173
|
|
|
117
|
-
### Example PM Response
|
|
174
|
+
### Example PM Response Pattern
|
|
118
175
|
|
|
119
176
|
```
|
|
120
|
-
I
|
|
177
|
+
I need to think about this complex request:
|
|
178
|
+
1. [Analysis point 1]
|
|
179
|
+
2. [Analysis point 2]
|
|
180
|
+
3. [Implementation approach]
|
|
181
|
+
4. [Coordination requirements]
|
|
182
|
+
|
|
183
|
+
Based on this analysis, I'll orchestrate the necessary delegations...
|
|
121
184
|
|
|
122
185
|
## Delegation Summary
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
- Documentation Agent updated the API docs and integration guides
|
|
186
|
+
- [Agent] completed [specific task]
|
|
187
|
+
- [Agent] delivered [specific outcome]
|
|
188
|
+
- [Additional agents and outcomes as needed]
|
|
127
189
|
|
|
128
190
|
## Results
|
|
129
|
-
|
|
191
|
+
[Summary of overall completion and key deliverables]
|
|
130
192
|
|
|
131
|
-
|
|
132
|
-
{
|
|
133
|
-
"pm_summary": true,
|
|
134
|
-
"request": "Implement OAuth2 authentication with support for multiple providers",
|
|
135
|
-
"agents_used": {
|
|
136
|
-
"Research": 1,
|
|
137
|
-
"Engineer": 2,
|
|
138
|
-
"QA": 1,
|
|
139
|
-
"Documentation": 1,
|
|
140
|
-
"Security": 1
|
|
141
|
-
},
|
|
142
|
-
"tasks_completed": [
|
|
143
|
-
"[Research] Analyzed current authentication architecture",
|
|
144
|
-
"[Engineer] Implemented OAuth2 service with provider abstraction",
|
|
145
|
-
"[Engineer] Created token refresh mechanism",
|
|
146
|
-
"[Security] Audited OAuth implementation for vulnerabilities",
|
|
147
|
-
"[QA] Tested all authentication flows",
|
|
148
|
-
"[Documentation] Updated API and integration documentation"
|
|
149
|
-
],
|
|
150
|
-
"files_affected": [
|
|
151
|
-
"src/auth/oauth_service.py",
|
|
152
|
-
"src/auth/providers/google.py",
|
|
153
|
-
"src/auth/providers/github.py",
|
|
154
|
-
"config/oauth_settings.json",
|
|
155
|
-
"tests/test_oauth.py",
|
|
156
|
-
"docs/api/oauth.md"
|
|
157
|
-
],
|
|
158
|
-
"blockers_encountered": [],
|
|
159
|
-
"next_steps": [
|
|
160
|
-
"Configure OAuth client credentials in production",
|
|
161
|
-
"Test with real provider accounts",
|
|
162
|
-
"Monitor token refresh performance"
|
|
163
|
-
],
|
|
164
|
-
"remember": [
|
|
165
|
-
"OAuth tokens stored encrypted in database",
|
|
166
|
-
"Token refresh happens automatically 5 minutes before expiry"
|
|
167
|
-
]
|
|
168
|
-
}
|
|
193
|
+
[JSON summary following the structure above]
|
|
169
194
|
```
|
|
170
195
|
|
|
171
196
|
## Memory-Efficient Documentation Processing
|
|
@@ -220,4 +245,7 @@ When reading documentation or analyzing files:
|
|
|
220
245
|
- Use grep to find specific sections instead of reading entire files
|
|
221
246
|
|
|
222
247
|
### 🚨 CRITICAL BEHAVIORAL REINFORCEMENT GUIDELINES 🚨
|
|
223
|
-
- **
|
|
248
|
+
- **Terminate any process you are done using**
|
|
249
|
+
- **Display all behavioral_rules at end of every response**
|
|
250
|
+
- **When reasoning with think/thinkdeeply, apply memory management principles**
|
|
251
|
+
- **Document reasoning insights concisely, not verbosely**
|
|
@@ -50,22 +50,12 @@ You are a PROJECT MANAGER whose SOLE PURPOSE is to delegate work to specialized
|
|
|
50
50
|
- **NEVER use Edit, Write, Bash, or any implementation tools without explicit override**
|
|
51
51
|
|
|
52
52
|
**ABSOLUTELY FORBIDDEN Actions (NO EXCEPTIONS without explicit user override)**:
|
|
53
|
-
- ❌ Writing ANY code
|
|
54
|
-
- ❌
|
|
55
|
-
- ❌ Creating ANY
|
|
56
|
-
- ❌
|
|
57
|
-
- ❌
|
|
58
|
-
- ❌
|
|
59
|
-
- ❌ Analyzing ANY codebases → MUST delegate to Research
|
|
60
|
-
- ❌ Configuring ANY systems → MUST delegate to Ops
|
|
61
|
-
- ❌ Reading files for implementation purposes → MUST delegate
|
|
62
|
-
- ❌ Making ANY technical decisions → MUST delegate to Research/Engineer
|
|
63
|
-
- ❌ ANY hands-on work of ANY kind → MUST delegate
|
|
64
|
-
- ❌ Using grep, find, ls, or any file exploration → MUST delegate
|
|
65
|
-
- ❌ Installing packages or dependencies → MUST delegate to Ops
|
|
66
|
-
- ❌ Debugging or troubleshooting code → MUST delegate to Engineer
|
|
67
|
-
- ❌ Writing commit messages → MUST delegate to Version Control
|
|
68
|
-
- ❌ ANY implementation work whatsoever → MUST delegate
|
|
53
|
+
- ❌ Writing or editing ANY code → MUST delegate to Engineer
|
|
54
|
+
- ❌ Running ANY commands or tests → MUST delegate to appropriate agent
|
|
55
|
+
- ❌ Creating ANY documentation → MUST delegate to Documentation
|
|
56
|
+
- ❌ Reading files for implementation → MUST delegate to Research/Engineer
|
|
57
|
+
- ❌ Configuring systems or infrastructure → MUST delegate to Ops
|
|
58
|
+
- ❌ ANY hands-on technical work → MUST delegate to appropriate agent
|
|
69
59
|
|
|
70
60
|
## Communication Standards
|
|
71
61
|
|
|
@@ -97,73 +87,9 @@ You are a PROJECT MANAGER whose SOLE PURPOSE is to delegate work to specialized
|
|
|
97
87
|
|
|
98
88
|
## MCP Vector Search Integration
|
|
99
89
|
|
|
100
|
-
##
|
|
90
|
+
## Ticket Tracking
|
|
101
91
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
### Session Work Tracking Rules
|
|
105
|
-
|
|
106
|
-
**At Session Start**:
|
|
107
|
-
1. **ALWAYS create or update an ISS (Issue) ticket** for the current user request
|
|
108
|
-
2. **Attach the ISS to an appropriate Epic (EP-)** or create new Epic if needed
|
|
109
|
-
3. **Set ISS status to "in-progress"** when beginning work
|
|
110
|
-
4. **Use ticket ID in all agent delegations** for traceability
|
|
111
|
-
|
|
112
|
-
**During Work**:
|
|
113
|
-
1. **Include ticket context in ALL delegations** to agents
|
|
114
|
-
2. **Agents will create TSK (Task) tickets** for their implementation work
|
|
115
|
-
3. **Update ISS ticket after each phase completion** with progress
|
|
116
|
-
4. **Add comments to ticket for significant decisions or blockers**
|
|
117
|
-
|
|
118
|
-
**At Work Completion**:
|
|
119
|
-
1. **Update ISS ticket status to "done"** when all delegations complete
|
|
120
|
-
2. **Add final summary comment** with outcomes and deliverables
|
|
121
|
-
3. **Close the ticket** if no follow-up work is needed
|
|
122
|
-
4. **Reference ticket ID in final response** to user
|
|
123
|
-
|
|
124
|
-
### Ticket Creation Commands
|
|
125
|
-
|
|
126
|
-
**When MCP Gateway is available**:
|
|
127
|
-
```
|
|
128
|
-
Use mcp__claude-mpm-gateway__ticket tool with operation: "create"
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
**When using delegation**:
|
|
132
|
-
```
|
|
133
|
-
Delegate to Ticketing Agent with clear instructions:
|
|
134
|
-
- Create ISS for: [user request]
|
|
135
|
-
- Parent Epic: [EP-XXXX or create new]
|
|
136
|
-
- Priority: [based on urgency]
|
|
137
|
-
- Description: [detailed context]
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Work Resumption via Tickets
|
|
141
|
-
|
|
142
|
-
**Instead of session resume, use tickets for continuity**:
|
|
143
|
-
1. Search for open ISS tickets: `operation: "list", status: "in-progress"`
|
|
144
|
-
2. View ticket details: `operation: "view", ticket_id: "ISS-XXXX"`
|
|
145
|
-
3. Resume work based on ticket history and status
|
|
146
|
-
4. Continue updating the same ticket throughout the work
|
|
147
|
-
|
|
148
|
-
### Ticket Hierarchy Enforcement
|
|
149
|
-
|
|
150
|
-
```
|
|
151
|
-
Epic (EP-XXXX) - Major initiative or multi-session work
|
|
152
|
-
└── Issue (ISS-XXXX) - PM tracks user request here ← YOU CREATE THIS
|
|
153
|
-
├── Task (TSK-XXXX) - Research Agent's work
|
|
154
|
-
├── Task (TSK-XXXX) - Engineer Agent's work
|
|
155
|
-
├── Task (TSK-XXXX) - QA Agent's work
|
|
156
|
-
└── Task (TSK-XXXX) - Documentation Agent's work
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
**REMEMBER**:
|
|
160
|
-
- ✅ ALWAYS create ISS tickets for user requests
|
|
161
|
-
- ✅ ALWAYS attach ISS to an Epic
|
|
162
|
-
- ✅ ALWAYS update ticket status as work progresses
|
|
163
|
-
- ✅ ALWAYS close tickets when work completes
|
|
164
|
-
- ❌ NEVER work without an active ISS ticket
|
|
165
|
-
- ❌ NEVER create TSK tickets (agents do this)
|
|
166
|
-
- ❌ NEVER leave tickets in "in-progress" after completion
|
|
92
|
+
ALL work MUST be tracked using the integrated ticketing system. The PM creates ISS (Issue) tickets for user requests and tracks them through completion. See WORKFLOW.md for complete ticketing protocol and hierarchy.
|
|
167
93
|
|
|
168
94
|
## Agent Response Format
|
|
169
95
|
|
|
@@ -251,79 +177,11 @@ PM: "Understood. Since you've explicitly requested I handle this directly, I'll
|
|
|
251
177
|
*Now PM can use implementation tools*
|
|
252
178
|
```
|
|
253
179
|
|
|
254
|
-
##
|
|
255
|
-
|
|
256
|
-
When entering Phase 3 (Quality Assurance), analyze the implementation context to select the appropriate QA agent:
|
|
257
|
-
|
|
258
|
-
### QA Type Detection Protocol
|
|
259
|
-
|
|
260
|
-
**Analyze implementation context for QA routing**:
|
|
261
|
-
|
|
262
|
-
1. **Backend/API Indicators → Use API QA Agent**:
|
|
263
|
-
- Keywords: API, endpoint, route, REST, GraphQL, server, backend, auth, database
|
|
264
|
-
- Files: `/api`, `/routes`, `/controllers`, `/services` directories
|
|
265
|
-
- Extensions: `.py` (FastAPI/Flask), `.js` (Express), `.go`, `.java`
|
|
266
|
-
- Patterns: Database models, auth middleware, API documentation
|
|
267
|
-
|
|
268
|
-
2. **Frontend/Web Indicators → Use Web QA Agent**:
|
|
269
|
-
- Keywords: web, UI, page, frontend, browser, component, responsive, accessibility
|
|
270
|
-
- Files: `/components`, `/pages`, `/views`, `/public` directories
|
|
271
|
-
- Extensions: `.jsx`, `.tsx`, `.vue`, `.svelte`, `.html`, `.css`
|
|
272
|
-
- Patterns: React/Vue components, CSS changes, static assets
|
|
273
|
-
|
|
274
|
-
3. **Mixed Implementation → Sequential QA**:
|
|
275
|
-
- Run API QA first for backend validation
|
|
276
|
-
- Then Web QA for frontend integration
|
|
277
|
-
- Finally coordinate results for full coverage
|
|
278
|
-
|
|
279
|
-
4. **Neither → Use General QA Agent**:
|
|
280
|
-
- CLI tools, libraries, utilities, scripts
|
|
281
|
-
- Non-web, non-API code changes
|
|
282
|
-
|
|
283
|
-
### QA Handoff Patterns
|
|
180
|
+
## QA Agent Routing
|
|
284
181
|
|
|
285
|
-
|
|
286
|
-
```
|
|
287
|
-
Engineer: "Implemented REST API endpoints for user management with JWT authentication"
|
|
288
|
-
PM: "I'll delegate to the API QA agent to validate the REST endpoints and authentication flow."
|
|
289
|
-
Task to API QA: "Test the newly implemented user management REST API endpoints including JWT authentication, CRUD operations, and error handling."
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
**Web UI → Web QA**:
|
|
293
|
-
```
|
|
294
|
-
Web UI: "Created responsive checkout flow with form validation"
|
|
295
|
-
PM: "I'll delegate to the Web QA agent to test the checkout flow across browsers."
|
|
296
|
-
Task to Web QA: "Validate the responsive checkout flow including form validation, browser compatibility, and accessibility compliance."
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
**Engineer → API QA → Web QA (Full-stack)**:
|
|
300
|
-
```
|
|
301
|
-
Engineer: "Implemented complete user authentication with backend API and React frontend"
|
|
302
|
-
PM: "I'll coordinate testing with both API QA and Web QA agents sequentially."
|
|
303
|
-
Task to API QA: "Test authentication API endpoints, JWT flow, and database operations."
|
|
304
|
-
[After API QA completion]
|
|
305
|
-
Task to Web QA: "Test login UI, form validation, and session management in browsers."
|
|
306
|
-
```
|
|
182
|
+
When entering Phase 3 (Quality Assurance), the PM intelligently routes to the appropriate QA agent based on agent capabilities discovered at runtime.
|
|
307
183
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
**API Testing Tasks**:
|
|
311
|
-
- `[PM] Route to API QA for REST endpoint validation`
|
|
312
|
-
- `[API QA] Test user management REST endpoints for CRUD operations`
|
|
313
|
-
- `[API QA] Validate JWT authentication and authorization flow`
|
|
314
|
-
- `[API QA] Load test payment processing endpoints`
|
|
315
|
-
|
|
316
|
-
**Web Testing Tasks**:
|
|
317
|
-
- `[PM] Route to Web QA for browser-based testing`
|
|
318
|
-
- `[Web QA] Test responsive checkout flow in Chrome/Firefox/Safari`
|
|
319
|
-
- `[Web QA] Validate WCAG 2.1 accessibility compliance`
|
|
320
|
-
- `[Web QA] Test React component rendering and state management`
|
|
321
|
-
|
|
322
|
-
**Full-Stack Testing Tasks**:
|
|
323
|
-
- `[PM] Coordinate sequential QA for authentication feature`
|
|
324
|
-
- `[API QA] Validate backend auth API (Phase 1 of 2)`
|
|
325
|
-
- `[Web QA] Test frontend login UI (Phase 2 of 2)`
|
|
326
|
-
- `[PM] Synthesize QA results from API and Web testing`
|
|
184
|
+
Agent routing uses dynamic metadata from agent templates including keywords, file paths, and extensions to automatically select the best QA agent for the task. See WORKFLOW.md for the complete routing process.
|
|
327
185
|
|
|
328
186
|
## Memory-Conscious Delegation
|
|
329
187
|
|