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.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_AGENT_TEMPLATE.md +118 -0
- claude_mpm/agents/BASE_ENGINEER.md +286 -0
- claude_mpm/agents/BASE_PM.md +106 -1
- claude_mpm/agents/OUTPUT_STYLE.md +329 -11
- claude_mpm/agents/PM_INSTRUCTIONS.md +397 -459
- claude_mpm/agents/agent_loader.py +17 -5
- claude_mpm/agents/frontmatter_validator.py +284 -253
- claude_mpm/agents/templates/README.md +465 -0
- claude_mpm/agents/templates/agent-manager.json +4 -1
- claude_mpm/agents/templates/agentic-coder-optimizer.json +13 -3
- claude_mpm/agents/templates/api_qa.json +11 -2
- claude_mpm/agents/templates/circuit_breakers.md +638 -0
- claude_mpm/agents/templates/clerk-ops.json +12 -2
- claude_mpm/agents/templates/code_analyzer.json +8 -2
- claude_mpm/agents/templates/content-agent.json +358 -0
- claude_mpm/agents/templates/dart_engineer.json +15 -2
- claude_mpm/agents/templates/data_engineer.json +15 -2
- claude_mpm/agents/templates/documentation.json +10 -2
- claude_mpm/agents/templates/engineer.json +21 -1
- claude_mpm/agents/templates/gcp_ops_agent.json +12 -2
- claude_mpm/agents/templates/git_file_tracking.md +584 -0
- claude_mpm/agents/templates/golang_engineer.json +270 -0
- claude_mpm/agents/templates/imagemagick.json +4 -1
- claude_mpm/agents/templates/java_engineer.json +346 -0
- claude_mpm/agents/templates/local_ops_agent.json +1227 -6
- claude_mpm/agents/templates/memory_manager.json +4 -1
- claude_mpm/agents/templates/nextjs_engineer.json +141 -133
- claude_mpm/agents/templates/ops.json +12 -2
- claude_mpm/agents/templates/php-engineer.json +270 -174
- claude_mpm/agents/templates/pm_examples.md +474 -0
- claude_mpm/agents/templates/pm_red_flags.md +240 -0
- claude_mpm/agents/templates/product_owner.json +338 -0
- claude_mpm/agents/templates/project_organizer.json +14 -4
- claude_mpm/agents/templates/prompt-engineer.json +13 -2
- claude_mpm/agents/templates/python_engineer.json +174 -81
- claude_mpm/agents/templates/qa.json +11 -2
- claude_mpm/agents/templates/react_engineer.json +16 -3
- claude_mpm/agents/templates/refactoring_engineer.json +12 -2
- claude_mpm/agents/templates/research.json +34 -21
- claude_mpm/agents/templates/response_format.md +583 -0
- claude_mpm/agents/templates/ruby-engineer.json +129 -192
- claude_mpm/agents/templates/rust_engineer.json +270 -0
- claude_mpm/agents/templates/security.json +10 -2
- claude_mpm/agents/templates/svelte-engineer.json +225 -0
- claude_mpm/agents/templates/ticketing.json +10 -2
- claude_mpm/agents/templates/typescript_engineer.json +116 -125
- claude_mpm/agents/templates/validation_templates.md +312 -0
- claude_mpm/agents/templates/vercel_ops_agent.json +12 -2
- claude_mpm/agents/templates/version_control.json +12 -2
- claude_mpm/agents/templates/web_qa.json +11 -2
- claude_mpm/agents/templates/web_ui.json +15 -2
- claude_mpm/cli/__init__.py +34 -614
- claude_mpm/cli/commands/agent_manager.py +25 -12
- claude_mpm/cli/commands/agent_state_manager.py +186 -0
- claude_mpm/cli/commands/agents.py +235 -148
- claude_mpm/cli/commands/agents_detect.py +380 -0
- claude_mpm/cli/commands/agents_recommend.py +309 -0
- claude_mpm/cli/commands/aggregate.py +7 -3
- claude_mpm/cli/commands/analyze.py +9 -4
- claude_mpm/cli/commands/analyze_code.py +7 -2
- claude_mpm/cli/commands/auto_configure.py +570 -0
- claude_mpm/cli/commands/config.py +47 -13
- claude_mpm/cli/commands/configure.py +419 -1571
- claude_mpm/cli/commands/configure_agent_display.py +261 -0
- claude_mpm/cli/commands/configure_behavior_manager.py +204 -0
- claude_mpm/cli/commands/configure_hook_manager.py +225 -0
- claude_mpm/cli/commands/configure_models.py +18 -0
- claude_mpm/cli/commands/configure_navigation.py +167 -0
- claude_mpm/cli/commands/configure_paths.py +104 -0
- claude_mpm/cli/commands/configure_persistence.py +254 -0
- claude_mpm/cli/commands/configure_startup_manager.py +646 -0
- claude_mpm/cli/commands/configure_template_editor.py +497 -0
- claude_mpm/cli/commands/configure_validators.py +73 -0
- claude_mpm/cli/commands/local_deploy.py +537 -0
- claude_mpm/cli/commands/memory.py +54 -20
- claude_mpm/cli/commands/mpm_init.py +585 -196
- claude_mpm/cli/commands/mpm_init_handler.py +37 -3
- claude_mpm/cli/commands/search.py +170 -4
- claude_mpm/cli/commands/upgrade.py +152 -0
- claude_mpm/cli/executor.py +202 -0
- claude_mpm/cli/helpers.py +105 -0
- claude_mpm/cli/interactive/__init__.py +3 -0
- claude_mpm/cli/interactive/skills_wizard.py +491 -0
- claude_mpm/cli/parsers/__init__.py +7 -1
- claude_mpm/cli/parsers/agents_parser.py +9 -0
- claude_mpm/cli/parsers/auto_configure_parser.py +245 -0
- claude_mpm/cli/parsers/base_parser.py +110 -3
- claude_mpm/cli/parsers/local_deploy_parser.py +227 -0
- claude_mpm/cli/parsers/mpm_init_parser.py +65 -5
- claude_mpm/cli/shared/output_formatters.py +28 -19
- claude_mpm/cli/startup.py +481 -0
- claude_mpm/cli/utils.py +52 -1
- claude_mpm/commands/mpm-agents-detect.md +168 -0
- claude_mpm/commands/mpm-agents-recommend.md +214 -0
- claude_mpm/commands/mpm-agents.md +75 -1
- claude_mpm/commands/mpm-auto-configure.md +217 -0
- claude_mpm/commands/mpm-help.md +163 -0
- claude_mpm/commands/mpm-init.md +148 -3
- claude_mpm/commands/mpm-version.md +113 -0
- claude_mpm/commands/mpm.md +1 -0
- claude_mpm/config/agent_config.py +2 -2
- claude_mpm/config/model_config.py +428 -0
- claude_mpm/constants.py +1 -0
- claude_mpm/core/base_service.py +13 -12
- claude_mpm/core/enums.py +452 -0
- claude_mpm/core/factories.py +1 -1
- claude_mpm/core/instruction_reinforcement_hook.py +2 -1
- claude_mpm/core/interactive_session.py +9 -3
- claude_mpm/core/log_manager.py +2 -0
- claude_mpm/core/logging_config.py +6 -2
- claude_mpm/core/oneshot_session.py +8 -4
- claude_mpm/core/optimized_agent_loader.py +3 -3
- claude_mpm/core/output_style_manager.py +12 -192
- claude_mpm/core/service_registry.py +5 -1
- claude_mpm/core/types.py +2 -9
- claude_mpm/core/typing_utils.py +7 -6
- claude_mpm/dashboard/static/js/dashboard.js +0 -14
- claude_mpm/dashboard/templates/index.html +3 -41
- claude_mpm/hooks/__init__.py +20 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +4 -2
- claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
- claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +23 -2
- claude_mpm/hooks/failure_learning/__init__.py +60 -0
- claude_mpm/hooks/failure_learning/failure_detection_hook.py +235 -0
- claude_mpm/hooks/failure_learning/fix_detection_hook.py +217 -0
- claude_mpm/hooks/failure_learning/learning_extraction_hook.py +286 -0
- claude_mpm/hooks/instruction_reinforcement.py +7 -2
- claude_mpm/hooks/kuzu_enrichment_hook.py +263 -0
- claude_mpm/hooks/kuzu_memory_hook.py +37 -12
- claude_mpm/hooks/kuzu_response_hook.py +183 -0
- claude_mpm/models/resume_log.py +340 -0
- claude_mpm/services/agents/__init__.py +18 -5
- claude_mpm/services/agents/auto_config_manager.py +796 -0
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
- claude_mpm/services/agents/deployment/agent_validator.py +17 -1
- claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
- claude_mpm/services/agents/deployment/interface_adapter.py +3 -2
- claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
- claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +7 -6
- claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +7 -16
- claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +4 -3
- claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +5 -3
- claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +6 -5
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +9 -6
- claude_mpm/services/agents/deployment/validation/__init__.py +3 -1
- claude_mpm/services/agents/deployment/validation/validation_result.py +1 -9
- claude_mpm/services/agents/local_template_manager.py +1 -1
- claude_mpm/services/agents/memory/agent_memory_manager.py +5 -2
- claude_mpm/services/agents/observers.py +547 -0
- claude_mpm/services/agents/recommender.py +568 -0
- claude_mpm/services/agents/registry/modification_tracker.py +5 -2
- claude_mpm/services/command_handler_service.py +11 -5
- claude_mpm/services/core/__init__.py +33 -1
- claude_mpm/services/core/interfaces/__init__.py +90 -3
- claude_mpm/services/core/interfaces/agent.py +184 -0
- claude_mpm/services/core/interfaces/health.py +172 -0
- claude_mpm/services/core/interfaces/model.py +281 -0
- claude_mpm/services/core/interfaces/process.py +372 -0
- claude_mpm/services/core/interfaces/project.py +121 -0
- claude_mpm/services/core/interfaces/restart.py +307 -0
- claude_mpm/services/core/interfaces/stability.py +260 -0
- claude_mpm/services/core/memory_manager.py +11 -24
- claude_mpm/services/core/models/__init__.py +79 -0
- claude_mpm/services/core/models/agent_config.py +381 -0
- claude_mpm/services/core/models/health.py +162 -0
- claude_mpm/services/core/models/process.py +235 -0
- claude_mpm/services/core/models/restart.py +302 -0
- claude_mpm/services/core/models/stability.py +264 -0
- claude_mpm/services/core/models/toolchain.py +306 -0
- claude_mpm/services/core/path_resolver.py +23 -7
- claude_mpm/services/diagnostics/__init__.py +2 -2
- claude_mpm/services/diagnostics/checks/agent_check.py +25 -24
- claude_mpm/services/diagnostics/checks/claude_code_check.py +24 -23
- claude_mpm/services/diagnostics/checks/common_issues_check.py +25 -24
- claude_mpm/services/diagnostics/checks/configuration_check.py +24 -23
- claude_mpm/services/diagnostics/checks/filesystem_check.py +18 -17
- claude_mpm/services/diagnostics/checks/installation_check.py +30 -29
- claude_mpm/services/diagnostics/checks/instructions_check.py +20 -19
- claude_mpm/services/diagnostics/checks/mcp_check.py +50 -36
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +38 -33
- claude_mpm/services/diagnostics/checks/monitor_check.py +23 -22
- claude_mpm/services/diagnostics/checks/startup_log_check.py +9 -8
- claude_mpm/services/diagnostics/diagnostic_runner.py +6 -5
- claude_mpm/services/diagnostics/doctor_reporter.py +28 -25
- claude_mpm/services/diagnostics/models.py +19 -24
- claude_mpm/services/infrastructure/monitoring/__init__.py +1 -1
- claude_mpm/services/infrastructure/monitoring/aggregator.py +12 -12
- claude_mpm/services/infrastructure/monitoring/base.py +5 -13
- claude_mpm/services/infrastructure/monitoring/network.py +7 -6
- claude_mpm/services/infrastructure/monitoring/process.py +13 -12
- claude_mpm/services/infrastructure/monitoring/resources.py +7 -6
- claude_mpm/services/infrastructure/monitoring/service.py +16 -15
- claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
- claude_mpm/services/local_ops/__init__.py +163 -0
- claude_mpm/services/local_ops/crash_detector.py +257 -0
- claude_mpm/services/local_ops/health_checks/__init__.py +28 -0
- claude_mpm/services/local_ops/health_checks/http_check.py +224 -0
- claude_mpm/services/local_ops/health_checks/process_check.py +236 -0
- claude_mpm/services/local_ops/health_checks/resource_check.py +255 -0
- claude_mpm/services/local_ops/health_manager.py +430 -0
- claude_mpm/services/local_ops/log_monitor.py +396 -0
- claude_mpm/services/local_ops/memory_leak_detector.py +294 -0
- claude_mpm/services/local_ops/process_manager.py +595 -0
- claude_mpm/services/local_ops/resource_monitor.py +331 -0
- claude_mpm/services/local_ops/restart_manager.py +401 -0
- claude_mpm/services/local_ops/restart_policy.py +387 -0
- claude_mpm/services/local_ops/state_manager.py +372 -0
- claude_mpm/services/local_ops/unified_manager.py +600 -0
- claude_mpm/services/mcp_config_manager.py +9 -4
- claude_mpm/services/mcp_gateway/core/__init__.py +1 -2
- claude_mpm/services/mcp_gateway/core/base.py +18 -31
- claude_mpm/services/mcp_gateway/main.py +30 -0
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +206 -32
- claude_mpm/services/mcp_gateway/tools/health_check_tool.py +30 -28
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +25 -5
- claude_mpm/services/mcp_service_verifier.py +1 -1
- claude_mpm/services/memory/failure_tracker.py +563 -0
- claude_mpm/services/memory_hook_service.py +165 -4
- claude_mpm/services/model/__init__.py +147 -0
- claude_mpm/services/model/base_provider.py +365 -0
- claude_mpm/services/model/claude_provider.py +412 -0
- claude_mpm/services/model/model_router.py +453 -0
- claude_mpm/services/model/ollama_provider.py +415 -0
- claude_mpm/services/monitor/daemon_manager.py +3 -2
- claude_mpm/services/monitor/handlers/dashboard.py +2 -1
- claude_mpm/services/monitor/handlers/hooks.py +2 -1
- claude_mpm/services/monitor/management/lifecycle.py +3 -2
- claude_mpm/services/monitor/server.py +2 -1
- claude_mpm/services/project/__init__.py +23 -0
- claude_mpm/services/project/detection_strategies.py +719 -0
- claude_mpm/services/project/toolchain_analyzer.py +581 -0
- claude_mpm/services/self_upgrade_service.py +342 -0
- claude_mpm/services/session_management_service.py +3 -2
- claude_mpm/services/session_manager.py +205 -1
- claude_mpm/services/shared/async_service_base.py +16 -27
- claude_mpm/services/shared/lifecycle_service_base.py +1 -14
- claude_mpm/services/socketio/handlers/__init__.py +5 -2
- claude_mpm/services/socketio/handlers/hook.py +13 -2
- claude_mpm/services/socketio/handlers/registry.py +4 -2
- claude_mpm/services/socketio/server/main.py +10 -8
- claude_mpm/services/subprocess_launcher_service.py +14 -5
- claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +8 -7
- claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +6 -5
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +8 -7
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +7 -6
- claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +5 -4
- claude_mpm/services/unified/config_strategies/validation_strategy.py +13 -9
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +10 -3
- claude_mpm/services/unified/deployment_strategies/local.py +6 -5
- claude_mpm/services/unified/deployment_strategies/utils.py +6 -5
- claude_mpm/services/unified/deployment_strategies/vercel.py +7 -6
- claude_mpm/services/unified/interfaces.py +3 -1
- claude_mpm/services/unified/unified_analyzer.py +14 -10
- claude_mpm/services/unified/unified_config.py +2 -1
- claude_mpm/services/unified/unified_deployment.py +9 -4
- claude_mpm/services/version_service.py +104 -1
- claude_mpm/skills/__init__.py +21 -0
- claude_mpm/skills/bundled/__init__.py +6 -0
- claude_mpm/skills/bundled/api-documentation.md +393 -0
- claude_mpm/skills/bundled/async-testing.md +571 -0
- claude_mpm/skills/bundled/code-review.md +143 -0
- claude_mpm/skills/bundled/database-migration.md +199 -0
- claude_mpm/skills/bundled/docker-containerization.md +194 -0
- claude_mpm/skills/bundled/express-local-dev.md +1429 -0
- claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
- claude_mpm/skills/bundled/git-workflow.md +414 -0
- claude_mpm/skills/bundled/imagemagick.md +204 -0
- claude_mpm/skills/bundled/json-data-handling.md +223 -0
- claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
- claude_mpm/skills/bundled/pdf.md +141 -0
- claude_mpm/skills/bundled/performance-profiling.md +567 -0
- claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
- claude_mpm/skills/bundled/security-scanning.md +327 -0
- claude_mpm/skills/bundled/systematic-debugging.md +473 -0
- claude_mpm/skills/bundled/test-driven-development.md +378 -0
- claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
- claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
- claude_mpm/skills/bundled/xlsx.md +157 -0
- claude_mpm/skills/registry.py +286 -0
- claude_mpm/skills/skill_manager.py +310 -0
- claude_mpm/storage/state_storage.py +15 -15
- claude_mpm/tools/code_tree_analyzer.py +177 -141
- claude_mpm/tools/code_tree_events.py +4 -2
- claude_mpm/utils/agent_dependency_loader.py +40 -20
- claude_mpm/utils/display_helper.py +260 -0
- claude_mpm/utils/git_analyzer.py +407 -0
- claude_mpm/utils/robust_installer.py +73 -19
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/METADATA +129 -12
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/RECORD +295 -193
- claude_mpm/dashboard/static/css/code-tree.css +0 -1639
- claude_mpm/dashboard/static/index-hub-backup.html +0 -713
- claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -353
- claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -235
- claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -409
- claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -435
- claude_mpm/dashboard/static/js/components/code-tree.js +0 -5869
- claude_mpm/dashboard/static/js/components/code-viewer.js +0 -1386
- claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -425
- claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -1041
- claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -347
- claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -575
- claude_mpm/services/project/analyzer_refactored.py +0 -450
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/WHEEL +0 -0
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/licenses/LICENSE +0 -0
- {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
|
}
|