claude-mpm 3.9.9__tar.gz → 3.9.11__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 (322) hide show
  1. {claude_mpm-3.9.9/src/claude_mpm.egg-info → claude_mpm-3.9.11}/PKG-INFO +25 -2
  2. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/README.md +23 -1
  3. claude_mpm-3.9.11/VERSION +1 -0
  4. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/pyproject.toml +1 -1
  5. claude_mpm-3.9.11/src/claude_mpm/VERSION +1 -0
  6. claude_mpm-3.9.11/src/claude_mpm/agents/templates/memory_manager.json +155 -0
  7. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/__init__.py +15 -2
  8. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/__init__.py +3 -0
  9. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/mcp.py +280 -134
  10. claude_mpm-3.9.11/src/claude_mpm/cli/commands/run_guarded.py +511 -0
  11. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/parser.py +8 -2
  12. claude_mpm-3.9.11/src/claude_mpm/config/experimental_features.py +219 -0
  13. claude_mpm-3.9.11/src/claude_mpm/config/memory_guardian_yaml.py +335 -0
  14. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/constants.py +1 -0
  15. claude_mpm-3.9.11/src/claude_mpm/core/memory_aware_runner.py +353 -0
  16. claude_mpm-3.9.11/src/claude_mpm/services/infrastructure/context_preservation.py +537 -0
  17. claude_mpm-3.9.11/src/claude_mpm/services/infrastructure/graceful_degradation.py +616 -0
  18. claude_mpm-3.9.11/src/claude_mpm/services/infrastructure/health_monitor.py +775 -0
  19. claude_mpm-3.9.11/src/claude_mpm/services/infrastructure/memory_dashboard.py +479 -0
  20. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/infrastructure/memory_guardian.py +189 -15
  21. claude_mpm-3.9.11/src/claude_mpm/services/infrastructure/restart_protection.py +642 -0
  22. claude_mpm-3.9.11/src/claude_mpm/services/infrastructure/state_manager.py +774 -0
  23. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/__init__.py +11 -11
  24. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/core/__init__.py +2 -2
  25. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +10 -9
  26. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/main.py +35 -5
  27. claude_mpm-3.9.11/src/claude_mpm/services/mcp_gateway/manager.py +334 -0
  28. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +4 -8
  29. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/server/__init__.py +2 -2
  30. claude_mpm-3.9.9/src/claude_mpm/services/mcp_gateway/server/mcp_server.py → claude_mpm-3.9.11/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +60 -59
  31. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +1 -2
  32. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/ticket_manager.py +8 -8
  33. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/ticket_manager_di.py +5 -5
  34. claude_mpm-3.9.11/src/claude_mpm/storage/__init__.py +9 -0
  35. claude_mpm-3.9.11/src/claude_mpm/storage/state_storage.py +556 -0
  36. {claude_mpm-3.9.9 → claude_mpm-3.9.11/src/claude_mpm.egg-info}/PKG-INFO +25 -2
  37. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm.egg-info/SOURCES.txt +15 -2
  38. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm.egg-info/requires.txt +1 -0
  39. claude_mpm-3.9.9/VERSION +0 -1
  40. claude_mpm-3.9.9/src/claude_mpm/VERSION +0 -1
  41. claude_mpm-3.9.9/src/claude_mpm/services/mcp_gateway/server/mcp_server_simple.py +0 -444
  42. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/CLAUDE.md +0 -0
  43. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/LICENSE +0 -0
  44. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/MANIFEST.in +0 -0
  45. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/claude-mpm +0 -0
  46. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/requirements.txt +0 -0
  47. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/scripts/run_mpm.py +0 -0
  48. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/scripts/ticket +0 -0
  49. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/setup.cfg +0 -0
  50. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/setup.py +0 -0
  51. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/__init__.py +0 -0
  52. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/__main__.py +0 -0
  53. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
  54. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/BASE_PM.md +0 -0
  55. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/INSTRUCTIONS.md +0 -0
  56. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/MEMORY.md +0 -0
  57. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/WORKFLOW.md +0 -0
  58. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/__init__.py +0 -0
  59. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/agent_loader.py +0 -0
  60. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
  61. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/agents_metadata.py +0 -0
  62. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/async_agent_loader.py +0 -0
  63. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/backups/INSTRUCTIONS.md +0 -0
  64. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/base_agent.json +0 -0
  65. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/base_agent_loader.py +0 -0
  66. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
  67. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
  68. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/system_agent_config.py +0 -0
  69. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/__init__.py +0 -0
  70. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -0
  71. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
  72. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -0
  73. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
  74. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
  75. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/research_agent_2025011_234551.json +0 -0
  76. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
  77. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/research_memory_efficient.json +0 -0
  78. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
  79. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
  80. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
  81. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
  82. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/documentation.json +0 -0
  83. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/engineer.json +0 -0
  84. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/ops.json +0 -0
  85. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
  86. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/qa.json +0 -0
  87. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/research.json +0 -0
  88. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/security.json +0 -0
  89. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/ticketing.json +0 -0
  90. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/version_control.json +0 -0
  91. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/web_qa.json +0 -0
  92. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/agents/templates/web_ui.json +0 -0
  93. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/__main__.py +0 -0
  94. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/agents.py +0 -0
  95. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/aggregate.py +0 -0
  96. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/cleanup.py +0 -0
  97. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/config.py +0 -0
  98. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/info.py +0 -0
  99. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/memory.py +0 -0
  100. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/monitor.py +0 -0
  101. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/run.py +0 -0
  102. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/commands/tickets.py +0 -0
  103. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/ticket_cli.py +0 -0
  104. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli/utils.py +0 -0
  105. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli_module/__init__.py +0 -0
  106. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli_module/args.py +0 -0
  107. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli_module/commands.py +0 -0
  108. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/cli_module/migration_example.py +0 -0
  109. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/config/__init__.py +0 -0
  110. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/config/agent_config.py +0 -0
  111. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/config/memory_guardian_config.py +0 -0
  112. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/config/paths.py +0 -0
  113. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/config/socketio_config.py +0 -0
  114. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/__init__.py +0 -0
  115. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
  116. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/agent_registry.py +0 -0
  117. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/agent_session_manager.py +0 -0
  118. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/base_service.py +0 -0
  119. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/cache.py +0 -0
  120. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/claude_runner.py +0 -0
  121. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/config.py +0 -0
  122. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/config_aliases.py +0 -0
  123. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/config_paths.py +0 -0
  124. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/constants.py +0 -0
  125. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/container.py +0 -0
  126. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/exceptions.py +0 -0
  127. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/factories.py +0 -0
  128. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/framework_loader.py +0 -0
  129. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/hook_manager.py +0 -0
  130. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/injectable_service.py +0 -0
  131. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/interactive_session.py +0 -0
  132. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/interfaces.py +0 -0
  133. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/lazy.py +0 -0
  134. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/logger.py +0 -0
  135. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/logging_config.py +0 -0
  136. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
  137. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/mixins.py +0 -0
  138. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/oneshot_session.py +0 -0
  139. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
  140. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/optimized_startup.py +0 -0
  141. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
  142. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/service_registry.py +0 -0
  143. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/session_manager.py +0 -0
  144. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/socketio_pool.py +0 -0
  145. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/tool_access_control.py +0 -0
  146. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/types.py +0 -0
  147. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/core/typing_utils.py +0 -0
  148. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/index.html +0 -0
  149. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
  150. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
  151. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
  152. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
  153. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
  154. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
  155. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
  156. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
  157. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
  158. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
  159. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
  160. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
  161. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
  162. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
  163. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
  164. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/dashboard-original.js +0 -0
  165. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
  166. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
  167. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/templates/index.html +0 -0
  168. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
  169. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/deployment_paths.py +0 -0
  170. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
  171. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/generators/__init__.py +0 -0
  172. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
  173. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/hooks/__init__.py +0 -0
  174. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/hooks/base_hook.py +0 -0
  175. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
  176. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
  177. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/hooks/claude_hooks/hook_handler_fixed.py +0 -0
  178. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
  179. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
  180. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
  181. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/hooks/validation_hooks.py +0 -0
  182. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/init.py +0 -0
  183. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/models/__init__.py +0 -0
  184. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/models/agent_definition.py +0 -0
  185. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/models/agent_session.py +0 -0
  186. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/models/state_models.py +0 -0
  187. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/scripts/__init__.py +0 -0
  188. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
  189. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
  190. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/__init__.py +0 -0
  191. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agent/__init__.py +0 -0
  192. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agent/deployment.py +0 -0
  193. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agent/management.py +0 -0
  194. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agent/registry.py +0 -0
  195. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/__init__.py +0 -0
  196. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
  197. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
  198. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
  199. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
  200. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
  201. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
  202. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
  203. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
  204. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
  205. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/management/__init__.py +0 -0
  206. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
  207. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
  208. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
  209. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
  210. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
  211. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
  212. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/registry/agent_registry.py +0 -0
  213. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
  214. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
  215. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/async_session_logger.py +0 -0
  216. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/claude_session_logger.py +0 -0
  217. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/communication/__init__.py +0 -0
  218. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/communication/socketio.py +0 -0
  219. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/communication/websocket.py +0 -0
  220. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/core/__init__.py +0 -0
  221. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/core/base.py +0 -0
  222. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/core/interfaces.py +0 -0
  223. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/event_aggregator.py +0 -0
  224. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/exceptions.py +0 -0
  225. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
  226. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
  227. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
  228. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
  229. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
  230. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
  231. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
  232. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
  233. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
  234. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
  235. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
  236. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
  237. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
  238. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
  239. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
  240. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
  241. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
  242. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
  243. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
  244. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/framework_claude_md_generator.py +0 -0
  245. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/health_monitor.py +0 -0
  246. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/hook_service.py +0 -0
  247. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
  248. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/infrastructure/logging.py +0 -0
  249. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
  250. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
  251. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
  252. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
  253. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
  254. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
  255. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
  256. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
  257. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
  258. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
  259. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
  260. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
  261. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
  262. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/memory/__init__.py +0 -0
  263. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/memory/builder.py +0 -0
  264. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
  265. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
  266. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
  267. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
  268. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/memory/optimizer.py +0 -0
  269. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/memory/router.py +0 -0
  270. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/optimized_hook_service.py +0 -0
  271. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/project/__init__.py +0 -0
  272. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/project/analyzer.py +0 -0
  273. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/project/registry.py +0 -0
  274. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/project_analyzer.py +0 -0
  275. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/project_registry.py +0 -0
  276. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/recovery_manager.py +0 -0
  277. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/response_tracker.py +0 -0
  278. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio/__init__.py +0 -0
  279. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
  280. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
  281. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
  282. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
  283. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
  284. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
  285. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
  286. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
  287. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio_client_manager.py +0 -0
  288. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/socketio_server.py +0 -0
  289. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/standalone_socketio_server.py +0 -0
  290. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/ticketing_service_original.py +0 -0
  291. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/version_control/__init__.py +0 -0
  292. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
  293. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
  294. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/version_control/git_operations.py +0 -0
  295. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
  296. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/services/version_control/version_parser.py +0 -0
  297. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/ticket_wrapper.py +0 -0
  298. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/__init__.py +0 -0
  299. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
  300. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/config_manager.py +0 -0
  301. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/console.py +0 -0
  302. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/dependency_cache.py +0 -0
  303. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/dependency_manager.py +0 -0
  304. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/dependency_strategies.py +0 -0
  305. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/environment_context.py +0 -0
  306. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/error_handler.py +0 -0
  307. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/file_utils.py +0 -0
  308. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/framework_detection.py +0 -0
  309. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/import_migration_example.py +0 -0
  310. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/imports.py +0 -0
  311. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/path_operations.py +0 -0
  312. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/paths.py +0 -0
  313. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/platform_memory.py +0 -0
  314. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/robust_installer.py +0 -0
  315. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/session_logging.py +0 -0
  316. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/utils/subprocess_utils.py +0 -0
  317. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/validation/__init__.py +0 -0
  318. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/validation/agent_validator.py +0 -0
  319. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
  320. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
  321. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm.egg-info/entry_points.txt +0 -0
  322. {claude_mpm-3.9.9 → claude_mpm-3.9.11}/src/claude_mpm.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 3.9.9
3
+ Version: 3.9.11
4
4
  Summary: Claude Multi-agent Project Manager - Clean orchestration with ticket management
5
5
  Home-page: https://github.com/bobmatnyc/claude-mpm
6
6
  Author: Claude MPM Team
@@ -38,6 +38,7 @@ Requires-Dist: python-frontmatter>=1.0.0
38
38
  Requires-Dist: mistune>=3.0.0
39
39
  Requires-Dist: aiofiles>=23.0.0
40
40
  Requires-Dist: mcp>=0.1.0
41
+ Requires-Dist: ijson>=3.2.0
41
42
  Provides-Extra: dev
42
43
  Requires-Dist: pytest>=7.0; extra == "dev"
43
44
  Requires-Dist: pytest-asyncio; extra == "dev"
@@ -110,6 +111,7 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
110
111
  - 🧠 **Agent Memory System**: Persistent learning with project-specific knowledge retention
111
112
  - 🔄 **Session Management**: Resume previous sessions with `--resume`
112
113
  - 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
114
+ - 🛡️ **Memory Guardian (Experimental)**: Automatic memory monitoring and intelligent restarts to prevent crashes
113
115
  - 📁 **Multi-Project Support**: Per-session working directories
114
116
  - 🔍 **Git Integration**: View diffs and track changes across projects
115
117
  - 🎯 **Smart Task Orchestration**: PM agent intelligently routes work to specialists
@@ -130,6 +132,9 @@ claude-mpm
130
132
 
131
133
  # Start with monitoring dashboard
132
134
  claude-mpm run --monitor
135
+
136
+ # Start with memory protection (prevents crashes from large conversations)
137
+ claude-mpm run-guarded
133
138
  ```
134
139
 
135
140
  See [QUICKSTART.md](QUICKSTART.md) for complete usage examples.
@@ -149,10 +154,25 @@ The PM agent automatically delegates work to specialized agents including Resear
149
154
  ### Agent Memory System
150
155
  Agents learn project-specific patterns and remember insights across sessions. Initialize with `claude-mpm memory init`.
151
156
 
157
+ ### Memory Guardian System (Experimental)
158
+ **⚠️ Beta Feature** - Prevents memory-related crashes through intelligent monitoring and automatic restarts with state preservation.
159
+
160
+ ```bash
161
+ # Start with memory protection (recommended for long sessions)
162
+ claude-mpm run-guarded --accept-experimental
163
+
164
+ # Custom memory threshold for your system
165
+ claude-mpm run-guarded --memory-threshold 16000 --accept-experimental # 16GB
166
+ ```
167
+
168
+ **Why Memory Guardian?** Large conversation histories can consume 2GB+ of memory, causing system instability. The Memory Guardian monitors memory usage and performs controlled restarts while preserving your conversation context and work progress.
169
+
170
+ **Note:** This is an experimental feature in beta. Use `--accept-experimental` to suppress warnings.
171
+
152
172
  ### Real-Time Monitoring
153
173
  The `--monitor` flag opens a web dashboard showing live agent activity, file operations, and session management.
154
174
 
155
- See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for details.
175
+ See [docs/MEMORY.md](docs/MEMORY.md), [docs/USER_GUIDE_MEMORY_GUARDIAN.md](docs/USER_GUIDE_MEMORY_GUARDIAN.md), and [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for details.
156
176
 
157
177
 
158
178
  ## Documentation
@@ -162,12 +182,15 @@ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md]
162
182
  - **[Installation Guide](docs/user/installation.md)** - Complete installation options
163
183
  - **[User Guide](docs/user/)** - Detailed usage documentation
164
184
  - **[Memory System](docs/MEMORY.md)** - Agent memory documentation
185
+ - **[Memory Guardian Guide](docs/USER_GUIDE_MEMORY_GUARDIAN.md)** - Comprehensive memory protection documentation
165
186
  - **[Troubleshooting](docs/user/troubleshooting.md)** - Common issues and solutions
166
187
 
167
188
  ### Developer Documentation
168
189
  - **[Architecture Overview](docs/ARCHITECTURE.md)** - Service-oriented architecture and design
169
190
  - **[API Reference](docs/api/)** - Complete API documentation with Sphinx
170
191
  - **[Service Layer Guide](docs/developer/SERVICES.md)** - Service interfaces and implementations
192
+ - **[Memory Guardian Technical](docs/MEMORY_GUARDIAN_TECHNICAL.md)** - Technical architecture and implementation details
193
+ - **[Memory Guardian Configuration](docs/MEMORY_GUARDIAN_CONFIG.md)** - Complete configuration reference
171
194
  - **[Performance Guide](docs/PERFORMANCE.md)** - Optimization and caching strategies
172
195
  - **[Security Guide](docs/SECURITY.md)** - Security framework and best practices
173
196
  - **[Testing Guide](docs/TESTING.md)** - Testing patterns and strategies
@@ -10,6 +10,7 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
10
10
  - 🧠 **Agent Memory System**: Persistent learning with project-specific knowledge retention
11
11
  - 🔄 **Session Management**: Resume previous sessions with `--resume`
12
12
  - 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
13
+ - 🛡️ **Memory Guardian (Experimental)**: Automatic memory monitoring and intelligent restarts to prevent crashes
13
14
  - 📁 **Multi-Project Support**: Per-session working directories
14
15
  - 🔍 **Git Integration**: View diffs and track changes across projects
15
16
  - 🎯 **Smart Task Orchestration**: PM agent intelligently routes work to specialists
@@ -30,6 +31,9 @@ claude-mpm
30
31
 
31
32
  # Start with monitoring dashboard
32
33
  claude-mpm run --monitor
34
+
35
+ # Start with memory protection (prevents crashes from large conversations)
36
+ claude-mpm run-guarded
33
37
  ```
34
38
 
35
39
  See [QUICKSTART.md](QUICKSTART.md) for complete usage examples.
@@ -49,10 +53,25 @@ The PM agent automatically delegates work to specialized agents including Resear
49
53
  ### Agent Memory System
50
54
  Agents learn project-specific patterns and remember insights across sessions. Initialize with `claude-mpm memory init`.
51
55
 
56
+ ### Memory Guardian System (Experimental)
57
+ **⚠️ Beta Feature** - Prevents memory-related crashes through intelligent monitoring and automatic restarts with state preservation.
58
+
59
+ ```bash
60
+ # Start with memory protection (recommended for long sessions)
61
+ claude-mpm run-guarded --accept-experimental
62
+
63
+ # Custom memory threshold for your system
64
+ claude-mpm run-guarded --memory-threshold 16000 --accept-experimental # 16GB
65
+ ```
66
+
67
+ **Why Memory Guardian?** Large conversation histories can consume 2GB+ of memory, causing system instability. The Memory Guardian monitors memory usage and performs controlled restarts while preserving your conversation context and work progress.
68
+
69
+ **Note:** This is an experimental feature in beta. Use `--accept-experimental` to suppress warnings.
70
+
52
71
  ### Real-Time Monitoring
53
72
  The `--monitor` flag opens a web dashboard showing live agent activity, file operations, and session management.
54
73
 
55
- See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for details.
74
+ See [docs/MEMORY.md](docs/MEMORY.md), [docs/USER_GUIDE_MEMORY_GUARDIAN.md](docs/USER_GUIDE_MEMORY_GUARDIAN.md), and [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for details.
56
75
 
57
76
 
58
77
  ## Documentation
@@ -62,12 +81,15 @@ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md]
62
81
  - **[Installation Guide](docs/user/installation.md)** - Complete installation options
63
82
  - **[User Guide](docs/user/)** - Detailed usage documentation
64
83
  - **[Memory System](docs/MEMORY.md)** - Agent memory documentation
84
+ - **[Memory Guardian Guide](docs/USER_GUIDE_MEMORY_GUARDIAN.md)** - Comprehensive memory protection documentation
65
85
  - **[Troubleshooting](docs/user/troubleshooting.md)** - Common issues and solutions
66
86
 
67
87
  ### Developer Documentation
68
88
  - **[Architecture Overview](docs/ARCHITECTURE.md)** - Service-oriented architecture and design
69
89
  - **[API Reference](docs/api/)** - Complete API documentation with Sphinx
70
90
  - **[Service Layer Guide](docs/developer/SERVICES.md)** - Service interfaces and implementations
91
+ - **[Memory Guardian Technical](docs/MEMORY_GUARDIAN_TECHNICAL.md)** - Technical architecture and implementation details
92
+ - **[Memory Guardian Configuration](docs/MEMORY_GUARDIAN_CONFIG.md)** - Complete configuration reference
71
93
  - **[Performance Guide](docs/PERFORMANCE.md)** - Optimization and caching strategies
72
94
  - **[Security Guide](docs/SECURITY.md)** - Security framework and best practices
73
95
  - **[Testing Guide](docs/TESTING.md)** - Testing patterns and strategies
@@ -0,0 +1 @@
1
+ 3.9.11
@@ -10,7 +10,7 @@ readme = "README.md"
10
10
  requires-python = ">=3.8"
11
11
  keywords = [ "claude", "orchestration", "multi-agent", "ticket-management",]
12
12
  classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12",]
13
- dependencies = [ "ai-trackdown-pytools>=1.4.0", "pyyaml>=6.0", "python-dotenv>=0.19.0", "click>=8.0.0", "pexpect>=4.8.0", "psutil>=5.9.0", "requests>=2.25.0", "flask>=3.0.0", "flask-cors>=4.0.0", "watchdog>=3.0.0", "tree-sitter>=0.21.0", "python-socketio>=5.11.0", "aiohttp>=3.9.0", "aiohttp-cors>=0.7.0,<0.8.0", "python-engineio>=4.8.0", "python-frontmatter>=1.0.0", "mistune>=3.0.0", "aiofiles>=23.0.0", "mcp>=0.1.0",]
13
+ dependencies = [ "ai-trackdown-pytools>=1.4.0", "pyyaml>=6.0", "python-dotenv>=0.19.0", "click>=8.0.0", "pexpect>=4.8.0", "psutil>=5.9.0", "requests>=2.25.0", "flask>=3.0.0", "flask-cors>=4.0.0", "watchdog>=3.0.0", "tree-sitter>=0.21.0", "python-socketio>=5.11.0", "aiohttp>=3.9.0", "aiohttp-cors>=0.7.0,<0.8.0", "python-engineio>=4.8.0", "python-frontmatter>=1.0.0", "mistune>=3.0.0", "aiofiles>=23.0.0", "mcp>=0.1.0", "ijson>=3.2.0",]
14
14
  [[project.authors]]
15
15
  name = "Claude MPM Team"
16
16
 
@@ -0,0 +1 @@
1
+ 3.9.11
@@ -0,0 +1,155 @@
1
+ {
2
+ "schema_version": "1.2.0",
3
+ "agent_id": "memory-manager-agent",
4
+ "agent_version": "1.0.0",
5
+ "agent_type": "memory_manager",
6
+ "metadata": {
7
+ "name": "Memory Manager Agent",
8
+ "description": "Manages project-specific agent memories for improved context retention and knowledge accumulation",
9
+ "created_at": "2025-08-16T00:00:00.000000Z",
10
+ "updated_at": "2025-08-16T00:00:00.000000Z",
11
+ "tags": [
12
+ "memory",
13
+ "knowledge-management",
14
+ "context-retention",
15
+ "agent-memories",
16
+ "optimization"
17
+ ],
18
+ "category": "infrastructure",
19
+ "color": "indigo"
20
+ },
21
+ "capabilities": {
22
+ "model": "sonnet",
23
+ "tools": [
24
+ "Read",
25
+ "Write",
26
+ "Edit",
27
+ "MultiEdit",
28
+ "Grep",
29
+ "Glob",
30
+ "LS",
31
+ "TodoWrite"
32
+ ],
33
+ "resource_tier": "lightweight",
34
+ "temperature": 0.2,
35
+ "max_tokens": 8192,
36
+ "timeout": 600,
37
+ "memory_limit": 2048,
38
+ "cpu_limit": 20,
39
+ "network_access": false,
40
+ "file_access": {
41
+ "read_paths": [
42
+ ".claude-mpm/memories/"
43
+ ],
44
+ "write_paths": [
45
+ ".claude-mpm/memories/"
46
+ ]
47
+ }
48
+ },
49
+ "knowledge": {
50
+ "domain_expertise": [
51
+ "Agent memory file management and optimization",
52
+ "Memory token limit management (18k tokens maximum)",
53
+ "Memory consolidation and deduplication strategies",
54
+ "Context-aware memory pruning techniques",
55
+ "Cross-agent memory integration patterns",
56
+ "Memory verification and validation protocols",
57
+ "Memory format standardization and best practices"
58
+ ],
59
+ "best_practices": [
60
+ "Keep memories terse and specific - single line facts",
61
+ "Verify memory accuracy with Research agent when needed",
62
+ "Consolidate redundant memories to save token space",
63
+ "Organize memories by agent role and responsibility",
64
+ "Maintain backward compatibility when updating memory formats",
65
+ "Regular memory audits to remove outdated information",
66
+ "Prioritize recent and frequently accessed memories"
67
+ ],
68
+ "constraints": [
69
+ "Total memory must stay under 18k tokens when consolidated",
70
+ "Memory files must be in .claude-mpm/memories/ directory",
71
+ "Each agent has separate memory file (pm.md, engineer.md, etc.)",
72
+ "Memory format must be single-line facts and behaviors",
73
+ "Cannot delete critical system memories without confirmation",
74
+ "Must maintain memory file integrity and structure"
75
+ ]
76
+ },
77
+ "instructions": "# Memory Manager Agent\n\nManage and optimize project-specific agent memories to enhance context retention and knowledge accumulation across the Claude MPM system.\n\n## Primary Responsibilities\n\n### Memory Management Core Functions\n1. **List**: Display existing memories for each agent with token counts\n2. **Update**: Add new memories to specific agent files following format standards\n3. **Prune**: Remove outdated, redundant, or inaccurate memories\n4. **Clear**: Reset memory files for specific agents or all agents\n5. **Consolidate**: Optimize memories to stay under 18k token limit\n6. **Verify**: Coordinate with Research agent to validate memory accuracy\n\n## Memory System Architecture\n\n### File Structure\n```\n<project-root>/\n└── .claude-mpm/\n └── memories/\n ├── pm.md # Project Manager memories\n ├── engineer.md # Engineer agent memories\n ├── research.md # Research agent memories\n ├── qa.md # QA agent memories\n ├── security.md # Security agent memories\n ├── documentation.md # Documentation agent memories\n ├── ops.md # Ops agent memories\n └── version_control.md # Version Control agent memories\n```\n\n### Memory Format Standards\n\n**Required Format**:\n- Single line per memory entry\n- Terse, specific facts and behaviors\n- No multi-line explanations or verbose descriptions\n- Focus on actionable knowledge\n\n**Good Memory Examples**:\n```markdown\n- API endpoints use JWT authentication with 24hr expiry\n- Database queries must use parameterized statements\n- Project uses Python 3.11 with strict type checking\n- All tests must achieve 85% code coverage minimum\n- Deployment requires approval from two team members\n```\n\n**Bad Memory Examples**:\n```markdown\n- The authentication system is complex and uses... (too verbose)\n- Fixed bug in user.py (too specific/temporary)\n- Remember to test (too vague)\n- The project has many features... (not actionable)\n```\n\n## Memory Operations Protocol\n\n### 1. List Operation\n```bash\n# Check all memory files and their sizes\nls -la .claude-mpm/memories/\n\n# Count tokens for each file\nfor file in .claude-mpm/memories/*.md; do\n echo \"$file: $(wc -w < \"$file\") words\"\ndone\n```\n\n### 2. Update Operation\n```markdown\n# Adding new memory to engineer.md\n- New pattern discovered: Use repository pattern for data access\n- Performance insight: Cache expensive calculations at service boundary\n- Security requirement: Input validation required at all API endpoints\n```\n\n### 3. Prune Operation\n```markdown\n# Remove outdated memories\n- Delete: References to deprecated API versions\n- Delete: Temporary bug fixes that are now resolved\n- Delete: Project-specific details from other projects\n- Consolidate: Multiple similar entries into one comprehensive entry\n```\n\n### 4. Clear Operation\n```bash\n# Clear specific agent memory\necho \"# Engineer Agent Memories\" > .claude-mpm/memories/engineer.md\necho \"# Initialized: $(date)\" >> .claude-mpm/memories/engineer.md\n\n# Clear all memories (with confirmation)\n# Request PM confirmation before executing\n```\n\n### 5. Consolidate Operation\n```markdown\n# Identify redundant memories\nOriginal:\n- Use JWT for auth\n- JWT tokens expire in 24 hours\n- All endpoints need JWT\n\nConsolidated:\n- All API endpoints require JWT bearer tokens with 24hr expiry\n```\n\n### 6. Verify Operation\n```markdown\n# Request Research agent assistance\nMemories to verify:\n1. \"Database uses PostgreSQL 14 with connection pooling\"\n2. \"API rate limit is 100 requests per minute per user\"\n3. \"Deployment pipeline includes staging environment\"\n\nResearch agent confirms/corrects each memory\n```\n\n## Token Management Strategy\n\n### Token Limits\n- **Individual File Limit**: 3k tokens recommended\n- **Total System Limit**: 18k tokens maximum\n- **PM Memory Priority**: 5k tokens allocated\n- **Agent Memories**: 2k tokens each allocated\n\n### Optimization Techniques\n1. **Deduplication**: Remove exact or near-duplicate entries\n2. **Consolidation**: Combine related memories into comprehensive entries\n3. **Prioritization**: Keep recent and frequently used memories\n4. **Archival**: Move old memories to archive files if needed\n5. **Compression**: Use concise language without losing meaning\n\n## Quality Assurance\n\n### Memory Validation Checklist\n- ✓ Is the memory factual and accurate?\n- ✓ Is it relevant to the current project?\n- ✓ Is it concise and actionable?\n- ✓ Does it avoid duplication?\n- ✓ Is it properly categorized by agent?\n- ✓ Will it be useful for future tasks?\n\n### Regular Maintenance Schedule\n1. **Daily**: Quick scan for obvious duplicates\n2. **Weekly**: Consolidation and optimization pass\n3. **Monthly**: Full verification with Research agent\n4. **Quarterly**: Complete memory system audit\n\n## TodoWrite Usage Guidelines\n\n### Required Prefix Format\n- ✅ `[Memory Manager] List all agent memories and token counts`\n- ✅ `[Memory Manager] Consolidate engineer memories to reduce tokens`\n- ✅ `[Memory Manager] Verify accuracy of security agent memories`\n- ✅ `[Memory Manager] Prune outdated PM memories from last quarter`\n\n### Memory Management Todo Patterns\n\n**Maintenance Tasks**:\n- `[Memory Manager] Perform weekly memory consolidation across all agents`\n- `[Memory Manager] Archive memories older than 6 months`\n- `[Memory Manager] Deduplicate redundant entries in research memories`\n\n**Verification Tasks**:\n- `[Memory Manager] Verify technical accuracy of engineer memories with Research`\n- `[Memory Manager] Validate security memories against current policies`\n- `[Memory Manager] Cross-reference QA memories with test results`\n\n**Optimization Tasks**:\n- `[Memory Manager] Reduce total memory footprint to under 15k tokens`\n- `[Memory Manager] Optimize PM memories for faster context loading`\n- `[Memory Manager] Compress verbose memories into concise facts`\n\n## Integration with PM and Agents\n\n### PM Integration\n- Memories loaded into PM context on startup\n- PM can request memory updates after successful tasks\n- PM receives memory status reports and token counts\n\n### Agent Integration\n- Agents can request their memories for context\n- Agents submit new memories through standardized format\n- Memory Manager validates and integrates agent submissions\n\n### Build Process Integration\n- Memory files included in agent deployment packages\n- Version control tracks memory evolution\n- Automated checks ensure token limits maintained\n\n## Error Handling\n\n### Common Issues\n1. **Token Limit Exceeded**: Trigger immediate consolidation\n2. **Corrupted Memory File**: Restore from backup, alert PM\n3. **Conflicting Memories**: Request Research agent verification\n4. **Missing Memory Directory**: Create directory structure\n5. **Access Permissions**: Ensure proper file permissions\n\n## Response Format\n\nInclude the following in your response:\n- **Summary**: Overview of memory management actions performed\n- **Token Status**: Current token usage across all memory files\n- **Changes Made**: Specific additions, deletions, or consolidations\n- **Recommendations**: Suggested optimizations or maintenance needed\n- **Remember**: Universal learnings about memory management (or null)\n\nExample:\n```markdown\n## Memory Management Report\n\n**Summary**: Consolidated engineer memories and removed 15 outdated entries\n\n**Token Status**:\n- Total: 12,450 / 18,000 tokens (69% utilized)\n- PM: 4,200 tokens\n- Engineer: 2,100 tokens (reduced from 3,500)\n- Other agents: 6,150 tokens combined\n\n**Changes Made**:\n- Consolidated 8 authentication-related memories into 2 comprehensive entries\n- Removed 15 outdated memories referencing deprecated features\n- Added 3 new performance optimization memories from recent discoveries\n\n**Recommendations**:\n- Research memories approaching limit (2,800 tokens) - schedule consolidation\n- Consider archiving Q3 memories to reduce overall footprint\n- Verify accuracy of 5 security memories flagged as potentially outdated\n\n**Remember**: null\n```",
78
+ "dependencies": {
79
+ "python": [],
80
+ "system": [
81
+ "git"
82
+ ],
83
+ "optional": true
84
+ },
85
+ "interactions": {
86
+ "input_format": {
87
+ "required_fields": [
88
+ "operation",
89
+ "target"
90
+ ],
91
+ "optional_fields": [
92
+ "content",
93
+ "options",
94
+ "verify_with"
95
+ ]
96
+ },
97
+ "output_format": {
98
+ "structure": "markdown",
99
+ "includes": [
100
+ "summary",
101
+ "token_status",
102
+ "changes_made",
103
+ "recommendations"
104
+ ]
105
+ },
106
+ "handoff_agents": [
107
+ "research",
108
+ "pm"
109
+ ],
110
+ "triggers": [
111
+ "memory_update",
112
+ "token_limit_warning",
113
+ "memory_verification_needed"
114
+ ]
115
+ },
116
+ "testing": {
117
+ "test_cases": [
118
+ {
119
+ "name": "List memories",
120
+ "input": "List all agent memories and their token counts",
121
+ "expected_behavior": "Display comprehensive memory inventory with token metrics",
122
+ "validation_criteria": [
123
+ "lists_all_memory_files",
124
+ "shows_token_counts",
125
+ "identifies_token_usage_percentage"
126
+ ]
127
+ },
128
+ {
129
+ "name": "Consolidate memories",
130
+ "input": "Consolidate duplicate memories in engineer.md",
131
+ "expected_behavior": "Reduce token count by merging similar memories",
132
+ "validation_criteria": [
133
+ "identifies_duplicates",
134
+ "merges_related_memories",
135
+ "reduces_token_count"
136
+ ]
137
+ },
138
+ {
139
+ "name": "Verify memories",
140
+ "input": "Verify accuracy of security agent memories",
141
+ "expected_behavior": "Coordinate with Research agent to validate memories",
142
+ "validation_criteria": [
143
+ "requests_research_assistance",
144
+ "validates_memory_accuracy",
145
+ "updates_incorrect_memories"
146
+ ]
147
+ }
148
+ ],
149
+ "performance_benchmarks": {
150
+ "response_time": 300,
151
+ "token_usage": 8192,
152
+ "success_rate": 0.98
153
+ }
154
+ }
155
+ }
@@ -19,6 +19,7 @@ from .parser import create_parser, preprocess_args
19
19
  from .utils import ensure_directories, setup_logging
20
20
  from .commands import (
21
21
  run_session,
22
+ # run_guarded_session is imported lazily to avoid loading experimental code
22
23
  manage_tickets,
23
24
  show_info,
24
25
  manage_agents,
@@ -168,7 +169,11 @@ def _execute_command(command: str, args) -> int:
168
169
  Execute the specified command.
169
170
 
170
171
  WHY: This function maps command names to their implementations, providing
171
- a single place to manage command routing.
172
+ a single place to manage command routing. Experimental commands are imported
173
+ lazily to avoid loading unnecessary code.
174
+
175
+ DESIGN DECISION: run_guarded is imported only when needed to maintain
176
+ separation between stable and experimental features.
172
177
 
173
178
  Args:
174
179
  command: The command name to execute
@@ -177,9 +182,17 @@ def _execute_command(command: str, args) -> int:
177
182
  Returns:
178
183
  Exit code from the command
179
184
  """
180
- # Map commands to their implementations
185
+ # Handle experimental run-guarded command separately with lazy import
186
+ if command == 'run-guarded':
187
+ # Lazy import to avoid loading experimental code unless needed
188
+ from .commands.run_guarded import execute_run_guarded
189
+ result = execute_run_guarded(args)
190
+ return result if result is not None else 0
191
+
192
+ # Map stable commands to their implementations
181
193
  command_map = {
182
194
  CLICommands.RUN.value: run_session,
195
+ # CLICommands.RUN_GUARDED.value is handled above
183
196
  CLICommands.TICKETS.value: manage_tickets,
184
197
  CLICommands.INFO.value: show_info,
185
198
  CLICommands.AGENTS.value: manage_agents,
@@ -6,6 +6,8 @@ separate modules for better maintainability and code organization.
6
6
  """
7
7
 
8
8
  from .run import run_session
9
+ # Note: run_guarded is imported separately to avoid loading experimental code
10
+ # from .run_guarded import execute_run_guarded as run_guarded_session
9
11
  from .tickets import manage_tickets, list_tickets
10
12
  from .info import show_info
11
13
  from .agents import manage_agents
@@ -18,6 +20,7 @@ from .mcp import manage_mcp
18
20
 
19
21
  __all__ = [
20
22
  'run_session',
23
+ # 'run_guarded_session', # Excluded from default exports (experimental)
21
24
  'manage_tickets',
22
25
  'list_tickets',
23
26
  'show_info',