claude-mpm 4.7.4__py3-none-any.whl → 4.18.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_AGENT_TEMPLATE.md +118 -0
  3. claude_mpm/agents/BASE_ENGINEER.md +286 -0
  4. claude_mpm/agents/BASE_PM.md +106 -1
  5. claude_mpm/agents/OUTPUT_STYLE.md +329 -11
  6. claude_mpm/agents/PM_INSTRUCTIONS.md +397 -459
  7. claude_mpm/agents/agent_loader.py +17 -5
  8. claude_mpm/agents/frontmatter_validator.py +284 -253
  9. claude_mpm/agents/templates/README.md +465 -0
  10. claude_mpm/agents/templates/agent-manager.json +4 -1
  11. claude_mpm/agents/templates/agentic-coder-optimizer.json +13 -3
  12. claude_mpm/agents/templates/api_qa.json +11 -2
  13. claude_mpm/agents/templates/circuit_breakers.md +638 -0
  14. claude_mpm/agents/templates/clerk-ops.json +12 -2
  15. claude_mpm/agents/templates/code_analyzer.json +8 -2
  16. claude_mpm/agents/templates/content-agent.json +358 -0
  17. claude_mpm/agents/templates/dart_engineer.json +15 -2
  18. claude_mpm/agents/templates/data_engineer.json +15 -2
  19. claude_mpm/agents/templates/documentation.json +10 -2
  20. claude_mpm/agents/templates/engineer.json +21 -1
  21. claude_mpm/agents/templates/gcp_ops_agent.json +12 -2
  22. claude_mpm/agents/templates/git_file_tracking.md +584 -0
  23. claude_mpm/agents/templates/golang_engineer.json +270 -0
  24. claude_mpm/agents/templates/imagemagick.json +4 -1
  25. claude_mpm/agents/templates/java_engineer.json +346 -0
  26. claude_mpm/agents/templates/local_ops_agent.json +1227 -6
  27. claude_mpm/agents/templates/memory_manager.json +4 -1
  28. claude_mpm/agents/templates/nextjs_engineer.json +141 -133
  29. claude_mpm/agents/templates/ops.json +12 -2
  30. claude_mpm/agents/templates/php-engineer.json +270 -174
  31. claude_mpm/agents/templates/pm_examples.md +474 -0
  32. claude_mpm/agents/templates/pm_red_flags.md +240 -0
  33. claude_mpm/agents/templates/product_owner.json +338 -0
  34. claude_mpm/agents/templates/project_organizer.json +14 -4
  35. claude_mpm/agents/templates/prompt-engineer.json +13 -2
  36. claude_mpm/agents/templates/python_engineer.json +174 -81
  37. claude_mpm/agents/templates/qa.json +11 -2
  38. claude_mpm/agents/templates/react_engineer.json +16 -3
  39. claude_mpm/agents/templates/refactoring_engineer.json +12 -2
  40. claude_mpm/agents/templates/research.json +34 -21
  41. claude_mpm/agents/templates/response_format.md +583 -0
  42. claude_mpm/agents/templates/ruby-engineer.json +129 -192
  43. claude_mpm/agents/templates/rust_engineer.json +270 -0
  44. claude_mpm/agents/templates/security.json +10 -2
  45. claude_mpm/agents/templates/svelte-engineer.json +225 -0
  46. claude_mpm/agents/templates/ticketing.json +10 -2
  47. claude_mpm/agents/templates/typescript_engineer.json +116 -125
  48. claude_mpm/agents/templates/validation_templates.md +312 -0
  49. claude_mpm/agents/templates/vercel_ops_agent.json +12 -2
  50. claude_mpm/agents/templates/version_control.json +12 -2
  51. claude_mpm/agents/templates/web_qa.json +11 -2
  52. claude_mpm/agents/templates/web_ui.json +15 -2
  53. claude_mpm/cli/__init__.py +34 -614
  54. claude_mpm/cli/commands/agent_manager.py +25 -12
  55. claude_mpm/cli/commands/agent_state_manager.py +186 -0
  56. claude_mpm/cli/commands/agents.py +235 -148
  57. claude_mpm/cli/commands/agents_detect.py +380 -0
  58. claude_mpm/cli/commands/agents_recommend.py +309 -0
  59. claude_mpm/cli/commands/aggregate.py +7 -3
  60. claude_mpm/cli/commands/analyze.py +9 -4
  61. claude_mpm/cli/commands/analyze_code.py +7 -2
  62. claude_mpm/cli/commands/auto_configure.py +570 -0
  63. claude_mpm/cli/commands/config.py +47 -13
  64. claude_mpm/cli/commands/configure.py +419 -1571
  65. claude_mpm/cli/commands/configure_agent_display.py +261 -0
  66. claude_mpm/cli/commands/configure_behavior_manager.py +204 -0
  67. claude_mpm/cli/commands/configure_hook_manager.py +225 -0
  68. claude_mpm/cli/commands/configure_models.py +18 -0
  69. claude_mpm/cli/commands/configure_navigation.py +167 -0
  70. claude_mpm/cli/commands/configure_paths.py +104 -0
  71. claude_mpm/cli/commands/configure_persistence.py +254 -0
  72. claude_mpm/cli/commands/configure_startup_manager.py +646 -0
  73. claude_mpm/cli/commands/configure_template_editor.py +497 -0
  74. claude_mpm/cli/commands/configure_validators.py +73 -0
  75. claude_mpm/cli/commands/local_deploy.py +537 -0
  76. claude_mpm/cli/commands/memory.py +54 -20
  77. claude_mpm/cli/commands/mpm_init.py +585 -196
  78. claude_mpm/cli/commands/mpm_init_handler.py +37 -3
  79. claude_mpm/cli/commands/search.py +170 -4
  80. claude_mpm/cli/commands/upgrade.py +152 -0
  81. claude_mpm/cli/executor.py +202 -0
  82. claude_mpm/cli/helpers.py +105 -0
  83. claude_mpm/cli/interactive/__init__.py +3 -0
  84. claude_mpm/cli/interactive/skills_wizard.py +491 -0
  85. claude_mpm/cli/parsers/__init__.py +7 -1
  86. claude_mpm/cli/parsers/agents_parser.py +9 -0
  87. claude_mpm/cli/parsers/auto_configure_parser.py +245 -0
  88. claude_mpm/cli/parsers/base_parser.py +110 -3
  89. claude_mpm/cli/parsers/local_deploy_parser.py +227 -0
  90. claude_mpm/cli/parsers/mpm_init_parser.py +65 -5
  91. claude_mpm/cli/shared/output_formatters.py +28 -19
  92. claude_mpm/cli/startup.py +481 -0
  93. claude_mpm/cli/utils.py +52 -1
  94. claude_mpm/commands/mpm-agents-detect.md +168 -0
  95. claude_mpm/commands/mpm-agents-recommend.md +214 -0
  96. claude_mpm/commands/mpm-agents.md +75 -1
  97. claude_mpm/commands/mpm-auto-configure.md +217 -0
  98. claude_mpm/commands/mpm-help.md +163 -0
  99. claude_mpm/commands/mpm-init.md +148 -3
  100. claude_mpm/commands/mpm-version.md +113 -0
  101. claude_mpm/commands/mpm.md +1 -0
  102. claude_mpm/config/agent_config.py +2 -2
  103. claude_mpm/config/model_config.py +428 -0
  104. claude_mpm/constants.py +1 -0
  105. claude_mpm/core/base_service.py +13 -12
  106. claude_mpm/core/enums.py +452 -0
  107. claude_mpm/core/factories.py +1 -1
  108. claude_mpm/core/instruction_reinforcement_hook.py +2 -1
  109. claude_mpm/core/interactive_session.py +9 -3
  110. claude_mpm/core/log_manager.py +2 -0
  111. claude_mpm/core/logging_config.py +6 -2
  112. claude_mpm/core/oneshot_session.py +8 -4
  113. claude_mpm/core/optimized_agent_loader.py +3 -3
  114. claude_mpm/core/output_style_manager.py +12 -192
  115. claude_mpm/core/service_registry.py +5 -1
  116. claude_mpm/core/types.py +2 -9
  117. claude_mpm/core/typing_utils.py +7 -6
  118. claude_mpm/dashboard/static/js/dashboard.js +0 -14
  119. claude_mpm/dashboard/templates/index.html +3 -41
  120. claude_mpm/hooks/__init__.py +20 -0
  121. claude_mpm/hooks/claude_hooks/event_handlers.py +4 -2
  122. claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
  123. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +23 -2
  124. claude_mpm/hooks/failure_learning/__init__.py +60 -0
  125. claude_mpm/hooks/failure_learning/failure_detection_hook.py +235 -0
  126. claude_mpm/hooks/failure_learning/fix_detection_hook.py +217 -0
  127. claude_mpm/hooks/failure_learning/learning_extraction_hook.py +286 -0
  128. claude_mpm/hooks/instruction_reinforcement.py +7 -2
  129. claude_mpm/hooks/kuzu_enrichment_hook.py +263 -0
  130. claude_mpm/hooks/kuzu_memory_hook.py +37 -12
  131. claude_mpm/hooks/kuzu_response_hook.py +183 -0
  132. claude_mpm/models/resume_log.py +340 -0
  133. claude_mpm/services/agents/__init__.py +18 -5
  134. claude_mpm/services/agents/auto_config_manager.py +796 -0
  135. claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
  136. claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
  137. claude_mpm/services/agents/deployment/agent_validator.py +17 -1
  138. claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
  139. claude_mpm/services/agents/deployment/interface_adapter.py +3 -2
  140. claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
  141. claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +7 -6
  142. claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +7 -16
  143. claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +4 -3
  144. claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +5 -3
  145. claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +6 -5
  146. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +9 -6
  147. claude_mpm/services/agents/deployment/validation/__init__.py +3 -1
  148. claude_mpm/services/agents/deployment/validation/validation_result.py +1 -9
  149. claude_mpm/services/agents/local_template_manager.py +1 -1
  150. claude_mpm/services/agents/memory/agent_memory_manager.py +5 -2
  151. claude_mpm/services/agents/observers.py +547 -0
  152. claude_mpm/services/agents/recommender.py +568 -0
  153. claude_mpm/services/agents/registry/modification_tracker.py +5 -2
  154. claude_mpm/services/command_handler_service.py +11 -5
  155. claude_mpm/services/core/__init__.py +33 -1
  156. claude_mpm/services/core/interfaces/__init__.py +90 -3
  157. claude_mpm/services/core/interfaces/agent.py +184 -0
  158. claude_mpm/services/core/interfaces/health.py +172 -0
  159. claude_mpm/services/core/interfaces/model.py +281 -0
  160. claude_mpm/services/core/interfaces/process.py +372 -0
  161. claude_mpm/services/core/interfaces/project.py +121 -0
  162. claude_mpm/services/core/interfaces/restart.py +307 -0
  163. claude_mpm/services/core/interfaces/stability.py +260 -0
  164. claude_mpm/services/core/memory_manager.py +11 -24
  165. claude_mpm/services/core/models/__init__.py +79 -0
  166. claude_mpm/services/core/models/agent_config.py +381 -0
  167. claude_mpm/services/core/models/health.py +162 -0
  168. claude_mpm/services/core/models/process.py +235 -0
  169. claude_mpm/services/core/models/restart.py +302 -0
  170. claude_mpm/services/core/models/stability.py +264 -0
  171. claude_mpm/services/core/models/toolchain.py +306 -0
  172. claude_mpm/services/core/path_resolver.py +23 -7
  173. claude_mpm/services/diagnostics/__init__.py +2 -2
  174. claude_mpm/services/diagnostics/checks/agent_check.py +25 -24
  175. claude_mpm/services/diagnostics/checks/claude_code_check.py +24 -23
  176. claude_mpm/services/diagnostics/checks/common_issues_check.py +25 -24
  177. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -23
  178. claude_mpm/services/diagnostics/checks/filesystem_check.py +18 -17
  179. claude_mpm/services/diagnostics/checks/installation_check.py +30 -29
  180. claude_mpm/services/diagnostics/checks/instructions_check.py +20 -19
  181. claude_mpm/services/diagnostics/checks/mcp_check.py +50 -36
  182. claude_mpm/services/diagnostics/checks/mcp_services_check.py +38 -33
  183. claude_mpm/services/diagnostics/checks/monitor_check.py +23 -22
  184. claude_mpm/services/diagnostics/checks/startup_log_check.py +9 -8
  185. claude_mpm/services/diagnostics/diagnostic_runner.py +6 -5
  186. claude_mpm/services/diagnostics/doctor_reporter.py +28 -25
  187. claude_mpm/services/diagnostics/models.py +19 -24
  188. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -1
  189. claude_mpm/services/infrastructure/monitoring/aggregator.py +12 -12
  190. claude_mpm/services/infrastructure/monitoring/base.py +5 -13
  191. claude_mpm/services/infrastructure/monitoring/network.py +7 -6
  192. claude_mpm/services/infrastructure/monitoring/process.py +13 -12
  193. claude_mpm/services/infrastructure/monitoring/resources.py +7 -6
  194. claude_mpm/services/infrastructure/monitoring/service.py +16 -15
  195. claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
  196. claude_mpm/services/local_ops/__init__.py +163 -0
  197. claude_mpm/services/local_ops/crash_detector.py +257 -0
  198. claude_mpm/services/local_ops/health_checks/__init__.py +28 -0
  199. claude_mpm/services/local_ops/health_checks/http_check.py +224 -0
  200. claude_mpm/services/local_ops/health_checks/process_check.py +236 -0
  201. claude_mpm/services/local_ops/health_checks/resource_check.py +255 -0
  202. claude_mpm/services/local_ops/health_manager.py +430 -0
  203. claude_mpm/services/local_ops/log_monitor.py +396 -0
  204. claude_mpm/services/local_ops/memory_leak_detector.py +294 -0
  205. claude_mpm/services/local_ops/process_manager.py +595 -0
  206. claude_mpm/services/local_ops/resource_monitor.py +331 -0
  207. claude_mpm/services/local_ops/restart_manager.py +401 -0
  208. claude_mpm/services/local_ops/restart_policy.py +387 -0
  209. claude_mpm/services/local_ops/state_manager.py +372 -0
  210. claude_mpm/services/local_ops/unified_manager.py +600 -0
  211. claude_mpm/services/mcp_config_manager.py +9 -4
  212. claude_mpm/services/mcp_gateway/core/__init__.py +1 -2
  213. claude_mpm/services/mcp_gateway/core/base.py +18 -31
  214. claude_mpm/services/mcp_gateway/main.py +30 -0
  215. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +206 -32
  216. claude_mpm/services/mcp_gateway/tools/health_check_tool.py +30 -28
  217. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +25 -5
  218. claude_mpm/services/mcp_service_verifier.py +1 -1
  219. claude_mpm/services/memory/failure_tracker.py +563 -0
  220. claude_mpm/services/memory_hook_service.py +165 -4
  221. claude_mpm/services/model/__init__.py +147 -0
  222. claude_mpm/services/model/base_provider.py +365 -0
  223. claude_mpm/services/model/claude_provider.py +412 -0
  224. claude_mpm/services/model/model_router.py +453 -0
  225. claude_mpm/services/model/ollama_provider.py +415 -0
  226. claude_mpm/services/monitor/daemon_manager.py +3 -2
  227. claude_mpm/services/monitor/handlers/dashboard.py +2 -1
  228. claude_mpm/services/monitor/handlers/hooks.py +2 -1
  229. claude_mpm/services/monitor/management/lifecycle.py +3 -2
  230. claude_mpm/services/monitor/server.py +2 -1
  231. claude_mpm/services/project/__init__.py +23 -0
  232. claude_mpm/services/project/detection_strategies.py +719 -0
  233. claude_mpm/services/project/toolchain_analyzer.py +581 -0
  234. claude_mpm/services/self_upgrade_service.py +342 -0
  235. claude_mpm/services/session_management_service.py +3 -2
  236. claude_mpm/services/session_manager.py +205 -1
  237. claude_mpm/services/shared/async_service_base.py +16 -27
  238. claude_mpm/services/shared/lifecycle_service_base.py +1 -14
  239. claude_mpm/services/socketio/handlers/__init__.py +5 -2
  240. claude_mpm/services/socketio/handlers/hook.py +13 -2
  241. claude_mpm/services/socketio/handlers/registry.py +4 -2
  242. claude_mpm/services/socketio/server/main.py +10 -8
  243. claude_mpm/services/subprocess_launcher_service.py +14 -5
  244. claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +8 -7
  245. claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +6 -5
  246. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +8 -7
  247. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +7 -6
  248. claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +5 -4
  249. claude_mpm/services/unified/config_strategies/validation_strategy.py +13 -9
  250. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +10 -3
  251. claude_mpm/services/unified/deployment_strategies/local.py +6 -5
  252. claude_mpm/services/unified/deployment_strategies/utils.py +6 -5
  253. claude_mpm/services/unified/deployment_strategies/vercel.py +7 -6
  254. claude_mpm/services/unified/interfaces.py +3 -1
  255. claude_mpm/services/unified/unified_analyzer.py +14 -10
  256. claude_mpm/services/unified/unified_config.py +2 -1
  257. claude_mpm/services/unified/unified_deployment.py +9 -4
  258. claude_mpm/services/version_service.py +104 -1
  259. claude_mpm/skills/__init__.py +21 -0
  260. claude_mpm/skills/bundled/__init__.py +6 -0
  261. claude_mpm/skills/bundled/api-documentation.md +393 -0
  262. claude_mpm/skills/bundled/async-testing.md +571 -0
  263. claude_mpm/skills/bundled/code-review.md +143 -0
  264. claude_mpm/skills/bundled/database-migration.md +199 -0
  265. claude_mpm/skills/bundled/docker-containerization.md +194 -0
  266. claude_mpm/skills/bundled/express-local-dev.md +1429 -0
  267. claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
  268. claude_mpm/skills/bundled/git-workflow.md +414 -0
  269. claude_mpm/skills/bundled/imagemagick.md +204 -0
  270. claude_mpm/skills/bundled/json-data-handling.md +223 -0
  271. claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
  272. claude_mpm/skills/bundled/pdf.md +141 -0
  273. claude_mpm/skills/bundled/performance-profiling.md +567 -0
  274. claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
  275. claude_mpm/skills/bundled/security-scanning.md +327 -0
  276. claude_mpm/skills/bundled/systematic-debugging.md +473 -0
  277. claude_mpm/skills/bundled/test-driven-development.md +378 -0
  278. claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
  279. claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
  280. claude_mpm/skills/bundled/xlsx.md +157 -0
  281. claude_mpm/skills/registry.py +286 -0
  282. claude_mpm/skills/skill_manager.py +310 -0
  283. claude_mpm/storage/state_storage.py +15 -15
  284. claude_mpm/tools/code_tree_analyzer.py +177 -141
  285. claude_mpm/tools/code_tree_events.py +4 -2
  286. claude_mpm/utils/agent_dependency_loader.py +40 -20
  287. claude_mpm/utils/display_helper.py +260 -0
  288. claude_mpm/utils/git_analyzer.py +407 -0
  289. claude_mpm/utils/robust_installer.py +73 -19
  290. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/METADATA +129 -12
  291. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/RECORD +295 -193
  292. claude_mpm/dashboard/static/css/code-tree.css +0 -1639
  293. claude_mpm/dashboard/static/index-hub-backup.html +0 -713
  294. claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -353
  295. claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -235
  296. claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -409
  297. claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -435
  298. claude_mpm/dashboard/static/js/components/code-tree.js +0 -5869
  299. claude_mpm/dashboard/static/js/components/code-viewer.js +0 -1386
  300. claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -425
  301. claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -1041
  302. claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -347
  303. claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -575
  304. claude_mpm/services/project/analyzer_refactored.py +0 -450
  305. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/WHEEL +0 -0
  306. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/entry_points.txt +0 -0
  307. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/licenses/LICENSE +0 -0
  308. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,584 @@
1
+ # Git File Tracking Protocol
2
+
3
+ **Version**: 1.0.0
4
+ **Date**: 2025-10-21
5
+ **Parent**: [PM_INSTRUCTIONS.md](../PM_INSTRUCTIONS.md)
6
+ **Purpose**: PM responsibility for tracking all new files created during sessions with proper git context
7
+
8
+ ---
9
+
10
+ ## Table of Contents
11
+
12
+ - [Overview](#overview)
13
+ - [Core Principle](#core-principle)
14
+ - [When Files Are Created](#when-files-are-created)
15
+ - [Tracking Decision Matrix](#tracking-decision-matrix)
16
+ - [PM Verification Checklist](#pm-verification-checklist)
17
+ - [Integration with Git Commit Protocol](#integration-with-git-commit-protocol)
18
+ - [Commit Message Template](#commit-message-template)
19
+ - [Examples](#examples)
20
+ - [Example: Java Engineer Agent](#example-java-engineer-agent)
21
+ - [Example: Test Documentation](#example-test-documentation)
22
+ - [Circuit Breaker Integration](#circuit-breaker-integration)
23
+ - [Why This is PM Responsibility](#why-this-is-pm-responsibility)
24
+ - [Allowed PM Commands](#allowed-pm-commands)
25
+ - [PM Mindset Addition](#pm-mindset-addition)
26
+ - [Session Completion Checklist](#session-completion-checklist)
27
+ - [Red Flags for File Tracking](#red-flags-for-file-tracking)
28
+ - [Edge Cases and Special Considerations](#edge-cases-and-special-considerations)
29
+ - [Quick Reference](#quick-reference)
30
+
31
+ ---
32
+
33
+ ## Overview
34
+
35
+ **CRITICAL MANDATE**: PM MUST verify and track all new files created by agents during sessions.
36
+
37
+ This protocol ensures that:
38
+ - All deliverable work is preserved in version control
39
+ - Files have proper context for future developers
40
+ - Sessions end with clean git state
41
+ - File tracking responsibilities are clearly defined
42
+
43
+ **Key Point**: File tracking is a **PM quality assurance responsibility** and **CANNOT be delegated**. This is verification work, not implementation work.
44
+
45
+ ---
46
+
47
+ ## Core Principle
48
+
49
+ **ANY file created or referenced during a session MUST be tracked in git with proper context** (unless specifically in .gitignore or /tmp/).
50
+
51
+ This is a **PM responsibility** and **CANNOT be delegated**. File tracking is quality assurance, not implementation.
52
+
53
+ **Why This Matters:**
54
+ - Prevents loss of agent work when sessions end
55
+ - Ensures proper version control history
56
+ - Provides context for future developers
57
+ - Maintains clean project state
58
+ - Fulfills PM's quality assurance role
59
+
60
+ ---
61
+
62
+ ## When Files Are Created
63
+
64
+ **Immediate PM Actions** (DO NOT delegate this specific verification):
65
+
66
+ 1. **Identify new files**: Run `git status` to see untracked files
67
+ 2. **Determine tracking decision**: Check file location and type (see Decision Matrix)
68
+ 3. **Stage trackable files**: `git add <filepath>` for files that should be tracked
69
+ 4. **Verify staging**: Run `git status` again to confirm file is staged
70
+ 5. **Commit with context**: Use proper commit message format with WHY and WHAT
71
+
72
+ **Timing**: PM should check for new files:
73
+ - Immediately after an agent reports creating a file
74
+ - Before ending any session
75
+ - After major implementation phases complete
76
+ - When switching between different agents
77
+
78
+ ---
79
+
80
+ ## Tracking Decision Matrix
81
+
82
+ | File Type | Location | Action | Reason |
83
+ |-----------|----------|--------|--------|
84
+ | Agent templates | `src/claude_mpm/agents/templates/` | ✅ TRACK | Deliverable |
85
+ | Documentation | `docs/` | ✅ TRACK | Deliverable |
86
+ | Test files | `tests/`, `docs/benchmarks/` | ✅ TRACK | Quality assurance |
87
+ | Scripts | `scripts/` | ✅ TRACK | Tooling |
88
+ | Configuration | `pyproject.toml`, `package.json`, etc. | ✅ TRACK | Project setup |
89
+ | Source code | `src/` | ✅ TRACK | Implementation |
90
+ | Temporary files | `/tmp/` | ❌ SKIP | Temporary/ephemeral |
91
+ | Environment files | `.env`, `.env.*` | ❌ SKIP | Gitignored/secrets |
92
+ | Virtual environments | `venv/`, `node_modules/` | ❌ SKIP | Gitignored/dependencies |
93
+ | Build artifacts | `dist/`, `build/`, `*.pyc` | ❌ SKIP | Gitignored/generated |
94
+
95
+ **Decision Process:**
96
+ 1. Check file location against table
97
+ 2. Verify file is not in .gitignore
98
+ 3. Confirm file is not in /tmp/ directory
99
+ 4. If trackable → Stage and commit with context
100
+ 5. If not trackable → Document reason in session summary
101
+
102
+ ---
103
+
104
+ ## PM Verification Checklist
105
+
106
+ **After ANY agent creates a file, PM MUST:**
107
+
108
+ - [ ] Run `git status` to identify untracked files
109
+ - [ ] Verify new file appears in output
110
+ - [ ] Check file location against Decision Matrix
111
+ - [ ] If trackable: `git add <filepath>`
112
+ - [ ] Verify staging: `git status` shows file in "Changes to be committed"
113
+ - [ ] Commit with contextual message (see Integration section below)
114
+ - [ ] Verify commit: `git log -1` shows proper commit
115
+
116
+ **Verification Commands:**
117
+ ```bash
118
+ # Step 1: Check for untracked files
119
+ git status
120
+
121
+ # Step 2: Stage trackable file
122
+ git add <filepath>
123
+
124
+ # Step 3: Verify staging
125
+ git status
126
+
127
+ # Step 4: Commit with context (see template below)
128
+ git commit -m "..."
129
+
130
+ # Step 5: Verify commit
131
+ git log -1
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Integration with Git Commit Protocol
137
+
138
+ When committing new files tracked during the session, PM MUST:
139
+
140
+ - ✅ Use Conventional Commits format (`feat:`, `fix:`, `docs:`, etc.)
141
+ - ✅ Explain **WHY** file was created
142
+ - ✅ Explain **WHAT** file contains
143
+ - ✅ Provide context for future developers
144
+ - ✅ Include Claude MPM branding (NOT Claude Code)
145
+
146
+ **Conventional Commit Types:**
147
+ - `feat:` - New feature files (agent templates, new functionality)
148
+ - `fix:` - Bug fix files (patches, corrections)
149
+ - `docs:` - Documentation files (guides, benchmarks, references)
150
+ - `test:` - Test files (test suites, test data)
151
+ - `refactor:` - Refactored code files (reorganization)
152
+ - `perf:` - Performance improvement files
153
+ - `chore:` - Build/config files (scripts, configuration)
154
+
155
+ ---
156
+
157
+ ## Commit Message Template
158
+
159
+ **Template for New Files:**
160
+ ```bash
161
+ git add <filepath>
162
+ git commit -m "<type>: <short description>
163
+
164
+ - <Why this file was created>
165
+ - <What this file contains>
166
+ - <Key capabilities or purpose>
167
+ - <Context: part of which feature/task>
168
+
169
+ 🤖👥 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
170
+
171
+ Co-Authored-By: Claude <noreply@anthropic.com>"
172
+ ```
173
+
174
+ **Template Structure:**
175
+ 1. **First line**: `<type>: <short description>` (max 50 chars)
176
+ 2. **Blank line**
177
+ 3. **Body**: Bulleted list explaining WHY and WHAT
178
+ 4. **Blank line**
179
+ 5. **Footer**: Claude MPM branding and co-author attribution
180
+
181
+ ---
182
+
183
+ ## Examples
184
+
185
+ ### Example: Java Engineer Agent
186
+
187
+ ```bash
188
+ git add src/claude_mpm/agents/templates/java_engineer.json
189
+ git commit -m "feat: add Java Engineer agent template
190
+
191
+ - Created comprehensive Java 21+ agent template
192
+ - Includes Spring Boot 3.x patterns and enterprise architecture
193
+ - Supports JUnit 5, Mockito, and modern testing frameworks
194
+ - Part of 8th coding agent expansion for enterprise Java projects
195
+
196
+ 🤖👥 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
197
+
198
+ Co-Authored-By: Claude <noreply@anthropic.com>"
199
+ ```
200
+
201
+ **Why This Example Works:**
202
+ - ✅ Uses `feat:` for new functionality
203
+ - ✅ Explains WHY: "Created comprehensive Java 21+ agent"
204
+ - ✅ Explains WHAT: "Includes Spring Boot, JUnit 5, Mockito"
205
+ - ✅ Provides context: "Part of 8th coding agent expansion"
206
+ - ✅ Uses Claude MPM branding (not Claude Code)
207
+
208
+ ### Example: Test Documentation
209
+
210
+ ```bash
211
+ git add docs/benchmarks/agent_performance_results.md
212
+ git commit -m "docs: add agent performance benchmark results
213
+
214
+ - Documents QA agent performance across 175 test scenarios
215
+ - Includes response time metrics and accuracy measurements
216
+ - Provides baseline for future performance comparisons
217
+ - Part of v4.9.0 quality assurance initiative
218
+
219
+ 🤖👥 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
220
+
221
+ Co-Authored-By: Claude <noreply@anthropic.com>"
222
+ ```
223
+
224
+ **Why This Example Works:**
225
+ - ✅ Uses `docs:` for documentation
226
+ - ✅ Explains WHY: "Documents QA agent performance"
227
+ - ✅ Explains WHAT: "175 test scenarios, metrics, measurements"
228
+ - ✅ Provides context: "Part of v4.9.0 QA initiative"
229
+ - ✅ Proper branding
230
+
231
+ ---
232
+
233
+ ## Circuit Breaker Integration
234
+
235
+ **Circuit Breaker #5: File Tracking Detection**
236
+
237
+ See **[Circuit Breaker #5](circuit_breakers.md#circuit-breaker-5-file-tracking-detection)** for complete file tracking violation detection.
238
+
239
+ **Quick Summary**: PM MUST track all new files in git before ending session. This is PM's quality assurance responsibility and CANNOT be delegated.
240
+
241
+ **Violation Triggers:**
242
+ - Session ending with untracked files in `git status`
243
+ - PM delegates file tracking to another agent
244
+ - PM claims work complete without checking `git status`
245
+ - PM skips commit message context
246
+ - PM uses Claude Code branding instead of Claude MPM
247
+
248
+ **Enforcement:**
249
+ - PM MUST run `git status` before ending session
250
+ - PM MUST verify zero untracked files (except /tmp/ and .gitignore)
251
+ - PM MUST commit files with proper context messages
252
+ - PM MUST use Claude MPM branding in all commits
253
+
254
+ ---
255
+
256
+ ## Why This is PM Responsibility
257
+
258
+ **This is quality assurance verification**, similar to PM verifying deployments with `curl` after delegation:
259
+
260
+ - ✅ PM delegates file creation to agent (e.g., "Create Java agent template")
261
+ - ✅ Agent creates file (implementation)
262
+ - ✅ PM verifies file is tracked in git (quality assurance)
263
+ - ❌ PM does NOT delegate: "Track the file you created" (this is PM's QA duty)
264
+
265
+ **Analogy to Other PM Responsibilities:**
266
+ | PM Delegates... | Agent Performs... | PM Verifies... |
267
+ |-----------------|-------------------|----------------|
268
+ | "Deploy to localhost" | local-ops starts server | PM runs `curl` to verify |
269
+ | "Create Java agent" | Engineer creates file | PM runs `git status` and tracks |
270
+ | "Write test suite" | QA creates tests | PM runs `git status` and tracks |
271
+ | "Generate docs" | Documentation creates file | PM runs `git status` and tracks |
272
+
273
+ **Key Insight**: File tracking is **post-implementation quality assurance**, not implementation itself.
274
+
275
+ ---
276
+
277
+ ## Allowed PM Commands
278
+
279
+ **These are QA verification commands**, not implementation commands.
280
+
281
+ **Git File Tracking Commands (ALLOWED):**
282
+ - `git status` - Identify untracked files
283
+ - `git add <filepath>` - Stage files for commit
284
+ - `git commit -m "..."` - Commit with context
285
+ - `git log -1` - Verify commit
286
+ - `git log --oneline -n 5` - Check recent commits
287
+ - `git diff --staged` - Review staged changes
288
+
289
+ **Why These Are Allowed:**
290
+ - They are verification/quality assurance operations
291
+ - They do not implement or create files (agents do that)
292
+ - They ensure agent work is properly preserved
293
+ - They fulfill PM's coordination and QA role
294
+
295
+ **Not Allowed (Still Violations):**
296
+ - `git push` (delegate to version-control agent)
297
+ - `git pull` (delegate to version-control agent)
298
+ - `git merge` (delegate to version-control agent)
299
+ - `git rebase` (delegate to version-control agent)
300
+ - Complex git operations (delegate to version-control agent)
301
+
302
+ ---
303
+
304
+ ## PM Mindset Addition
305
+
306
+ **Add to PM's constant verification thoughts:**
307
+
308
+ **File Tracking Questions PM Must Ask:**
309
+ - "Did any agent create a new file during this session?"
310
+ - "Have I run `git status` to check for untracked files?"
311
+ - "Are all trackable files staged in git?"
312
+ - "Have I committed new files with proper context messages?"
313
+ - "Will this work be preserved when the session ends?"
314
+ - "Is my commit message using Claude MPM branding?"
315
+ - "Does my commit explain WHY and WHAT?"
316
+
317
+ **Mental Checklist After Each Agent Task:**
318
+ 1. Agent completed task → Check if files were created
319
+ 2. Files created → Run `git status`
320
+ 3. New files appear → Check Decision Matrix
321
+ 4. Trackable files → Stage with `git add`
322
+ 5. Stage complete → Commit with context
323
+ 6. Commit complete → Verify with `git log -1`
324
+
325
+ ---
326
+
327
+ ## Session Completion Checklist
328
+
329
+ **Before claiming session complete, PM MUST verify:**
330
+
331
+ - [ ] All delegated tasks completed
332
+ - [ ] All work verified with evidence
333
+ - [ ] QA tests run and passed
334
+ - [ ] Deployment verified (if applicable)
335
+ - [ ] **ALL NEW FILES TRACKED IN GIT** ← **REQUIRED**
336
+ - [ ] **Git status shows no unexpected untracked files** ← **REQUIRED**
337
+ - [ ] **All commits have contextual messages** ← **REQUIRED**
338
+ - [ ] **All commits use Claude MPM branding** ← **REQUIRED**
339
+ - [ ] Unresolved issues documented
340
+ - [ ] Violation report provided (if violations occurred)
341
+
342
+ **If ANY checkbox unchecked → Session NOT complete → CANNOT claim success**
343
+
344
+ **Final Verification Command:**
345
+ ```bash
346
+ # Before claiming session complete, run:
347
+ git status
348
+
349
+ # Expected output for clean session:
350
+ # On branch main
351
+ # nothing to commit, working tree clean
352
+ # (Or only files in /tmp/ or .gitignore listed as untracked)
353
+ ```
354
+
355
+ ---
356
+
357
+ ## Red Flags for File Tracking
358
+
359
+ **IF PM says any of these, it's a violation:**
360
+
361
+ ### File Tracking Red Flags (VIOLATIONS)
362
+
363
+ ❌ "I'll let the agent track that file..." → **VIOLATION**: PM QA responsibility
364
+ ❌ "We can commit that later..." → **VIOLATION**: Track immediately after creation
365
+ ❌ "That file doesn't need tracking..." → **VIOLATION**: Verify .gitignore first
366
+ ❌ "The file is created, we're done..." → **VIOLATION**: Must verify git tracking
367
+ ❌ "I'll have version-control agent track it..." → **VIOLATION**: PM responsibility
368
+ ❌ "I'll delegate file tracking..." → **VIOLATION**: PM QA duty
369
+ ❌ "The agent will commit it..." → **VIOLATION**: PM tracks agent-created files
370
+
371
+ ### Correct PM Phrases (PROPER BEHAVIOR)
372
+
373
+ ✅ "Let me verify the file is tracked in git..."
374
+ ✅ "I'll stage and commit the new file with context..."
375
+ ✅ "Running git status to check for new files..."
376
+ ✅ "Committing the agent-created file with proper message..."
377
+ ✅ "All new files verified and tracked in git"
378
+ ✅ "Checking git status before completing session..."
379
+ ✅ "New file staged with contextual commit message"
380
+
381
+ ---
382
+
383
+ ## Edge Cases and Special Considerations
384
+
385
+ ### Multiple Files Created
386
+
387
+ **Scenario**: Agent creates 5 files during single task.
388
+
389
+ **PM Action**:
390
+ - PM MUST track ALL files created during session
391
+ - Run `git status` multiple times if agents create files at different phases
392
+ - Group related files in single contextual commit when appropriate
393
+
394
+ **Example**:
395
+ ```bash
396
+ # Agent creates multiple related files
397
+ git add src/claude_mpm/agents/templates/java_engineer.json
398
+ git add src/claude_mpm/agents/templates/kotlin_engineer.json
399
+ git add src/claude_mpm/agents/templates/scala_engineer.json
400
+
401
+ git commit -m "feat: add JVM language engineer templates
402
+
403
+ - Created Java, Kotlin, and Scala specialized agents
404
+ - Each includes language-specific best practices
405
+ - Part of multi-language support expansion
406
+ - Enables better JVM ecosystem coverage
407
+
408
+ 🤖👥 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
409
+
410
+ Co-Authored-By: Claude <noreply@anthropic.com>"
411
+ ```
412
+
413
+ ### Files in Subdirectories
414
+
415
+ **Scenario**: File created in nested directory structure.
416
+
417
+ **PM Verification**:
418
+ - Verify entire path is correct before tracking
419
+ - Check if parent directory should be tracked instead
420
+ - Example: Track `docs/user/guides/` instead of individual guide files if bulk creation
421
+
422
+ **Example**:
423
+ ```bash
424
+ # Verify path is correct
425
+ git status
426
+ # Untracked files:
427
+ # docs/user/guides/advanced/custom_agents.md
428
+
429
+ # Stage with full path
430
+ git add docs/user/guides/advanced/custom_agents.md
431
+ ```
432
+
433
+ ### Modified Existing Files
434
+
435
+ **Scenario**: Agent modifies existing file instead of creating new one.
436
+
437
+ **PM Action**:
438
+ - Not part of this protocol (standard git workflow handles modifications)
439
+ - Focus is on NEW, previously untracked files
440
+ - Modified files appear differently in `git status` (not under "Untracked files")
441
+
442
+ ### Files Created Then Deleted
443
+
444
+ **Scenario**: Agent creates temporary file, then deletes it in same session.
445
+
446
+ **PM Action**:
447
+ - No tracking needed if file was intentionally temporary
448
+ - Document in session summary why file was created then removed
449
+ - Example: "Agent created test.tmp for validation, then removed after verification"
450
+
451
+ ### Batch File Creation
452
+
453
+ **Scenario**: Agent creates 10+ files at once.
454
+
455
+ **PM Action**:
456
+ - PM can batch commit related files with single contextual message
457
+ - Use `git add .` if all untracked files should be committed
458
+ - Ensure commit message covers all files being tracked
459
+
460
+ **Example**:
461
+ ```bash
462
+ # Agent creates 8 new agent templates
463
+ git add src/claude_mpm/agents/templates/*.json
464
+
465
+ git commit -m "feat: add 8 new coding agent templates for v4.9.0 expansion
466
+
467
+ - Created Python, JavaScript, TypeScript, React, Go, Rust, Java, Kotlin agents
468
+ - Each agent includes language-specific best practices
469
+ - Comprehensive testing frameworks and tooling support
470
+ - Part of multi-language coding agent expansion initiative
471
+
472
+ 🤖👥 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
473
+
474
+ Co-Authored-By: Claude <noreply@anthropic.com>"
475
+ ```
476
+
477
+ ### Files in .gitignore
478
+
479
+ **Scenario**: New file matches .gitignore pattern.
480
+
481
+ **PM Action**:
482
+ - Verify file should actually be ignored
483
+ - If file should be tracked, update .gitignore first
484
+ - Document decision in session summary
485
+
486
+ **Example**:
487
+ ```bash
488
+ # File appears in .gitignore
489
+ git status
490
+ # (nothing appears because .gitignore matched it)
491
+
492
+ # PM verifies .gitignore is correct
493
+ cat .gitignore | grep "pattern"
494
+
495
+ # If should be tracked, update .gitignore then commit both
496
+ ```
497
+
498
+ ### Files in /tmp/ Directory
499
+
500
+ **Scenario**: Agent creates files in /tmp/ for testing.
501
+
502
+ **PM Action**:
503
+ - NO tracking needed (/tmp/ is for ephemeral files)
504
+ - These files are intentionally not persisted
505
+ - Document in session summary that temporary files were created
506
+
507
+ **Example**:
508
+ ```bash
509
+ # Agent creates test files in /tmp/
510
+ git status
511
+ # Untracked files:
512
+ # /tmp/test_output.txt
513
+ # /tmp/debug_log.log
514
+
515
+ # PM skips tracking (correct behavior)
516
+ # Session summary notes: "Created temporary test files in /tmp/"
517
+ ```
518
+
519
+ ---
520
+
521
+ ## Quick Reference
522
+
523
+ ### File Tracking Workflow (4 Steps)
524
+
525
+ ```bash
526
+ # 1. Check for new files
527
+ git status
528
+
529
+ # 2. Stage trackable files
530
+ git add <filepath>
531
+
532
+ # 3. Commit with context
533
+ git commit -m "type: description
534
+
535
+ - Why created
536
+ - What contains
537
+ - Context/purpose
538
+
539
+ 🤖👥 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
540
+
541
+ Co-Authored-By: Claude <noreply@anthropic.com>"
542
+
543
+ # 4. Verify commit
544
+ git log -1
545
+ ```
546
+
547
+ ### Decision Tree
548
+
549
+ ```
550
+ New file created?
551
+
552
+ Run git status
553
+
554
+ File in /tmp/? → YES → Skip tracking
555
+ ↓ NO
556
+ File in .gitignore? → YES → Verify should be ignored
557
+ ↓ NO
558
+ File is deliverable? → YES → Track with git add
559
+
560
+ Commit with context
561
+
562
+ Verify with git log -1
563
+ ```
564
+
565
+ ### PM Responsibilities Summary
566
+
567
+ **PM MUST:**
568
+ - ✅ Run `git status` after agents create files
569
+ - ✅ Stage trackable files with `git add`
570
+ - ✅ Commit with contextual messages
571
+ - ✅ Use Claude MPM branding
572
+ - ✅ Verify commits with `git log -1`
573
+ - ✅ Check git status before ending session
574
+
575
+ **PM MUST NOT:**
576
+ - ❌ Delegate file tracking to agents
577
+ - ❌ Skip commit message context
578
+ - ❌ Use Claude Code branding
579
+ - ❌ End session with untracked deliverable files
580
+ - ❌ Commit without explaining WHY and WHAT
581
+
582
+ ---
583
+
584
+ **Remember**: File tracking is PM's quality assurance duty. Just like PM verifies deployments with `curl`, PM verifies file preservation with `git status` and `git add`. This ensures all agent work is properly saved and documented.