claude-mpm 4.0.32__tar.gz → 4.0.34__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.
Files changed (511) hide show
  1. claude_mpm-4.0.34/BUILD_NUMBER +1 -0
  2. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/CLAUDE.md +1 -1
  3. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/PKG-INFO +4 -3
  4. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/README.md +2 -2
  5. claude_mpm-4.0.34/VERSION +1 -0
  6. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/pyproject.toml +5 -2
  7. claude_mpm-4.0.34/src/claude_mpm/VERSION +1 -0
  8. claude_mpm-4.0.34/src/claude_mpm/agents/templates/documentation.json +194 -0
  9. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/research.json +0 -11
  10. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/__init__.py +63 -26
  11. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/agent_manager.py +10 -8
  12. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/framework_loader.py +173 -84
  13. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/css/dashboard.css +449 -0
  14. claude_mpm-4.0.34/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +2 -0
  15. claude_mpm-4.0.34/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +2 -0
  16. claude_mpm-4.0.34/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +2 -0
  17. claude_mpm-4.0.34/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +2 -0
  18. claude_mpm-4.0.34/src/claude_mpm/dashboard/static/dist/components/session-manager.js +2 -0
  19. claude_mpm-4.0.34/src/claude_mpm/dashboard/static/dist/dashboard.js +2 -0
  20. claude_mpm-4.0.34/src/claude_mpm/dashboard/static/dist/socket-client.js +2 -0
  21. claude_mpm-4.0.34/src/claude_mpm/dashboard/static/js/components/agent-hierarchy.js +774 -0
  22. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +257 -3
  23. claude_mpm-4.0.34/src/claude_mpm/dashboard/static/js/components/build-tracker.js +289 -0
  24. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +168 -39
  25. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +17 -0
  26. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/session-manager.js +23 -3
  27. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +2 -0
  28. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/dashboard.js +207 -31
  29. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/socket-client.js +85 -6
  30. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/templates/index.html +1 -0
  31. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +12 -2
  32. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +81 -19
  33. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +72 -10
  34. claude_mpm-4.0.34/src/claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +398 -0
  35. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +10 -0
  36. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_deployment.py +34 -48
  37. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +18 -10
  38. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +10 -25
  39. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +189 -3
  40. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +3 -2
  41. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +10 -3
  42. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +10 -14
  43. claude_mpm-4.0.34/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +103 -0
  44. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/memory/content_manager.py +98 -105
  45. claude_mpm-4.0.34/src/claude_mpm/services/event_bus/__init__.py +18 -0
  46. claude_mpm-4.0.34/src/claude_mpm/services/event_bus/event_bus.py +334 -0
  47. claude_mpm-4.0.34/src/claude_mpm/services/event_bus/relay.py +301 -0
  48. claude_mpm-4.0.34/src/claude_mpm/services/events/__init__.py +44 -0
  49. claude_mpm-4.0.34/src/claude_mpm/services/events/consumers/__init__.py +18 -0
  50. claude_mpm-4.0.34/src/claude_mpm/services/events/consumers/dead_letter.py +296 -0
  51. claude_mpm-4.0.34/src/claude_mpm/services/events/consumers/logging.py +183 -0
  52. claude_mpm-4.0.34/src/claude_mpm/services/events/consumers/metrics.py +242 -0
  53. claude_mpm-4.0.34/src/claude_mpm/services/events/consumers/socketio.py +376 -0
  54. claude_mpm-4.0.34/src/claude_mpm/services/events/core.py +470 -0
  55. claude_mpm-4.0.34/src/claude_mpm/services/events/interfaces.py +230 -0
  56. claude_mpm-4.0.34/src/claude_mpm/services/events/producers/__init__.py +14 -0
  57. claude_mpm-4.0.34/src/claude_mpm/services/events/producers/hook.py +269 -0
  58. claude_mpm-4.0.34/src/claude_mpm/services/events/producers/system.py +327 -0
  59. claude_mpm-4.0.34/src/claude_mpm/services/mcp_gateway/core/process_pool.py +411 -0
  60. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +13 -0
  61. claude_mpm-4.0.34/src/claude_mpm/services/monitor_build_service.py +345 -0
  62. claude_mpm-4.0.34/src/claude_mpm/services/socketio/event_normalizer.py +667 -0
  63. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/handlers/connection.py +78 -20
  64. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/handlers/hook.py +14 -5
  65. claude_mpm-4.0.34/src/claude_mpm/services/socketio/migration_utils.py +329 -0
  66. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/server/broadcaster.py +26 -33
  67. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/server/core.py +4 -3
  68. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm.egg-info/PKG-INFO +4 -3
  69. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm.egg-info/SOURCES.txt +21 -0
  70. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm.egg-info/requires.txt +1 -0
  71. claude_mpm-4.0.32/BUILD_NUMBER +0 -1
  72. claude_mpm-4.0.32/VERSION +0 -1
  73. claude_mpm-4.0.32/src/claude_mpm/VERSION +0 -1
  74. claude_mpm-4.0.32/src/claude_mpm/agents/templates/documentation.json +0 -177
  75. claude_mpm-4.0.32/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  76. claude_mpm-4.0.32/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  77. claude_mpm-4.0.32/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  78. claude_mpm-4.0.32/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  79. claude_mpm-4.0.32/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  80. claude_mpm-4.0.32/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  81. claude_mpm-4.0.32/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  82. claude_mpm-4.0.32/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -180
  83. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/LICENSE +0 -0
  84. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/MANIFEST.in +0 -0
  85. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/scripts/ticket +0 -0
  86. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/setup.cfg +0 -0
  87. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/BUILD_NUMBER +0 -0
  88. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/__init__.py +0 -0
  89. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/__main__.py +0 -0
  90. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
  91. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/BASE_PM.md +0 -0
  92. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/INSTRUCTIONS.md +0 -0
  93. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/MEMORY.md +0 -0
  94. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -0
  95. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/WORKFLOW.md +0 -0
  96. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/__init__.py +0 -0
  97. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/agent-template.yaml +0 -0
  98. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/agent_loader.py +0 -0
  99. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
  100. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/agents_metadata.py +0 -0
  101. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/async_agent_loader.py +0 -0
  102. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/backups/INSTRUCTIONS.md +0 -0
  103. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/base_agent.json +0 -0
  104. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/base_agent_loader.py +0 -0
  105. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
  106. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
  107. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/system_agent_config.py +0 -0
  108. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/__init__.py +0 -0
  109. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/agent-manager.json +0 -0
  110. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/agent-manager.md +0 -0
  111. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/api_qa.json +0 -0
  112. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -0
  113. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
  114. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -0
  115. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
  116. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
  117. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/research_agent_2025011_234551.json +0 -0
  118. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
  119. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/research_memory_efficient.json +0 -0
  120. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
  121. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
  122. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
  123. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
  124. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/engineer.json +0 -0
  125. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
  126. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/ops.json +0 -0
  127. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
  128. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/qa.json +0 -0
  129. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
  130. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/security.json +0 -0
  131. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/ticketing.json +0 -0
  132. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
  133. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/vercel_ops_instructions.md +0 -0
  134. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/version_control.json +0 -0
  135. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/web_qa.json +0 -0
  136. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/agents/templates/web_ui.json +0 -0
  137. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/__main__.py +0 -0
  138. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/__init__.py +0 -0
  139. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/agents.py +0 -0
  140. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/aggregate.py +0 -0
  141. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/cleanup.py +0 -0
  142. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/config.py +0 -0
  143. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/doctor.py +0 -0
  144. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/info.py +0 -0
  145. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/mcp.py +0 -0
  146. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
  147. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
  148. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
  149. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
  150. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
  151. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/memory.py +0 -0
  152. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/monitor.py +0 -0
  153. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/run.py +0 -0
  154. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/run_config_checker.py +0 -0
  155. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/socketio_monitor.py +0 -0
  156. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/commands/tickets.py +0 -0
  157. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parser.py +0 -0
  158. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/__init__.py +0 -0
  159. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
  160. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
  161. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
  162. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
  163. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
  164. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
  165. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
  166. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
  167. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
  168. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/shared/__init__.py +0 -0
  169. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
  170. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/shared/base_command.py +0 -0
  171. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/shared/error_handling.py +0 -0
  172. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/shared/output_formatters.py +0 -0
  173. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/startup_logging.py +0 -0
  174. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/ticket_cli.py +0 -0
  175. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli/utils.py +0 -0
  176. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli_module/__init__.py +0 -0
  177. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli_module/args.py +0 -0
  178. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli_module/commands.py +0 -0
  179. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/cli_module/migration_example.py +0 -0
  180. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/config/__init__.py +0 -0
  181. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/config/agent_config.py +0 -0
  182. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/config/experimental_features.py +0 -0
  183. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/config/paths.py +0 -0
  184. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/config/socketio_config.py +0 -0
  185. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/constants.py +0 -0
  186. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/__init__.py +0 -0
  187. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
  188. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/agent_registry.py +0 -0
  189. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/agent_session_manager.py +0 -0
  190. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/base_service.py +0 -0
  191. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/cache.py +0 -0
  192. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/claude_runner.py +0 -0
  193. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/config.py +0 -0
  194. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/config_aliases.py +0 -0
  195. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/config_constants.py +0 -0
  196. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/constants.py +0 -0
  197. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/container.py +0 -0
  198. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/exceptions.py +0 -0
  199. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/factories.py +0 -0
  200. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/hook_manager.py +0 -0
  201. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/hook_performance_config.py +0 -0
  202. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/injectable_service.py +0 -0
  203. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/interactive_session.py +0 -0
  204. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/interfaces.py +0 -0
  205. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/lazy.py +0 -0
  206. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/logger.py +0 -0
  207. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/logging_config.py +0 -0
  208. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
  209. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/mixins.py +0 -0
  210. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/oneshot_session.py +0 -0
  211. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
  212. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/optimized_startup.py +0 -0
  213. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/output_style_manager.py +0 -0
  214. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
  215. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/service_registry.py +0 -0
  216. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/session_manager.py +0 -0
  217. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/shared/__init__.py +0 -0
  218. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/shared/config_loader.py +0 -0
  219. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/shared/path_resolver.py +0 -0
  220. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
  221. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/socketio_pool.py +0 -0
  222. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/tool_access_control.py +0 -0
  223. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/types.py +0 -0
  224. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/typing_utils.py +0 -0
  225. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/unified_agent_registry.py +0 -0
  226. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/unified_config.py +0 -0
  227. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/core/unified_paths.py +0 -0
  228. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/index.html +0 -0
  229. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
  230. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
  231. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
  232. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
  233. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
  234. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
  235. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
  236. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
  237. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
  238. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
  239. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
  240. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
  241. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
  242. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
  243. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
  244. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
  245. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
  246. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
  247. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
  248. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
  249. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
  250. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
  251. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
  252. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
  253. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
  254. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
  255. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
  256. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
  257. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
  258. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
  259. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
  260. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
  261. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
  262. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
  263. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
  264. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/generators/__init__.py +0 -0
  265. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
  266. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/__init__.py +0 -0
  267. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/base_hook.py +0 -0
  268. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
  269. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
  270. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
  271. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
  272. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
  273. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
  274. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/hooks/validation_hooks.py +0 -0
  275. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/init.py +0 -0
  276. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/models/__init__.py +0 -0
  277. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/models/agent_definition.py +0 -0
  278. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/models/agent_session.py +0 -0
  279. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/scripts/__init__.py +0 -0
  280. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/scripts/mcp_server.py +0 -0
  281. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
  282. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
  283. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/scripts/socketio_daemon_hardened.py +0 -0
  284. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/scripts/socketio_server_manager.py +0 -0
  285. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
  286. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/__init__.py +0 -0
  287. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
  288. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/__init__.py +0 -0
  289. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/agent_builder.py +0 -0
  290. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
  291. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
  292. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
  293. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
  294. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
  295. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
  296. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
  297. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
  298. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
  299. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
  300. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
  301. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
  302. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
  303. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
  304. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
  305. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
  306. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
  307. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
  308. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
  309. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
  310. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
  311. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
  312. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
  313. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
  314. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
  315. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
  316. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
  317. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
  318. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
  319. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
  320. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
  321. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
  322. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
  323. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
  324. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
  325. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
  326. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
  327. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
  328. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
  329. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
  330. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
  331. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
  332. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
  333. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
  334. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
  335. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
  336. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
  337. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
  338. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
  339. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
  340. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
  341. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
  342. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
  343. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
  344. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
  345. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
  346. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
  347. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
  348. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
  349. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
  350. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/management/__init__.py +0 -0
  351. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
  352. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
  353. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
  354. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
  355. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
  356. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
  357. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
  358. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
  359. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
  360. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/async_session_logger.py +0 -0
  361. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/claude_session_logger.py +0 -0
  362. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/command_handler_service.py +0 -0
  363. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/communication/__init__.py +0 -0
  364. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/core/__init__.py +0 -0
  365. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/core/base.py +0 -0
  366. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
  367. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
  368. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
  369. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
  370. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/core/interfaces/service.py +0 -0
  371. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/core/interfaces.py +0 -0
  372. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
  373. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
  374. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
  375. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
  376. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/claude_desktop_check.py +0 -0
  377. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
  378. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
  379. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
  380. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/installation_check.py +0 -0
  381. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +0 -0
  382. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
  383. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
  384. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
  385. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
  386. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/diagnostics/models.py +0 -0
  387. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/event_aggregator.py +0 -0
  388. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/exceptions.py +0 -0
  389. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
  390. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
  391. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
  392. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
  393. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
  394. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
  395. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
  396. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
  397. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
  398. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
  399. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
  400. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
  401. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
  402. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
  403. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
  404. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
  405. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
  406. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
  407. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
  408. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/hook_service.py +0 -0
  409. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
  410. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
  411. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
  412. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/infrastructure/logging.py +0 -0
  413. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
  414. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
  415. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
  416. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
  417. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
  418. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
  419. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
  420. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
  421. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
  422. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
  423. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
  424. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
  425. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
  426. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
  427. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
  428. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
  429. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
  430. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
  431. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
  432. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
  433. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
  434. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
  435. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
  436. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
  437. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -0
  438. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -0
  439. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/memory/__init__.py +0 -0
  440. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/memory/builder.py +0 -0
  441. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
  442. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
  443. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
  444. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
  445. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/memory/optimizer.py +0 -0
  446. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/memory/router.py +0 -0
  447. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/memory_hook_service.py +0 -0
  448. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/port_manager.py +0 -0
  449. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/project/__init__.py +0 -0
  450. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/project/analyzer.py +0 -0
  451. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/project/registry.py +0 -0
  452. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/recovery_manager.py +0 -0
  453. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/response_tracker.py +0 -0
  454. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/runner_configuration_service.py +0 -0
  455. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/session_management_service.py +0 -0
  456. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/shared/__init__.py +0 -0
  457. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/shared/async_service_base.py +0 -0
  458. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/shared/config_service_base.py +0 -0
  459. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
  460. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/shared/manager_base.py +0 -0
  461. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/shared/service_factory.py +0 -0
  462. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/__init__.py +0 -0
  463. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
  464. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
  465. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
  466. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
  467. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
  468. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
  469. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
  470. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
  471. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
  472. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio/server/main.py +0 -0
  473. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio_client_manager.py +0 -0
  474. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/socketio_server.py +0 -0
  475. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
  476. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/system_instructions_service.py +0 -0
  477. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/ticket_manager.py +0 -0
  478. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/utility_service.py +0 -0
  479. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/version_control/__init__.py +0 -0
  480. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
  481. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
  482. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/version_control/git_operations.py +0 -0
  483. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
  484. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/version_control/version_parser.py +0 -0
  485. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/services/version_service.py +0 -0
  486. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/storage/__init__.py +0 -0
  487. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/storage/state_storage.py +0 -0
  488. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/ticket_wrapper.py +0 -0
  489. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/__init__.py +0 -0
  490. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
  491. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/config_manager.py +0 -0
  492. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/console.py +0 -0
  493. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/dependency_cache.py +0 -0
  494. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/dependency_manager.py +0 -0
  495. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/dependency_strategies.py +0 -0
  496. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/environment_context.py +0 -0
  497. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/error_handler.py +0 -0
  498. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/file_utils.py +0 -0
  499. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/framework_detection.py +0 -0
  500. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/import_migration_example.py +0 -0
  501. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/imports.py +0 -0
  502. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/path_operations.py +0 -0
  503. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/robust_installer.py +0 -0
  504. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/session_logging.py +0 -0
  505. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/utils/subprocess_utils.py +0 -0
  506. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/validation/__init__.py +0 -0
  507. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/validation/agent_validator.py +0 -0
  508. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
  509. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
  510. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm.egg-info/entry_points.txt +0 -0
  511. {claude_mpm-4.0.32 → claude_mpm-4.0.34}/src/claude_mpm.egg-info/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ 296
@@ -186,7 +186,7 @@ def test_service_implements_interface():
186
186
  1. **Import Errors**: Ensure virtual environment is activated and PYTHONPATH includes `src/`
187
187
  2. **Hook Service Errors**: Check port availability (8765-8785)
188
188
  3. **Version Errors**: Run `pip install -e .` to ensure proper installation
189
- 4. **Agent Loading**: Check `.claude/agents/` for deployed agents
189
+ 4. **Agent Deployment**: All agents now deploy to project-level `.claude/agents/` directory (changed in v4.0.32+)
190
190
 
191
191
  ## Contributing
192
192
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.0.32
3
+ Version: 4.0.34
4
4
  Summary: Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking
5
5
  Author-email: Bob Matsuoka <bob@matsuoka.com>
6
6
  Maintainer: Claude MPM Team
@@ -46,6 +46,7 @@ Requires-Dist: toml>=0.10.2
46
46
  Requires-Dist: packaging>=21.0
47
47
  Requires-Dist: pydantic>=2.0.0
48
48
  Requires-Dist: pydantic-settings>=2.0.0
49
+ Requires-Dist: pyee>=13.0.0
49
50
  Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
50
51
  Provides-Extra: dev
51
52
  Requires-Dist: pytest>=7.0; extra == "dev"
@@ -116,7 +117,7 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
116
117
  ## Features
117
118
 
118
119
  - 🤖 **Multi-Agent System**: 15 specialized agents for comprehensive project management
119
- - 🧠 **Agent Memory System**: Persistent learning with project-specific knowledge retention
120
+ - 🧠 **Agent Memory System**: Simple list-based persistent learning with JSON response field updates
120
121
  - 🔄 **Session Management**: Resume previous sessions with `--resume`
121
122
  - 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
122
123
  - 🔌 **MCP Gateway**: Model Context Protocol integration for extensible tool capabilities
@@ -200,7 +201,7 @@ Claude MPM includes 15 specialized agents:
200
201
  - **Code Analyzer** - Static code analysis with AST and tree-sitter
201
202
 
202
203
  ### Agent Memory System
203
- Agents learn project-specific patterns and remember insights across sessions. Initialize with `claude-mpm memory init`.
204
+ Agents learn project-specific patterns using a simple list format and can update memories via JSON response fields (`remember` for incremental updates, `MEMORIES` for complete replacement). Initialize with `claude-mpm memory init`.
204
205
 
205
206
  ### MCP Gateway (Model Context Protocol)
206
207
 
@@ -7,7 +7,7 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
7
7
  ## Features
8
8
 
9
9
  - 🤖 **Multi-Agent System**: 15 specialized agents for comprehensive project management
10
- - 🧠 **Agent Memory System**: Persistent learning with project-specific knowledge retention
10
+ - 🧠 **Agent Memory System**: Simple list-based persistent learning with JSON response field updates
11
11
  - 🔄 **Session Management**: Resume previous sessions with `--resume`
12
12
  - 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
13
13
  - 🔌 **MCP Gateway**: Model Context Protocol integration for extensible tool capabilities
@@ -91,7 +91,7 @@ Claude MPM includes 15 specialized agents:
91
91
  - **Code Analyzer** - Static code analysis with AST and tree-sitter
92
92
 
93
93
  ### Agent Memory System
94
- Agents learn project-specific patterns and remember insights across sessions. Initialize with `claude-mpm memory init`.
94
+ Agents learn project-specific patterns using a simple list format and can update memories via JSON response fields (`remember` for incremental updates, `MEMORIES` for complete replacement). Initialize with `claude-mpm memory init`.
95
95
 
96
96
  ### MCP Gateway (Model Context Protocol)
97
97
 
@@ -0,0 +1 @@
1
+ 4.0.34
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "claude-mpm"
7
- version = "4.0.32"
7
+ version = "4.0.34"
8
8
  description = "Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -65,6 +65,9 @@ dependencies = [
65
65
  "packaging>=21.0",
66
66
  "pydantic>=2.0.0",
67
67
  "pydantic-settings>=2.0.0",
68
+
69
+ # Event bus for decoupled event handling
70
+ "pyee>=13.0.0",
68
71
 
69
72
  # Python version compatibility
70
73
  "importlib-resources>=5.0; python_version < '3.9'",
@@ -183,7 +186,7 @@ asyncio_mode = "auto"
183
186
 
184
187
  [tool.commitizen]
185
188
  name = "cz_conventional_commits"
186
- version = "4.0.32"
189
+ version = "4.0.34"
187
190
  version_files = [
188
191
  "VERSION",
189
192
  "src/claude_mpm/VERSION",
@@ -0,0 +1 @@
1
+ 4.0.34
@@ -0,0 +1,194 @@
1
+ {
2
+ "schema_version": "1.2.0",
3
+ "agent_id": "documentation-agent",
4
+ "agent_version": "3.2.0",
5
+ "template_version": "2.0.1",
6
+ "template_changelog": [
7
+ {
8
+ "version": "3.2.0",
9
+ "date": "2025-08-22",
10
+ "description": "Enhanced: Fixed MCP tool name (document_summarizer), cleaned up overly specific instructions with generic placeholders, added comprehensive memory consumption protection, enhanced file size pre-checking and forbidden practices enforcement"
11
+ },
12
+ {
13
+ "version": "2.0.1",
14
+ "date": "2025-08-22",
15
+ "description": "Optimized: Removed redundant instructions, now inherits from BASE_AGENT_TEMPLATE (75% reduction)"
16
+ },
17
+ {
18
+ "version": "2.0.0",
19
+ "date": "2025-08-20",
20
+ "description": "Major template restructuring"
21
+ }
22
+ ],
23
+ "agent_type": "documentation",
24
+ "metadata": {
25
+ "name": "Documentation Agent",
26
+ "description": "Memory-protected documentation generation with MANDATORY file size checks, 20KB/200-line thresholds, progressive summarization, forbidden practices enforcement, and immediate content discard after pattern extraction",
27
+ "category": "specialized",
28
+ "tags": [
29
+ "documentation",
30
+ "memory-efficient",
31
+ "strategic-sampling",
32
+ "pattern-extraction",
33
+ "writing",
34
+ "api-docs",
35
+ "guides",
36
+ "mcp-summarizer",
37
+ "line-tracking",
38
+ "content-thresholds",
39
+ "progressive-summarization"
40
+ ],
41
+ "author": "Claude MPM Team",
42
+ "created_at": "2025-07-27T03:45:51.468276Z",
43
+ "updated_at": "2025-08-22T12:00:00.000000Z",
44
+ "color": "cyan"
45
+ },
46
+ "capabilities": {
47
+ "model": "sonnet",
48
+ "tools": [
49
+ "Read",
50
+ "Write",
51
+ "Edit",
52
+ "MultiEdit",
53
+ "Grep",
54
+ "Glob",
55
+ "LS",
56
+ "WebSearch",
57
+ "TodoWrite",
58
+ "mcp__claude-mpm-gateway__document_summarizer"
59
+ ],
60
+ "resource_tier": "lightweight",
61
+ "max_tokens": 8192,
62
+ "temperature": 0.2,
63
+ "timeout": 600,
64
+ "memory_limit": 1024,
65
+ "cpu_limit": 20,
66
+ "network_access": true,
67
+ "file_access": {
68
+ "read_paths": [
69
+ "./"
70
+ ],
71
+ "write_paths": [
72
+ "./"
73
+ ]
74
+ }
75
+ },
76
+ "instructions": "# Documentation Agent\n\n**Inherits from**: BASE_AGENT_TEMPLATE.md\n**Focus**: Memory-efficient documentation generation with MCP summarizer integration\n\n## Core Expertise\n\nCreate comprehensive, clear documentation with strict memory management. Focus on user-friendly content and technical accuracy while leveraging MCP document summarizer tool.\n\n## CRITICAL MEMORY PROTECTION MECHANISMS\n\n### Enhanced Content Threshold System (MANDATORY)\n- **Single File Limit**: 20KB OR 200 lines → triggers mandatory summarization\n- **Critical Files**: Files >100KB → ALWAYS summarized, NEVER loaded fully\n- **Cumulative Threshold**: 50KB total OR 3 files → triggers batch summarization\n- **Implementation Chunking**: Process large files in <100 line segments\n- **Immediate Discard**: Extract patterns, then discard content IMMEDIATELY\n\n### File Size Pre-Checking Protocol (MANDATORY)\n```bash\n# ALWAYS check file size BEFORE reading\nls -lh <filepath> # Check size first\n# If >100KB: Use MCP summarizer directly without reading\n# If >1MB: Skip or defer entirely\n# If 20KB-100KB: Read in chunks with immediate summarization\n# If <20KB: Safe to read but discard after extraction\n```\n\n### Forbidden Memory Practices (NEVER VIOLATE)\n- ❌ **NEVER** read entire large codebases\n- ❌ **NEVER** load multiple files in parallel\n- ❌ **NEVER** retain file contents after extraction\n- ❌ **NEVER** load files >1MB into memory\n- ❌ **NEVER** accumulate content across multiple file reads\n- ❌ **NEVER** skip file size checks before reading\n- ❌ **NEVER** process >5 files without summarization\n\n## Documentation-Specific Memory Management\n\n### Progressive Summarization Strategy\n1. **Immediate Summarization**: When single file hits 20KB/200 lines\n2. **Batch Summarization**: After processing 3 files or 50KB cumulative\n3. **Counter Reset**: Reset cumulative counter after batch summarization\n4. **Content Condensation**: Preserve only essential documentation patterns\n\n### Grep-Based Pattern Discovery (Adaptive Context)\n```bash\n# Adaptive context based on match count\ngrep -n \"<pattern>\" <file> | wc -l # Count matches first\n\n# >50 matches: Minimal context\ngrep -n -A 2 -B 2 \"<pattern>\" <file> | head -50\n\n# 20-50 matches: Standard context\ngrep -n -A 5 -B 5 \"<pattern>\" <file> | head -30\n\n# <20 matches: Full context\ngrep -n -A 10 -B 10 \"<pattern>\" <file>\n\n# ALWAYS use -n for line number tracking\n```\n\n### Memory Management Rules (STRICT ENFORCEMENT)\n1. **Process ONE file at a time** - NEVER parallel\n2. **Extract patterns, not full implementations**\n3. **Use targeted reads with Grep** for specific content\n4. **Maximum 3-5 files** handled simultaneously\n5. **Discard content immediately** after extraction\n6. **Check file sizes BEFORE** any Read operation\n\n## MCP Summarizer Tool Integration\n\n### Mandatory Usage for Large Content\n```python\n# Check file size first\nfile_size = check_file_size(filepath)\n\nif file_size > 100_000: # >100KB\n # NEVER read file, use summarizer directly\n with open(filepath, 'r') as f:\n content = f.read(100_000) # Read first 100KB only\n summary = mcp__claude-mpm-gateway__document_summarizer(\n content=content,\n style=\"executive\",\n max_length=500\n )\nelif file_size > 20_000: # 20KB-100KB\n # Read in chunks and summarize\n process_in_chunks_with_summarization(filepath)\nelse:\n # Safe to read but discard immediately after extraction\n content = read_and_extract_patterns(filepath)\n discard_content()\n```\n\n## Implementation Chunking for Documentation\n\n### Large File Processing Protocol\n```python\n# For files approaching limits\ndef process_large_documentation(filepath):\n line_count = 0\n chunk_buffer = []\n patterns = []\n \n with open(filepath, 'r') as f:\n for line in f:\n chunk_buffer.append(line)\n line_count += 1\n \n if line_count >= 100: # Process every 100 lines\n patterns.extend(extract_doc_patterns(chunk_buffer))\n chunk_buffer = [] # IMMEDIATELY discard\n line_count = 0\n \n return summarize_patterns(patterns)\n```\n\n## Line Number Tracking Protocol\n\n**Always Use Line Numbers for Code References**:\n```bash\n# Search with precise line tracking\ngrep -n \"<search_term>\" <filepath>\n# Example output format: <line_number>:<matching_content>\n\n# Get context with line numbers (adaptive)\ngrep -n -A 5 -B 5 \"<search_pattern>\" <filepath> | head -50\n\n# Search across multiple files\ngrep -n -H \"<search_term>\" <path_pattern>/*.py | head -30\n```\n\n## Documentation Workflow with Memory Protection\n\n### Phase 1: File Size Assessment\n```bash\n# MANDATORY first step for all files\nls -lh docs/*.md | awk '{print $9, $5}' # List files with sizes\nfind . -name \"*.md\" -size +100k # Find large documentation files\n```\n\n### Phase 2: Strategic Sampling\n```bash\n# Sample without full reading\ngrep -n \"^#\" docs/*.md | head -50 # Get section headers\ngrep -n \"```\" docs/*.md | wc -l # Count code blocks\n```\n\n### Phase 3: Pattern Extraction with Summarization\n```python\n# Process with thresholds\nfor doc_file in documentation_files[:5]: # MAX 5 files\n size = check_file_size(doc_file)\n if size > 100_000:\n summary = auto_summarize_without_reading(doc_file)\n elif size > 20_000:\n patterns = extract_with_chunking(doc_file)\n summary = summarize_patterns(patterns)\n else:\n patterns = quick_extract(doc_file)\n \n # IMMEDIATELY discard all content\n clear_memory()\n```\n\n## Documentation-Specific Todo Patterns\n\n**Memory-Safe Documentation**:\n- `[Documentation] Document API with chunked processing`\n- `[Documentation] Create guide using pattern extraction`\n- `[Documentation] Generate docs with file size checks`\n\n**Pattern-Based Documentation**:\n- `[Documentation] Extract and document patterns (<5 files)`\n- `[Documentation] Summarize large documentation sets`\n- `[Documentation] Create overview from sampled content`\n\n## Documentation Memory Categories\n\n**Pattern Memories**: Content organization patterns (NOT full content)\n**Extraction Memories**: Key documentation structures only\n**Summary Memories**: Condensed overviews, not full text\n**Reference Memories**: Line numbers and file paths only\n**Threshold Memories**: File size limits and triggers\n\n## Quality Standards with Memory Protection\n\n- **Accuracy**: Line references without full file retention\n- **Efficiency**: Pattern extraction over full reading\n- **Safety**: File size checks before ALL operations\n- **Summarization**: Mandatory for content >20KB\n- **Chunking**: Required for files >100 lines\n- **Discarding**: Immediate after pattern extraction",
77
+ "knowledge": {
78
+ "domain_expertise": [
79
+ "Memory-efficient documentation with MANDATORY file size pre-checking",
80
+ "Immediate summarization at 20KB/200 line thresholds",
81
+ "Progressive summarization for cumulative content (50KB/3 files)",
82
+ "Critical file handling (>100KB auto-summarized, >1MB skipped)",
83
+ "Implementation chunking in <100 line segments",
84
+ "Adaptive grep context based on match count for memory efficiency",
85
+ "Pattern extraction with immediate content discard",
86
+ "Technical writing standards with memory constraints",
87
+ "Documentation frameworks optimized for large codebases",
88
+ "API documentation through strategic sampling only",
89
+ "MCP document summarizer integration for threshold management",
90
+ "Precise code referencing with line numbers without full retention",
91
+ "Sequential processing to prevent parallel memory accumulation",
92
+ "Forbidden practice enforcement (no parallel loads, no retention)"
93
+ ],
94
+ "best_practices": [
95
+ "ALWAYS check file size with LS before any Read operation",
96
+ "Extract key patterns from 3-5 representative files maximum",
97
+ "Use grep with line numbers (-n) and adaptive context based on match count",
98
+ "Leverage MCP summarizer tool for ALL files exceeding thresholds",
99
+ "Trigger MANDATORY summarization at 20KB or 200 lines for single files",
100
+ "Apply batch summarization after 3 files or 50KB cumulative content",
101
+ "Process files sequentially - NEVER in parallel",
102
+ "Auto-summarize >100KB files WITHOUT reading them",
103
+ "Skip or defer files >1MB entirely",
104
+ "Reset cumulative counters after batch summarization",
105
+ "Extract patterns and IMMEDIATELY discard full file contents",
106
+ "Use adaptive grep context: >50 matches (-A 2 -B 2 | head -50), <20 matches (-A 10 -B 10)",
107
+ "Process large files in <100 line chunks with immediate discard",
108
+ "Create clear technical documentation with precise line references",
109
+ "Generate comprehensive API documentation from sampled patterns only",
110
+ "NEVER accumulate content across multiple file reads",
111
+ "Always use grep -n for line number tracking in code references",
112
+ "Use targeted grep searches instead of full file reads",
113
+ "Implement progressive summarization for cumulative content management"
114
+ ],
115
+ "constraints": [
116
+ "❌ NEVER read entire large codebases",
117
+ "❌ NEVER load multiple files in parallel",
118
+ "❌ NEVER retain file contents after extraction",
119
+ "❌ NEVER load files >1MB into memory",
120
+ "❌ NEVER accumulate content across multiple file reads",
121
+ "❌ NEVER skip file size checks before reading",
122
+ "❌ NEVER process >5 files without summarization",
123
+ "Process files sequentially to prevent memory accumulation",
124
+ "Maximum 3-5 files for documentation analysis without summarization",
125
+ "Critical files >100KB MUST be summarized, NEVER fully read",
126
+ "Single file threshold: 20KB or 200 lines triggers MANDATORY summarization",
127
+ "Cumulative threshold: 50KB total or 3 files triggers batch summarization",
128
+ "Adaptive grep context: >50 matches use -A 2 -B 2 | head -50, <20 matches use -A 10 -B 10",
129
+ "Content MUST be discarded IMMEDIATELY after extraction",
130
+ "File size checking is MANDATORY before ALL Read operations",
131
+ "Check MCP summarizer tool availability before use",
132
+ "Always include line numbers in code references",
133
+ "Implementation chunking: Process large files in <100 line segments",
134
+ "Sequential processing is MANDATORY for documentation generation"
135
+ ],
136
+ "examples": []
137
+ },
138
+ "interactions": {
139
+ "input_format": {
140
+ "required_fields": [
141
+ "task"
142
+ ],
143
+ "optional_fields": [
144
+ "context",
145
+ "constraints"
146
+ ]
147
+ },
148
+ "output_format": {
149
+ "structure": "markdown",
150
+ "includes": [
151
+ "analysis",
152
+ "recommendations",
153
+ "code"
154
+ ]
155
+ },
156
+ "handoff_agents": [
157
+ "version_control"
158
+ ],
159
+ "triggers": []
160
+ },
161
+ "testing": {
162
+ "test_cases": [
163
+ {
164
+ "name": "Basic documentation task",
165
+ "input": "Perform a basic documentation analysis",
166
+ "expected_behavior": "Agent performs documentation tasks correctly",
167
+ "validation_criteria": [
168
+ "completes_task",
169
+ "follows_format"
170
+ ]
171
+ }
172
+ ],
173
+ "performance_benchmarks": {
174
+ "response_time": 300,
175
+ "token_usage": 8192,
176
+ "success_rate": 0.95
177
+ }
178
+ },
179
+ "dependencies": {
180
+ "python": [
181
+ "sphinx>=7.2.0",
182
+ "mkdocs>=1.5.0",
183
+ "pydoc-markdown>=4.8.0",
184
+ "diagrams>=0.23.0",
185
+ "mermaid-py>=0.2.0",
186
+ "docstring-parser>=0.15.0"
187
+ ],
188
+ "system": [
189
+ "python3",
190
+ "git"
191
+ ],
192
+ "optional": false
193
+ }
194
+ }
@@ -37,17 +37,6 @@
37
37
  },
38
38
  "capabilities": {
39
39
  "model": "opus",
40
- "tools": [
41
- "Read",
42
- "Grep",
43
- "Glob",
44
- "LS",
45
- "WebSearch",
46
- "WebFetch",
47
- "Bash",
48
- "TodoWrite",
49
- "mcp__claude-mpm-gateway__document_summarizer"
50
- ],
51
40
  "resource_tier": "high",
52
41
  "temperature": 0.2,
53
42
  "max_tokens": 16384,
@@ -178,53 +178,90 @@ def _initialize_project_registry():
178
178
 
179
179
  def _verify_mcp_gateway_startup():
180
180
  """
181
- Verify MCP Gateway configuration on startup.
181
+ Verify MCP Gateway configuration on startup and pre-warm MCP services.
182
182
 
183
183
  WHY: The MCP gateway should be automatically configured and verified on startup
184
184
  to provide a seamless experience with diagnostic tools, file summarizer, and
185
- ticket service.
185
+ ticket service. Pre-warming MCP services eliminates the 11.9s delay on first use.
186
186
 
187
187
  DESIGN DECISION: This is non-blocking - failures are logged but don't prevent
188
188
  startup to ensure claude-mpm remains functional even if MCP gateway has issues.
189
189
  """
190
190
  try:
191
191
  import asyncio
192
+ import time
192
193
  from ..services.mcp_gateway.core.startup_verification import (
193
194
  verify_mcp_gateway_on_startup,
194
195
  is_mcp_gateway_configured,
195
196
  )
197
+ from ..services.mcp_gateway.core.process_pool import pre_warm_mcp_servers
198
+ from ..core.logger import get_logger
199
+
200
+ logger = get_logger("mcp_prewarm")
196
201
 
197
202
  # Quick check first - if already configured, skip detailed verification
198
- if is_mcp_gateway_configured():
199
- return
200
-
201
- # Run detailed verification in background
202
- # Note: We don't await this to avoid blocking startup
203
- def run_verification():
203
+ gateway_configured = is_mcp_gateway_configured()
204
+
205
+ # Pre-warm MCP servers regardless of gateway config
206
+ # This eliminates the 11.9s delay on first agent invocation
207
+ def run_pre_warming():
204
208
  try:
209
+ start_time = time.time()
205
210
  loop = asyncio.new_event_loop()
206
211
  asyncio.set_event_loop(loop)
207
- results = loop.run_until_complete(verify_mcp_gateway_on_startup())
212
+
213
+ # Pre-warm MCP servers (especially vector search)
214
+ logger.info("Pre-warming MCP servers to eliminate startup delay...")
215
+ loop.run_until_complete(pre_warm_mcp_servers())
216
+
217
+ pre_warm_time = time.time() - start_time
218
+ if pre_warm_time > 1.0:
219
+ logger.info(f"MCP servers pre-warmed in {pre_warm_time:.2f}s")
220
+
221
+ # Also run gateway verification if needed
222
+ if not gateway_configured:
223
+ results = loop.run_until_complete(verify_mcp_gateway_on_startup())
224
+
208
225
  loop.close()
209
-
210
- # Log results but don't block
211
- from ..core.logger import get_logger
212
- logger = get_logger("cli")
213
-
214
- if results.get("gateway_configured"):
215
- logger.debug("MCP Gateway verification completed successfully")
216
- else:
217
- logger.debug("MCP Gateway verification completed with warnings")
218
-
219
226
  except Exception as e:
220
- from ..core.logger import get_logger
221
- logger = get_logger("cli")
222
- logger.debug(f"MCP Gateway verification failed: {e}")
223
-
224
- # Run in background thread to avoid blocking startup
227
+ # Non-blocking - log but don't fail
228
+ logger.debug(f"MCP pre-warming error (non-critical): {e}")
229
+
230
+ # Run pre-warming in background thread
225
231
  import threading
226
- verification_thread = threading.Thread(target=run_verification, daemon=True)
227
- verification_thread.start()
232
+ pre_warm_thread = threading.Thread(target=run_pre_warming, daemon=True)
233
+ pre_warm_thread.start()
234
+
235
+ return
236
+
237
+ # Run detailed verification in background if not configured
238
+ if not gateway_configured:
239
+ # Note: We don't await this to avoid blocking startup
240
+ def run_verification():
241
+ try:
242
+ loop = asyncio.new_event_loop()
243
+ asyncio.set_event_loop(loop)
244
+ results = loop.run_until_complete(verify_mcp_gateway_on_startup())
245
+ loop.close()
246
+
247
+ # Log results but don't block
248
+ from ..core.logger import get_logger
249
+ logger = get_logger("cli")
250
+
251
+ if results.get("gateway_configured"):
252
+ logger.debug("MCP Gateway verification completed successfully")
253
+ else:
254
+ logger.debug("MCP Gateway verification completed with warnings")
255
+
256
+ except Exception as e:
257
+ from ..core.logger import get_logger
258
+ logger = get_logger("cli")
259
+ logger.debug(f"MCP Gateway verification failed: {e}")
260
+
261
+ # Run in background thread to avoid blocking startup
262
+ import threading
263
+ verification_thread = threading.Thread(target=run_verification, daemon=True)
264
+ verification_thread.start()
228
265
 
229
266
  except Exception as e:
230
267
  # Import logger here to avoid circular imports
@@ -181,14 +181,15 @@ class AgentManagerCommand(AgentCommand):
181
181
  """Deploy an agent to specified tier."""
182
182
  try:
183
183
  agent_id = args.agent_id
184
- tier = getattr(args, 'tier', 'user')
184
+ tier = getattr(args, 'tier', 'project') # Default to project (changed from 'user')
185
185
 
186
- # Determine deployment path
187
- if tier == 'project':
188
- deploy_path = Path.cwd() / ".claude" / "agents"
189
- elif tier == 'user':
190
- deploy_path = Path.home() / ".claude" / "agents"
191
- else:
186
+ # Always deploy to project directory
187
+ # Regardless of tier, all agents go to project .claude/agents
188
+ deploy_path = Path.cwd() / ".claude" / "agents"
189
+
190
+ # Note: We're keeping the tier parameter for backward compatibility
191
+ # but it no longer affects the deployment location
192
+ if tier not in ['project', 'user']:
192
193
  return CommandResult.error_result("Invalid tier. Use 'project' or 'user'")
193
194
 
194
195
  # Create directory if needed
@@ -203,7 +204,8 @@ class AgentManagerCommand(AgentCommand):
203
204
  return CommandResult.error_result(f"Agent '{agent_id}' not found")
204
205
 
205
206
  # Deploy using deployment service
206
- self.deployment.deploy_agent(agent_id, str(deploy_path))
207
+ # Pass Path object, not string
208
+ self.deployment.deploy_agent(agent_id, deploy_path)
207
209
 
208
210
  return CommandResult.success_result(
209
211
  f"Agent '{agent_id}' deployed to {tier} level"