claude-mpm 5.1.9__py3-none-any.whl → 5.4.14__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of claude-mpm might be problematic. Click here for more details.

Files changed (162) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/__init__.py +4 -0
  3. claude_mpm/agents/PM_INSTRUCTIONS.md +85 -0
  4. claude_mpm/agents/agent_loader.py +13 -44
  5. claude_mpm/agents/templates/circuit-breakers.md +138 -1
  6. claude_mpm/cli/__main__.py +4 -0
  7. claude_mpm/cli/commands/agent_state_manager.py +8 -17
  8. claude_mpm/cli/commands/auto_configure.py +210 -25
  9. claude_mpm/cli/commands/config.py +88 -2
  10. claude_mpm/cli/commands/configure.py +1097 -158
  11. claude_mpm/cli/commands/configure_agent_display.py +15 -6
  12. claude_mpm/cli/commands/mpm_init/core.py +160 -46
  13. claude_mpm/cli/commands/mpm_init/knowledge_extractor.py +481 -0
  14. claude_mpm/cli/commands/mpm_init/prompts.py +280 -0
  15. claude_mpm/cli/commands/skills.py +21 -2
  16. claude_mpm/cli/commands/summarize.py +413 -0
  17. claude_mpm/cli/executor.py +11 -3
  18. claude_mpm/cli/parsers/base_parser.py +5 -0
  19. claude_mpm/cli/parsers/config_parser.py +153 -83
  20. claude_mpm/cli/parsers/skills_parser.py +3 -2
  21. claude_mpm/cli/startup.py +333 -89
  22. claude_mpm/commands/mpm-config.md +266 -0
  23. claude_mpm/commands/{mpm-ticket-organize.md → mpm-organize.md} +4 -5
  24. claude_mpm/config/agent_sources.py +27 -0
  25. claude_mpm/core/framework/formatters/content_formatter.py +3 -13
  26. claude_mpm/core/framework/loaders/agent_loader.py +8 -5
  27. claude_mpm/core/framework_loader.py +4 -2
  28. claude_mpm/core/logger.py +13 -0
  29. claude_mpm/core/socketio_pool.py +3 -3
  30. claude_mpm/core/unified_agent_registry.py +5 -15
  31. claude_mpm/hooks/claude_hooks/correlation_manager.py +60 -0
  32. claude_mpm/hooks/claude_hooks/event_handlers.py +206 -78
  33. claude_mpm/hooks/claude_hooks/hook_handler.py +6 -0
  34. claude_mpm/hooks/claude_hooks/installer.py +33 -10
  35. claude_mpm/hooks/claude_hooks/memory_integration.py +26 -9
  36. claude_mpm/hooks/claude_hooks/response_tracking.py +2 -3
  37. claude_mpm/hooks/claude_hooks/services/connection_manager.py +4 -0
  38. claude_mpm/hooks/memory_integration_hook.py +46 -1
  39. claude_mpm/init.py +0 -19
  40. claude_mpm/scripts/claude-hook-handler.sh +58 -18
  41. claude_mpm/scripts/launch_monitor.py +93 -13
  42. claude_mpm/services/agents/agent_recommendation_service.py +278 -0
  43. claude_mpm/services/agents/agent_review_service.py +280 -0
  44. claude_mpm/services/agents/deployment/agent_discovery_service.py +2 -3
  45. claude_mpm/services/agents/deployment/agent_template_builder.py +4 -2
  46. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +78 -9
  47. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +335 -53
  48. claude_mpm/services/agents/git_source_manager.py +34 -0
  49. claude_mpm/services/agents/loading/base_agent_manager.py +1 -13
  50. claude_mpm/services/agents/sources/git_source_sync_service.py +8 -1
  51. claude_mpm/services/agents/toolchain_detector.py +10 -6
  52. claude_mpm/services/analysis/__init__.py +11 -1
  53. claude_mpm/services/analysis/clone_detector.py +1030 -0
  54. claude_mpm/services/command_deployment_service.py +71 -10
  55. claude_mpm/services/event_bus/config.py +3 -1
  56. claude_mpm/services/git/git_operations_service.py +93 -8
  57. claude_mpm/services/monitor/daemon.py +9 -2
  58. claude_mpm/services/monitor/daemon_manager.py +39 -3
  59. claude_mpm/services/monitor/server.py +225 -19
  60. claude_mpm/services/self_upgrade_service.py +120 -12
  61. claude_mpm/services/skills/__init__.py +3 -0
  62. claude_mpm/services/skills/git_skill_source_manager.py +32 -2
  63. claude_mpm/services/skills/selective_skill_deployer.py +230 -0
  64. claude_mpm/services/skills/skill_to_agent_mapper.py +406 -0
  65. claude_mpm/services/skills_deployer.py +64 -3
  66. claude_mpm/services/socketio/event_normalizer.py +15 -1
  67. claude_mpm/services/socketio/server/core.py +160 -21
  68. claude_mpm/services/version_control/git_operations.py +103 -0
  69. claude_mpm/utils/agent_filters.py +17 -44
  70. {claude_mpm-5.1.9.dist-info → claude_mpm-5.4.14.dist-info}/METADATA +47 -84
  71. {claude_mpm-5.1.9.dist-info → claude_mpm-5.4.14.dist-info}/RECORD +76 -150
  72. claude_mpm-5.4.14.dist-info/entry_points.txt +5 -0
  73. claude_mpm-5.4.14.dist-info/licenses/LICENSE +94 -0
  74. claude_mpm-5.4.14.dist-info/licenses/LICENSE-FAQ.md +153 -0
  75. claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -292
  76. claude_mpm/agents/BASE_DOCUMENTATION.md +0 -53
  77. claude_mpm/agents/BASE_ENGINEER.md +0 -658
  78. claude_mpm/agents/BASE_OPS.md +0 -219
  79. claude_mpm/agents/BASE_PM.md +0 -480
  80. claude_mpm/agents/BASE_PROMPT_ENGINEER.md +0 -787
  81. claude_mpm/agents/BASE_QA.md +0 -167
  82. claude_mpm/agents/BASE_RESEARCH.md +0 -53
  83. claude_mpm/agents/base_agent.json +0 -31
  84. claude_mpm/agents/base_agent_loader.py +0 -601
  85. claude_mpm/cli/ticket_cli.py +0 -35
  86. claude_mpm/commands/mpm-config-view.md +0 -150
  87. claude_mpm/dashboard/analysis_runner.py +0 -455
  88. claude_mpm/dashboard/index.html +0 -13
  89. claude_mpm/dashboard/open_dashboard.py +0 -66
  90. claude_mpm/dashboard/static/css/activity.css +0 -1958
  91. claude_mpm/dashboard/static/css/connection-status.css +0 -370
  92. claude_mpm/dashboard/static/css/dashboard.css +0 -4701
  93. claude_mpm/dashboard/static/js/components/activity-tree.js +0 -1871
  94. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -777
  95. claude_mpm/dashboard/static/js/components/agent-inference.js +0 -956
  96. claude_mpm/dashboard/static/js/components/build-tracker.js +0 -333
  97. claude_mpm/dashboard/static/js/components/code-simple.js +0 -857
  98. claude_mpm/dashboard/static/js/components/connection-debug.js +0 -654
  99. claude_mpm/dashboard/static/js/components/diff-viewer.js +0 -891
  100. claude_mpm/dashboard/static/js/components/event-processor.js +0 -542
  101. claude_mpm/dashboard/static/js/components/event-viewer.js +0 -1155
  102. claude_mpm/dashboard/static/js/components/export-manager.js +0 -368
  103. claude_mpm/dashboard/static/js/components/file-change-tracker.js +0 -443
  104. claude_mpm/dashboard/static/js/components/file-change-viewer.js +0 -690
  105. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -724
  106. claude_mpm/dashboard/static/js/components/file-viewer.js +0 -580
  107. claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -211
  108. claude_mpm/dashboard/static/js/components/hud-manager.js +0 -671
  109. claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -1718
  110. claude_mpm/dashboard/static/js/components/module-viewer.js +0 -2764
  111. claude_mpm/dashboard/static/js/components/session-manager.js +0 -579
  112. claude_mpm/dashboard/static/js/components/socket-manager.js +0 -368
  113. claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -749
  114. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -1824
  115. claude_mpm/dashboard/static/js/components/working-directory.js +0 -920
  116. claude_mpm/dashboard/static/js/connection-manager.js +0 -536
  117. claude_mpm/dashboard/static/js/dashboard.js +0 -1914
  118. claude_mpm/dashboard/static/js/extension-error-handler.js +0 -164
  119. claude_mpm/dashboard/static/js/socket-client.js +0 -1474
  120. claude_mpm/dashboard/static/js/tab-isolation-fix.js +0 -185
  121. claude_mpm/dashboard/static/socket.io.min.js +0 -7
  122. claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +0 -7
  123. claude_mpm/dashboard/templates/code_simple.html +0 -153
  124. claude_mpm/dashboard/templates/index.html +0 -606
  125. claude_mpm/dashboard/test_dashboard.html +0 -372
  126. claude_mpm/scripts/mcp_server.py +0 -75
  127. claude_mpm/scripts/mcp_wrapper.py +0 -39
  128. claude_mpm/services/mcp_gateway/__init__.py +0 -159
  129. claude_mpm/services/mcp_gateway/auto_configure.py +0 -369
  130. claude_mpm/services/mcp_gateway/config/__init__.py +0 -17
  131. claude_mpm/services/mcp_gateway/config/config_loader.py +0 -296
  132. claude_mpm/services/mcp_gateway/config/config_schema.py +0 -243
  133. claude_mpm/services/mcp_gateway/config/configuration.py +0 -429
  134. claude_mpm/services/mcp_gateway/core/__init__.py +0 -43
  135. claude_mpm/services/mcp_gateway/core/base.py +0 -312
  136. claude_mpm/services/mcp_gateway/core/exceptions.py +0 -253
  137. claude_mpm/services/mcp_gateway/core/interfaces.py +0 -443
  138. claude_mpm/services/mcp_gateway/core/process_pool.py +0 -977
  139. claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -315
  140. claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -316
  141. claude_mpm/services/mcp_gateway/main.py +0 -589
  142. claude_mpm/services/mcp_gateway/registry/__init__.py +0 -12
  143. claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -412
  144. claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -489
  145. claude_mpm/services/mcp_gateway/server/__init__.py +0 -15
  146. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -414
  147. claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -372
  148. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -712
  149. claude_mpm/services/mcp_gateway/tools/__init__.py +0 -36
  150. claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -485
  151. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -789
  152. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +0 -654
  153. claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -456
  154. claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -551
  155. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +0 -555
  156. claude_mpm/services/mcp_gateway/utils/__init__.py +0 -14
  157. claude_mpm/services/mcp_gateway/utils/package_version_checker.py +0 -160
  158. claude_mpm/services/mcp_gateway/utils/update_preferences.py +0 -170
  159. claude_mpm-5.1.9.dist-info/entry_points.txt +0 -10
  160. claude_mpm-5.1.9.dist-info/licenses/LICENSE +0 -21
  161. {claude_mpm-5.1.9.dist-info → claude_mpm-5.4.14.dist-info}/WHEEL +0 -0
  162. {claude_mpm-5.1.9.dist-info → claude_mpm-5.4.14.dist-info}/top_level.txt +0 -0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 5.1.9
3
+ Version: 5.4.14
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
7
- License: MIT
7
+ License: Elastic-2.0
8
8
  Project-URL: Homepage, https://github.com/bobmatnyc/claude-mpm
9
9
  Project-URL: Repository, https://github.com/bobmatnyc/claude-mpm.git
10
10
  Project-URL: Issues, https://github.com/bobmatnyc/claude-mpm/issues
@@ -12,6 +12,7 @@ Project-URL: Documentation, https://github.com/bobmatnyc/claude-mpm/blob/main/RE
12
12
  Keywords: claude,orchestration,multi-agent,ticket-management
13
13
  Classifier: Development Status :: 3 - Alpha
14
14
  Classifier: Intended Audience :: Developers
15
+ Classifier: License :: Other/Proprietary License
15
16
  Classifier: Programming Language :: Python :: 3
16
17
  Classifier: Programming Language :: Python :: 3.11
17
18
  Classifier: Programming Language :: Python :: 3.12
@@ -19,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.13
19
20
  Requires-Python: >=3.11
20
21
  Description-Content-Type: text/markdown
21
22
  License-File: LICENSE
23
+ License-File: LICENSE-FAQ.md
22
24
  Requires-Dist: ai-trackdown-pytools>=1.4.0
23
25
  Requires-Dist: pyyaml>=6.0
24
26
  Requires-Dist: python-dotenv>=0.19.0
@@ -63,7 +65,6 @@ Requires-Dist: pre-commit; extra == "dev"
63
65
  Requires-Dist: mypy>=1.0.0; extra == "dev"
64
66
  Requires-Dist: types-PyYAML>=6.0.0; extra == "dev"
65
67
  Requires-Dist: types-requests>=2.25.0; extra == "dev"
66
- Requires-Dist: twine>=4.0.0; extra == "dev"
67
68
  Provides-Extra: eval
68
69
  Requires-Dist: deepeval>=1.0.0; extra == "eval"
69
70
  Requires-Dist: pytest>=7.4.0; extra == "eval"
@@ -80,80 +81,6 @@ Requires-Dist: aiohttp-cors<0.8.0,>=0.7.0; extra == "monitor"
80
81
  Requires-Dist: python-engineio>=4.8.0; extra == "monitor"
81
82
  Requires-Dist: aiofiles>=23.0.0; extra == "monitor"
82
83
  Requires-Dist: websockets>=12.0; extra == "monitor"
83
- Provides-Extra: agents
84
- Requires-Dist: alembic>=1.13.0; extra == "agents"
85
- Requires-Dist: astroid>=3.0.0; extra == "agents"
86
- Requires-Dist: axe-selenium-python>=2.1.0; extra == "agents"
87
- Requires-Dist: bandit>=1.7.5; extra == "agents"
88
- Requires-Dist: beautifulsoup4>=4.12.0; extra == "agents"
89
- Requires-Dist: black>=24.0.0; extra == "agents"
90
- Requires-Dist: click>=8.1.0; extra == "agents"
91
- Requires-Dist: commitizen>=3.13.0; extra == "agents"
92
- Requires-Dist: coverage>=7.0.0; extra == "agents"
93
- Requires-Dist: csvkit>=1.3.0; extra == "agents"
94
- Requires-Dist: dask>=2023.12.0; extra == "agents"
95
- Requires-Dist: detect-secrets>=1.4.0; extra == "agents"
96
- Requires-Dist: diagrams>=0.23.0; extra == "agents"
97
- Requires-Dist: docstring-parser>=0.15.0; extra == "agents"
98
- Requires-Dist: faker>=20.0.0; extra == "agents"
99
- Requires-Dist: flake8>=7.0.0; extra == "agents"
100
- Requires-Dist: gitlint>=0.19.0; extra == "agents"
101
- Requires-Dist: gitpython>=3.1.40; extra == "agents"
102
- Requires-Dist: google-auth>=2.0.0; extra == "agents"
103
- Requires-Dist: google-cloud-core>=2.0.0; extra == "agents"
104
- Requires-Dist: hypothesis>=6.98.0; extra == "agents"
105
- Requires-Dist: isort>=5.13.0; extra == "agents"
106
- Requires-Dist: jinja2>=3.1.0; extra == "agents"
107
- Requires-Dist: jsonschema>=4.19.0; extra == "agents"
108
- Requires-Dist: libcst>=1.1.0; extra == "agents"
109
- Requires-Dist: lizard>=1.17.0; extra == "agents"
110
- Requires-Dist: lxml>=4.9.0; extra == "agents"
111
- Requires-Dist: mermaid-py>=0.2.0; extra == "agents"
112
- Requires-Dist: mkdocs>=1.5.0; extra == "agents"
113
- Requires-Dist: mutmut>=2.4.0; extra == "agents"
114
- Requires-Dist: mypy>=1.8.0; extra == "agents"
115
- Requires-Dist: numpy>=1.24.0; extra == "agents"
116
- Requires-Dist: openpyxl>=3.1.0; extra == "agents"
117
- Requires-Dist: pandas>=2.1.0; extra == "agents"
118
- Requires-Dist: pathlib; extra == "agents"
119
- Requires-Dist: pillow>=9.0.0; extra == "agents"
120
- Requires-Dist: playwright>=1.40.0; extra == "agents"
121
- Requires-Dist: polars>=0.19.0; extra == "agents"
122
- Requires-Dist: pre-commit>=3.5.0; extra == "agents"
123
- Requires-Dist: prometheus-client>=0.19.0; extra == "agents"
124
- Requires-Dist: psycopg2-binary>=2.9.0; extra == "agents"
125
- Requires-Dist: pyarrow>=14.0.0; extra == "agents"
126
- Requires-Dist: pydantic>=2.6.0; extra == "agents"
127
- Requires-Dist: pydriller>=2.5.0; extra == "agents"
128
- Requires-Dist: pygments>=2.17.0; extra == "agents"
129
- Requires-Dist: pyjwt>=2.8.0; extra == "agents"
130
- Requires-Dist: pylint>=3.0.0; extra == "agents"
131
- Requires-Dist: pymongo>=4.5.0; extra == "agents"
132
- Requires-Dist: pymysql>=1.1.0; extra == "agents"
133
- Requires-Dist: pytest>=8.0.0; extra == "agents"
134
- Requires-Dist: pytest-asyncio>=0.23.0; extra == "agents"
135
- Requires-Dist: pytest-benchmark>=4.0.0; extra == "agents"
136
- Requires-Dist: pytest-cov>=4.1.0; extra == "agents"
137
- Requires-Dist: python-dateutil>=2.8.0; extra == "agents"
138
- Requires-Dist: pyyaml>=6.0; extra == "agents"
139
- Requires-Dist: radon>=6.0.0; extra == "agents"
140
- Requires-Dist: redis>=5.0.0; extra == "agents"
141
- Requires-Dist: requests>=2.31.0; extra == "agents"
142
- Requires-Dist: rich>=13.0.0; extra == "agents"
143
- Requires-Dist: rope>=1.11.0; extra == "agents"
144
- Requires-Dist: safety>=3.0.0; extra == "agents"
145
- Requires-Dist: semantic-version>=2.10.0; extra == "agents"
146
- Requires-Dist: semgrep>=1.45.0; extra == "agents"
147
- Requires-Dist: sphinx>=7.2.0; extra == "agents"
148
- Requires-Dist: sqlalchemy>=2.0.0; extra == "agents"
149
- Requires-Dist: sqlparse>=0.4.4; extra == "agents"
150
- Requires-Dist: tabulate>=0.9.0; extra == "agents"
151
- Requires-Dist: tree-sitter>=0.21.0; extra == "agents"
152
- Requires-Dist: vaex>=4.17.0; extra == "agents"
153
- Requires-Dist: validators>=0.20.0; extra == "agents"
154
- Requires-Dist: xlrd>=2.0.0; extra == "agents"
155
- Requires-Dist: xlsxwriter>=3.1.0; extra == "agents"
156
- Requires-Dist: xlwt>=1.3.0; extra == "agents"
157
84
  Provides-Extra: data-processing
158
85
  Requires-Dist: pandas>=2.1.0; extra == "data-processing"
159
86
  Requires-Dist: openpyxl>=3.1.0; extra == "data-processing"
@@ -174,8 +101,6 @@ Requires-Dist: pymongo>=4.5.0; extra == "data-processing"
174
101
  Requires-Dist: redis>=5.0.0; extra == "data-processing"
175
102
  Requires-Dist: beautifulsoup4>=4.12.0; extra == "data-processing"
176
103
  Requires-Dist: jsonschema>=4.19.0; extra == "data-processing"
177
- Provides-Extra: agents-load-testing
178
- Requires-Dist: locust>=2.15.0; extra == "agents-load-testing"
179
104
  Dynamic: license-file
180
105
 
181
106
  # Claude MPM - Multi-Agent Project Manager
@@ -321,17 +246,28 @@ claude --version
321
246
  # Basic installation
322
247
  pip install claude-mpm
323
248
 
249
+ # Or with uv (faster)
250
+ uv tool install claude-mpm
251
+
324
252
  # Install with monitoring dashboard (recommended)
325
253
  pip install "claude-mpm[monitor]"
254
+ uv tool install "claude-mpm[monitor]"
326
255
  ```
327
256
 
328
- Or with pipx (recommended for isolated installation):
257
+ Or with pipx/uvx (recommended for isolated installation):
329
258
  ```bash
330
259
  # Basic installation
331
260
  pipx install claude-mpm
332
261
 
262
+ # Or with uv tool (permanent installation)
263
+ uv tool install claude-mpm
264
+
265
+ # Or with uvx (one-off execution)
266
+ uvx claude-mpm
267
+
333
268
  # Install with monitoring dashboard (recommended)
334
269
  pipx install "claude-mpm[monitor]"
270
+ uv tool install "claude-mpm[monitor]"
335
271
  ```
336
272
 
337
273
  ### Verify Installation
@@ -383,6 +319,8 @@ Claude MPM works excellently with these complementary MCP tools. While optional,
383
319
  **Installation:**
384
320
  ```bash
385
321
  pipx install kuzu-memory
322
+ # Or with uv
323
+ uv tool install kuzu-memory
386
324
  ```
387
325
 
388
326
  **Benefits with Claude MPM:**
@@ -405,6 +343,8 @@ pipx install kuzu-memory
405
343
  **Installation:**
406
344
  ```bash
407
345
  pipx install mcp-vector-search
346
+ # Or with uv
347
+ uv tool install mcp-vector-search
408
348
  ```
409
349
 
410
350
  **Benefits with Claude MPM:**
@@ -429,6 +369,10 @@ Install both recommended tools in one go:
429
369
  ```bash
430
370
  pipx install kuzu-memory
431
371
  pipx install mcp-vector-search
372
+
373
+ # Or with uv
374
+ uv tool install kuzu-memory
375
+ uv tool install mcp-vector-search
432
376
  ```
433
377
 
434
378
  Then verify they're working:
@@ -791,7 +735,19 @@ Claude MPM includes 15 specialized agents:
791
735
  - **Code Analyzer** - Static code analysis with AST and tree-sitter
792
736
 
793
737
  ### Agent Memory System
794
- 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`.
738
+
739
+ **NEW in v5.4.13**: Runtime memory loading for instant updates and better efficiency.
740
+
741
+ **How It Works:**
742
+ - **Memory Files**: Store agent memories in `.claude-mpm/memories/{agent_id}.md` (e.g., `engineer.md`, `qa.md`)
743
+ - **Runtime Loading**: Memories loaded dynamically when agents are delegated to (no restart required)
744
+ - **Instant Updates**: Memory changes take effect immediately
745
+ - **Event Observability**: Memory loading tracked via EventBus (`agent.memory.loaded` events)
746
+
747
+ **Memory Format:**
748
+ Agents learn project-specific patterns using a simple markdown list format and can update memories via JSON response fields (`remember` for incremental updates, `MEMORIES` for complete replacement).
749
+
750
+ **See:** [Memory Flow Architecture](docs/architecture/memory-flow.md) for complete technical details.
795
751
 
796
752
  ### Skills System
797
753
 
@@ -990,6 +946,16 @@ See [docs/reference/MEMORY.md](docs/reference/MEMORY.md) and [docs/developer/11-
990
946
 
991
947
  See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/user/MIGRATION.md](docs/user/MIGRATION.md) for upgrade instructions.
992
948
 
949
+ ## 📜 License
950
+
951
+ [![License](https://img.shields.io/badge/License-Elastic_2.0-blue.svg)](LICENSE)
952
+
953
+ Licensed under the [Elastic License 2.0](LICENSE) - free for internal use and commercial products.
954
+
955
+ **Main restriction:** Cannot offer as a hosted SaaS service without a commercial license.
956
+
957
+ 📖 [Licensing FAQ](LICENSE-FAQ.md) | 💼 Commercial licensing: bob@matsuoka.com
958
+
993
959
  ## Development
994
960
 
995
961
  ### Quick Development Setup
@@ -1023,9 +989,6 @@ Contributions are welcome! Please see our [project structure guide](docs/referen
1023
989
  ### Project Structure
1024
990
  See [docs/reference/STRUCTURE.md](docs/reference/STRUCTURE.md) for codebase organization.
1025
991
 
1026
- ### License
1027
- MIT License - see [LICENSE](LICENSE) file.
1028
-
1029
992
  ## Credits
1030
993
 
1031
994
  - Based on [claude-multiagent-pm](https://github.com/kfsone/claude-multiagent-pm)