claude-mpm 4.1.1__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.
Files changed (357) hide show
  1. claude_mpm/BUILD_NUMBER +1 -1
  2. claude_mpm/VERSION +1 -1
  3. claude_mpm/__main__.py +1 -1
  4. claude_mpm/agents/BASE_PM.md +74 -46
  5. claude_mpm/agents/INSTRUCTIONS.md +11 -153
  6. claude_mpm/agents/WORKFLOW.md +61 -321
  7. claude_mpm/agents/__init__.py +11 -11
  8. claude_mpm/agents/agent_loader.py +23 -20
  9. claude_mpm/agents/agent_loader_integration.py +1 -1
  10. claude_mpm/agents/agents_metadata.py +27 -0
  11. claude_mpm/agents/async_agent_loader.py +5 -8
  12. claude_mpm/agents/base_agent_loader.py +36 -25
  13. claude_mpm/agents/frontmatter_validator.py +6 -6
  14. claude_mpm/agents/schema/agent_schema.json +1 -1
  15. claude_mpm/agents/system_agent_config.py +9 -9
  16. claude_mpm/agents/templates/api_qa.json +47 -2
  17. claude_mpm/agents/templates/imagemagick.json +256 -0
  18. claude_mpm/agents/templates/qa.json +41 -2
  19. claude_mpm/agents/templates/ticketing.json +5 -5
  20. claude_mpm/agents/templates/web_qa.json +50 -2
  21. claude_mpm/cli/__init__.py +51 -46
  22. claude_mpm/cli/__main__.py +1 -1
  23. claude_mpm/cli/commands/__init__.py +10 -12
  24. claude_mpm/cli/commands/agent_manager.py +186 -181
  25. claude_mpm/cli/commands/agents.py +271 -268
  26. claude_mpm/cli/commands/aggregate.py +30 -29
  27. claude_mpm/cli/commands/cleanup.py +50 -44
  28. claude_mpm/cli/commands/cleanup_orphaned_agents.py +25 -25
  29. claude_mpm/cli/commands/config.py +162 -127
  30. claude_mpm/cli/commands/doctor.py +52 -62
  31. claude_mpm/cli/commands/info.py +37 -25
  32. claude_mpm/cli/commands/mcp.py +3 -7
  33. claude_mpm/cli/commands/mcp_command_router.py +14 -18
  34. claude_mpm/cli/commands/mcp_install_commands.py +28 -23
  35. claude_mpm/cli/commands/mcp_pipx_config.py +58 -49
  36. claude_mpm/cli/commands/mcp_server_commands.py +23 -17
  37. claude_mpm/cli/commands/memory.py +192 -141
  38. claude_mpm/cli/commands/monitor.py +117 -88
  39. claude_mpm/cli/commands/run.py +120 -84
  40. claude_mpm/cli/commands/run_config_checker.py +4 -5
  41. claude_mpm/cli/commands/socketio_monitor.py +17 -19
  42. claude_mpm/cli/commands/tickets.py +92 -92
  43. claude_mpm/cli/parser.py +1 -5
  44. claude_mpm/cli/parsers/__init__.py +1 -1
  45. claude_mpm/cli/parsers/agent_manager_parser.py +50 -98
  46. claude_mpm/cli/parsers/agents_parser.py +2 -3
  47. claude_mpm/cli/parsers/base_parser.py +7 -5
  48. claude_mpm/cli/parsers/mcp_parser.py +4 -2
  49. claude_mpm/cli/parsers/monitor_parser.py +26 -18
  50. claude_mpm/cli/shared/__init__.py +10 -10
  51. claude_mpm/cli/shared/argument_patterns.py +57 -71
  52. claude_mpm/cli/shared/base_command.py +61 -53
  53. claude_mpm/cli/shared/error_handling.py +62 -58
  54. claude_mpm/cli/shared/output_formatters.py +78 -77
  55. claude_mpm/cli/startup_logging.py +204 -172
  56. claude_mpm/cli/utils.py +10 -11
  57. claude_mpm/cli_module/__init__.py +1 -1
  58. claude_mpm/cli_module/args.py +1 -1
  59. claude_mpm/cli_module/migration_example.py +5 -5
  60. claude_mpm/config/__init__.py +9 -9
  61. claude_mpm/config/agent_config.py +15 -14
  62. claude_mpm/config/experimental_features.py +4 -4
  63. claude_mpm/config/paths.py +0 -1
  64. claude_mpm/config/socketio_config.py +5 -6
  65. claude_mpm/constants.py +1 -2
  66. claude_mpm/core/__init__.py +8 -8
  67. claude_mpm/core/agent_name_normalizer.py +1 -1
  68. claude_mpm/core/agent_registry.py +20 -23
  69. claude_mpm/core/agent_session_manager.py +3 -3
  70. claude_mpm/core/base_service.py +7 -15
  71. claude_mpm/core/cache.py +4 -6
  72. claude_mpm/core/claude_runner.py +85 -113
  73. claude_mpm/core/config.py +43 -28
  74. claude_mpm/core/config_aliases.py +0 -9
  75. claude_mpm/core/config_constants.py +52 -30
  76. claude_mpm/core/constants.py +0 -1
  77. claude_mpm/core/container.py +18 -27
  78. claude_mpm/core/exceptions.py +2 -2
  79. claude_mpm/core/factories.py +10 -12
  80. claude_mpm/core/framework_loader.py +581 -280
  81. claude_mpm/core/hook_manager.py +26 -22
  82. claude_mpm/core/hook_performance_config.py +58 -47
  83. claude_mpm/core/injectable_service.py +1 -1
  84. claude_mpm/core/interactive_session.py +61 -152
  85. claude_mpm/core/interfaces.py +1 -100
  86. claude_mpm/core/lazy.py +5 -5
  87. claude_mpm/core/log_manager.py +587 -0
  88. claude_mpm/core/logger.py +125 -8
  89. claude_mpm/core/logging_config.py +15 -15
  90. claude_mpm/core/minimal_framework_loader.py +5 -8
  91. claude_mpm/core/oneshot_session.py +15 -33
  92. claude_mpm/core/optimized_agent_loader.py +4 -6
  93. claude_mpm/core/optimized_startup.py +2 -1
  94. claude_mpm/core/output_style_manager.py +147 -106
  95. claude_mpm/core/pm_hook_interceptor.py +0 -1
  96. claude_mpm/core/service_registry.py +11 -8
  97. claude_mpm/core/session_manager.py +1 -2
  98. claude_mpm/core/shared/__init__.py +1 -1
  99. claude_mpm/core/shared/config_loader.py +101 -97
  100. claude_mpm/core/shared/path_resolver.py +72 -68
  101. claude_mpm/core/shared/singleton_manager.py +56 -50
  102. claude_mpm/core/socketio_pool.py +26 -6
  103. claude_mpm/core/tool_access_control.py +4 -5
  104. claude_mpm/core/typing_utils.py +50 -59
  105. claude_mpm/core/unified_agent_registry.py +14 -19
  106. claude_mpm/core/unified_config.py +4 -6
  107. claude_mpm/core/unified_paths.py +197 -109
  108. claude_mpm/dashboard/open_dashboard.py +2 -4
  109. claude_mpm/experimental/cli_enhancements.py +51 -36
  110. claude_mpm/generators/agent_profile_generator.py +2 -4
  111. claude_mpm/hooks/base_hook.py +1 -2
  112. claude_mpm/hooks/claude_hooks/connection_pool.py +72 -26
  113. claude_mpm/hooks/claude_hooks/event_handlers.py +93 -38
  114. claude_mpm/hooks/claude_hooks/hook_handler.py +130 -76
  115. claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +104 -77
  116. claude_mpm/hooks/claude_hooks/memory_integration.py +2 -4
  117. claude_mpm/hooks/claude_hooks/response_tracking.py +15 -11
  118. claude_mpm/hooks/claude_hooks/tool_analysis.py +12 -18
  119. claude_mpm/hooks/memory_integration_hook.py +5 -5
  120. claude_mpm/hooks/tool_call_interceptor.py +1 -1
  121. claude_mpm/hooks/validation_hooks.py +4 -4
  122. claude_mpm/init.py +4 -9
  123. claude_mpm/models/__init__.py +2 -2
  124. claude_mpm/models/agent_session.py +11 -14
  125. claude_mpm/scripts/mcp_server.py +20 -11
  126. claude_mpm/scripts/mcp_wrapper.py +5 -5
  127. claude_mpm/scripts/mpm_doctor.py +321 -0
  128. claude_mpm/scripts/socketio_daemon.py +28 -25
  129. claude_mpm/scripts/socketio_daemon_hardened.py +298 -258
  130. claude_mpm/scripts/socketio_server_manager.py +116 -95
  131. claude_mpm/services/__init__.py +49 -49
  132. claude_mpm/services/agent_capabilities_service.py +12 -18
  133. claude_mpm/services/agents/__init__.py +22 -22
  134. claude_mpm/services/agents/agent_builder.py +140 -119
  135. claude_mpm/services/agents/deployment/__init__.py +3 -3
  136. claude_mpm/services/agents/deployment/agent_config_provider.py +9 -9
  137. claude_mpm/services/agents/deployment/agent_configuration_manager.py +19 -20
  138. claude_mpm/services/agents/deployment/agent_definition_factory.py +1 -5
  139. claude_mpm/services/agents/deployment/agent_deployment.py +136 -106
  140. claude_mpm/services/agents/deployment/agent_discovery_service.py +4 -8
  141. claude_mpm/services/agents/deployment/agent_environment_manager.py +2 -7
  142. claude_mpm/services/agents/deployment/agent_filesystem_manager.py +6 -10
  143. claude_mpm/services/agents/deployment/agent_format_converter.py +11 -15
  144. claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +2 -3
  145. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +5 -5
  146. claude_mpm/services/agents/deployment/agent_metrics_collector.py +13 -19
  147. claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -1
  148. claude_mpm/services/agents/deployment/agent_template_builder.py +26 -35
  149. claude_mpm/services/agents/deployment/agent_validator.py +0 -1
  150. claude_mpm/services/agents/deployment/agent_version_manager.py +7 -9
  151. claude_mpm/services/agents/deployment/agent_versioning.py +3 -3
  152. claude_mpm/services/agents/deployment/agents_directory_resolver.py +6 -7
  153. claude_mpm/services/agents/deployment/async_agent_deployment.py +51 -38
  154. claude_mpm/services/agents/deployment/config/__init__.py +1 -1
  155. claude_mpm/services/agents/deployment/config/deployment_config.py +7 -8
  156. claude_mpm/services/agents/deployment/deployment_type_detector.py +1 -1
  157. claude_mpm/services/agents/deployment/deployment_wrapper.py +18 -18
  158. claude_mpm/services/agents/deployment/facade/__init__.py +1 -1
  159. claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -3
  160. claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -4
  161. claude_mpm/services/agents/deployment/interface_adapter.py +5 -7
  162. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +345 -276
  163. claude_mpm/services/agents/deployment/pipeline/__init__.py +2 -2
  164. claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +1 -1
  165. claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +6 -4
  166. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +3 -3
  167. claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +2 -2
  168. claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +14 -13
  169. claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -1
  170. claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +1 -1
  171. claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +8 -9
  172. claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +1 -1
  173. claude_mpm/services/agents/deployment/processors/__init__.py +1 -1
  174. claude_mpm/services/agents/deployment/processors/agent_processor.py +20 -16
  175. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +5 -12
  176. claude_mpm/services/agents/deployment/results/__init__.py +1 -1
  177. claude_mpm/services/agents/deployment/results/deployment_result_builder.py +1 -1
  178. claude_mpm/services/agents/deployment/strategies/__init__.py +2 -2
  179. claude_mpm/services/agents/deployment/strategies/base_strategy.py +1 -7
  180. claude_mpm/services/agents/deployment/strategies/project_strategy.py +1 -4
  181. claude_mpm/services/agents/deployment/strategies/system_strategy.py +2 -3
  182. claude_mpm/services/agents/deployment/strategies/user_strategy.py +3 -7
  183. claude_mpm/services/agents/deployment/validation/__init__.py +1 -1
  184. claude_mpm/services/agents/deployment/validation/agent_validator.py +1 -1
  185. claude_mpm/services/agents/deployment/validation/template_validator.py +2 -2
  186. claude_mpm/services/agents/deployment/validation/validation_result.py +2 -6
  187. claude_mpm/services/agents/loading/__init__.py +1 -1
  188. claude_mpm/services/agents/loading/agent_profile_loader.py +6 -12
  189. claude_mpm/services/agents/loading/base_agent_manager.py +5 -5
  190. claude_mpm/services/agents/loading/framework_agent_loader.py +2 -4
  191. claude_mpm/services/agents/management/__init__.py +1 -1
  192. claude_mpm/services/agents/management/agent_capabilities_generator.py +1 -3
  193. claude_mpm/services/agents/management/agent_management_service.py +5 -9
  194. claude_mpm/services/agents/memory/__init__.py +4 -4
  195. claude_mpm/services/agents/memory/agent_memory_manager.py +280 -160
  196. claude_mpm/services/agents/memory/agent_persistence_service.py +0 -2
  197. claude_mpm/services/agents/memory/content_manager.py +44 -38
  198. claude_mpm/services/agents/memory/template_generator.py +4 -6
  199. claude_mpm/services/agents/registry/__init__.py +10 -6
  200. claude_mpm/services/agents/registry/deployed_agent_discovery.py +30 -27
  201. claude_mpm/services/agents/registry/modification_tracker.py +3 -6
  202. claude_mpm/services/async_session_logger.py +1 -2
  203. claude_mpm/services/claude_session_logger.py +1 -2
  204. claude_mpm/services/command_deployment_service.py +173 -0
  205. claude_mpm/services/command_handler_service.py +20 -22
  206. claude_mpm/services/core/__init__.py +25 -25
  207. claude_mpm/services/core/base.py +0 -5
  208. claude_mpm/services/core/interfaces/__init__.py +32 -32
  209. claude_mpm/services/core/interfaces/agent.py +0 -21
  210. claude_mpm/services/core/interfaces/communication.py +0 -27
  211. claude_mpm/services/core/interfaces/infrastructure.py +0 -56
  212. claude_mpm/services/core/interfaces/service.py +0 -29
  213. claude_mpm/services/diagnostics/__init__.py +1 -1
  214. claude_mpm/services/diagnostics/checks/__init__.py +6 -6
  215. claude_mpm/services/diagnostics/checks/agent_check.py +89 -80
  216. claude_mpm/services/diagnostics/checks/base_check.py +12 -16
  217. claude_mpm/services/diagnostics/checks/claude_desktop_check.py +84 -81
  218. claude_mpm/services/diagnostics/checks/common_issues_check.py +99 -91
  219. claude_mpm/services/diagnostics/checks/configuration_check.py +82 -77
  220. claude_mpm/services/diagnostics/checks/filesystem_check.py +67 -68
  221. claude_mpm/services/diagnostics/checks/installation_check.py +254 -94
  222. claude_mpm/services/diagnostics/checks/mcp_check.py +90 -88
  223. claude_mpm/services/diagnostics/checks/monitor_check.py +75 -76
  224. claude_mpm/services/diagnostics/checks/startup_log_check.py +67 -73
  225. claude_mpm/services/diagnostics/diagnostic_runner.py +67 -59
  226. claude_mpm/services/diagnostics/doctor_reporter.py +107 -70
  227. claude_mpm/services/diagnostics/models.py +21 -19
  228. claude_mpm/services/event_aggregator.py +10 -17
  229. claude_mpm/services/event_bus/__init__.py +1 -1
  230. claude_mpm/services/event_bus/config.py +54 -35
  231. claude_mpm/services/event_bus/event_bus.py +76 -71
  232. claude_mpm/services/event_bus/relay.py +74 -64
  233. claude_mpm/services/events/__init__.py +11 -11
  234. claude_mpm/services/events/consumers/__init__.py +3 -3
  235. claude_mpm/services/events/consumers/dead_letter.py +71 -63
  236. claude_mpm/services/events/consumers/logging.py +39 -37
  237. claude_mpm/services/events/consumers/metrics.py +56 -57
  238. claude_mpm/services/events/consumers/socketio.py +82 -81
  239. claude_mpm/services/events/core.py +110 -99
  240. claude_mpm/services/events/interfaces.py +56 -72
  241. claude_mpm/services/events/producers/__init__.py +1 -1
  242. claude_mpm/services/events/producers/hook.py +38 -38
  243. claude_mpm/services/events/producers/system.py +46 -44
  244. claude_mpm/services/exceptions.py +81 -80
  245. claude_mpm/services/framework_claude_md_generator/__init__.py +2 -4
  246. claude_mpm/services/framework_claude_md_generator/content_assembler.py +3 -5
  247. claude_mpm/services/framework_claude_md_generator/content_validator.py +1 -1
  248. claude_mpm/services/framework_claude_md_generator/deployment_manager.py +4 -4
  249. claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -1
  250. claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -2
  251. claude_mpm/services/framework_claude_md_generator/version_manager.py +4 -5
  252. claude_mpm/services/hook_service.py +6 -9
  253. claude_mpm/services/infrastructure/__init__.py +1 -1
  254. claude_mpm/services/infrastructure/context_preservation.py +8 -12
  255. claude_mpm/services/infrastructure/monitoring.py +21 -23
  256. claude_mpm/services/mcp_gateway/__init__.py +37 -37
  257. claude_mpm/services/mcp_gateway/auto_configure.py +95 -103
  258. claude_mpm/services/mcp_gateway/config/__init__.py +1 -1
  259. claude_mpm/services/mcp_gateway/config/config_loader.py +23 -25
  260. claude_mpm/services/mcp_gateway/config/config_schema.py +5 -5
  261. claude_mpm/services/mcp_gateway/config/configuration.py +9 -6
  262. claude_mpm/services/mcp_gateway/core/__init__.py +10 -10
  263. claude_mpm/services/mcp_gateway/core/base.py +0 -3
  264. claude_mpm/services/mcp_gateway/core/interfaces.py +1 -38
  265. claude_mpm/services/mcp_gateway/core/process_pool.py +99 -93
  266. claude_mpm/services/mcp_gateway/core/singleton_manager.py +65 -62
  267. claude_mpm/services/mcp_gateway/core/startup_verification.py +75 -74
  268. claude_mpm/services/mcp_gateway/main.py +2 -1
  269. claude_mpm/services/mcp_gateway/registry/service_registry.py +5 -8
  270. claude_mpm/services/mcp_gateway/registry/tool_registry.py +1 -1
  271. claude_mpm/services/mcp_gateway/server/__init__.py +1 -1
  272. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +12 -19
  273. claude_mpm/services/mcp_gateway/server/stdio_handler.py +4 -3
  274. claude_mpm/services/mcp_gateway/server/stdio_server.py +79 -71
  275. claude_mpm/services/mcp_gateway/tools/__init__.py +2 -2
  276. claude_mpm/services/mcp_gateway/tools/base_adapter.py +5 -6
  277. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +13 -22
  278. claude_mpm/services/mcp_gateway/tools/health_check_tool.py +79 -78
  279. claude_mpm/services/mcp_gateway/tools/hello_world.py +12 -14
  280. claude_mpm/services/mcp_gateway/tools/ticket_tools.py +42 -49
  281. claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +51 -55
  282. claude_mpm/services/memory/__init__.py +3 -3
  283. claude_mpm/services/memory/builder.py +3 -6
  284. claude_mpm/services/memory/cache/__init__.py +1 -1
  285. claude_mpm/services/memory/cache/shared_prompt_cache.py +3 -5
  286. claude_mpm/services/memory/cache/simple_cache.py +1 -1
  287. claude_mpm/services/memory/indexed_memory.py +5 -7
  288. claude_mpm/services/memory/optimizer.py +7 -10
  289. claude_mpm/services/memory/router.py +8 -9
  290. claude_mpm/services/memory_hook_service.py +48 -34
  291. claude_mpm/services/monitor_build_service.py +77 -73
  292. claude_mpm/services/port_manager.py +130 -108
  293. claude_mpm/services/project/analyzer.py +12 -10
  294. claude_mpm/services/project/registry.py +11 -11
  295. claude_mpm/services/recovery_manager.py +10 -19
  296. claude_mpm/services/response_tracker.py +0 -1
  297. claude_mpm/services/runner_configuration_service.py +19 -20
  298. claude_mpm/services/session_management_service.py +7 -11
  299. claude_mpm/services/shared/__init__.py +1 -1
  300. claude_mpm/services/shared/async_service_base.py +58 -50
  301. claude_mpm/services/shared/config_service_base.py +73 -67
  302. claude_mpm/services/shared/lifecycle_service_base.py +82 -78
  303. claude_mpm/services/shared/manager_base.py +94 -82
  304. claude_mpm/services/shared/service_factory.py +96 -98
  305. claude_mpm/services/socketio/__init__.py +3 -3
  306. claude_mpm/services/socketio/client_proxy.py +5 -5
  307. claude_mpm/services/socketio/event_normalizer.py +199 -181
  308. claude_mpm/services/socketio/handlers/__init__.py +3 -3
  309. claude_mpm/services/socketio/handlers/base.py +5 -4
  310. claude_mpm/services/socketio/handlers/connection.py +163 -136
  311. claude_mpm/services/socketio/handlers/file.py +13 -14
  312. claude_mpm/services/socketio/handlers/git.py +12 -7
  313. claude_mpm/services/socketio/handlers/hook.py +49 -44
  314. claude_mpm/services/socketio/handlers/memory.py +0 -1
  315. claude_mpm/services/socketio/handlers/project.py +0 -1
  316. claude_mpm/services/socketio/handlers/registry.py +37 -19
  317. claude_mpm/services/socketio/migration_utils.py +98 -84
  318. claude_mpm/services/socketio/server/__init__.py +1 -1
  319. claude_mpm/services/socketio/server/broadcaster.py +81 -87
  320. claude_mpm/services/socketio/server/core.py +65 -54
  321. claude_mpm/services/socketio/server/eventbus_integration.py +95 -56
  322. claude_mpm/services/socketio/server/main.py +64 -38
  323. claude_mpm/services/socketio_client_manager.py +10 -12
  324. claude_mpm/services/subprocess_launcher_service.py +4 -7
  325. claude_mpm/services/system_instructions_service.py +13 -14
  326. claude_mpm/services/ticket_manager.py +2 -2
  327. claude_mpm/services/utility_service.py +5 -13
  328. claude_mpm/services/version_control/__init__.py +16 -16
  329. claude_mpm/services/version_control/branch_strategy.py +5 -8
  330. claude_mpm/services/version_control/conflict_resolution.py +9 -23
  331. claude_mpm/services/version_control/git_operations.py +5 -7
  332. claude_mpm/services/version_control/semantic_versioning.py +16 -17
  333. claude_mpm/services/version_control/version_parser.py +13 -18
  334. claude_mpm/services/version_service.py +10 -11
  335. claude_mpm/storage/__init__.py +1 -1
  336. claude_mpm/storage/state_storage.py +22 -28
  337. claude_mpm/utils/__init__.py +6 -6
  338. claude_mpm/utils/agent_dependency_loader.py +47 -33
  339. claude_mpm/utils/config_manager.py +11 -14
  340. claude_mpm/utils/dependency_cache.py +1 -1
  341. claude_mpm/utils/dependency_manager.py +13 -17
  342. claude_mpm/utils/dependency_strategies.py +8 -10
  343. claude_mpm/utils/environment_context.py +3 -9
  344. claude_mpm/utils/error_handler.py +3 -13
  345. claude_mpm/utils/file_utils.py +1 -1
  346. claude_mpm/utils/path_operations.py +8 -12
  347. claude_mpm/utils/robust_installer.py +110 -33
  348. claude_mpm/utils/subprocess_utils.py +5 -6
  349. claude_mpm/validation/agent_validator.py +3 -6
  350. claude_mpm/validation/frontmatter_validator.py +1 -1
  351. {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/METADATA +1 -1
  352. claude_mpm-4.1.2.dist-info/RECORD +498 -0
  353. claude_mpm-4.1.1.dist-info/RECORD +0 -494
  354. {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/WHEEL +0 -0
  355. {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/entry_points.txt +0 -0
  356. {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/licenses/LICENSE +0 -0
  357. {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/top_level.txt +0 -0
claude_mpm/BUILD_NUMBER CHANGED
@@ -1 +1 @@
1
- 292
1
+ 298
claude_mpm/VERSION CHANGED
@@ -1 +1 @@
1
- 4.1.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['DISABLE_TELEMETRY'] = '1'
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))
@@ -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've successfully orchestrated the implementation of the OAuth2 authentication system across multiple agents.
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
- - Research Agent analyzed existing patterns and identified integration points
124
- - Engineer Agent implemented the OAuth2 service with multi-provider support
125
- - QA Agent validated all authentication flows including edge cases
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
- The authentication system is now complete with support for Google, GitHub, and Microsoft OAuth providers...
191
+ [Summary of overall completion and key deliverables]
130
192
 
131
- ```json
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
- - **Display all behavioral_rules at start of every response**
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 whatsoever → MUST delegate to Engineer
54
- - ❌ Editing ANY files directly → MUST delegate to Engineer
55
- - ❌ Creating ANY files → MUST delegate to appropriate agent
56
- - ❌ Running ANY commands → MUST delegate to appropriate agent
57
- - ❌ Creating ANY documentation → MUST delegate to Documentation
58
- - ❌ Running ANY tests → MUST delegate to QA
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
- ## 🎫 MANDATORY TICKET TRACKING PROTOCOL 🎫
90
+ ## Ticket Tracking
101
91
 
102
- **CRITICAL REQUIREMENT**: You MUST track ALL work using the integrated ticketing system. This is NOT optional.
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
- ## Intelligent QA Agent Selection
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
- **Engineer API QA**:
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
- ### TodoWrite Patterns for QA Coordination
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