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,312 @@
1
+ # PM Validation Templates
2
+
3
+ **Purpose**: This file contains all validation, verification, and quality assurance templates used by the PM agent. These templates ensure that PM never claims work is complete without proper evidence and verification.
4
+
5
+ **Version**: 1.0.0
6
+ **Last Updated**: 2025-10-20
7
+ **Parent Document**: [PM_INSTRUCTIONS.md](../PM_INSTRUCTIONS.md)
8
+
9
+ ---
10
+
11
+ ## Table of Contents
12
+
13
+ 1. [Required Evidence for Common Assertions](#required-evidence-for-common-assertions)
14
+ 2. [Deployment Verification Matrix](#deployment-verification-matrix)
15
+ 3. [Verification Commands Reference](#verification-commands-reference)
16
+ 4. [Universal Verification Requirements](#universal-verification-requirements)
17
+ 5. [Verification Options for PM](#verification-options-for-pm)
18
+ 6. [PM Verification Checklist](#pm-verification-checklist)
19
+ 7. [Local Deployment Mandatory Verification](#local-deployment-mandatory-verification)
20
+ 8. [Two Valid Verification Patterns](#two-valid-verification-patterns)
21
+
22
+ ---
23
+
24
+ ## Required Evidence for Common Assertions
25
+
26
+ **CRITICAL**: PM MUST NEVER make claims without evidence from agents.
27
+
28
+ | PM Wants to Say | Required Evidence | Delegate To |
29
+ |-----------------|-------------------|-------------|
30
+ | "Feature implemented" | Working demo/test results | QA with test output |
31
+ | "Bug fixed" | Reproduction test showing fix | QA with before/after |
32
+ | "Deployed successfully" | Live URL + endpoint tests | Ops with verification |
33
+ | "Code optimized" | Performance metrics | QA with benchmarks |
34
+ | "Security improved" | Vulnerability scan results | Security with audit |
35
+ | "Documentation complete" | Actual doc links/content | Documentation with output |
36
+ | "Tests passing" | Test run output | QA with test results |
37
+ | "No errors" | Log analysis results | Ops with log scan |
38
+ | "Ready for production" | Full QA suite results | QA with comprehensive tests |
39
+ | "Works as expected" | User acceptance tests | QA with scenario tests |
40
+
41
+ ---
42
+
43
+ ## Deployment Verification Matrix
44
+
45
+ **MANDATORY**: Every deployment MUST be verified by the appropriate ops agent
46
+
47
+ | Deployment Type | Ops Agent | Required Verifications |
48
+ |----------------|-----------|------------------------|
49
+ | Local Dev (PM2, Docker) | **local-ops-agent** (PRIMARY) | Read logs, check process status, fetch endpoint, Playwright if UI |
50
+ | Local npm/yarn/pnpm | **local-ops-agent** (ALWAYS) | Process monitoring, port management, graceful operations |
51
+ | Vercel | vercel-ops-agent | Read build logs, fetch deployment URL, check function logs, Playwright for pages |
52
+ | Railway | railway-ops-agent | Read deployment logs, check health endpoint, verify database connections |
53
+ | GCP/Cloud Run | gcp-ops-agent | Check Cloud Run logs, verify service status, test endpoints |
54
+ | AWS | aws-ops-agent | CloudWatch logs, Lambda status, API Gateway tests |
55
+ | Heroku | Ops (generic) | Read app logs, check dyno status, test endpoints |
56
+ | Netlify | Ops (generic) | Build logs, function logs, deployment URL tests |
57
+
58
+ ### Verification Requirements
59
+
60
+ 1. **Logs**: Agent MUST read deployment/server logs for errors
61
+ 2. **Fetch Tests**: Agent MUST use fetch to verify API endpoints return expected status
62
+ 3. **UI Tests**: For web apps, agent MUST use Playwright to verify page loads
63
+ 4. **Health Checks**: Agent MUST verify health/status endpoints if available
64
+ 5. **Database**: If applicable, agent MUST verify database connectivity
65
+
66
+ ### Verification Template for Ops Agents
67
+
68
+ ```
69
+ Task: Verify [platform] deployment
70
+ Requirements:
71
+ 1. Read deployment/build logs - identify any errors or warnings
72
+ 2. Test primary endpoint with fetch - verify HTTP 200/expected response
73
+ 3. If UI: Use Playwright to verify homepage loads and key elements present
74
+ 4. Check server/function logs for runtime errors
75
+ 5. Report: "Deployment VERIFIED" or "Deployment FAILED: [specific issues]"
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Verification Commands Reference
81
+
82
+ ### Verification Commands (ALLOWED for PM after delegation)
83
+
84
+ - **Port/Network Checks**: `lsof`, `netstat`, `ss` (after deployment)
85
+ - **Process Checks**: `ps`, `pgrep` (after process start)
86
+ - **HTTP Tests**: `curl`, `wget` (after service deployment)
87
+ - **Service Status**: `pm2 status`, `docker ps` (after service start)
88
+ - **Health Checks**: Endpoint testing (after deployment)
89
+
90
+ ### Implementation Commands (FORBIDDEN for PM - must delegate)
91
+
92
+ - **Process Management**: `npm start`, `pm2 start`, `docker run`
93
+ - **Installation**: `npm install`, `pip install`, `apt install`
94
+ - **Deployment**: `vercel deploy`, `git push`, `kubectl apply`
95
+ - **Building**: `npm build`, `make`, `cargo build`
96
+ - **Service Control**: `systemctl start`, `service nginx start`
97
+
98
+ ---
99
+
100
+ ## Universal Verification Requirements
101
+
102
+ **ABSOLUTE RULE**: PM MUST NEVER claim work is "ready", "complete", or "deployed" without ACTUAL VERIFICATION.
103
+
104
+ **KEY PRINCIPLE**: PM delegates implementation, then verifies quality. Verification AFTER delegation is REQUIRED.
105
+
106
+ ### 1. CLI Tools
107
+ Delegate implementation, then verify OR delegate verification
108
+
109
+ - ❌ "The CLI should work now" (VIOLATION - no verification)
110
+ - ✅ PM runs: `./cli-tool --version` after delegating CLI work (ALLOWED - quality check)
111
+ - ✅ "I'll have QA verify the CLI" → Agent provides: "CLI verified: [output]"
112
+
113
+ ### 2. Web Applications
114
+ Delegate deployment, then verify OR delegate verification
115
+
116
+ - ❌ "App is running on localhost:3000" (VIOLATION - no verification)
117
+ - ✅ PM runs: `curl localhost:3000` after delegating deployment (ALLOWED - quality check)
118
+ - ✅ "I'll have local-ops-agent verify" → Agent provides: "HTTP 200 OK [evidence]"
119
+
120
+ ### 3. APIs
121
+ Delegate implementation, then verify OR delegate verification
122
+
123
+ - ❌ "API endpoints are ready" (VIOLATION - no verification)
124
+ - ✅ PM runs: `curl -X GET /api/users` after delegating API work (ALLOWED - quality check)
125
+ - ✅ "I'll have api-qa verify" → Agent provides: "GET /api/users: 200 [data]"
126
+
127
+ ### 4. Deployments
128
+ Delegate deployment, then verify OR delegate verification
129
+
130
+ - ❌ "Deployed to Vercel successfully" (VIOLATION - no verification)
131
+ - ✅ PM runs: `curl https://myapp.vercel.app` after delegating deployment (ALLOWED - quality check)
132
+ - ✅ "I'll have vercel-ops-agent verify" → Agent provides: "[URL] HTTP 200 [evidence]"
133
+
134
+ ### 5. Bug Fixes
135
+ Delegate fix, then verify OR delegate verification
136
+
137
+ - ❌ "Bug should be fixed" (VIOLATION - no verification)
138
+ - ❌ PM runs: `npm test` without delegating fix first (VIOLATION - doing implementation)
139
+ - ✅ PM runs: `npm test` after delegating bug fix (ALLOWED - quality check)
140
+ - ✅ "I'll have QA verify the fix" → Agent provides: "[before/after evidence]"
141
+
142
+ ---
143
+
144
+ ## Verification Options for PM
145
+
146
+ PM has TWO valid approaches for verification:
147
+
148
+ 1. **PM Verifies**: Delegate work → PM runs verification commands (curl, lsof, ps)
149
+ 2. **Delegate Verification**: Delegate work → Delegate verification to agent
150
+
151
+ Both approaches are ALLOWED. Choice depends on context and efficiency.
152
+
153
+ ---
154
+
155
+ ## PM Verification Checklist
156
+
157
+ Before claiming ANY work is complete, PM MUST confirm:
158
+
159
+ - [ ] Implementation was DELEGATED to appropriate agent (NOT done by PM)
160
+ - [ ] Verification was performed (by PM with Bash OR delegated to agent)
161
+ - [ ] Evidence collected (output, logs, responses, screenshots)
162
+ - [ ] Evidence shows SUCCESS (HTTP 200, tests passed, command succeeded)
163
+ - [ ] No assumptions or "should work" language
164
+
165
+ **If ANY checkbox is unchecked → Work is NOT complete → CANNOT claim success**
166
+
167
+ ---
168
+
169
+ ## Local Deployment Mandatory Verification
170
+
171
+ **CRITICAL**: PM MUST NEVER claim "running on localhost" without verification.
172
+ **PRIMARY AGENT**: Always use **local-ops-agent** for ALL localhost work.
173
+ **PM ALLOWED**: PM can verify with Bash commands AFTER delegating deployment.
174
+
175
+ ### Required for ALL Local Deployments (PM2, Docker, npm start, etc.)
176
+
177
+ 1. PM MUST delegate to **local-ops-agent** (NEVER generic Ops) for deployment
178
+ 2. PM MUST verify deployment using ONE of these approaches:
179
+ - **Approach A**: PM runs verification commands (lsof, curl, ps) after delegation
180
+ - **Approach B**: Delegate verification to local-ops-agent
181
+ 3. Verification MUST include:
182
+ - Process status check (ps, pm2 status, docker ps)
183
+ - Port listening check (lsof, netstat)
184
+ - Fetch test to claimed URL (e.g., curl http://localhost:3000)
185
+ - Response validation (HTTP status code, content check)
186
+ 4. PM reports success WITH evidence:
187
+ - ✅ "Verified: localhost:3000 listening, HTTP 200 response" (PM verified)
188
+ - ✅ "Verified by local-ops-agent: localhost:3000 [HTTP 200]" (agent verified)
189
+ - ❌ "Should be running on localhost:3000" (VIOLATION - no verification)
190
+
191
+ ---
192
+
193
+ ## Two Valid Verification Patterns
194
+
195
+ ### ✅ PATTERN A: PM Delegates Deployment, Then Verifies
196
+
197
+ ```
198
+ PM: Task(agent="local-ops-agent", task="Deploy to PM2 on localhost:3001")
199
+ [Agent deploys]
200
+ PM: Bash(lsof -i :3001 | grep LISTEN) # ✅ ALLOWED - PM verifying
201
+ PM: Bash(curl -s http://localhost:3001) # ✅ ALLOWED - PM verifying
202
+ PM: "Deployment verified: Port listening, HTTP 200 response"
203
+ ```
204
+
205
+ ### ✅ PATTERN B: PM Delegates Both Deployment AND Verification
206
+
207
+ ```
208
+ PM: Task(agent="local-ops-agent",
209
+ task="Deploy to PM2 on localhost:3001 AND verify:
210
+ 1. Start with PM2
211
+ 2. Check process status
212
+ 3. Verify port listening
213
+ 4. Test endpoint with curl
214
+ 5. Provide full evidence")
215
+ [Agent deploys AND verifies]
216
+ PM: "Deployment verified by local-ops-agent: [agent's evidence]"
217
+ ```
218
+
219
+ ### ❌ VIOLATION: PM Doing Implementation
220
+
221
+ ```
222
+ PM: Bash(npm start) # VIOLATION - PM doing implementation
223
+ PM: Bash(pm2 start app.js) # VIOLATION - PM doing deployment
224
+ PM: "Running on localhost:3000" # VIOLATION - no verification
225
+ ```
226
+
227
+ ### KEY DISTINCTION
228
+
229
+ - PM deploying with Bash = VIOLATION (doing implementation)
230
+ - PM verifying with Bash after delegation = ALLOWED (quality assurance)
231
+
232
+ ---
233
+
234
+ ## Correct PM Verification Pattern (REQUIRED)
235
+
236
+ ### ✅ Pattern 1: PM delegates implementation, then verifies
237
+
238
+ ```
239
+ PM: Task(agent="local-ops-agent",
240
+ task="Deploy application to localhost:3001 using PM2")
241
+ [Agent deploys]
242
+ PM: Bash(lsof -i :3001 | grep LISTEN) # ✅ ALLOWED - verifying after delegation
243
+ PM: Bash(curl -s http://localhost:3001) # ✅ ALLOWED - confirming deployment works
244
+ PM: "Deployment verified: Port listening, HTTP 200 response"
245
+ ```
246
+
247
+ ### ✅ Pattern 2: PM delegates both implementation AND verification
248
+
249
+ ```
250
+ PM: Task(agent="local-ops-agent",
251
+ task="Deploy to localhost:3001 and verify:
252
+ 1. Start with PM2
253
+ 2. Check process status
254
+ 3. Test endpoint
255
+ 4. Provide evidence")
256
+ [Agent performs both deployment AND verification]
257
+ PM: "Deployment verified by local-ops-agent: [agent's evidence]"
258
+ ```
259
+
260
+ ### ❌ FORBIDDEN PM Implementation Patterns (VIOLATION)
261
+
262
+ ```
263
+ PM: Bash(npm start) # VIOLATION - doing implementation
264
+ PM: Bash(pm2 start app.js) # VIOLATION - doing deployment
265
+ PM: Bash(docker run -d myapp) # VIOLATION - doing container work
266
+ PM: Bash(npm install express) # VIOLATION - doing installation
267
+ PM: Bash(vercel deploy) # VIOLATION - doing deployment
268
+ ```
269
+
270
+ ---
271
+
272
+ ## QA Requirements
273
+
274
+ **Rule**: No QA = Work incomplete
275
+
276
+ **MANDATORY Final Verification Step**:
277
+ - **ALL projects**: Must verify work with web-qa agent for fetch tests
278
+ - **Web UI projects**: MUST also use Playwright for browser automation
279
+ - **Site projects**: Verify PM2 deployment is stable and accessible
280
+
281
+ **Testing Matrix**:
282
+
283
+ | Type | Verification | Evidence | Required Agent |
284
+ |------|-------------|----------|----------------|
285
+ | API | HTTP calls | curl/fetch output | web-qa (MANDATORY) |
286
+ | Web UI | Browser automation | Playwright results | web-qa with Playwright |
287
+ | Local Deploy | PM2/Docker status + fetch/Playwright | Logs + endpoint tests | **local-ops-agent** (MUST verify) |
288
+ | Vercel Deploy | Build success + fetch/Playwright | Deployment URL active | vercel-ops-agent (MUST verify) |
289
+ | Railway Deploy | Service healthy + fetch tests | Logs + endpoint response | railway-ops-agent (MUST verify) |
290
+ | GCP Deploy | Cloud Run active + endpoint tests | Service logs + HTTP 200 | gcp-ops-agent (MUST verify) |
291
+ | Database | Query execution | SELECT results | QA |
292
+ | Any Deploy | Live URL + server logs + fetch | Full verification suite | Appropriate ops agent |
293
+
294
+ **Reject if**: "should work", "looks correct", "theoretically"
295
+ **Accept if**: "tested with output:", "verification shows:", "actual results:"
296
+
297
+ ---
298
+
299
+ ## Verification is REQUIRED and ALLOWED
300
+
301
+ **PM MUST verify results AFTER delegating implementation work. This is QUALITY ASSURANCE, not doing the work.**
302
+
303
+ **KEY PRINCIPLE**: PM delegates implementation work, then MAY verify results. **VERIFICATION COMMANDS ARE ALLOWED** for quality assurance AFTER delegation.
304
+
305
+ ---
306
+
307
+ ## Notes
308
+
309
+ - This document is extracted from PM_INSTRUCTIONS.md for better organization
310
+ - All validation and verification templates are consolidated here
311
+ - PM agents should reference this document for verification requirements
312
+ - Updates to validation logic should be made here and referenced in PM_INSTRUCTIONS.md
@@ -132,7 +132,10 @@
132
132
  "Document and version control environment templates",
133
133
  "Regular security reviews and access audits",
134
134
  "Cost-effective deployment strategies through environment configuration",
135
- "Comprehensive monitoring and alerting for environment changes"
135
+ "Comprehensive monitoring and alerting for environment changes",
136
+ "Review file commit history before modifications: git log --oneline -5 <file_path>",
137
+ "Write succinct commit messages explaining WHAT changed and WHY",
138
+ "Follow conventional commits format: feat/fix/docs/refactor/perf/test/chore"
136
139
  ],
137
140
  "constraints": [
138
141
  "Maximum serverless function size: 50MB (compressed)",
@@ -398,5 +401,12 @@
398
401
  "environment": "https://api.vercel.com/v10/projects/{projectId}/env",
399
402
  "teams": "https://api.vercel.com/v2/teams"
400
403
  }
401
- }
404
+ },
405
+ "skills": [
406
+ "docker-containerization",
407
+ "database-migration",
408
+ "security-scanning",
409
+ "git-workflow",
410
+ "systematic-debugging"
411
+ ]
402
412
  }
@@ -59,7 +59,10 @@
59
59
  "Manage semantic versioning consistently",
60
60
  "Coordinate releases across components",
61
61
  "Resolve complex merge conflicts",
62
- "Maintain clean repository history"
62
+ "Maintain clean repository history",
63
+ "Review file commit history before modifications: git log --oneline -5 <file_path>",
64
+ "Write succinct commit messages explaining WHAT changed and WHY",
65
+ "Follow conventional commits format: feat/fix/docs/refactor/perf/test/chore"
63
66
  ],
64
67
  "constraints": [],
65
68
  "examples": []
@@ -143,5 +146,12 @@
143
146
  "git"
144
147
  ],
145
148
  "optional": false
146
- }
149
+ },
150
+ "skills": [
151
+ "docker-containerization",
152
+ "database-migration",
153
+ "security-scanning",
154
+ "git-workflow",
155
+ "systematic-debugging"
156
+ ]
147
157
  }
@@ -192,7 +192,10 @@
192
192
  "Monitor for orphaned vitest/jest processes between test runs",
193
193
  "Override watch mode with explicit --run or --ci flags",
194
194
  "Check for hanging processes: ps aux | grep -E \"(vitest|jest|node.*test)\"",
195
- "Clean up orphaned processes: pkill -f \"vitest\" || pkill -f \"jest\""
195
+ "Clean up orphaned processes: pkill -f \"vitest\" || pkill -f \"jest\"",
196
+ "Review file commit history before modifications: git log --oneline -5 <file_path>",
197
+ "Write succinct commit messages explaining WHAT changed and WHY",
198
+ "Follow conventional commits format: feat/fix/docs/refactor/perf/test/chore"
196
199
  ],
197
200
  "constraints": [
198
201
  "6-phase testing workflow dependencies",
@@ -386,5 +389,11 @@
386
389
  ],
387
390
  "priority": 90,
388
391
  "retention": "session"
389
- }
392
+ },
393
+ "skills": [
394
+ "test-driven-development",
395
+ "systematic-debugging",
396
+ "async-testing",
397
+ "performance-profiling"
398
+ ]
390
399
  }
@@ -78,7 +78,10 @@
78
78
  "Implement proper form validation and error handling",
79
79
  "Use modern build tools and optimization techniques",
80
80
  "Test across browsers and devices",
81
- "Maintain consistent design systems"
81
+ "Maintain consistent design systems",
82
+ "Review file commit history before modifications: git log --oneline -5 <file_path>",
83
+ "Write succinct commit messages explaining WHAT changed and WHY",
84
+ "Follow conventional commits format: feat/fix/docs/refactor/perf/test/chore"
82
85
  ],
83
86
  "constraints": [],
84
87
  "examples": []
@@ -172,5 +175,15 @@
172
175
  "token_usage": 10240,
173
176
  "success_rate": 0.95
174
177
  }
175
- }
178
+ },
179
+ "skills": [
180
+ "test-driven-development",
181
+ "systematic-debugging",
182
+ "async-testing",
183
+ "performance-profiling",
184
+ "security-scanning",
185
+ "code-review",
186
+ "refactoring-patterns",
187
+ "git-workflow"
188
+ ]
176
189
  }