claude-mpm 4.14.6__py3-none-any.whl → 4.21.0__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 (353) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_ENGINEER.md +286 -0
  3. claude_mpm/agents/BASE_PM.md +272 -23
  4. claude_mpm/agents/OUTPUT_STYLE.md +48 -3
  5. claude_mpm/agents/PM_INSTRUCTIONS.md +49 -0
  6. claude_mpm/agents/agent_loader.py +17 -5
  7. claude_mpm/agents/frontmatter_validator.py +284 -253
  8. claude_mpm/agents/templates/agentic-coder-optimizer.json +9 -2
  9. claude_mpm/agents/templates/api_qa.json +7 -1
  10. claude_mpm/agents/templates/clerk-ops.json +8 -1
  11. claude_mpm/agents/templates/code_analyzer.json +4 -1
  12. claude_mpm/agents/templates/dart_engineer.json +11 -1
  13. claude_mpm/agents/templates/data_engineer.json +11 -1
  14. claude_mpm/agents/templates/documentation.json +6 -1
  15. claude_mpm/agents/templates/engineer.json +18 -1
  16. claude_mpm/agents/templates/gcp_ops_agent.json +8 -1
  17. claude_mpm/agents/templates/golang_engineer.json +11 -1
  18. claude_mpm/agents/templates/java_engineer.json +12 -2
  19. claude_mpm/agents/templates/local_ops_agent.json +216 -37
  20. claude_mpm/agents/templates/nextjs_engineer.json +11 -1
  21. claude_mpm/agents/templates/ops.json +8 -1
  22. claude_mpm/agents/templates/php-engineer.json +20 -4
  23. claude_mpm/agents/templates/project_organizer.json +10 -3
  24. claude_mpm/agents/templates/prompt-engineer.json +5 -1
  25. claude_mpm/agents/templates/python_engineer.json +19 -4
  26. claude_mpm/agents/templates/qa.json +7 -1
  27. claude_mpm/agents/templates/react_engineer.json +11 -1
  28. claude_mpm/agents/templates/refactoring_engineer.json +8 -1
  29. claude_mpm/agents/templates/research.json +4 -1
  30. claude_mpm/agents/templates/ruby-engineer.json +11 -1
  31. claude_mpm/agents/templates/rust_engineer.json +23 -8
  32. claude_mpm/agents/templates/security.json +6 -1
  33. claude_mpm/agents/templates/svelte-engineer.json +225 -0
  34. claude_mpm/agents/templates/ticketing.json +6 -1
  35. claude_mpm/agents/templates/typescript_engineer.json +11 -1
  36. claude_mpm/agents/templates/vercel_ops_agent.json +8 -1
  37. claude_mpm/agents/templates/version_control.json +8 -1
  38. claude_mpm/agents/templates/web_qa.json +7 -1
  39. claude_mpm/agents/templates/web_ui.json +11 -1
  40. claude_mpm/cli/__init__.py +34 -740
  41. claude_mpm/cli/commands/__init__.py +2 -0
  42. claude_mpm/cli/commands/agent_manager.py +25 -12
  43. claude_mpm/cli/commands/agent_state_manager.py +186 -0
  44. claude_mpm/cli/commands/agents.py +204 -148
  45. claude_mpm/cli/commands/aggregate.py +7 -3
  46. claude_mpm/cli/commands/analyze.py +9 -4
  47. claude_mpm/cli/commands/analyze_code.py +7 -2
  48. claude_mpm/cli/commands/auto_configure.py +7 -9
  49. claude_mpm/cli/commands/config.py +47 -13
  50. claude_mpm/cli/commands/configure.py +294 -1788
  51. claude_mpm/cli/commands/configure_agent_display.py +261 -0
  52. claude_mpm/cli/commands/configure_behavior_manager.py +204 -0
  53. claude_mpm/cli/commands/configure_hook_manager.py +225 -0
  54. claude_mpm/cli/commands/configure_models.py +18 -0
  55. claude_mpm/cli/commands/configure_navigation.py +167 -0
  56. claude_mpm/cli/commands/configure_paths.py +104 -0
  57. claude_mpm/cli/commands/configure_persistence.py +254 -0
  58. claude_mpm/cli/commands/configure_startup_manager.py +646 -0
  59. claude_mpm/cli/commands/configure_template_editor.py +497 -0
  60. claude_mpm/cli/commands/configure_validators.py +73 -0
  61. claude_mpm/cli/commands/local_deploy.py +3 -2
  62. claude_mpm/cli/commands/memory.py +54 -20
  63. claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
  64. claude_mpm/cli/commands/mpm_init/core.py +525 -0
  65. claude_mpm/cli/commands/mpm_init/display.py +341 -0
  66. claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
  67. claude_mpm/cli/commands/mpm_init/modes.py +397 -0
  68. claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
  69. claude_mpm/cli/commands/mpm_init_cli.py +396 -0
  70. claude_mpm/cli/commands/mpm_init_handler.py +75 -4
  71. claude_mpm/cli/commands/skills.py +488 -0
  72. claude_mpm/cli/executor.py +204 -0
  73. claude_mpm/cli/helpers.py +105 -0
  74. claude_mpm/cli/interactive/__init__.py +3 -0
  75. claude_mpm/cli/interactive/skills_wizard.py +491 -0
  76. claude_mpm/cli/parsers/base_parser.py +7 -0
  77. claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
  78. claude_mpm/cli/parsers/skills_parser.py +137 -0
  79. claude_mpm/cli/shared/output_formatters.py +28 -19
  80. claude_mpm/cli/startup.py +538 -0
  81. claude_mpm/commands/mpm-auto-configure.md +52 -0
  82. claude_mpm/commands/mpm-help.md +3 -0
  83. claude_mpm/commands/mpm-init.md +112 -6
  84. claude_mpm/commands/mpm-version.md +113 -0
  85. claude_mpm/commands/mpm.md +1 -0
  86. claude_mpm/config/agent_config.py +2 -2
  87. claude_mpm/constants.py +12 -0
  88. claude_mpm/core/base_service.py +13 -12
  89. claude_mpm/core/config.py +42 -0
  90. claude_mpm/core/enums.py +452 -0
  91. claude_mpm/core/factories.py +1 -1
  92. claude_mpm/core/instruction_reinforcement_hook.py +2 -1
  93. claude_mpm/core/interactive_session.py +6 -3
  94. claude_mpm/core/interfaces.py +56 -1
  95. claude_mpm/core/logging_config.py +6 -2
  96. claude_mpm/core/oneshot_session.py +8 -4
  97. claude_mpm/core/optimized_agent_loader.py +3 -3
  98. claude_mpm/core/output_style_manager.py +12 -192
  99. claude_mpm/core/service_registry.py +5 -1
  100. claude_mpm/core/types.py +2 -9
  101. claude_mpm/core/typing_utils.py +7 -6
  102. claude_mpm/dashboard/static/js/dashboard.js +0 -14
  103. claude_mpm/dashboard/templates/index.html +3 -41
  104. claude_mpm/hooks/__init__.py +8 -0
  105. claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
  106. claude_mpm/hooks/instruction_reinforcement.py +7 -2
  107. claude_mpm/hooks/session_resume_hook.py +121 -0
  108. claude_mpm/models/resume_log.py +340 -0
  109. claude_mpm/services/agents/auto_config_manager.py +10 -11
  110. claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
  111. claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
  112. claude_mpm/services/agents/deployment/agent_validator.py +17 -1
  113. claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
  114. claude_mpm/services/agents/deployment/interface_adapter.py +3 -2
  115. claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
  116. claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +7 -6
  117. claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +7 -16
  118. claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +4 -3
  119. claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +5 -3
  120. claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +6 -5
  121. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +9 -6
  122. claude_mpm/services/agents/deployment/validation/__init__.py +3 -1
  123. claude_mpm/services/agents/deployment/validation/validation_result.py +1 -9
  124. claude_mpm/services/agents/local_template_manager.py +1 -1
  125. claude_mpm/services/agents/memory/agent_memory_manager.py +5 -2
  126. claude_mpm/services/agents/recommender.py +47 -0
  127. claude_mpm/services/agents/registry/modification_tracker.py +5 -2
  128. claude_mpm/services/cli/resume_service.py +617 -0
  129. claude_mpm/services/cli/session_manager.py +87 -0
  130. claude_mpm/services/cli/session_pause_manager.py +504 -0
  131. claude_mpm/services/cli/session_resume_helper.py +372 -0
  132. claude_mpm/services/command_handler_service.py +11 -5
  133. claude_mpm/services/core/interfaces/process.py +6 -6
  134. claude_mpm/services/core/interfaces.py +56 -1
  135. claude_mpm/services/core/models/__init__.py +0 -2
  136. claude_mpm/services/core/models/agent_config.py +15 -28
  137. claude_mpm/services/core/models/health.py +1 -28
  138. claude_mpm/services/core/models/process.py +22 -41
  139. claude_mpm/services/core/path_resolver.py +1 -1
  140. claude_mpm/services/diagnostics/__init__.py +2 -2
  141. claude_mpm/services/diagnostics/checks/agent_check.py +25 -24
  142. claude_mpm/services/diagnostics/checks/claude_code_check.py +24 -23
  143. claude_mpm/services/diagnostics/checks/common_issues_check.py +25 -24
  144. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -23
  145. claude_mpm/services/diagnostics/checks/filesystem_check.py +18 -17
  146. claude_mpm/services/diagnostics/checks/installation_check.py +30 -29
  147. claude_mpm/services/diagnostics/checks/instructions_check.py +20 -19
  148. claude_mpm/services/diagnostics/checks/mcp_check.py +50 -36
  149. claude_mpm/services/diagnostics/checks/mcp_services_check.py +36 -31
  150. claude_mpm/services/diagnostics/checks/monitor_check.py +23 -22
  151. claude_mpm/services/diagnostics/checks/startup_log_check.py +9 -8
  152. claude_mpm/services/diagnostics/diagnostic_runner.py +6 -5
  153. claude_mpm/services/diagnostics/doctor_reporter.py +28 -25
  154. claude_mpm/services/diagnostics/models.py +37 -21
  155. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -1
  156. claude_mpm/services/infrastructure/monitoring/aggregator.py +12 -12
  157. claude_mpm/services/infrastructure/monitoring/base.py +5 -13
  158. claude_mpm/services/infrastructure/monitoring/network.py +7 -6
  159. claude_mpm/services/infrastructure/monitoring/process.py +13 -12
  160. claude_mpm/services/infrastructure/monitoring/resources.py +7 -6
  161. claude_mpm/services/infrastructure/monitoring/service.py +16 -15
  162. claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
  163. claude_mpm/services/local_ops/__init__.py +5 -3
  164. claude_mpm/services/local_ops/crash_detector.py +1 -1
  165. claude_mpm/services/local_ops/health_checks/http_check.py +2 -1
  166. claude_mpm/services/local_ops/health_checks/process_check.py +2 -1
  167. claude_mpm/services/local_ops/health_checks/resource_check.py +2 -1
  168. claude_mpm/services/local_ops/health_manager.py +1 -1
  169. claude_mpm/services/local_ops/process_manager.py +12 -12
  170. claude_mpm/services/local_ops/restart_manager.py +1 -1
  171. claude_mpm/services/local_ops/state_manager.py +6 -5
  172. claude_mpm/services/local_ops/unified_manager.py +2 -2
  173. claude_mpm/services/mcp_config_manager.py +7 -126
  174. claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
  175. claude_mpm/services/mcp_gateway/core/__init__.py +1 -2
  176. claude_mpm/services/mcp_gateway/core/base.py +18 -31
  177. claude_mpm/services/mcp_gateway/core/process_pool.py +19 -10
  178. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +97 -45
  179. claude_mpm/services/mcp_gateway/tools/health_check_tool.py +30 -28
  180. claude_mpm/services/memory_hook_service.py +4 -1
  181. claude_mpm/services/monitor/daemon_manager.py +3 -2
  182. claude_mpm/services/monitor/handlers/dashboard.py +2 -1
  183. claude_mpm/services/monitor/handlers/hooks.py +2 -1
  184. claude_mpm/services/monitor/management/lifecycle.py +3 -2
  185. claude_mpm/services/monitor/server.py +2 -1
  186. claude_mpm/services/session_management_service.py +3 -2
  187. claude_mpm/services/session_manager.py +205 -1
  188. claude_mpm/services/shared/async_service_base.py +16 -27
  189. claude_mpm/services/shared/lifecycle_service_base.py +1 -14
  190. claude_mpm/services/socketio/handlers/__init__.py +5 -2
  191. claude_mpm/services/socketio/handlers/hook.py +13 -2
  192. claude_mpm/services/socketio/handlers/registry.py +4 -2
  193. claude_mpm/services/socketio/server/main.py +10 -8
  194. claude_mpm/services/subprocess_launcher_service.py +14 -5
  195. claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +8 -7
  196. claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +6 -5
  197. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +8 -7
  198. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +7 -6
  199. claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +5 -4
  200. claude_mpm/services/unified/config_strategies/validation_strategy.py +13 -9
  201. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +10 -3
  202. claude_mpm/services/unified/deployment_strategies/local.py +6 -5
  203. claude_mpm/services/unified/deployment_strategies/utils.py +6 -5
  204. claude_mpm/services/unified/deployment_strategies/vercel.py +7 -6
  205. claude_mpm/services/unified/interfaces.py +3 -1
  206. claude_mpm/services/unified/unified_analyzer.py +14 -10
  207. claude_mpm/services/unified/unified_config.py +2 -1
  208. claude_mpm/services/unified/unified_deployment.py +9 -4
  209. claude_mpm/services/version_service.py +104 -1
  210. claude_mpm/skills/__init__.py +42 -0
  211. claude_mpm/skills/agent_skills_injector.py +324 -0
  212. claude_mpm/skills/bundled/LICENSE_ATTRIBUTIONS.md +79 -0
  213. claude_mpm/skills/bundled/__init__.py +6 -0
  214. claude_mpm/skills/bundled/api-documentation.md +393 -0
  215. claude_mpm/skills/bundled/async-testing.md +571 -0
  216. claude_mpm/skills/bundled/code-review.md +143 -0
  217. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  218. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  219. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  220. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  221. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  222. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  223. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  224. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  225. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  226. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  227. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  228. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  229. claude_mpm/skills/bundled/database-migration.md +199 -0
  230. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  231. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  232. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  233. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  234. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  235. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  236. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  237. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  238. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  239. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  240. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  241. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  242. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  243. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  244. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  245. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  246. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  247. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  248. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  249. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  250. claude_mpm/skills/bundled/docker-containerization.md +194 -0
  251. claude_mpm/skills/bundled/express-local-dev.md +1429 -0
  252. claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
  253. claude_mpm/skills/bundled/git-workflow.md +414 -0
  254. claude_mpm/skills/bundled/imagemagick.md +204 -0
  255. claude_mpm/skills/bundled/json-data-handling.md +223 -0
  256. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  257. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  258. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  259. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  260. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  261. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  262. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  263. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  264. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  265. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  266. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  267. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  268. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  269. claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +157 -0
  270. claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +425 -0
  271. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  272. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  273. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  274. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  275. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  276. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  277. claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +303 -0
  278. claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +113 -0
  279. claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +72 -0
  280. claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
  281. claude_mpm/skills/bundled/pdf.md +141 -0
  282. claude_mpm/skills/bundled/performance-profiling.md +567 -0
  283. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  284. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  285. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  286. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  287. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  288. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  289. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  290. claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
  291. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  292. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  293. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  294. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  295. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  296. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  297. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  298. claude_mpm/skills/bundled/security-scanning.md +327 -0
  299. claude_mpm/skills/bundled/systematic-debugging.md +473 -0
  300. claude_mpm/skills/bundled/test-driven-development.md +378 -0
  301. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  302. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  303. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  304. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  305. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  306. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  307. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  308. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  309. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  310. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  311. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  312. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  313. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  314. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  315. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  316. claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +35 -0
  317. claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +44 -0
  318. claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +34 -0
  319. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  320. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  321. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +129 -0
  322. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  323. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  324. claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
  325. claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
  326. claude_mpm/skills/bundled/xlsx.md +157 -0
  327. claude_mpm/skills/registry.py +286 -0
  328. claude_mpm/skills/skill_manager.py +310 -0
  329. claude_mpm/skills/skills_registry.py +348 -0
  330. claude_mpm/skills/skills_service.py +739 -0
  331. claude_mpm/tools/code_tree_analyzer.py +177 -141
  332. claude_mpm/tools/code_tree_events.py +4 -2
  333. claude_mpm/utils/agent_dependency_loader.py +2 -2
  334. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/METADATA +211 -33
  335. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/RECORD +339 -199
  336. claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md +0 -602
  337. claude_mpm/cli/commands/mpm_init.py +0 -1994
  338. claude_mpm/dashboard/static/css/code-tree.css +0 -1639
  339. claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -353
  340. claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -235
  341. claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -409
  342. claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -435
  343. claude_mpm/dashboard/static/js/components/code-tree.js +0 -5869
  344. claude_mpm/dashboard/static/js/components/code-viewer.js +0 -1386
  345. claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -425
  346. claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -1041
  347. claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -347
  348. claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -575
  349. claude_mpm/services/project/analyzer_refactored.py +0 -450
  350. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/WHEEL +0 -0
  351. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/entry_points.txt +0 -0
  352. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/licenses/LICENSE +0 -0
  353. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/top_level.txt +0 -0
@@ -3,56 +3,30 @@ Process Management Data Models for Claude MPM Framework
3
3
  ========================================================
4
4
 
5
5
  WHY: This module defines data structures for process management operations,
6
- including process status, deployment state, and runtime information.
6
+ including deployment state and runtime information.
7
7
 
8
8
  DESIGN DECISION: Uses dataclasses for immutability and type safety. Provides
9
- serialization methods for state persistence.
9
+ serialization methods for state persistence. Process status uses ServiceState
10
+ enum from core.enums (consolidated in Phase 3A Batch 24).
10
11
 
11
12
  ARCHITECTURE:
12
- - ProcessStatus: Enum of process lifecycle states
13
13
  - DeploymentState: Complete deployment information for persistence
14
14
  - ProcessInfo: Runtime process information
15
15
  - StartConfig: Configuration for spawning new processes
16
+
17
+ Note: ProcessStatus enum has been consolidated into ServiceState (core.enums).
16
18
  """
17
19
 
18
20
  import json
19
21
  from dataclasses import asdict, dataclass, field
20
22
  from datetime import datetime
21
- from enum import Enum
22
23
  from pathlib import Path
23
24
  from typing import Any, Dict, List, Optional
24
25
 
26
+ from claude_mpm.core.enums import ServiceState
25
27
 
26
- class ProcessStatus(Enum):
27
- """
28
- Process lifecycle status.
29
-
30
- WHY: Explicit status tracking enables proper state machine management
31
- and prevents invalid state transitions.
32
-
33
- States:
34
- STARTING: Process is being spawned
35
- RUNNING: Process is actively running
36
- STOPPING: Process is shutting down
37
- STOPPED: Process has stopped cleanly
38
- CRASHED: Process terminated unexpectedly
39
- UNKNOWN: Process state cannot be determined
40
- """
41
-
42
- STARTING = "starting"
43
- RUNNING = "running"
44
- STOPPING = "stopping"
45
- STOPPED = "stopped"
46
- CRASHED = "crashed"
47
- UNKNOWN = "unknown"
48
-
49
- def is_active(self) -> bool:
50
- """Check if status represents an active process."""
51
- return self in (ProcessStatus.STARTING, ProcessStatus.RUNNING)
52
-
53
- def is_terminal(self) -> bool:
54
- """Check if status represents a terminal state."""
55
- return self in (ProcessStatus.STOPPED, ProcessStatus.CRASHED)
28
+ # Backward compatibility alias (consolidated in Phase 3A Batch 24)
29
+ ProcessStatus = ServiceState
56
30
 
57
31
 
58
32
  @dataclass
@@ -71,7 +45,7 @@ class DeploymentState:
71
45
  environment: Environment variables (beyond inherited ones)
72
46
  port: Primary port used by the process (if applicable)
73
47
  started_at: Timestamp when process was started
74
- status: Current ProcessStatus
48
+ status: Current ServiceState (process lifecycle state)
75
49
  metadata: Additional deployment-specific information
76
50
  """
77
51
 
@@ -82,7 +56,7 @@ class DeploymentState:
82
56
  environment: Dict[str, str] = field(default_factory=dict)
83
57
  port: Optional[int] = None
84
58
  started_at: datetime = field(default_factory=datetime.now)
85
- status: ProcessStatus = ProcessStatus.STARTING
59
+ status: ServiceState = ServiceState.STARTING
86
60
  metadata: Dict[str, Any] = field(default_factory=dict)
87
61
 
88
62
  def to_dict(self) -> Dict[str, Any]:
@@ -114,7 +88,14 @@ class DeploymentState:
114
88
 
115
89
  # Convert status string to enum
116
90
  if isinstance(data.get("status"), str):
117
- data["status"] = ProcessStatus(data["status"])
91
+ status_value = data["status"]
92
+ # Handle legacy "crashed" status -> map to ERROR
93
+ if status_value == "crashed":
94
+ data["status"] = (
95
+ ServiceState.ERROR
96
+ ) # CRASHED semantically maps to ERROR state
97
+ else:
98
+ data["status"] = ServiceState(status_value)
118
99
 
119
100
  return cls(**data)
120
101
 
@@ -153,18 +134,18 @@ class ProcessInfo:
153
134
  Attributes:
154
135
  deployment_id: Unique deployment identifier
155
136
  process_id: OS process ID
156
- status: Current ProcessStatus
137
+ status: Current ServiceState (process lifecycle state)
157
138
  port: Port the process is using
158
139
  uptime_seconds: How long the process has been running
159
140
  memory_mb: Current memory usage in megabytes
160
141
  cpu_percent: Current CPU usage percentage
161
142
  is_responding: Whether the process responds to health checks
162
- error_message: Error message if status is CRASHED
143
+ error_message: Error message if status is ERROR (crashed)
163
144
  """
164
145
 
165
146
  deployment_id: str
166
147
  process_id: int
167
- status: ProcessStatus
148
+ status: ServiceState
168
149
  port: Optional[int] = None
169
150
  uptime_seconds: float = 0.0
170
151
  memory_mb: float = 0.0
@@ -252,7 +233,7 @@ __all__ = [
252
233
  "PROTECTED_PORT_RANGES",
253
234
  "DeploymentState",
254
235
  "ProcessInfo",
255
- "ProcessStatus",
236
+ "ProcessStatus", # Backward compatibility alias for ServiceState
256
237
  "StartConfig",
257
238
  "is_port_protected",
258
239
  ]
@@ -281,7 +281,7 @@ class PathResolver(IPathResolver):
281
281
 
282
282
  if agents_dir and agents_dir.exists():
283
283
  discovered_agents_dir = agents_dir
284
- self.logger.info(f"Using custom agents directory: {discovered_agents_dir}")
284
+ self.logger.debug(f"Using custom agents directory: {discovered_agents_dir}")
285
285
  elif framework_path and framework_path != Path("__PACKAGED__"):
286
286
  # Prioritize templates directory over main agents directory
287
287
  templates_dir = (
@@ -13,6 +13,6 @@ DESIGN DECISIONS:
13
13
 
14
14
  from .diagnostic_runner import DiagnosticRunner
15
15
  from .doctor_reporter import DoctorReporter
16
- from .models import DiagnosticResult, DiagnosticStatus
16
+ from .models import DiagnosticResult
17
17
 
18
- __all__ = ["DiagnosticResult", "DiagnosticRunner", "DiagnosticStatus", "DoctorReporter"]
18
+ __all__ = ["DiagnosticResult", "DiagnosticRunner", "DoctorReporter"]
@@ -6,7 +6,8 @@ WHY: Verify that agents are properly deployed, up-to-date, and functioning corre
6
6
 
7
7
  from pathlib import Path
8
8
 
9
- from ..models import DiagnosticResult, DiagnosticStatus
9
+ from ....core.enums import OperationResult, ValidationSeverity
10
+ from ..models import DiagnosticResult
10
11
  from .base_check import BaseDiagnosticCheck
11
12
 
12
13
 
@@ -64,29 +65,29 @@ class AgentCheck(BaseDiagnosticCheck):
64
65
  available_count = details["available_count"]
65
66
 
66
67
  if deployed_count == 0:
67
- status = DiagnosticStatus.ERROR
68
+ status = ValidationSeverity.ERROR
68
69
  message = f"No agents deployed (0/{available_count} available)"
69
70
  fix_command = "claude-mpm agents deploy"
70
71
  fix_description = "Deploy all available agents"
71
72
  elif deployed_count < available_count:
72
- status = DiagnosticStatus.WARNING
73
+ status = ValidationSeverity.WARNING
73
74
  message = f"{deployed_count}/{available_count} agents deployed"
74
75
  fix_command = "claude-mpm agents deploy"
75
76
  fix_description = (
76
77
  f"Deploy remaining {available_count - deployed_count} agents"
77
78
  )
78
- elif any(r.status == DiagnosticStatus.ERROR for r in sub_results):
79
- status = DiagnosticStatus.ERROR
79
+ elif any(r.status == ValidationSeverity.ERROR for r in sub_results):
80
+ status = ValidationSeverity.ERROR
80
81
  message = "Agents have critical issues"
81
82
  fix_command = None
82
83
  fix_description = None
83
- elif any(r.status == DiagnosticStatus.WARNING for r in sub_results):
84
- status = DiagnosticStatus.WARNING
84
+ elif any(r.status == ValidationSeverity.WARNING for r in sub_results):
85
+ status = ValidationSeverity.WARNING
85
86
  message = "Agents have minor issues"
86
87
  fix_command = None
87
88
  fix_description = None
88
89
  else:
89
- status = DiagnosticStatus.OK
90
+ status = OperationResult.SUCCESS
90
91
  message = f"All {deployed_count} agents properly deployed"
91
92
  fix_command = None
92
93
  fix_description = None
@@ -104,7 +105,7 @@ class AgentCheck(BaseDiagnosticCheck):
104
105
  except Exception as e:
105
106
  return DiagnosticResult(
106
107
  category=self.category,
107
- status=DiagnosticStatus.ERROR,
108
+ status=ValidationSeverity.ERROR,
108
109
  message=f"Agent check failed: {e!s}",
109
110
  details={"error": str(e)},
110
111
  )
@@ -127,7 +128,7 @@ class AgentCheck(BaseDiagnosticCheck):
127
128
  # Neither exists, default to user directory for error message
128
129
  return DiagnosticResult(
129
130
  category="Deployed Agents",
130
- status=DiagnosticStatus.ERROR,
131
+ status=ValidationSeverity.ERROR,
131
132
  message="No agents directory found (checked project and user)",
132
133
  details={
133
134
  "project_path": str(project_agents_dir),
@@ -144,7 +145,7 @@ class AgentCheck(BaseDiagnosticCheck):
144
145
  if not agent_files:
145
146
  return DiagnosticResult(
146
147
  category="Deployed Agents",
147
- status=DiagnosticStatus.ERROR,
148
+ status=ValidationSeverity.ERROR,
148
149
  message=f"No agents deployed in {location} directory",
149
150
  details={"path": str(agents_dir), "location": location, "count": 0},
150
151
  fix_command="claude-mpm agents deploy",
@@ -159,7 +160,7 @@ class AgentCheck(BaseDiagnosticCheck):
159
160
  if missing_core:
160
161
  return DiagnosticResult(
161
162
  category="Deployed Agents",
162
- status=DiagnosticStatus.WARNING,
163
+ status=ValidationSeverity.WARNING,
163
164
  message=f"Missing core agents in {location}: {', '.join(missing_core)}",
164
165
  details={
165
166
  "path": str(agents_dir),
@@ -174,7 +175,7 @@ class AgentCheck(BaseDiagnosticCheck):
174
175
 
175
176
  return DiagnosticResult(
176
177
  category="Deployed Agents",
177
- status=DiagnosticStatus.OK,
178
+ status=OperationResult.SUCCESS,
178
179
  message=f"{len(agent_files)} agents deployed ({location} level)",
179
180
  details={
180
181
  "path": str(agents_dir),
@@ -205,7 +206,7 @@ class AgentCheck(BaseDiagnosticCheck):
205
206
  else:
206
207
  return DiagnosticResult(
207
208
  category="Agent Versions",
208
- status=DiagnosticStatus.SKIPPED,
209
+ status=OperationResult.SKIPPED,
209
210
  message="No agents to check",
210
211
  details={},
211
212
  )
@@ -224,7 +225,7 @@ class AgentCheck(BaseDiagnosticCheck):
224
225
  if outdated:
225
226
  return DiagnosticResult(
226
227
  category="Agent Versions",
227
- status=DiagnosticStatus.WARNING,
228
+ status=ValidationSeverity.WARNING,
228
229
  message=f"{len(outdated)} agent(s) outdated",
229
230
  details={"outdated": outdated, "checked": checked},
230
231
  fix_command="claude-mpm agents update",
@@ -234,14 +235,14 @@ class AgentCheck(BaseDiagnosticCheck):
234
235
  if checked == 0:
235
236
  return DiagnosticResult(
236
237
  category="Agent Versions",
237
- status=DiagnosticStatus.WARNING,
238
+ status=ValidationSeverity.WARNING,
238
239
  message="No agents to check",
239
240
  details={"checked": 0},
240
241
  )
241
242
 
242
243
  return DiagnosticResult(
243
244
  category="Agent Versions",
244
- status=DiagnosticStatus.OK,
245
+ status=OperationResult.SUCCESS,
245
246
  message=f"All {checked} agents up-to-date",
246
247
  details={"checked": checked},
247
248
  )
@@ -249,7 +250,7 @@ class AgentCheck(BaseDiagnosticCheck):
249
250
  except Exception as e:
250
251
  return DiagnosticResult(
251
252
  category="Agent Versions",
252
- status=DiagnosticStatus.WARNING,
253
+ status=ValidationSeverity.WARNING,
253
254
  message=f"Could not check versions: {e!s}",
254
255
  details={"error": str(e)},
255
256
  )
@@ -273,7 +274,7 @@ class AgentCheck(BaseDiagnosticCheck):
273
274
  else:
274
275
  return DiagnosticResult(
275
276
  category="Agent Validation",
276
- status=DiagnosticStatus.SKIPPED,
277
+ status=OperationResult.SKIPPED,
277
278
  message="No agents to validate",
278
279
  details={},
279
280
  )
@@ -301,14 +302,14 @@ class AgentCheck(BaseDiagnosticCheck):
301
302
  if invalid:
302
303
  return DiagnosticResult(
303
304
  category="Agent Validation",
304
- status=DiagnosticStatus.WARNING,
305
+ status=ValidationSeverity.WARNING,
305
306
  message=f"{len(invalid)} validation issue(s)",
306
307
  details={"issues": invalid, "validated": validated},
307
308
  )
308
309
 
309
310
  return DiagnosticResult(
310
311
  category="Agent Validation",
311
- status=DiagnosticStatus.OK,
312
+ status=OperationResult.SUCCESS,
312
313
  message=f"All {validated} agents valid",
313
314
  details={"validated": validated},
314
315
  )
@@ -316,7 +317,7 @@ class AgentCheck(BaseDiagnosticCheck):
316
317
  except Exception as e:
317
318
  return DiagnosticResult(
318
319
  category="Agent Validation",
319
- status=DiagnosticStatus.WARNING,
320
+ status=ValidationSeverity.WARNING,
320
321
  message=f"Validation failed: {e!s}",
321
322
  details={"error": str(e)},
322
323
  )
@@ -358,14 +359,14 @@ class AgentCheck(BaseDiagnosticCheck):
358
359
  if issues:
359
360
  return DiagnosticResult(
360
361
  category="Common Issues",
361
- status=DiagnosticStatus.WARNING,
362
+ status=ValidationSeverity.WARNING,
362
363
  message=f"{len(issues)} issue(s) found",
363
364
  details={"issues": issues},
364
365
  )
365
366
 
366
367
  return DiagnosticResult(
367
368
  category="Common Issues",
368
- status=DiagnosticStatus.OK,
369
+ status=OperationResult.SUCCESS,
369
370
  message="No common issues detected",
370
371
  details={},
371
372
  )
@@ -9,7 +9,8 @@ import json
9
9
  import subprocess
10
10
  from pathlib import Path
11
11
 
12
- from ..models import DiagnosticResult, DiagnosticStatus
12
+ from ....core.enums import OperationResult, ValidationSeverity
13
+ from ..models import DiagnosticResult
13
14
  from .base_check import BaseDiagnosticCheck
14
15
 
15
16
 
@@ -33,9 +34,9 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
33
34
  # Check if Claude Code CLI is installed
34
35
  install_result = self._check_installation()
35
36
  sub_results.append(install_result)
36
- details["installed"] = install_result.status == DiagnosticStatus.OK
37
+ details["installed"] = install_result.status == OperationResult.SUCCESS
37
38
 
38
- if install_result.status == DiagnosticStatus.OK:
39
+ if install_result.status == OperationResult.SUCCESS:
39
40
  # Check version compatibility
40
41
  version_result = self._check_version()
41
42
  sub_results.append(version_result)
@@ -49,17 +50,17 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
49
50
  # Check MCP integration
50
51
  mcp_result = self._check_mcp_integration()
51
52
  sub_results.append(mcp_result)
52
- details["mcp_configured"] = mcp_result.status == DiagnosticStatus.OK
53
+ details["mcp_configured"] = mcp_result.status == OperationResult.SUCCESS
53
54
 
54
55
  # Determine overall status
55
- if any(r.status == DiagnosticStatus.ERROR for r in sub_results):
56
- status = DiagnosticStatus.ERROR
56
+ if any(r.status == ValidationSeverity.ERROR for r in sub_results):
57
+ status = ValidationSeverity.ERROR
57
58
  message = "Claude Code CLI has critical issues"
58
- elif any(r.status == DiagnosticStatus.WARNING for r in sub_results):
59
- status = DiagnosticStatus.WARNING
59
+ elif any(r.status == ValidationSeverity.WARNING for r in sub_results):
60
+ status = ValidationSeverity.WARNING
60
61
  message = "Claude Code CLI needs configuration"
61
62
  else:
62
- status = DiagnosticStatus.OK
63
+ status = OperationResult.SUCCESS
63
64
  message = "Claude Code CLI properly configured"
64
65
 
65
66
  return DiagnosticResult(
@@ -73,7 +74,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
73
74
  except Exception as e:
74
75
  return DiagnosticResult(
75
76
  category=self.category,
76
- status=DiagnosticStatus.ERROR,
77
+ status=ValidationSeverity.ERROR,
77
78
  message=f"Claude Code CLI check failed: {e!s}",
78
79
  details={"error": str(e)},
79
80
  )
@@ -92,7 +93,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
92
93
  if result.returncode == 0:
93
94
  return DiagnosticResult(
94
95
  category="Claude Code CLI Installation",
95
- status=DiagnosticStatus.OK,
96
+ status=OperationResult.SUCCESS,
96
97
  message="Claude Code CLI is installed and accessible",
97
98
  details={
98
99
  "installed": True,
@@ -115,14 +116,14 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
115
116
  if path.exists() and path.is_file():
116
117
  return DiagnosticResult(
117
118
  category="Claude Code CLI Installation",
118
- status=DiagnosticStatus.OK,
119
+ status=OperationResult.SUCCESS,
119
120
  message=f"Claude Code CLI found at {path}",
120
121
  details={"installed": True, "path": str(path)},
121
122
  )
122
123
 
123
124
  return DiagnosticResult(
124
125
  category="Claude Code CLI Installation",
125
- status=DiagnosticStatus.ERROR,
126
+ status=ValidationSeverity.ERROR,
126
127
  message="Claude Code CLI not found",
127
128
  details={"installed": False},
128
129
  fix_description="Install Claude Code CLI from https://claude.ai/code",
@@ -150,7 +151,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
150
151
  break
151
152
 
152
153
  # Check minimum version requirement (1.0.60+)
153
- status = DiagnosticStatus.OK
154
+ status = OperationResult.SUCCESS
154
155
  message = f"Version: {version}"
155
156
 
156
157
  return DiagnosticResult(
@@ -166,7 +167,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
166
167
  except subprocess.SubprocessError as e:
167
168
  return DiagnosticResult(
168
169
  category="Claude Code CLI Version",
169
- status=DiagnosticStatus.WARNING,
170
+ status=ValidationSeverity.WARNING,
170
171
  message=f"Could not determine version: {e}",
171
172
  details={"version": "unknown", "error": str(e)},
172
173
  )
@@ -178,7 +179,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
178
179
  if not style_path.exists():
179
180
  return DiagnosticResult(
180
181
  category="Output Style",
181
- status=DiagnosticStatus.WARNING,
182
+ status=ValidationSeverity.WARNING,
182
183
  message="Output style not deployed",
183
184
  details={"deployed": False, "path": str(style_path)},
184
185
  fix_command="claude-mpm deploy-style",
@@ -192,13 +193,13 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
192
193
  if "Claude MPM Output Style" in content:
193
194
  return DiagnosticResult(
194
195
  category="Output Style",
195
- status=DiagnosticStatus.OK,
196
+ status=OperationResult.SUCCESS,
196
197
  message="Output style deployed",
197
198
  details={"deployed": True, "path": str(style_path)},
198
199
  )
199
200
  return DiagnosticResult(
200
201
  category="Output Style",
201
- status=DiagnosticStatus.WARNING,
202
+ status=ValidationSeverity.WARNING,
202
203
  message="Output style outdated",
203
204
  details={
204
205
  "deployed": True,
@@ -211,7 +212,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
211
212
  except Exception as e:
212
213
  return DiagnosticResult(
213
214
  category="Output Style",
214
- status=DiagnosticStatus.WARNING,
215
+ status=ValidationSeverity.WARNING,
215
216
  message=f"Could not check output style: {e!s}",
216
217
  details={"error": str(e)},
217
218
  )
@@ -224,7 +225,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
224
225
  if not config_path.exists():
225
226
  return DiagnosticResult(
226
227
  category="MCP Integration",
227
- status=DiagnosticStatus.WARNING,
228
+ status=ValidationSeverity.WARNING,
228
229
  message="Claude Code CLI config not found",
229
230
  details={"configured": False, "config_path": str(config_path)},
230
231
  fix_command="claude-mpm mcp install",
@@ -239,7 +240,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
239
240
  if "claude-mpm-gateway" in mcp_servers or "claude-mpm" in mcp_servers:
240
241
  return DiagnosticResult(
241
242
  category="MCP Integration",
242
- status=DiagnosticStatus.OK,
243
+ status=OperationResult.SUCCESS,
243
244
  message="MCP server configured",
244
245
  details={
245
246
  "configured": True,
@@ -249,7 +250,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
249
250
  )
250
251
  return DiagnosticResult(
251
252
  category="MCP Integration",
252
- status=DiagnosticStatus.WARNING,
253
+ status=ValidationSeverity.WARNING,
253
254
  message="MCP server not configured",
254
255
  details={
255
256
  "configured": False,
@@ -263,7 +264,7 @@ class ClaudeCodeCheck(BaseDiagnosticCheck):
263
264
  except Exception as e:
264
265
  return DiagnosticResult(
265
266
  category="MCP Integration",
266
- status=DiagnosticStatus.WARNING,
267
+ status=ValidationSeverity.WARNING,
267
268
  message=f"Could not check MCP configuration: {e!s}",
268
269
  details={"error": str(e)},
269
270
  )